LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjEwMXhnLmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEB2ZXJzaW9uIFY0LjIuMA0KICAqIEBkYXRlICAgIDMxLU1hcmNoLTIwMTcNCiAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlLiANCiAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHRoZSBwZXJpcGhlcmFsIHJlZ2lzdGVyJ3MgZGVmaW5pdGlvbnMsIGJpdHMgDQogICogICAgICAgICAgZGVmaW5pdGlvbnMgYW5kIG1lbW9yeSBtYXBwaW5nIGZvciBTVE0zMkYxeHggZGV2aWNlcy4gICAgICAgICAgICANCiAgKiAgICAgICAgICAgIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoNCiAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscw0KICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24NCiAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUNCiAgKiAgDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBhdHRlbnRpb24NCiAgKg0KICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPg0KICAqDQogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCiAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQogICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbg0KICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQogICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMNCiAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQ0KICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQogICoNCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQoNCi8qKiBAYWRkdG9ncm91cCBDTVNJUw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBzdG0zMmYxMDF4Zw0KICAqIEB7DQogICovDQogICAgDQojaWZuZGVmIF9fU1RNMzJGMTAxeEdfSA0KI2RlZmluZSBfX1NUTTMyRjEwMXhHX0gNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogZXh0ZXJuICJDIiB7DQojZW5kaWYgDQoNCi8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTMgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzIA0KICovDQojZGVmaW5lIF9fQ00zX1JFViAgICAgICAgICAgICAgICAgIDB4MDIwMFUgIC8qITwgQ29yZSBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMVUgICAgICAgLyohPCBTVE0zMiBYTC1kZW5zaXR5IGRldmljZXMgcHJvdmlkZSBhbiBNUFUgICAgICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgICA0VSAgICAgICAvKiE8IFNUTTMyIHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgIDBVICAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfaW50ZXJydXB0X251bWJlcl9kZWZpbml0aW9uDQogICogQHsNCiAgKi8NCg0KLyoqDQogKiBAYnJpZWYgU1RNMzJGMTB4IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiwgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBkZXZpY2UgDQogKiAgICAgICAgaW4gQHJlZiBMaWJyYXJ5X2NvbmZpZ3VyYXRpb25fc2VjdGlvbiANCiAqLw0KDQogLyohPCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24gKi8NCnR5cGVkZWYgZW51bQ0Kew0KLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgPSAtMTMsICAgIC8qITwgMyBDb3J0ZXgtTTMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAqLw0KICBNZW1vcnlNYW5hZ2VtZW50X0lSUW4gICAgICAgPSAtMTIsICAgIC8qITwgNCBDb3J0ZXgtTTMgTWVtb3J5IE1hbmFnZW1lbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAqLw0KICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgPSAtMTAsICAgIC8qITwgNiBDb3J0ZXgtTTMgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAqLw0KICBTVkNhbGxfSVJRbiAgICAgICAgICAgICAgICAgPSAtNSwgICAgIC8qITwgMTEgQ29ydGV4LU0zIFNWIENhbGwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0zIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTeXNUaWNrX0lSUW4gICAgICAgICAgICAgICAgPSAtMSwgICAgIC8qITwgMTUgQ29ydGV4LU0zIFN5c3RlbSBUaWNrIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLw0KDQovKioqKioqICBTVE0zMiBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICovDQogIFRBTVBFUl9JUlFuICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgLyohPCBSVEMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJDQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBSQ0MgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgLyohPCBFWFRJIExpbmUwIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkyX0lSUW4gICAgICAgICAgICAgICAgICA9IDgsICAgICAgLyohPCBFWFRJIExpbmUyIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDksICAgICAgLyohPCBFWFRJIExpbmUzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDExLCAgICAgLyohPCBETUExIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDEyLCAgICAgLyohPCBETUExIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDE0LCAgICAgLyohPCBETUExIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDE1LCAgICAgLyohPCBETUExIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDZfSVJRbiAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIENoYW5uZWwgNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDdfSVJRbiAgICAgICAgICA9IDE3LCAgICAgLyohPCBETUExIENoYW5uZWwgNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyohPCBBREMxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk5XzVfSVJRbiAgICAgICAgICAgICAgICA9IDIzLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzk6NV0gSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTlfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI0LCAgICAgLyohPCBUSU05IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTEwX0lSUW4gICAgICAgICAgICAgICAgICA9IDI1LCAgICAgLyohPCBUSU0xMCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTExX0lSUW4gICAgICAgICAgICAgICAgICA9IDI2LCAgICAgLyohPCBUSU0xMSBnbG9iYWwgaW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyohPCBUSU0yIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI5LCAgICAgLyohPCBUSU0zIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTRfSVJRbiAgICAgICAgICAgICAgICAgICA9IDMwLCAgICAgLyohPCBUSU00IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMxLCAgICAgLyohPCBJMkMxIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDMyLCAgICAgLyohPCBJMkMxIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMzLCAgICAgLyohPCBJMkMyIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDM0LCAgICAgLyohPCBJMkMyIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyohPCBTUEkxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM2LCAgICAgLyohPCBTUEkyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMV9JUlFuICAgICAgICAgICAgICAgICA9IDM3LCAgICAgLyohPCBVU0FSVDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMl9JUlFuICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyohPCBVU0FSVDIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUM19JUlFuICAgICAgICAgICAgICAgICA9IDM5LCAgICAgLyohPCBVU0FSVDMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxNV8xMF9JUlFuICAgICAgICAgICAgICA9IDQwLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzE1OjEwXSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19BbGFybV9JUlFuICAgICAgICAgICAgICA9IDQxLCAgICAgLyohPCBSVEMgQWxhcm0gdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICovDQogIFRJTTEyX0lSUW4gICAgICAgICAgICAgICAgICA9IDQzLCAgICAgLyohPCBUSU0xMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTEzX0lSUW4gICAgICAgICAgICAgICAgICA9IDQ0LCAgICAgLyohPCBUSU0xMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTE0X0lSUW4gICAgICAgICAgICAgICAgICA9IDQ1LCAgICAgLyohPCBUSU0xNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZTTUNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDQ4LCAgICAgLyohPCBGU01DIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTVfSVJRbiAgICAgICAgICAgICAgICAgICA9IDUwLCAgICAgLyohPCBUSU01IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDUxLCAgICAgLyohPCBTUEkzIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVBUlQ0X0lSUW4gICAgICAgICAgICAgICAgICA9IDUyLCAgICAgLyohPCBVQVJUNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVBUlQ1X0lSUW4gICAgICAgICAgICAgICAgICA9IDUzLCAgICAgLyohPCBVQVJUNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTZfSVJRbiAgICAgICAgICAgICAgICAgICA9IDU0LCAgICAgLyohPCBUSU02IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDU1LCAgICAgLyohPCBUSU03IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDU2LCAgICAgLyohPCBETUEyIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDU3LCAgICAgLyohPCBETUEyIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDU4LCAgICAgLyohPCBETUEyIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDRfNV9JUlFuICAgICAgICA9IDU5LCAgICAgLyohPCBETUEyIENoYW5uZWwgNCBhbmQgQ2hhbm5lbCA1IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICovDQp9IElSUW5fVHlwZTsNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KI2luY2x1ZGUgImNvcmVfY20zLmgiDQojaW5jbHVkZSAic3lzdGVtX3N0bTMyZjF4eC5oIg0KI2luY2x1ZGUgPHN0ZGludC5oPg0KDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9yZWdpc3RlcnNfc3RydWN0dXJlcw0KICAqIEB7DQogICovICAgDQoNCi8qKiANCiAgKiBAYnJpZWYgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBDUjE7DQogIF9fSU8gdWludDMyX3QgQ1IyOw0KICBfX0lPIHVpbnQzMl90IFNNUFIxOw0KICBfX0lPIHVpbnQzMl90IFNNUFIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIxOw0KICBfX0lPIHVpbnQzMl90IEpPRlIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIzOw0KICBfX0lPIHVpbnQzMl90IEpPRlI0Ow0KICBfX0lPIHVpbnQzMl90IEhUUjsNCiAgX19JTyB1aW50MzJfdCBMVFI7DQogIF9fSU8gdWludDMyX3QgU1FSMTsNCiAgX19JTyB1aW50MzJfdCBTUVIyOw0KICBfX0lPIHVpbnQzMl90IFNRUjM7DQogIF9fSU8gdWludDMyX3QgSlNRUjsNCiAgX19JTyB1aW50MzJfdCBKRFIxOw0KICBfX0lPIHVpbnQzMl90IEpEUjI7DQogIF9fSU8gdWludDMyX3QgSkRSMzsNCiAgX19JTyB1aW50MzJfdCBKRFI0Ow0KICBfX0lPIHVpbnQzMl90IERSOw0KfSBBRENfVHlwZURlZjsNCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBzdGF0dXMgcmVnaXN0ZXIsICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAxLCB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDA0ICAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMiwgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHgwOCAgKi8NCiAgdWludDMyX3QgIFJFU0VSVkVEWzE2XTsNCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIHJlZ2lzdGVyLCAgICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4NEMgICovDQp9IEFEQ19Db21tb25fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBCYWNrdXAgUmVnaXN0ZXJzICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgdWludDMyX3QgIFJFU0VSVkVEMDsNCiAgX19JTyB1aW50MzJfdCBEUjE7DQogIF9fSU8gdWludDMyX3QgRFIyOw0KICBfX0lPIHVpbnQzMl90IERSMzsNCiAgX19JTyB1aW50MzJfdCBEUjQ7DQogIF9fSU8gdWludDMyX3QgRFI1Ow0KICBfX0lPIHVpbnQzMl90IERSNjsNCiAgX19JTyB1aW50MzJfdCBEUjc7DQogIF9fSU8gdWludDMyX3QgRFI4Ow0KICBfX0lPIHVpbnQzMl90IERSOTsNCiAgX19JTyB1aW50MzJfdCBEUjEwOw0KICBfX0lPIHVpbnQzMl90IFJUQ0NSOw0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCiAgdWludDMyX3QgIFJFU0VSVkVEMTNbMl07DQogIF9fSU8gdWludDMyX3QgRFIxMTsNCiAgX19JTyB1aW50MzJfdCBEUjEyOw0KICBfX0lPIHVpbnQzMl90IERSMTM7DQogIF9fSU8gdWludDMyX3QgRFIxNDsNCiAgX19JTyB1aW50MzJfdCBEUjE1Ow0KICBfX0lPIHVpbnQzMl90IERSMTY7DQogIF9fSU8gdWludDMyX3QgRFIxNzsNCiAgX19JTyB1aW50MzJfdCBEUjE4Ow0KICBfX0lPIHVpbnQzMl90IERSMTk7DQogIF9fSU8gdWludDMyX3QgRFIyMDsNCiAgX19JTyB1aW50MzJfdCBEUjIxOw0KICBfX0lPIHVpbnQzMl90IERSMjI7DQogIF9fSU8gdWludDMyX3QgRFIyMzsNCiAgX19JTyB1aW50MzJfdCBEUjI0Ow0KICBfX0lPIHVpbnQzMl90IERSMjU7DQogIF9fSU8gdWludDMyX3QgRFIyNjsNCiAgX19JTyB1aW50MzJfdCBEUjI3Ow0KICBfX0lPIHVpbnQzMl90IERSMjg7DQogIF9fSU8gdWludDMyX3QgRFIyOTsNCiAgX19JTyB1aW50MzJfdCBEUjMwOw0KICBfX0lPIHVpbnQzMl90IERSMzE7DQogIF9fSU8gdWludDMyX3QgRFIzMjsNCiAgX19JTyB1aW50MzJfdCBEUjMzOw0KICBfX0lPIHVpbnQzMl90IERSMzQ7DQogIF9fSU8gdWludDMyX3QgRFIzNTsNCiAgX19JTyB1aW50MzJfdCBEUjM2Ow0KICBfX0lPIHVpbnQzMl90IERSMzc7DQogIF9fSU8gdWludDMyX3QgRFIzODsNCiAgX19JTyB1aW50MzJfdCBEUjM5Ow0KICBfX0lPIHVpbnQzMl90IERSNDA7DQogIF9fSU8gdWludDMyX3QgRFI0MTsNCiAgX19JTyB1aW50MzJfdCBEUjQyOw0KfSBCS1BfVHlwZURlZjsNCiAgDQoNCi8qKiANCiAgKiBAYnJpZWYgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgRFI7ICAgICAgICAgICAvKiE8IENSQyBEYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDhfdCAgSURSOyAgICAgICAgICAvKiE8IENSQyBJbmRlcGVuZGVudCBkYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIHVpbnQ4X3QgICAgICAgUkVTRVJWRUQwOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA1ICovDQogIHVpbnQxNl90ICAgICAgUkVTRVJWRUQxOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA2ICovICANCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgIC8qITwgQ1JDIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8gDQp9IENSQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIERpZ2l0YWwgdG8gQW5hbG9nIENvbnZlcnRlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IFNXVFJJR1I7DQogIF9fSU8gdWludDMyX3QgREhSMTJSMTsNCiAgX19JTyB1aW50MzJfdCBESFIxMkwxOw0KICBfX0lPIHVpbnQzMl90IERIUjhSMTsNCiAgX19JTyB1aW50MzJfdCBESFIxMlIyOw0KICBfX0lPIHVpbnQzMl90IERIUjEyTDI7DQogIF9fSU8gdWludDMyX3QgREhSOFIyOw0KICBfX0lPIHVpbnQzMl90IERIUjEyUkQ7DQogIF9fSU8gdWludDMyX3QgREhSMTJMRDsNCiAgX19JTyB1aW50MzJfdCBESFI4UkQ7DQogIF9fSU8gdWludDMyX3QgRE9SMTsNCiAgX19JTyB1aW50MzJfdCBET1IyOw0KfSBEQUNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBEZWJ1ZyBNQ1UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJRENPREU7DQogIF9fSU8gdWludDMyX3QgQ1I7DQp9REJHTUNVX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRE1BIENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgQ05EVFI7DQogIF9fSU8gdWludDMyX3QgQ1BBUjsNCiAgX19JTyB1aW50MzJfdCBDTUFSOw0KfSBETUFfQ2hhbm5lbF9UeXBlRGVmOw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElTUjsNCiAgX19JTyB1aW50MzJfdCBJRkNSOw0KfSBETUFfVHlwZURlZjsNCg0KDQoNCi8qKiANCiAgKiBAYnJpZWYgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJTVI7DQogIF9fSU8gdWludDMyX3QgRU1SOw0KICBfX0lPIHVpbnQzMl90IFJUU1I7DQogIF9fSU8gdWludDMyX3QgRlRTUjsNCiAgX19JTyB1aW50MzJfdCBTV0lFUjsNCiAgX19JTyB1aW50MzJfdCBQUjsNCn0gRVhUSV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEZMQVNIIFJlZ2lzdGVycw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEFDUjsNCiAgX19JTyB1aW50MzJfdCBLRVlSOw0KICBfX0lPIHVpbnQzMl90IE9QVEtFWVI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQVI7DQogIF9fSU8gdWludDMyX3QgUkVTRVJWRUQ7DQogIF9fSU8gdWludDMyX3QgT0JSOw0KICBfX0lPIHVpbnQzMl90IFdSUFI7DQogIHVpbnQzMl90IFJFU0VSVkVEMVs4XTsgDQogIF9fSU8gdWludDMyX3QgS0VZUjI7DQogIHVpbnQzMl90IFJFU0VSVkVEMjsgICANCiAgX19JTyB1aW50MzJfdCBTUjI7DQogIF9fSU8gdWludDMyX3QgQ1IyOw0KICBfX0lPIHVpbnQzMl90IEFSMjsgDQp9IEZMQVNIX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgT3B0aW9uIEJ5dGVzIFJlZ2lzdGVycw0KICAqLw0KICANCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDE2X3QgUkRQOw0KICBfX0lPIHVpbnQxNl90IFVTRVI7DQogIF9fSU8gdWludDE2X3QgRGF0YTA7DQogIF9fSU8gdWludDE2X3QgRGF0YTE7DQogIF9fSU8gdWludDE2X3QgV1JQMDsNCiAgX19JTyB1aW50MTZfdCBXUlAxOw0KICBfX0lPIHVpbnQxNl90IFdSUDI7DQogIF9fSU8gdWludDE2X3QgV1JQMzsNCn0gT0JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBCVENSWzhdOyAgIA0KfSBGU01DX0JhbmsxX1R5cGVEZWY7IA0KDQovKiogDQogICogQGJyaWVmIEZsZXhpYmxlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciBCYW5rMUUNCiAgKi8NCiAgDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEJXVFJbN107DQp9IEZTTUNfQmFuazFFX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRmxleGlibGUgU3RhdGljIE1lbW9yeSBDb250cm9sbGVyIEJhbmsyDQogICovDQogIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBQQ1IyOyAgICAgICAvKiE8IE5BTkQgRmxhc2ggY29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NjAgKi8NCiAgX19JTyB1aW50MzJfdCBTUjI7ICAgICAgICAvKiE8IE5BTkQgRmxhc2ggRklGTyBzdGF0dXMgYW5kIGludGVycnVwdCByZWdpc3RlciAyLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NjQgKi8NCiAgX19JTyB1aW50MzJfdCBQTUVNMjsgICAgICAvKiE8IE5BTkQgRmxhc2ggQ29tbW9uIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMiwgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NjggKi8NCiAgX19JTyB1aW50MzJfdCBQQVRUMjsgICAgICAvKiE8IE5BTkQgRmxhc2ggQXR0cmlidXRlIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMiwgQWRkcmVzcyBvZmZzZXQ6IDB4NkMgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDA7ICAvKiE8IFJlc2VydmVkLCAweDcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBFQ0NSMjsgICAgICAvKiE8IE5BTkQgRmxhc2ggRUNDIHJlc3VsdCByZWdpc3RlcnMgMiwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NzQgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDE7ICAvKiE8IFJlc2VydmVkLCAweDc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDI7ICAvKiE8IFJlc2VydmVkLCAweDdDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBQQ1IzOyAgICAgICAvKiE8IE5BTkQgRmxhc2ggY29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODAgKi8NCiAgX19JTyB1aW50MzJfdCBTUjM7ICAgICAgICAvKiE8IE5BTkQgRmxhc2ggRklGTyBzdGF0dXMgYW5kIGludGVycnVwdCByZWdpc3RlciAzLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODQgKi8NCiAgX19JTyB1aW50MzJfdCBQTUVNMzsgICAgICAvKiE8IE5BTkQgRmxhc2ggQ29tbW9uIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMywgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODggKi8NCiAgX19JTyB1aW50MzJfdCBQQVRUMzsgICAgICAvKiE8IE5BTkQgRmxhc2ggQXR0cmlidXRlIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMywgQWRkcmVzcyBvZmZzZXQ6IDB4OEMgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDM7ICAvKiE8IFJlc2VydmVkLCAweDkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBFQ0NSMzsgICAgICAvKiE8IE5BTkQgRmxhc2ggRUNDIHJlc3VsdCByZWdpc3RlcnMgMywgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4OTQgKi8NCn0gRlNNQ19CYW5rMl8zX1R5cGVEZWY7ICANCg0KLyoqIA0KICAqIEBicmllZiBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIgQmFuazQNCiAgKi8NCiAgDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFBDUjQ7DQogIF9fSU8gdWludDMyX3QgU1I0Ow0KICBfX0lPIHVpbnQzMl90IFBNRU00Ow0KICBfX0lPIHVpbnQzMl90IFBBVFQ0Ow0KICBfX0lPIHVpbnQzMl90IFBJTzQ7IA0KfSBGU01DX0Jhbms0X1R5cGVEZWY7IA0KDQovKiogDQogICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkw7DQogIF9fSU8gdWludDMyX3QgQ1JIOw0KICBfX0lPIHVpbnQzMl90IElEUjsNCiAgX19JTyB1aW50MzJfdCBPRFI7DQogIF9fSU8gdWludDMyX3QgQlNSUjsNCiAgX19JTyB1aW50MzJfdCBCUlI7DQogIF9fSU8gdWludDMyX3QgTENLUjsNCn0gR1BJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEFsdGVybmF0ZSBGdW5jdGlvbiBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBFVkNSOw0KICBfX0lPIHVpbnQzMl90IE1BUFI7DQogIF9fSU8gdWludDMyX3QgRVhUSUNSWzRdOw0KICB1aW50MzJfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDMyX3QgTUFQUjI7ICANCn0gQUZJT19UeXBlRGVmOw0KLyoqIA0KICAqIEBicmllZiBJbnRlciBJbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOw0KICBfX0lPIHVpbnQzMl90IENSMjsNCiAgX19JTyB1aW50MzJfdCBPQVIxOw0KICBfX0lPIHVpbnQzMl90IE9BUjI7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgU1IxOw0KICBfX0lPIHVpbnQzMl90IFNSMjsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgVFJJU0U7DQp9IEkyQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEluZGVwZW5kZW50IFdBVENIRE9HDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgS1I7ICAgICAgICAgICAvKiE8IEtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgUFI7ICAgICAgICAgICAvKiE8IFByZXNjYWxlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgUkxSOyAgICAgICAgICAvKiE8IFJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQp9IElXREdfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBQb3dlciBDb250cm9sDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KfSBQV1JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENGR1I7DQogIF9fSU8gdWludDMyX3QgQ0lSOw0KICBfX0lPIHVpbnQzMl90IEFQQjJSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFQQjFSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFIQkVOUjsNCiAgX19JTyB1aW50MzJfdCBBUEIyRU5SOw0KICBfX0lPIHVpbnQzMl90IEFQQjFFTlI7DQogIF9fSU8gdWludDMyX3QgQkRDUjsNCiAgX19JTyB1aW50MzJfdCBDU1I7DQoNCg0KfSBSQ0NfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZWFsLVRpbWUgQ2xvY2sNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkg7DQogIF9fSU8gdWludDMyX3QgQ1JMOw0KICBfX0lPIHVpbnQzMl90IFBSTEg7DQogIF9fSU8gdWludDMyX3QgUFJMTDsNCiAgX19JTyB1aW50MzJfdCBESVZIOw0KICBfX0lPIHVpbnQzMl90IERJVkw7DQogIF9fSU8gdWludDMyX3QgQ05USDsNCiAgX19JTyB1aW50MzJfdCBDTlRMOw0KICBfX0lPIHVpbnQzMl90IEFMUkg7DQogIF9fSU8gdWludDMyX3QgQUxSTDsNCn0gUlRDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgU0QgaG9zdCBJbnRlcmZhY2UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBQT1dFUjsNCiAgX19JTyB1aW50MzJfdCBDTEtDUjsNCiAgX19JTyB1aW50MzJfdCBBUkc7DQogIF9fSU8gdWludDMyX3QgQ01EOw0KICBfX0kgdWludDMyX3QgUkVTUENNRDsNCiAgX19JIHVpbnQzMl90IFJFU1AxOw0KICBfX0kgdWludDMyX3QgUkVTUDI7DQogIF9fSSB1aW50MzJfdCBSRVNQMzsNCiAgX19JIHVpbnQzMl90IFJFU1A0Ow0KICBfX0lPIHVpbnQzMl90IERUSU1FUjsNCiAgX19JTyB1aW50MzJfdCBETEVOOw0KICBfX0lPIHVpbnQzMl90IERDVFJMOw0KICBfX0kgdWludDMyX3QgRENPVU5UOw0KICBfX0kgdWludDMyX3QgU1RBOw0KICBfX0lPIHVpbnQzMl90IElDUjsNCiAgX19JTyB1aW50MzJfdCBNQVNLOw0KICB1aW50MzJfdCAgUkVTRVJWRUQwWzJdOw0KICBfX0kgdWludDMyX3QgRklGT0NOVDsNCiAgdWludDMyX3QgIFJFU0VSVkVEMVsxM107DQogIF9fSU8gdWludDMyX3QgRklGTzsNCn0gU0RJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgQ1JDUFI7DQogIF9fSU8gdWludDMyX3QgUlhDUkNSOw0KICBfX0lPIHVpbnQzMl90IFRYQ1JDUjsNCiAgX19JTyB1aW50MzJfdCBJMlNDRkdSOw0KfSBTUElfVHlwZURlZjsNCg0KLyoqDQogICogQGJyaWVmIFRJTSBUaW1lcnMNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU01DUjsgICAgICAgICAgICAvKiE8IFRJTSBzbGF2ZSBNb2RlIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgRElFUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEvaW50ZXJydXB0IGVuYWJsZSByZWdpc3RlciwgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgRUdSOyAgICAgICAgICAgICAvKiE8IFRJTSBldmVudCBnZW5lcmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjE7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMSwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjI7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMiwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgQ0NFUjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgZW5hYmxlIHJlZ2lzdGVyLCAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQogIF9fSU8gdWludDMyX3QgQ05UOyAgICAgICAgICAgICAvKiE8IFRJTSBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgUFNDOyAgICAgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICovDQogIF9fSU8gdWludDMyX3QgQVJSOyAgICAgICAgICAgICAvKiE8IFRJTSBhdXRvLXJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDJDICovDQogIF9fSU8gdWludDMyX3QgUkNSOyAgICAgICAgICAgICAvKiE8IFRJTSAgcmVwZXRpdGlvbiBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovDQogIF9fSU8gdWludDMyX3QgQ0NSMTsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM4ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMzsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMywgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovDQogIF9fSU8gdWludDMyX3QgQ0NSNDsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovDQogIF9fSU8gdWludDMyX3QgQkRUUjsgICAgICAgICAgICAvKiE8IFRJTSBicmVhayBhbmQgZGVhZC10aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ0ICovDQogIF9fSU8gdWludDMyX3QgRENSOyAgICAgICAgICAgICAvKiE8IFRJTSBETUEgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovDQogIF9fSU8gdWludDMyX3QgRE1BUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEgYWRkcmVzcyBmb3IgZnVsbCB0cmFuc2ZlciByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovDQogIF9fSU8gdWludDMyX3QgT1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBvcHRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovDQp9VElNX1R5cGVEZWY7DQoNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyDQogICovDQogDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgIC8qITwgVVNBUlQgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgVVNBUlQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IEJSUjsgICAgICAgIC8qITwgVVNBUlQgQmF1ZCByYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMzsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IEdUUFI7ICAgICAgIC8qITwgVVNBUlQgR3VhcmQgdGltZSBhbmQgcHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KfSBVU0FSVF9UeXBlRGVmOw0KDQoNCg0KLyoqIA0KICAqIEBicmllZiBXaW5kb3cgV0FUQ0hET0cNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsgICAvKiE8IFdXREcgQ29udHJvbCByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBDRlI7ICAvKiE8IFdXREcgQ29uZmlndXJhdGlvbiByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBTUjsgICAvKiE8IFdXREcgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCn0gV1dER19UeXBlRGVmOw0KDQovKioNCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX21lbW9yeV9tYXANCiAgKiBAew0KICAqLw0KDQoNCiNkZWZpbmUgRkxBU0hfQkFTRSAgICAgICAgICAgIDB4MDgwMDAwMDBVIC8qITwgRkxBU0ggYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8NCiNkZWZpbmUgRkxBU0hfQkFOSzFfRU5EICAgICAgIDB4MDgwN0ZGRkZVIC8qITwgRkxBU0ggRU5EIGFkZHJlc3Mgb2YgYmFuazEgKi8NCiNkZWZpbmUgRkxBU0hfQkFOSzJfRU5EICAgICAgIDB4MDgwRkZGRkZVIC8qITwgRkxBU0ggRU5EIGFkZHJlc3Mgb2YgYmFuazIgKi8NCiNkZWZpbmUgU1JBTV9CQVNFICAgICAgICAgICAgIDB4MjAwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkFTRSAgICAgICAgICAgMHg0MDAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQoNCiNkZWZpbmUgU1JBTV9CQl9CQVNFICAgICAgICAgIDB4MjIwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGJpdC1iYW5kIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkJfQkFTRSAgICAgICAgMHg0MjAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQoNCiNkZWZpbmUgRlNNQ19CQVNFICAgICAgICAgICAgIDB4NjAwMDAwMDBVIC8qITwgRlNNQyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19SX0JBU0UgICAgICAgICAgIDB4QTAwMDAwMDBVIC8qITwgRlNNQyByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQoNCi8qITwgUGVyaXBoZXJhbCBtZW1vcnkgbWFwICovDQojZGVmaW5lIEFQQjFQRVJJUEhfQkFTRSAgICAgICBQRVJJUEhfQkFTRQ0KI2RlZmluZSBBUEIyUEVSSVBIX0JBU0UgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxMDAwMFUpDQojZGVmaW5lIEFIQlBFUklQSF9CQVNFICAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDIwMDAwVSkNCg0KI2RlZmluZSBUSU0yX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBUSU0zX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDBVKQ0KI2RlZmluZSBUSU00X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA4MDBVKQ0KI2RlZmluZSBUSU01X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDBDMDBVKQ0KI2RlZmluZSBUSU02X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDEwMDBVKQ0KI2RlZmluZSBUSU03X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDE0MDBVKQ0KI2RlZmluZSBUSU0xMl9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDE4MDBVKQ0KI2RlZmluZSBUSU0xM19CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDFDMDBVKQ0KI2RlZmluZSBUSU0xNF9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDIwMDBVKQ0KI2RlZmluZSBSVENfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDI4MDBVKQ0KI2RlZmluZSBXV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDJDMDBVKQ0KI2RlZmluZSBJV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KI2RlZmluZSBTUEkyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDM4MDBVKQ0KI2RlZmluZSBTUEkzX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDNDMDBVKQ0KI2RlZmluZSBVU0FSVDJfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ0MDBVKQ0KI2RlZmluZSBVU0FSVDNfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ4MDBVKQ0KI2RlZmluZSBVQVJUNF9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDRDMDBVKQ0KI2RlZmluZSBVQVJUNV9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDUwMDBVKQ0KI2RlZmluZSBJMkMxX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDU0MDBVKQ0KI2RlZmluZSBJMkMyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NTgwMCkNCiNkZWZpbmUgQktQX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA2QzAwVSkNCiNkZWZpbmUgUFdSX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3MDAwVSkNCiNkZWZpbmUgREFDX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3NDAwVSkNCiNkZWZpbmUgQUZJT19CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwMDAwVSkNCiNkZWZpbmUgRVhUSV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgR1BJT0FfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwODAwVSkNCiNkZWZpbmUgR1BJT0JfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwQzAwVSkNCiNkZWZpbmUgR1BJT0NfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgR1BJT0RfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxNDAwVSkNCiNkZWZpbmUgR1BJT0VfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxODAwVSkNCiNkZWZpbmUgR1BJT0ZfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxQzAwVSkNCiNkZWZpbmUgR1BJT0dfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkNCiNkZWZpbmUgQURDMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyNDAwVSkNCiNkZWZpbmUgU1BJMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzMDAwVSkNCiNkZWZpbmUgVVNBUlQxX0JBU0UgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzODAwVSkNCiNkZWZpbmUgVElNOV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA0QzAwVSkNCiNkZWZpbmUgVElNMTBfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA1MDAwVSkNCiNkZWZpbmUgVElNMTFfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA1NDAwVSkNCg0KI2RlZmluZSBTRElPX0JBU0UgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxODAwMFUpDQoNCiNkZWZpbmUgRE1BMV9CQVNFICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWwxX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAwOFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDJfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDFDVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsM19CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMzBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw0X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA0NFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDVfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDU4VSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNl9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwNkNVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw3X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA4MFUpDQojZGVmaW5lIERNQTJfQkFTRSAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsMV9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDhVKQ0KI2RlZmluZSBETUEyX0NoYW5uZWwyX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDQxQ1UpDQojZGVmaW5lIERNQTJfQ2hhbm5lbDNfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDMwVSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsNF9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDA0NDRVKQ0KI2RlZmluZSBETUEyX0NoYW5uZWw1X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDQ1OFUpDQojZGVmaW5lIFJDQ19CQVNFICAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgQ1JDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KDQojZGVmaW5lIEZMQVNIX1JfQkFTRSAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkgLyohPCBGbGFzaCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZMQVNIU0laRV9CQVNFICAgICAgICAweDFGRkZGN0UwVSAgICAvKiE8IEZMQVNIIFNpemUgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFVJRF9CQVNFICAgICAgICAgICAgICAweDFGRkZGN0U4VSAgICAvKiE8IFVuaXF1ZSBkZXZpY2UgSUQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIE9CX0JBU0UgICAgICAgICAgICAgICAweDFGRkZGODAwVSAgICAvKiE8IEZsYXNoIE9wdGlvbiBCeXRlcyBiYXNlIGFkZHJlc3MgKi8NCg0KDQojZGVmaW5lIEZTTUNfQkFOSzEgICAgICAgICAgICAoRlNNQ19CQVNFKSAgICAgICAgICAgICAgIC8qITwgRlNNQyBCYW5rMSBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMV8xICAgICAgICAgIChGU01DX0JBTksxKSAgICAgICAgICAgICAgLyohPCBGU01DIEJhbmsxXzEgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzFfMiAgICAgICAgICAoRlNNQ19CQU5LMSArIDB4MDQwMDAwMDBVKSAvKiE8IEZTTUMgQmFuazFfMiBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMV8zICAgICAgICAgIChGU01DX0JBTksxICsgMHgwODAwMDAwMFUpIC8qITwgRlNNQyBCYW5rMV8zIGJhc2UgYWRkcmVzcyAqLw0KI2RlZmluZSBGU01DX0JBTksxXzQgICAgICAgICAgKEZTTUNfQkFOSzEgKyAweDBDMDAwMDAwVSkgLyohPCBGU01DIEJhbmsxXzQgYmFzZSBhZGRyZXNzICovDQoNCiNkZWZpbmUgRlNNQ19CQU5LMiAgICAgICAgICAgIChGU01DX0JBU0UgKyAweDEwMDAwMDAwVSkgIC8qITwgRlNNQyBCYW5rMiBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMyAgICAgICAgICAgIChGU01DX0JBU0UgKyAweDIwMDAwMDAwVSkgIC8qITwgRlNNQyBCYW5rMyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LNCAgICAgICAgICAgIChGU01DX0JBU0UgKyAweDMwMDAwMDAwVSkgIC8qITwgRlNNQyBCYW5rNCBiYXNlIGFkZHJlc3MgKi8NCg0KI2RlZmluZSBGU01DX0JBTksxX1JfQkFTRSAgICAgKEZTTUNfUl9CQVNFICsgMHgwMDAwMDAwMFUpICAgIC8qITwgRlNNQyBCYW5rMSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzFFX1JfQkFTRSAgICAoRlNNQ19SX0JBU0UgKyAweDAwMDAwMTA0VSkgICAgLyohPCBGU01DIEJhbmsxRSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzJfM19SX0JBU0UgICAoRlNNQ19SX0JBU0UgKyAweDAwMDAwMDYwVSkgICAgLyohPCBGU01DIEJhbmsyL0JhbmszIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LNF9SX0JBU0UgICAgIChGU01DX1JfQkFTRSArIDB4MDAwMDAwQTBVKSAgICAvKiE8IEZTTUMgQmFuazQgcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KDQojZGVmaW5lIERCR01DVV9CQVNFICAgICAgICAgIDB4RTAwNDIwMDBVIC8qITwgRGVidWcgTUNVIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8NCg0KDQoNCi8qKg0KICAqIEB9DQogICovDQogIA0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfZGVjbGFyYXRpb24NCiAgKiBAew0KICAqLyAgDQoNCiNkZWZpbmUgVElNMiAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMl9CQVNFKQ0KI2RlZmluZSBUSU0zICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0zX0JBU0UpDQojZGVmaW5lIFRJTTQgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTRfQkFTRSkNCiNkZWZpbmUgVElNNSAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNNV9CQVNFKQ0KI2RlZmluZSBUSU02ICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU02X0JBU0UpDQojZGVmaW5lIFRJTTcgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTdfQkFTRSkNCiNkZWZpbmUgVElNMTIgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTJfQkFTRSkNCiNkZWZpbmUgVElNMTMgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTNfQkFTRSkNCiNkZWZpbmUgVElNMTQgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTRfQkFTRSkNCiNkZWZpbmUgUlRDICAgICAgICAgICAgICAgICAoKFJUQ19UeXBlRGVmICopUlRDX0JBU0UpDQojZGVmaW5lIFdXREcgICAgICAgICAgICAgICAgKChXV0RHX1R5cGVEZWYgKilXV0RHX0JBU0UpDQojZGVmaW5lIElXREcgICAgICAgICAgICAgICAgKChJV0RHX1R5cGVEZWYgKilJV0RHX0JBU0UpDQojZGVmaW5lIFNQSTIgICAgICAgICAgICAgICAgKChTUElfVHlwZURlZiAqKVNQSTJfQkFTRSkNCiNkZWZpbmUgU1BJMyAgICAgICAgICAgICAgICAoKFNQSV9UeXBlRGVmICopU1BJM19CQVNFKQ0KI2RlZmluZSBVU0FSVDIgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUMl9CQVNFKQ0KI2RlZmluZSBVU0FSVDMgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUM19CQVNFKQ0KI2RlZmluZSBVQVJUNCAgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVBUlQ0X0JBU0UpDQojZGVmaW5lIFVBUlQ1ICAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVUFSVDVfQkFTRSkNCiNkZWZpbmUgSTJDMSAgICAgICAgICAgICAgICAoKEkyQ19UeXBlRGVmICopSTJDMV9CQVNFKQ0KI2RlZmluZSBJMkMyICAgICAgICAgICAgICAgICgoSTJDX1R5cGVEZWYgKilJMkMyX0JBU0UpDQojZGVmaW5lIEJLUCAgICAgICAgICAgICAgICAgKChCS1BfVHlwZURlZiAqKUJLUF9CQVNFKQ0KI2RlZmluZSBQV1IgICAgICAgICAgICAgICAgICgoUFdSX1R5cGVEZWYgKilQV1JfQkFTRSkNCiNkZWZpbmUgREFDMSAgICAgICAgICAgICAgICAoKERBQ19UeXBlRGVmICopREFDX0JBU0UpDQojZGVmaW5lIERBQyAgICAgICAgICAgICAgICAgKChEQUNfVHlwZURlZiAqKURBQ19CQVNFKSAvKiBLZXB0IGZvciBsZWdhY3kgcHVycG9zZSAqLw0KI2RlZmluZSBBRklPICAgICAgICAgICAgICAgICgoQUZJT19UeXBlRGVmICopQUZJT19CQVNFKQ0KI2RlZmluZSBFWFRJICAgICAgICAgICAgICAgICgoRVhUSV9UeXBlRGVmICopRVhUSV9CQVNFKQ0KI2RlZmluZSBHUElPQSAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0FfQkFTRSkNCiNkZWZpbmUgR1BJT0IgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9CX0JBU0UpDQojZGVmaW5lIEdQSU9DICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPQ19CQVNFKQ0KI2RlZmluZSBHUElPRCAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0RfQkFTRSkNCiNkZWZpbmUgR1BJT0UgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9FX0JBU0UpDQojZGVmaW5lIEdQSU9GICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPRl9CQVNFKQ0KI2RlZmluZSBHUElPRyAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0dfQkFTRSkNCiNkZWZpbmUgQURDMSAgICAgICAgICAgICAgICAoKEFEQ19UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBBREMxX0NPTU1PTiAgICAgICAgICgoQURDX0NvbW1vbl9UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBTUEkxICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKilTUEkxX0JBU0UpDQojZGVmaW5lIFVTQVJUMSAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQxX0JBU0UpDQojZGVmaW5lIFRJTTkgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTlfQkFTRSkNCiNkZWZpbmUgVElNMTAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTBfQkFTRSkNCiNkZWZpbmUgVElNMTEgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTFfQkFTRSkNCiNkZWZpbmUgU0RJTyAgICAgICAgICAgICAgICAoKFNESU9fVHlwZURlZiAqKVNESU9fQkFTRSkNCiNkZWZpbmUgRE1BMSAgICAgICAgICAgICAgICAoKERNQV9UeXBlRGVmICopRE1BMV9CQVNFKQ0KI2RlZmluZSBETUEyICAgICAgICAgICAgICAgICgoRE1BX1R5cGVEZWYgKilETUEyX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDEgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsMV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwyICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDJfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMyAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWwzX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDQgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsNF9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw1ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDVfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw2X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDcgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsN19CQVNFKQ0KI2RlZmluZSBETUEyX0NoYW5uZWwxICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTJfQ2hhbm5lbDFfQkFTRSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsMiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUEyX0NoYW5uZWwyX0JBU0UpDQojZGVmaW5lIERNQTJfQ2hhbm5lbDMgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMl9DaGFubmVsM19CQVNFKQ0KI2RlZmluZSBETUEyX0NoYW5uZWw0ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTJfQ2hhbm5lbDRfQkFTRSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsNSAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUEyX0NoYW5uZWw1X0JBU0UpDQojZGVmaW5lIFJDQyAgICAgICAgICAgICAgICAgKChSQ0NfVHlwZURlZiAqKVJDQ19CQVNFKQ0KI2RlZmluZSBDUkMgICAgICAgICAgICAgICAgICgoQ1JDX1R5cGVEZWYgKilDUkNfQkFTRSkNCiNkZWZpbmUgRkxBU0ggICAgICAgICAgICAgICAoKEZMQVNIX1R5cGVEZWYgKilGTEFTSF9SX0JBU0UpDQojZGVmaW5lIE9CICAgICAgICAgICAgICAgICAgKChPQl9UeXBlRGVmICopT0JfQkFTRSkNCiNkZWZpbmUgRlNNQ19CYW5rMSAgICAgICAgICAoKEZTTUNfQmFuazFfVHlwZURlZiAqKUZTTUNfQkFOSzFfUl9CQVNFKQ0KI2RlZmluZSBGU01DX0JhbmsxRSAgICAgICAgICgoRlNNQ19CYW5rMUVfVHlwZURlZiAqKUZTTUNfQkFOSzFFX1JfQkFTRSkNCiNkZWZpbmUgRlNNQ19CYW5rMl8zICAgICAgICAoKEZTTUNfQmFuazJfM19UeXBlRGVmICopRlNNQ19CQU5LMl8zX1JfQkFTRSkNCiNkZWZpbmUgRlNNQ19CYW5rNCAgICAgICAgICAoKEZTTUNfQmFuazRfVHlwZURlZiAqKUZTTUNfQkFOSzRfUl9CQVNFKQ0KI2RlZmluZSBEQkdNQ1UgICAgICAgICAgICAgICgoREJHTUNVX1R5cGVEZWYgKilEQkdNQ1VfQkFTRSkNCg0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQovKiogQGFkZHRvZ3JvdXAgRXhwb3J0ZWRfY29uc3RhbnRzDQogICogQHsNCiAgKi8NCiAgDQogIC8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX1JlZ2lzdGVyc19CaXRzX0RlZmluaXRpb24NCiAgKiBAew0KICAqLw0KICAgIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFBlcmlwaGVyYWwgUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbiAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICBDUkMgY2FsY3VsYXRpb24gdW5pdCAoQ1JDKSAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDUkNfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IENSQ19EUl9EUl9Qb3MpICAgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgQ1JDX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgcmVnaXN0ZXIgYml0cyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19JRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfSURSX0lEUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfSURSX0lEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgQ1JDX0lEUl9JRFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBDUkNfSURSX0lEUiAgICAgICAgICAgICAgICAgICAgICAgICBDUkNfSURSX0lEUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbC1wdXJwb3NlIDgtYml0IGRhdGEgcmVnaXN0ZXIgYml0cyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDUkNfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfQ1JfUkVTRVRfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfQ1JfUkVTRVRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBDUkNfQ1JfUkVTRVRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBDUkNfQ1JfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICBDUkNfQ1JfUkVTRVRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUkVTRVQgYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvd2VyIENvbnRyb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBQV1JfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBQV1JfQ1JfTFBEU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfTFBEU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfTFBEU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBQV1JfQ1JfTFBEUyAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfTFBEU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTG93LVBvd2VyIERlZXBzbGVlcCAqLw0KI2RlZmluZSBQV1JfQ1JfUEREU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUEREU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUEREU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBQV1JfQ1JfUEREUyAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUEREU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUG93ZXIgRG93biBEZWVwc2xlZXAgKi8NCiNkZWZpbmUgUFdSX0NSX0NXVUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0NXVUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0NXVUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUFdSX0NSX0NXVUYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0NXVUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFdha2V1cCBGbGFnICovDQojZGVmaW5lIFBXUl9DUl9DU0JGX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9DU0JGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9DU0JGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFBXUl9DUl9DU0JGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9DU0JGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBTdGFuZGJ5IEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NSX1BWREVfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX1BWREVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BWREVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUFdSX0NSX1BWREUgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BWREVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBvd2VyIFZvbHRhZ2UgRGV0ZWN0b3IgRW5hYmxlICovDQoNCiNkZWZpbmUgUFdSX0NSX1BMU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX1BMU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwRTAgKi8NCiNkZWZpbmUgUFdSX0NSX1BMUyAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMU1syOjBdIGJpdHMgKFBWRCBMZXZlbCBTZWxlY3Rpb24pICovDQojZGVmaW5lIFBXUl9DUl9QTFNfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QTFNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFBXUl9DUl9QTFNfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFBXUl9DUl9QTFNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFBXUl9DUl9QTFNfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFBXUl9DUl9QTFNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCi8qITwgUFZEIGxldmVsIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYwICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi4yViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjEgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAyMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjNWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuNFYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYzICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwNjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi41ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjQgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA4MFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjZWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEEwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuN1YgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY2ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQzBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi44ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjcgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBFMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjlWICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lIFBXUl9DUl9QTFNfMlYyICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjANCiNkZWZpbmUgUFdSX0NSX1BMU18yVjMgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMQ0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNCAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYyDQojZGVmaW5lIFBXUl9DUl9QTFNfMlY1ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjMNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjYgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNA0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNyAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY1DQojZGVmaW5lIFBXUl9DUl9QTFNfMlY4ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjYNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjkgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNw0KDQojZGVmaW5lIFBXUl9DUl9EQlBfUG9zICAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9EQlBfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9EQlBfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFBXUl9DUl9EQlAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9EQlBfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBEaXNhYmxlIEJhY2t1cCBEb21haW4gd3JpdGUgcHJvdGVjdGlvbiAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUFdSX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFBXUl9DU1JfV1VGX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfV1VGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfV1VGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFBXUl9DU1JfV1VGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfV1VGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXYWtldXAgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1NSX1NCRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1NCRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBQV1JfQ1NSX1NCRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgU3RhbmRieSBGbGFnICovDQojZGVmaW5lIFBXUl9DU1JfUFZET19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfUFZET19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfUFZET19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFBXUl9DU1JfUFZETyAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfUFZET19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgT3V0cHV0ICovDQojZGVmaW5lIFBXUl9DU1JfRVdVUF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfRVdVUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfRVdVUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFBXUl9DU1JfRVdVUCAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfRVdVUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGUgV0tVUCBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYWNrdXAgcmVnaXN0ZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjFfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjFfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjFfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyX0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyX0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSM19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSM19EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSM19EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSM19EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSM19EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjRfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjRfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjRfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI1X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI1X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI1X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI2IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNl9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNl9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNl9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNl9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjdfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjdfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjdfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI4X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI4X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI4X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI5IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSOV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSOV9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSOV9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSOV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSOV9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjEwX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjEwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjEwX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjEwX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjEwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjExIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxMV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxMV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxMV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxMV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTJfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTJfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTJfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjEzX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjEzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjEzX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjEzX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjEzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjE0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxNF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxNF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxNF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxNF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTVfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTVfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTVfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjE2X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjE2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjE2X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjE2X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjE2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjE3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxN19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxN19EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxN19EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxN19EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxN19EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjE4IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMThfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMThfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMThfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMThfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMThfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjE5X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjE5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjE5X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjE5X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjE5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjIwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyMF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyMF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyMF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyMF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyMF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjFfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjFfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjFfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjIyX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjIyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjIyX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjIyX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjIyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyM19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyM19EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyM19EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyM19EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyM19EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjRfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjRfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjRfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjI1X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjI1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjI1X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjI1X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjI1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjI2IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyNl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyNl9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyNl9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyNl9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyNl9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyNyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjdfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjdfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjdfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjI4X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjI4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjI4X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjI4X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjI4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjI5IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyOV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyOV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyOV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyOV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyOV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzBfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzBfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzBfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjMxX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjMxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjMxX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjMxX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjMxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjMyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzMl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzMl9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzMl9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzMl9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzNfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzNfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzNfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjM0X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjM0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjM0X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjM0X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjM0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjM1IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzNV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzNV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzNV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzNV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzNiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzZfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzZfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzZfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjM3X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjM3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjM3X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjM3X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjM3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjM4IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzOF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzOF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzOF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzOF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzOSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzlfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzlfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzlfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNDAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjQwX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjQwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjQwX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjQwX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjQwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjQxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI0MV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI0MV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI0MV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI0MV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI0MV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI0MiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNDJfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNDJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNDJfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNDJfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNDJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCiNkZWZpbmUgUlRDX0JLUF9OVU1CRVIgNDINCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9SVENDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IEJLUF9SVENDUl9DQUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTCAgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENhbGlicmF0aW9uIHZhbHVlICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9DQ09fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ08gICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDYWxpYnJhdGlvbiBDbG9jayBPdXRwdXQgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX1JUQ0NSX0FTT0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0UgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIG9yIFNlY29uZCBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9BU09TX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBvciBTZWNvbmQgT3V0cHV0IFNlbGVjdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfQ1JfVFBFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1JfVFBFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBCS1BfQ1JfVFBFICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVEFNUEVSIHBpbiBlbmFibGUgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NSX1RQQUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUwgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBwaW4gYWN0aXZlIGxldmVsICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9DU1JfQ1RFX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfQ1RFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEJLUF9DU1JfQ1RFICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBUYW1wZXIgZXZlbnQgKi8NCiNkZWZpbmUgQktQX0NTUl9DVElfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9DVElfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NTUl9DVEkgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFRhbXBlciBJbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9UUElFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBQaW4gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX1RFRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRiAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVGFtcGVyIEV2ZW50IEZsYWcgKi8NCiNkZWZpbmUgQktQX0NTUl9USUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9USUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQktQX0NTUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRhbXBlciBJbnRlcnJ1cHQgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0IGFuZCBDbG9jayBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0lPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNJUkRZX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBSQ0NfQ1JfSFNJVFJJTV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRjggKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU0gICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lUUklNX01zayAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgdHJpbW1pbmcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQ2FsaWJyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFUkRZX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VCWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VCWVBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQnlwYXNzICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfQ1NTT05fUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfQ1NTT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMT05fUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBQTEwgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMUkRZX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBQTEwgY2xvY2sgcmVhZHkgZmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQovKiE8IFNXIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1cgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1NXX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNXWzE6MF0gYml0cyAoU3lzdGVtIGNsb2NrIFN3aXRjaCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0kgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0UgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19QTEwgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KDQovKiE8IFNXUyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFJDQ19DRkdSX1NXUyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9TV1NfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTV1NbMTowXSBiaXRzIChTeXN0ZW0gQ2xvY2sgU3dpdGNoIFN0YXR1cykgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfSFNJICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIG9zY2lsbGF0b3IgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTRSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19QTEwgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4VSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KLyohPCBIUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0hQUkVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEhQUkVbMzowXSBiaXRzIChBSEIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMSAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYyICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY0ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwOTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY4ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxNiAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDE2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNjQgICAgICAgICAgICAgICAgICAweDAwMDAwMEMwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA2NCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEyOCAgICAgICAgICAgICAgICAgMHgwMDAwMDBEMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTI4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMjU2ICAgICAgICAgICAgICAgICAweDAwMDAwMEUwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyNTYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY1MTIgICAgICAgICAgICAgICAgIDB4MDAwMDAwRjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDUxMiAqLw0KDQovKiE8IFBQUkUxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA3MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTEgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAvKiE8IFBSRTFbMjowXSBiaXRzIChBUEIxIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYyICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWNCAgICAgICAgICAgICAgICAgIDB4MDAwMDA1MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjggICAgICAgICAgICAgICAgICAweDAwMDAwNjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxNiAgICAgICAgICAgICAgICAgMHgwMDAwMDcwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovDQoNCi8qITwgUFBSRTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMzgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUFJFMlsyOjBdIGJpdHMgKEFQQjIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjEgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjIgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVY0ICAgICAgICAgICAgICAgICAgMHgwMDAwMjgwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWOCAgICAgICAgICAgICAgICAgIDB4MDAwMDMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjE2ICAgICAgICAgICAgICAgICAweDAwMDAzODAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCg0KLyohPCBBRENQUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX0FEQ1BSRV9Qb3MpICAgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0FEQ1BSRV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQ1BSRVsxOjBdIGJpdHMgKEFEQyBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWNCAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY2ICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjggICAgICAgICAgICAgICAgIDB4MDAwMEMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgOCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExTUkNfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExTUkNfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgZW50cnkgY2xvY2sgc291cmNlICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfUG9zICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTFhUUFJFX1BvcykgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkUgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTFhUUFJFX01zayAgICAgICAgICAgICAvKiE8IEhTRSBkaXZpZGVyIGZvciBQTEwgZW50cnkgKi8NCg0KLyohPCBQTExNVUwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX01zayAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDNDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTF9Nc2sgICAgICAgICAgICAgIC8qITwgUExMTVVMWzM6MF0gYml0cyAoUExMIG11bHRpcGxpY2F0aW9uIGZhY3RvcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8zICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9IU0UgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0UgY2xvY2sgbm90IGRpdmlkZWQgZm9yIFBMTCBlbnRyeSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9IU0VfRElWMiAgICAgICAgICAgMHgwMDAyMDAwMFUgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0UgY2xvY2sgZGl2aWRlZCBieSAyIGZvciBQTEwgZW50cnkgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDNfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDNfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEwzX1BvcykgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDMgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwzX01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayozICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0X1BvcyAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMNF9Qb3MpICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMNF9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNV9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDVfUG9zKSAgIC8qITwgMHgwMDBDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDVfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjUgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDZfUG9zICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDZfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEw2X1BvcykgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDYgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw2X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo2ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3X01zayAgICAgICAgICAgICAgICAoMHg1VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMN19Qb3MpICAgLyohPCAweDAwMTQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMN19Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOF9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDhfUG9zKSAgIC8qITwgMHgwMDE4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOCAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDhfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjggKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDlfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDlfTXNrICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BMTE1VTEw5X1BvcykgICAvKiE8IDB4MDAxQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDkgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw5X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo5ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMF9Qb3MgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTBfUG9zKSAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMCAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTBfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTFfUG9zICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTFfTXNrICAgICAgICAgICAgICAgKDB4OVUgPDwgUkNDX0NGR1JfUExMTVVMTDExX1BvcykgIC8qITwgMHgwMDI0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTEgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDExX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjExICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMl9Qb3MgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMl9Nc2sgICAgICAgICAgICAgICAoMHg1VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTJfUG9zKSAgLyohPCAweDAwMjgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMiAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTJfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzX1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzX01zayAgICAgICAgICAgICAgICgweEJVIDw8IFJDQ19DRkdSX1BMTE1VTEwxM19Qb3MpICAvKiE8IDB4MDAyQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxM19Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTRfUG9zICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTRfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDE0X1BvcykgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTQgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDE0X01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNV9Qb3MgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNV9Nc2sgICAgICAgICAgICAgICAoMHhEVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTVfUG9zKSAgLyohPCAweDAwMzQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTVfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTUgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2X1BvcyAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2X01zayAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BMTE1VTEwxNl9Qb3MpICAvKiE8IDB4MDAzODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2ICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxNl9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNiAqLw0KDQovKiE8IE1DTyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX01DT19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDA3MDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DTyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fTXNrICAgICAgICAgICAgICAgICAgLyohPCBNQ09bMjowXSBiaXRzIChNaWNyb2NvbnRyb2xsZXIgQ2xvY2sgT3V0cHV0KSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMiAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX01DT19OT0NMT0NLICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX1NZU0NMSyAgICAgICAgICAgICAgICAgIDB4MDQwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNJICAgICAgICAgICAgICAgICAgICAgMHgwNTAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTSSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19IU0UgICAgICAgICAgICAgICAgICAgICAweDA2MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19QTExDTEtfRElWMiAgICAgICAgICAgICAweDA3MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIGRpdmlkZWQgYnkgMiBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQoNCiAvKiBSZWZlcmVuY2UgZGVmaW5lcyAqLw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DTw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18wDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzENCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8yICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMg0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19OT0NMT0NLDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfU1lTQ0xLICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX1NZU0NMSw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0hTSSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19IU0kNCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0UgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fSFNFDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfUExMX0RJVjIgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX1BMTENMS19ESVYyDQoNCi8qITwqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0lSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfQ1NTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0NTU0ZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTRiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0NTU0ZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUlFX1BvcykgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlDX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlDX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlDX1BvcykgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlDX1BvcykgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlDX1BvcykgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0NfUG9zICAgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0NTU0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NDX1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0MgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIEludGVycnVwdCBDbGVhciAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIyUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQUZJT1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0FGSU9SU1RfTXNrICAgICAgICAgIC8qITwgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Qb3MgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEFSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BBUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEEgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1RfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BCUlNUX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BCUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBCIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUX1BvcyAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQ1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUENSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgQyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Qb3MgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUERSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUERSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BEUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEQgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1RfUG9zICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9BREMxUlNUX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BREMxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Nc2sgICAgICAgICAgLyohPCBBREMgMSBpbnRlcmZhY2UgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUX1BvcyAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1RJTTFSU1RfTXNrICAgICAgICAgIC8qITwgVElNMSBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1NQSTFSU1RfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NQSTFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9TUEkxUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAxIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX01zayAgICAgICAgLyohPCBVU0FSVDEgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BFUlNUX1BvcyAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BFUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QRVJTVF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEVSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgRSByZXNldCAqLw0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BGUlNUX1BvcyAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BGUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QRlJTVF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEZSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgRiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QR1JTVF9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QR1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEdSU1RfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEdSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BHUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEcgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU05UlNUX1BvcyAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU05UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNOVJTVF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNOVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1RJTTlSU1RfTXNrICAgICAgICAgIC8qITwgVElNOSBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTBSU1RfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTBSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTEwUlNUX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xMFJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMTBSU1RfTXNrICAgICAgICAgLyohPCBUSU0xMCBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTFSU1RfUG9zICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTFSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTExUlNUX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xMVJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMTFSU1RfTXNrICAgICAgICAgLyohPCBUSU0xMSBUaW1lciByZXNldCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMVJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTJSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU0yUlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU0zUlNUX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0zUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgLyohPCBUaW1lciAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcyAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgICAgIC8qITwgV2luZG93IFdhdGNoZG9nIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfUG9zICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX01zayAgICAgICAgLyohPCBVU0FSVCAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcyAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgIC8qITwgSTJDIDEgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1RfUG9zICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfQktQUlNUX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfQktQUlNUX01zayAgICAgICAgICAgLyohPCBCYWNrdXAgaW50ZXJmYWNlIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfUFdSUlNUX1BvcykgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfUFdSUlNUX01zayAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgcmVzZXQgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNFJTVF9Qb3MgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNFJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTRSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTRSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU00UlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDQgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTJSU1RfUG9zICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTJSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9TUEkyUlNUX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9TUEkyUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Nc2sgICAgICAgICAgLyohPCBTUEkgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX1BvcyAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1VTQVJUM1JTVF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1VTQVJUM1JTVF9Nc2sgICAgICAgIC8qITwgVVNBUlQgMyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMlJTVF9Qb3MgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0kyQzJSU1RfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9JMkMyUlNUX01zayAgICAgICAgICAvKiE8IEkyQyAyIHJlc2V0ICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNVJTVF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTVSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTVSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU01UlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDUgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU02UlNUX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU02UlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNNlJTVF9Nc2sgICAgICAgICAgLyohPCBUaW1lciA2IHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNN1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNN1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTdSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgNyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJM1JTVF9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJM1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1NQSTNSU1RfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTNSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9TUEkzUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNFJTVF9Qb3MgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNFJTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVUFSVDRSU1RfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VBUlQ0UlNUICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VQVJUNFJTVF9Nc2sgICAgICAgICAvKiE8IFVBUlQgNCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVUFSVDVSU1RfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVUFSVDVSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1VBUlQ1UlNUX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNVJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVUFSVDVSU1RfTXNrICAgICAgICAgLyohPCBVQVJUIDUgcmVzZXQgKi8NCg0KDQoNCg0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTJSU1RfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTJSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTEyUlNUX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0xMlJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNMTJSU1RfTXNrICAgICAgICAgLyohPCBUSU0xMiBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTNSU1RfUG9zICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTNSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTEzUlNUX1BvcykgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0xM1JTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNMTNSU1RfTXNrICAgICAgICAgLyohPCBUSU0xMyBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTRSU1RfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTRSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTE0UlNUX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0xNFJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNMTRSU1RfTXNrICAgICAgICAgLyohPCBUSU0xNCBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfREFDUlNUX1BvcyAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfREFDUlNUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfREFDUlNUICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Nc2sgICAgICAgICAgIC8qITwgREFDIGludGVyZmFjZSByZXNldCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FIQkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9ETUExRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9ETUExRU5fTXNrICAgICAgICAgICAgIC8qITwgRE1BMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU5fUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfU1JBTUVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfU1JBTUVOX01zayAgICAgICAgICAgICAvKiE8IFNSQU0gaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9GTElURkVOX1BvcykgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU4gICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9GTElURkVOX01zayAgICAgICAgICAgIC8qITwgRkxJVEYgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU5fUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0NSQ0VOX1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU4gICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgLyohPCBDUkMgY2xvY2sgZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUEyRU5fUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUEyRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRE1BMkVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUEyRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRE1BMkVOX01zayAgICAgICAgICAgICAvKiE8IERNQTIgY2xvY2sgZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0FIQkVOUl9GU01DRU5fUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9GU01DRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRlNNQ0VOX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GU01DRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRlNNQ0VOX01zayAgICAgICAgICAgICAvKiE8IEZTTUMgY2xvY2sgZW5hYmxlICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIyRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0FGSU9FTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0FGSU9FTl9Nc2sgICAgICAgICAgICAvKiE8IEFsdGVybmF0ZSBGdW5jdGlvbiBJL08gY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTl9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BBRU5fUG9zKSAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BBRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBBIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU5fUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QQkVOX1BvcykgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QQkVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgQiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUENFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUENFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTl9Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BERU5fUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BERU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBEIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfQURDMUVOX1BvcykgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfQURDMUVOX01zayAgICAgICAgICAgIC8qITwgQURDIDEgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTFFTl9Qb3MpICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1RJTTFFTl9Nc2sgICAgICAgICAgICAvKiE8IFRJTTEgVGltZXIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTl9Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9TUEkxRU5fUG9zKSAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9TUEkxRU5fTXNrICAgICAgICAgICAgLyohPCBTUEkgMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fUG9zICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1VTQVJUMUVOX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Nc2sgICAgICAgICAgLyohPCBVU0FSVDEgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BFRU5fUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BFRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QRUVOX1BvcykgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BFRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QRUVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgRSBjbG9jayBlbmFibGUgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BGRU5fUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BGRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QRkVOX1BvcykgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BGRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QRkVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgRiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QR0VOX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QR0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUEdFTl9Qb3MpICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QR0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUEdFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEcgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU05RU5fUG9zICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU05RU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNOUVOX1BvcykgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU05RU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNOUVOX01zayAgICAgICAgICAgIC8qITwgVElNOSBUaW1lciBjbG9jayBlbmFibGUgICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTEwRU5fUG9zICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTEwRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9USU0xMEVOX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTEwRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9USU0xMEVOX01zayAgICAgICAgICAgLyohPCBUSU0xMCBUaW1lciBjbG9jayBlbmFibGUgICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTExRU5fUG9zICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTExRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9USU0xMUVOX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTExRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9USU0xMUVOX01zayAgICAgICAgICAgLyohPCBUSU0xMSBUaW1lciBjbG9jayBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjFFTlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNMkVOX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNMkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTJFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNMkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTJFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDIgY2xvY2sgZW5hYmxlZCovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTl9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0zRU5fUG9zKSAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0zRU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU5fUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfV1dER0VOX1BvcykgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfV1dER0VOX01zayAgICAgICAgICAgIC8qITwgV2luZG93IFdhdGNoZG9nIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVVNBUlQyRU5fUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQyRU4gICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1VTQVJUMkVOX01zayAgICAgICAgICAvKiE8IFVTQVJUIDIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9JMkMxRU5fUG9zKSAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9JMkMxRU5fTXNrICAgICAgICAgICAgLyohPCBJMkMgMSBjbG9jayBlbmFibGUgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIxRU5SX0JLUEVOX1BvcyAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0JLUEVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9CS1BFTl9Qb3MpICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0JLUEVOICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9CS1BFTl9Nc2sgICAgICAgICAgICAgLyohPCBCYWNrdXAgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfUFdSRU5fUG9zKSAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfUFdSRU5fTXNrICAgICAgICAgICAgIC8qITwgUG93ZXIgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTRFTl9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTRFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU00RU5fUG9zKSAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTRFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU00RU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciA0IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9TUEkyRU5fUG9zICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9TUEkyRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfU1BJMkVOX1BvcykgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9TUEkyRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfU1BJMkVOX01zayAgICAgICAgICAgIC8qITwgU1BJIDIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUM0VOX1BvcyAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUM0VOX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VU0FSVDNFTl9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDNFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNBUlQzRU5fTXNrICAgICAgICAgIC8qITwgVVNBUlQgMyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMkVOX1BvcyAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0kyQzJFTl9Qb3MpICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0kyQzJFTl9Nc2sgICAgICAgICAgICAvKiE8IEkyQyAyIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNUVOX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTVFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTVFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDUgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU02RU5fUG9zKSAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU02RU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciA2IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU5fUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNN0VOX1BvcykgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNN0VOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgNyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJM0VOX1BvcyAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJM0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1NQSTNFTl9Qb3MpICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJM0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1NQSTNFTl9Nc2sgICAgICAgICAgICAvKiE8IFNQSSAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNEVOX1BvcyAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNEVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVUFSVDRFTl9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNEVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVUFSVDRFTl9Nc2sgICAgICAgICAgIC8qITwgVUFSVCA0IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNUVOX1BvcyAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNUVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVUFSVDVFTl9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNUVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVUFSVDVFTl9Nc2sgICAgICAgICAgIC8qITwgVUFSVCA1IGNsb2NrIGVuYWJsZSAqLw0KDQoNCg0KDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEyRU5fUG9zICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEyRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0xMkVOX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEyRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0xMkVOX01zayAgICAgICAgICAgLyohPCBUSU0xMiBUaW1lciBjbG9jayBlbmFibGUgICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEzRU5fUG9zICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEzRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0xM0VOX1BvcykgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEzRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0xM0VOX01zayAgICAgICAgICAgLyohPCBUSU0xMyBUaW1lciBjbG9jayBlbmFibGUgICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTE0RU5fUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTE0RU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0xNEVOX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTE0RU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0xNEVOX01zayAgICAgICAgICAgLyohPCBUSU0xNCBUaW1lciBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfREFDRU5fUG9zICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfREFDRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0RBQ0VOX1BvcykgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfREFDRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0RBQ0VOX01zayAgICAgICAgICAgICAvKiE8IERBQyBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0JEQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VPTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VPTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRVJEWV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRVJEWV9Nc2sgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIFJlYWR5ICovDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VCWVBfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VCWVBfTXNrICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBCeXBhc3MgKi8NCg0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUwgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfUlRDU0VMX01zayAgICAgICAgICAgICAgIC8qITwgUlRDU0VMWzE6MF0gYml0cyAoUlRDIGNsb2NrIHNvdXJjZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0hTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIGNsb2NrIGRpdmlkZWQgYnkgMTI4IHVzZWQgYXMgUlRDIGNsb2NrICovDQoNCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU5fUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX1JUQ0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU4gICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAvKiE8IFJUQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1RfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1RfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0JEUlNUX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1QgICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0JEUlNUX01zayAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkb21haW4gc29mdHdhcmUgcmVzZXQgICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovICANCiNkZWZpbmUgUkNDX0NTUl9MU0lPTl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNJT05fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lPTiAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNJT05fTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MU0lSRFlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWSAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MU0lSRFlfTXNrICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgUmVhZHkgKi8NCiNkZWZpbmUgUkNDX0NTUl9STVZGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9STVZGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUk1WRl9Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9STVZGICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUk1WRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlbW92ZSByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1BJTlJTVEZfUG9zKSAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBQSU4gcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEZfUG9zICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9QT1JSU1RGX1BvcykgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgICAgIC8qITwgUE9SL1BEUiByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1NGVFJTVEZfUG9zKSAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBSZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEZfUG9zICAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0lXREdSU1RGX1BvcykgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0lXREdSU1RGX01zayAgICAgICAgICAgICAgLyohPCBJbmRlcGVuZGVudCBXYXRjaGRvZyByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfUG9zICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1dXREdSU1RGX1BvcykgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1dXREdSU1RGX01zayAgICAgICAgICAgICAgLyohPCBXaW5kb3cgd2F0Y2hkb2cgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MUFdSUlNURl9Qb3MpICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgIC8qITwgTG93LVBvd2VyIHJlc2V0IGZsYWcgKi8NCg0KDQogDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgIEdlbmVyYWwgUHVycG9zZSBhbmQgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0NSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9NT0RFX1BvcykgLyohPCAweDMzMzMzMzMzICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggbW9kZSBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUwX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUwWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDApICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUxX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUxWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUyX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDIpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUzX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUzWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDMpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU0X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU0WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU1X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDUpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfUG9zICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTYgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU2X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU2WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDYpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU3X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU3WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9DTkZfUG9zKSAvKiE8IDB4Q0NDQ0NDQ0MgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYwX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYwX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAwKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYxX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYxWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjJbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMikgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYzX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYzX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAzKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY0X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY0WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjVbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY2X1BvcyAgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY2X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GNlsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA2KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfUG9zICAgICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY3X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY3WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19DUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfTU9ERV9Qb3MpIC8qITwgMHgzMzMzMzMzMyAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IG1vZGUgYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA4KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMCAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTBfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTBbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTApICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxMV9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxMVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTIgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTEyX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTEyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMyAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTNfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTNbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTMpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxNF9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxNFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxNCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTUgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTE1X01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTE1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfQ05GX1BvcykgLyohPCAweENDQ0NDQ0NDICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjhbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gOCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkY5X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkY5X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GOVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTFbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTEpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEyX1BvcykgICAgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEyX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEyWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxM19Qb3MpICAgICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMykgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTRfUG9zKSAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTRbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTQpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjE1X1BvcykgICAgICAvKiE8IDB4QzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjE1X01zayAgICAgICAgICAgICAgICAvKiE8IENORjE1WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKiE8KioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19JRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAzICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI1X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA2ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA5ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19PRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEzICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19CU1JSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzExX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDExICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxMl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxNSAqLw0KDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIwX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfUG9zICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIzX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjRfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSNV9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA1ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI2X1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Qb3MgICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjdfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSOF9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI5X1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfUG9zICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEwX1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfUG9zICAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjExX1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEyX1BvcykgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfUG9zICAgICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEzX1BvcykgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE0X1BvcykgICAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE1X1BvcykgICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIwX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIzX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjQgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI0X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNSAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2X1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI2X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjdfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjcgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI3X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOCAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5X1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19MQ0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s0X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLNV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzZfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s3X1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s3X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzlfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMF9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzExX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTEgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzExX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDExICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTJfUG9zKSAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMiAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTJfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxM19Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxM19Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzE0X1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTQgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzE0X01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNSAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTVfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTUgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0tLX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0sgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0tLX01zayAgICAgICAgICAgICAgICAvKiE8IExvY2sga2V5ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VWQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU4gICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX01zayAgICAgICAgICAgICAgICAgLyohPCBQSU5bMzowXSBiaXRzIChQaW4gc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQovKiE8IFBJTiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgwICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQaW4gMCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDFfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDFfTXNrICAgICAgICAgICAgIC8qITwgUGluIDEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFgyX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgyX01zayAgICAgICAgICAgICAvKiE8IFBpbiAyIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYM19Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYM19Nc2sgICAgICAgICAgICAgLyohPCBQaW4gMyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDRfUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNCAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDRfTXNrICAgICAgICAgICAgIC8qITwgUGluIDQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfTXNrICAgICAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVZDUl9QSU5fUFg1X1BvcykgICAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg1X01zayAgICAgICAgICAgICAvKiE8IFBpbiA1IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X1BvcyAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYNl9Qb3MpICAgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYNl9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19FVkNSX1BJTl9QWDdfUG9zKSAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDdfTXNrICAgICAgICAgICAgIC8qITwgUGluIDcgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFg4X1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDggICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg4X01zayAgICAgICAgICAgICAvKiE8IFBpbiA4IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X01zayAgICAgICAgICAgICAgICAoMHg5VSA8PCBBRklPX0VWQ1JfUElOX1BYOV9Qb3MpICAgLyohPCAweDAwMDAwMDA5ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYOV9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gOSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfTXNrICAgICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FVkNSX1BJTl9QWDEwX1BvcykgIC8qITwgMHgwMDAwMDAwQSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEwX01zayAgICAgICAgICAgIC8qITwgUGluIDEwIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Nc2sgICAgICAgICAgICAgICAoMHhCVSA8PCBBRklPX0VWQ1JfUElOX1BYMTFfUG9zKSAgLyohPCAweDAwMDAwMDBCICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMSAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTFfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFgxMl9Qb3MpICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxMl9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfTXNrICAgICAgICAgICAgICAgKDB4RFUgPDwgQUZJT19FVkNSX1BJTl9QWDEzX1BvcykgIC8qITwgMHgwMDAwMDAwRCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTMgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEzX01zayAgICAgICAgICAgIC8qITwgUGluIDEzIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUElOX1BYMTRfUG9zKSAgLyohPCAweDAwMDAwMDBFICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNCAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTRfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVZDUl9QSU5fUFgxNV9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1ICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxNV9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxNSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQT1JUWzI6MF0gYml0cyAoUG9ydCBzZWxlY3Rpb24pICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qITwgUE9SVCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BBICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IEEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BCX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BCX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgQiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUENfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUENfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBDIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUE9SVF9QRF9Qb3MpICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QRF9Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfUG9zICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BFX1BvcykgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BFX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgRSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfRVZPRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfRVZPRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBFdmVudCBPdXRwdXQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX01BUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1BJMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1BJMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1NQSTFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgU1BJMSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9JMkMxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fTUFQUl9JMkMxX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfSTJDMV9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBJMkMxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQyIHJlbWFwcGluZyAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDNfUkVNQVBbMTowXSBiaXRzIChVU0FSVDMgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzEgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQovKiBVU0FSVDNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX05PUkVNQVAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKFRYL1BCMTAsIFJYL1BCMTEsIENLL1BCMTIsIENUUy9QQjEzLCBSVFMvUEIxNCkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfUG9zICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChUWC9QQzEwLCBSWC9QQzExLCBDSy9QQzEyLCBDVFMvUEIxMywgUlRTL1BCMTQpICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX1BvcyAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX01zayAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUCAgICAgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoVFgvUEQ4LCBSWC9QRDksIENLL1BEMTAsIENUUy9QRDExLCBSVFMvUEQxMikgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTFfUkVNQVBbMTowXSBiaXRzIChUSU0xIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFRJTTFfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKEVUUi9QQTEyLCBDSDEvUEE4LCBDSDIvUEE5LCBDSDMvUEExMCwgQ0g0L1BBMTEsIEJLSU4vUEIxMiwgQ0gxTi9QQjEzLCBDSDJOL1BCMTQsIENIM04vUEIxNSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX1BvcyAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChFVFIvUEExMiwgQ0gxL1BBOCwgQ0gyL1BBOSwgQ0gzL1BBMTAsIENINC9QQTExLCBCS0lOL1BBNiwgQ0gxTi9QQTcsIENIMk4vUEIwLCBDSDNOL1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKEVUUi9QRTcsIENIMS9QRTksIENIMi9QRTExLCBDSDMvUEUxMywgQ0g0L1BFMTQsIEJLSU4vUEUxNSwgQ0gxTi9QRTgsIENIMk4vUEUxMCwgQ0gzTi9QRTEyKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNMl9SRU1BUFsxOjBdIGJpdHMgKFRJTTIgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgVElNMl9SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoQ0gxL0VUUi9QQTAsIENIMi9QQTEsIENIMy9QQTIsIENINC9QQTMpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMSAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL0VUUi9QQTE1LCBDSDIvUEIzLCBDSDMvUEEyLCBDSDQvUEEzKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcyAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDIgICBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKENIMS9FVFIvUEEwLCBDSDIvUEExLCBDSDMvUEIxMCwgQ0g0L1BCMTEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Qb3MgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9GVUxMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQICAgICAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgLyohPCBGdWxsIHJlbWFwIChDSDEvRVRSL1BBMTUsIENIMi9QQjMsIENIMy9QQjEwLCBDSDQvUEIxMSkgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0zX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTNfUkVNQVBbMTowXSBiaXRzIChUSU0zIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KDQovKiE8IFRJTTNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKENIMS9QQTYsIENIMi9QQTcsIENIMy9QQjAsIENINC9QQjEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUCAgICBBRklPX01BUFJfVElNM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL1BCNCwgQ0gyL1BCNSwgQ0gzL1BCMCwgQ0g0L1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKENIMS9QQzYsIENIMi9QQzcsIENIMy9QQzgsIENINC9QQzkpICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU00X1JFTUFQX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU00X1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfVElNNF9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBUSU00X1JFTUFQIGJpdCAoVElNNCByZW1hcHBpbmcpICovDQoNCg0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1BEMDFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1BEMDFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9QRDAxX1JFTUFQX01zayAgICAgICAgICAvKiE8IFBvcnQgRDAvUG9ydCBEMSBtYXBwaW5nIG9uIE9TQ19JTi9PU0NfT1VUICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU01Q0g0X0lSRU1BUF9Qb3MgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU01Q0g0X0lSRU1BUF9Nc2sgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVElNNUNINF9JUkVNQVBfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTVDSDRfSVJFTUFQICAgICAgICAgICAgIEFGSU9fTUFQUl9USU01Q0g0X0lSRU1BUF9Nc2sgICAgICAvKiE8IFRJTTUgQ2hhbm5lbDQgSW50ZXJuYWwgUmVtYXAgKi8NCg0KLyohPCBTV0pfQ0ZHIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTXNrICAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkcgICAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX01zayAgICAgICAgICAgICAvKiE8IFNXSl9DRkdbMjowXSBiaXRzIChTZXJpYWwgV2lyZSBKVEFHIGNvbmZpZ3VyYXRpb24pICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDA0MDAwMDAwICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfUkVTRVQgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bGwgU1dKIChKVEFHLURQICsgU1ctRFApIDogUmVzZXQgU3RhdGUgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfUG9zICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfTXNrICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Nc2sgICAgLyohPCBGdWxsIFNXSiAoSlRBRy1EUCArIFNXLURQKSBidXQgd2l0aG91dCBKTlRSU1QgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfUG9zICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfTXNrICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX1BvcykgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFICAgICAgICBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Nc2sgLyohPCBKVEFHLURQIERpc2FibGVkIGFuZCBTVy1EUCBFbmFibGVkICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfUG9zICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfTXNrICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEUgICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX01zayAgICAgLyohPCBKVEFHLURQIERpc2FibGVkIGFuZCBTVy1EUCBEaXNhYmxlZCAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTEgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX01zayAgICAgICAgICAgIC8qITwgRVhUSSAxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9Qb3MpICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUG9zKSAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMyAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDMgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEkwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEJfTXNrICAgICAgICAgLyohPCBQQlswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX01zayAgICAgICAgIC8qITwgUENbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEVfTXNrICAgICAgICAgLyohPCBQRVswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX01zayAgICAgICAgIC8qITwgUEZbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzBdIHBpbiAqLw0KDQovKiE8IEVYVEkxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEJfTXNrICAgICAgICAgLyohPCBQQlsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX01zayAgICAgICAgIC8qITwgUENbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEVfTXNrICAgICAgICAgLyohPCBQRVsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX01zayAgICAgICAgIC8qITwgUEZbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzFdIHBpbiAqLw0KDQovKiE8IEVYVEkyIGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUENfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUENfTXNrICAgICAgICAgLyohPCBQQ1syXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX01zayAgICAgICAgIC8qITwgUERbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Qb3MgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEZfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEZfTXNrICAgICAgICAgLyohPCBQRlsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX01zayAgICAgICAgIC8qITwgUEdbMl0gcGluICovDQoNCi8qITwgRVhUSTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Nc2sgICAgICAgICAvKiE8IFBCWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUENfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUENfTXNrICAgICAgICAgLyohPCBQQ1szXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX01zayAgICAgICAgIC8qITwgUERbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Nc2sgICAgICAgICAvKiE8IFBFWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEZfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEZfTXNrICAgICAgICAgLyohPCBQRlszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX01zayAgICAgICAgIC8qITwgUEdbM10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTUgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X01zayAgICAgICAgICAgIC8qITwgRVhUSSA1IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9Qb3MpICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUG9zKSAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNyAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDcgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEk0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEJfTXNrICAgICAgICAgLyohPCBQQls0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX01zayAgICAgICAgIC8qITwgUENbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEVfTXNrICAgICAgICAgLyohPCBQRVs0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX01zayAgICAgICAgIC8qITwgUEZbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzRdIHBpbiAqLw0KDQovKiBFWFRJNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX01zayAgICAgICAgIC8qITwgUEJbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUERfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUERfTXNrICAgICAgICAgLyohPCBQRFs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX01zayAgICAgICAgIC8qITwgUEVbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEdfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEdfTXNrICAgICAgICAgLyohPCBQR1s1XSBwaW4gKi8NCg0KLyohPCBFWFRJNiBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEJfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEJfTXNrICAgICAgICAgLyohPCBQQls2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX01zayAgICAgICAgIC8qITwgUENbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEVfUG9zICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEVfTXNrICAgICAgICAgLyohPCBQRVs2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX01zayAgICAgICAgIC8qITwgUEZbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Nc2sgICAgICAgICAvKiE8IFBHWzZdIHBpbiAqLw0KDQovKiE8IEVYVEk3IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEJfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEJfTXNrICAgICAgICAgLyohPCBQQls3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX01zayAgICAgICAgIC8qITwgUENbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Nc2sgICAgICAgICAvKiE8IFBEWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEVfTXNrICAgICAgICAgLyohPCBQRVs3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX01zayAgICAgICAgIC8qITwgUEZbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Nc2sgICAgICAgICAvKiE8IFBHWzddIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTggICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X01zayAgICAgICAgICAgIC8qITwgRVhUSSA4IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9Qb3MpICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgOSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BvcykgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX01zayAgICAgICAgICAgLyohPCBFWFRJIDEwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUG9zKSAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMSAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTEgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEk4IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEJfTXNrICAgICAgICAgLyohPCBQQls4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX01zayAgICAgICAgIC8qITwgUENbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEVfTXNrICAgICAgICAgLyohPCBQRVs4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX01zayAgICAgICAgIC8qITwgUEZbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzhdIHBpbiAqLw0KDQovKiE8IEVYVEk5IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEJfTXNrICAgICAgICAgLyohPCBQQls5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX01zayAgICAgICAgIC8qITwgUENbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEVfTXNrICAgICAgICAgLyohPCBQRVs5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX01zayAgICAgICAgIC8qITwgUEZbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzldIHBpbiAqLw0KDQovKiE8IEVYVEkxMCBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfTXNrICAgICAgICAvKiE8IFBCWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUENfTXNrICAgICAgICAvKiE8IFBDWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUERfTXNrICAgICAgICAvKiE8IFBEWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfTXNrICAgICAgICAvKiE8IFBFWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfTXNrICAgICAgICAvKiE8IFBGWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfTXNrICAgICAgICAvKiE8IFBHWzEwXSBwaW4gKi8NCg0KLyohPCBFWFRJMTEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Nc2sgICAgICAgIC8qITwgUENbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Nc2sgICAgICAgIC8qITwgUERbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFX1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Nc2sgICAgICAgIC8qITwgUEdbMTFdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BvcykgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTMgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX01zayAgICAgICAgICAgLyohPCBFWFRJIDEzIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUG9zKSAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNCAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9Qb3MpIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1ICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxNSBjb25maWd1cmF0aW9uICovDQoNCi8qIEVYVEkxMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BCX01zayAgICAgICAgLyohPCBQQlsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BDX01zayAgICAgICAgLyohPCBQQ1sxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BEX01zayAgICAgICAgLyohPCBQRFsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BFX01zayAgICAgICAgLyohPCBQRVsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BGX01zayAgICAgICAgLyohPCBQRlsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BHX01zayAgICAgICAgLyohPCBQR1sxMl0gcGluICovDQoNCi8qIEVYVEkxMyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BCX01zayAgICAgICAgLyohPCBQQlsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BDX01zayAgICAgICAgLyohPCBQQ1sxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BEX01zayAgICAgICAgLyohPCBQRFsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfUG9zICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BFX01zayAgICAgICAgLyohPCBQRVsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BGX01zayAgICAgICAgLyohPCBQRlsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BHX01zayAgICAgICAgLyohPCBQR1sxM10gcGluICovDQoNCi8qITwgRVhUSTE0IGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Nc2sgICAgICAgIC8qITwgUENbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Nc2sgICAgICAgIC8qITwgUERbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFX1BvcyAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Nc2sgICAgICAgIC8qITwgUEdbMTRdIHBpbiAqLw0KDQovKiE8IEVYVEkxNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BCX01zayAgICAgICAgLyohPCBQQlsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BDX01zayAgICAgICAgLyohPCBQQ1sxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BEX01zayAgICAgICAgLyohPCBQRFsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BFX01zayAgICAgICAgLyohPCBQRVsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BGX01zayAgICAgICAgLyohPCBQRlsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BHX01zayAgICAgICAgLyohPCBQR1sxNV0gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX01BUFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQoNCg0KI2RlZmluZSBBRklPX01BUFIyX1RJTTlfUkVNQVBfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX1RJTTlfUkVNQVBfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9USU05X1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNOV9SRU1BUCAgICAgICAgICAgICAgICBBRklPX01BUFIyX1RJTTlfUkVNQVBfTXNrICAgICAgICAgLyohPCBUSU05IHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTEwX1JFTUFQX1BvcyAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX1RJTTEwX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9USU0xMF9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTEwX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSMl9USU0xMF9SRU1BUF9Nc2sgICAgICAgIC8qITwgVElNMTAgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTFfUkVNQVBfUG9zICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTFfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFIyX1RJTTExX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTFfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFIyX1RJTTExX1JFTUFQX01zayAgICAgICAgLyohPCBUSU0xMSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xM19SRU1BUF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xM19SRU1BUF9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUjJfVElNMTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xM19SRU1BUCAgICAgICAgICAgICAgIEFGSU9fTUFQUjJfVElNMTNfUkVNQVBfTXNrICAgICAgICAvKiE8IFRJTTEzIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE0X1JFTUFQX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE0X1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9USU0xNF9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE0X1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSMl9USU0xNF9SRU1BUF9Nc2sgICAgICAgIC8qITwgVElNMTQgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUjJfRlNNQ19OQURWX1JFTUFQX1BvcyAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfRlNNQ19OQURWX1JFTUFQX01zayAgICAgICAoMHgxVSA8PCBBRklPX01BUFIyX0ZTTUNfTkFEVl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX01BUFIyX0ZTTUNfTkFEVl9SRU1BUCAgICAgICAgICAgQUZJT19NQVBSMl9GU01DX05BRFZfUkVNQVBfTXNrICAgIC8qITwgRlNNQyBOQURWIHJlbWFwcGluZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCBJbnRlcnJ1cHQvRXZlbnQgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0lNUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfSU1SX01SMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfSU1SX01SMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfSU1SX01SNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfSU1SX01SNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfSU1SX01SOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfSU1SX01SOCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI5X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjExICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjExX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE1X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE2X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE3X1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE3X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE4X1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE4X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxOCAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfSU1SX0lNMCBFWFRJX0lNUl9NUjANCiNkZWZpbmUgIEVYVElfSU1SX0lNMSBFWFRJX0lNUl9NUjENCiNkZWZpbmUgIEVYVElfSU1SX0lNMiBFWFRJX0lNUl9NUjINCiNkZWZpbmUgIEVYVElfSU1SX0lNMyBFWFRJX0lNUl9NUjMNCiNkZWZpbmUgIEVYVElfSU1SX0lNNCBFWFRJX0lNUl9NUjQNCiNkZWZpbmUgIEVYVElfSU1SX0lNNSBFWFRJX0lNUl9NUjUNCiNkZWZpbmUgIEVYVElfSU1SX0lNNiBFWFRJX0lNUl9NUjYNCiNkZWZpbmUgIEVYVElfSU1SX0lNNyBFWFRJX0lNUl9NUjcNCiNkZWZpbmUgIEVYVElfSU1SX0lNOCBFWFRJX0lNUl9NUjgNCiNkZWZpbmUgIEVYVElfSU1SX0lNOSBFWFRJX0lNUl9NUjkNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTAgRVhUSV9JTVJfTVIxMA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMSBFWFRJX0lNUl9NUjExDQojZGVmaW5lICBFWFRJX0lNUl9JTTEyIEVYVElfSU1SX01SMTINCiNkZWZpbmUgIEVYVElfSU1SX0lNMTMgRVhUSV9JTVJfTVIxMw0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNCBFWFRJX0lNUl9NUjE0DQojZGVmaW5lICBFWFRJX0lNUl9JTTE1IEVYVElfSU1SX01SMTUNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTYgRVhUSV9JTVJfTVIxNg0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNyBFWFRJX0lNUl9NUjE3DQojZGVmaW5lICBFWFRJX0lNUl9JTTE4IEVYVElfSU1SX01SMTgNCiNkZWZpbmUgIEVYVElfSU1SX0lNICAgMHgwMDA3RkZGRlUgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgQWxsICovDQogDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRU1SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfRU1SX01SMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfRU1SX01SMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjMgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfRU1SX01SNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfRU1SX01SNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjYgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfRU1SX01SOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfRU1SX01SOCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjlfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjkgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjExICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjExX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfRU1SX01SMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTIgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTVfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTUgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE3X1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE3X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfRU1SX01SMThfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMThfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMThfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTggICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMThfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0VNUl9FTTAgRVhUSV9FTVJfTVIwDQojZGVmaW5lICBFWFRJX0VNUl9FTTEgRVhUSV9FTVJfTVIxDQojZGVmaW5lICBFWFRJX0VNUl9FTTIgRVhUSV9FTVJfTVIyDQojZGVmaW5lICBFWFRJX0VNUl9FTTMgRVhUSV9FTVJfTVIzDQojZGVmaW5lICBFWFRJX0VNUl9FTTQgRVhUSV9FTVJfTVI0DQojZGVmaW5lICBFWFRJX0VNUl9FTTUgRVhUSV9FTVJfTVI1DQojZGVmaW5lICBFWFRJX0VNUl9FTTYgRVhUSV9FTVJfTVI2DQojZGVmaW5lICBFWFRJX0VNUl9FTTcgRVhUSV9FTVJfTVI3DQojZGVmaW5lICBFWFRJX0VNUl9FTTggRVhUSV9FTVJfTVI4DQojZGVmaW5lICBFWFRJX0VNUl9FTTkgRVhUSV9FTVJfTVI5DQojZGVmaW5lICBFWFRJX0VNUl9FTTEwIEVYVElfRU1SX01SMTANCiNkZWZpbmUgIEVYVElfRU1SX0VNMTEgRVhUSV9FTVJfTVIxMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMiBFWFRJX0VNUl9NUjEyDQojZGVmaW5lICBFWFRJX0VNUl9FTTEzIEVYVElfRU1SX01SMTMNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTQgRVhUSV9FTVJfTVIxNA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNSBFWFRJX0VNUl9NUjE1DQojZGVmaW5lICBFWFRJX0VNUl9FTTE2IEVYVElfRU1SX01SMTYNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTcgRVhUSV9FTVJfTVIxNw0KI2RlZmluZSAgRVhUSV9FTVJfRU0xOCBFWFRJX0VNUl9NUjE4DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1JUU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTQgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTdfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTcgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMThfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMThfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1JUU1JfUlQwIEVYVElfUlRTUl9UUjANCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEgRVhUSV9SVFNSX1RSMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMiBFWFRJX1JUU1JfVFIyDQojZGVmaW5lICBFWFRJX1JUU1JfUlQzIEVYVElfUlRTUl9UUjMNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDQgRVhUSV9SVFNSX1RSNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNSBFWFRJX1JUU1JfVFI1DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ2IEVYVElfUlRTUl9UUjYNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDcgRVhUSV9SVFNSX1RSNw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUOCBFWFRJX1JUU1JfVFI4DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ5IEVYVElfUlRTUl9UUjkNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEwIEVYVElfUlRTUl9UUjEwDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMSBFWFRJX1JUU1JfVFIxMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTIgRVhUSV9SVFNSX1RSMTINCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEzIEVYVElfUlRTUl9UUjEzDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNCBFWFRJX1JUU1JfVFIxNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTUgRVhUSV9SVFNSX1RSMTUNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE2IEVYVElfUlRTUl9UUjE2DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNyBFWFRJX1JUU1JfVFIxNw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTggRVhUSV9SVFNSX1RSMTgNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRlRTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjExX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjExICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMiAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0X1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNSAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTZfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3X1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE3X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxOF9Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxOF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxOF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxOCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQwIEVYVElfRlRTUl9UUjANCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEgRVhUSV9GVFNSX1RSMQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMiBFWFRJX0ZUU1JfVFIyDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQzIEVYVElfRlRTUl9UUjMNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDQgRVhUSV9GVFNSX1RSNA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNSBFWFRJX0ZUU1JfVFI1DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ2IEVYVElfRlRTUl9UUjYNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDcgRVhUSV9GVFNSX1RSNw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUOCBFWFRJX0ZUU1JfVFI4DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ5IEVYVElfRlRTUl9UUjkNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEwIEVYVElfRlRTUl9UUjEwDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMSBFWFRJX0ZUU1JfVFIxMQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTIgRVhUSV9GVFNSX1RSMTINCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEzIEVYVElfRlRTUl9UUjEzDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNCBFWFRJX0ZUU1JfVFIxNA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTUgRVhUSV9GVFNSX1RSMTUNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE2IEVYVElfRlRTUl9UUjE2DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNyBFWFRJX0ZUU1JfVFIxNw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTggRVhUSV9GVFNSX1RSMTgNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfU1dJRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjBfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjAgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjFfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjMgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjQgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjVfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjUgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjZfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjYgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjdfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjcgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjhfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjggICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjlfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjkgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcyAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMSAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTIgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcyAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zKSAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTUgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcykgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Qb3MgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxN19Qb3MpICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNyAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMThfUG9zICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMThfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMThfUG9zKSAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTggICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMThfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTAgRVhUSV9TV0lFUl9TV0lFUjANCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMSBFWFRJX1NXSUVSX1NXSUVSMQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kyIEVYVElfU1dJRVJfU1dJRVIyDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTMgRVhUSV9TV0lFUl9TV0lFUjMNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNCBFWFRJX1NXSUVSX1NXSUVSNA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k1IEVYVElfU1dJRVJfU1dJRVI1DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTYgRVhUSV9TV0lFUl9TV0lFUjYNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNyBFWFRJX1NXSUVSX1NXSUVSNw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k4IEVYVElfU1dJRVJfU1dJRVI4DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTkgRVhUSV9TV0lFUl9TV0lFUjkNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTAgRVhUSV9TV0lFUl9TV0lFUjEwDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTExIEVYVElfU1dJRVJfU1dJRVIxMQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMiBFWFRJX1NXSUVSX1NXSUVSMTINCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTMgRVhUSV9TV0lFUl9TV0lFUjEzDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE0IEVYVElfU1dJRVJfU1dJRVIxNA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNSBFWFRJX1NXSUVSX1NXSUVSMTUNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTYgRVhUSV9TV0lFUl9TV0lFUjE2DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE3IEVYVElfU1dJRVJfU1dJRVIxNw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxOCBFWFRJX1NXSUVSX1NXSUVSMTgNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjBfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjBfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjBfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjBfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjJfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjIgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjNfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjMgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjRfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjQgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjVfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjUgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjZfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjYgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjdfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjdfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjcgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjdfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjhfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjhfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjggICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjhfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjlfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjlfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjkgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjlfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEwX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjEwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjEwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTJfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjEzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjEzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfUFJfUFIxNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTVfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE2X1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfUFJfUFIxN19Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxN19Qb3MpICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMThfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMThfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMThfUG9zKSAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMThfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1BSX1BJRjAgRVhUSV9QUl9QUjANCiNkZWZpbmUgIEVYVElfUFJfUElGMSBFWFRJX1BSX1BSMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYyIEVYVElfUFJfUFIyDQojZGVmaW5lICBFWFRJX1BSX1BJRjMgRVhUSV9QUl9QUjMNCiNkZWZpbmUgIEVYVElfUFJfUElGNCBFWFRJX1BSX1BSNA0KI2RlZmluZSAgRVhUSV9QUl9QSUY1IEVYVElfUFJfUFI1DQojZGVmaW5lICBFWFRJX1BSX1BJRjYgRVhUSV9QUl9QUjYNCiNkZWZpbmUgIEVYVElfUFJfUElGNyBFWFRJX1BSX1BSNw0KI2RlZmluZSAgRVhUSV9QUl9QSUY4IEVYVElfUFJfUFI4DQojZGVmaW5lICBFWFRJX1BSX1BJRjkgRVhUSV9QUl9QUjkNCiNkZWZpbmUgIEVYVElfUFJfUElGMTAgRVhUSV9QUl9QUjEwDQojZGVmaW5lICBFWFRJX1BSX1BJRjExIEVYVElfUFJfUFIxMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMiBFWFRJX1BSX1BSMTINCiNkZWZpbmUgIEVYVElfUFJfUElGMTMgRVhUSV9QUl9QUjEzDQojZGVmaW5lICBFWFRJX1BSX1BJRjE0IEVYVElfUFJfUFIxNA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNSBFWFRJX1BSX1BSMTUNCiNkZWZpbmUgIEVYVElfUFJfUElGMTYgRVhUSV9QUl9QUjE2DQojZGVmaW5lICBFWFRJX1BSX1BJRjE3IEVYVElfUFJfUFIxNw0KI2RlZmluZSAgRVhUSV9QUl9QSUYxOCBFWFRJX1BSX1BSMTgNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0lTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9JU1JfR0lGMSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JU1JfVENJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjNfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjMgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNCAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjZfUG9zKSAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjYgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGN19Qb3MgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGN19Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjdfUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY3X1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY3X1BvcykgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSUZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjEgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjIgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjMgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjQgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Qb3MgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNF9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjUgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNV9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY1X1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Qb3MgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNV9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjZfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjYgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNl9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY2X1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Qb3MgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNl9Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjdfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjcgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Qb3MgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGN19Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY3X1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Qb3MgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGN19Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ0NSIHJlZ2lzdGVyICAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NDUl9FTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9FTl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0NDUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfVENJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfVENJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9DQ1JfVENJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc2ZlciBjb21wbGV0ZSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfSFRJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfSFRJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBIYWxmIFRyYW5zZmVyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9URUlFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9URUlFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9URUlFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0NDUl9URUlFICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9URUlFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGVycm9yIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVJfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9ESVJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVIgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfQ0lSQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfQ0lSQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaXJjdWxhciBtb2RlICovDQojZGVmaW5lIERNQV9DQ1JfUElOQ19Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUElOQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUElOQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9DQ1JfUElOQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUElOQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIGluY3JlbWVudCBtb2RlICovDQojZGVmaW5lIERNQV9DQ1JfTUlOQ19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTUlOQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTUlOQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9DQ1JfTUlOQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTUlOQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgaW5jcmVtZW50IG1vZGUgKi8NCg0KI2RlZmluZSBETUFfQ0NSX1BTSVpFX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BTSVpFX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BTSVpFX01zayAgICAgICAgICAgICAgICAgIC8qITwgUFNJWkVbMTowXSBiaXRzIChQZXJpcGhlcmFsIHNpemUpICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9NU0laRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE1TSVpFWzE6MF0gYml0cyAoTWVtb3J5IHNpemUpICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QTF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTCAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QTF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMWzE6MF0gYml0cyhDaGFubmVsIFByaW9yaXR5IGxldmVsKSAqLw0KI2RlZmluZSBETUFfQ0NSX1BMXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BMXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTV9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTUVNMk1FTV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTSAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTUVNMk1FTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgdG8gbWVtb3J5IG1vZGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTkRUUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgRE1BX0NORFRSX05EVF9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBkYXRhIHRvIFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ1BBUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DUEFSX1BBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUl9QQV9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DUEFSX1BBICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTUFSICByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NNQVJfTUFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DTUFSX01BX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUEgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NNQVJfTUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyIChBREMpICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKg0KICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBmYW1pbHkpDQogKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NSX0FXRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0FXRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0FXRF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NSX0FXRCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0FXRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9FT1NfUG9zICAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9FT1NfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9FT1NfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUl9FT1MgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9FT1NfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfSkVPU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfSkVPU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfSkVPU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1JfSkVPUyAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfSkVPU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9KU1RSVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9KU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgY29udmVyc2lvbiBzdGFydCBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9TVFJUX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9TVFJUX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TUl9TVFJUICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIHN0YXJ0IGZsYWcgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIEFEQ19TUl9FT0MgICAgICAgICAgICAgICAgICAgICAgICAgIChBRENfU1JfRU9TKQ0KI2RlZmluZSAgQURDX1NSX0pFT0MgICAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19TUl9KRU9TKQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRENIX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRENIX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIG1vbml0b3JlZCBjaGFubmVsIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19DUjFfRU9TSUVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRU9TSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19DUjFfRU9TSUUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfQVdESUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdESUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkVPU0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkVPU0lFX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU5fUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX1NDQU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX1NDQU5fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU4gICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX1NDQU5fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIHNjYW4gbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXRFNHTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRFNHTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIG1vbml0b3JpbmcgYSBzaW5nbGUgY2hhbm5lbCBvciBhbGwgY2hhbm5lbHMgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KQVVUT19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUTyAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KQVVUT19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBhdXRvbWF0aWMgdHJpZ2dlciBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRElTQ0VOX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRElTQ0VOX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkRJU0NFTl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTiAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkRJU0NFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbW9kZSAqLw0KDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Qb3MgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDBFMDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTSAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRElTQ05VTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBudW1iZXIgb2YgcmFua3MgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTl9Qb3MgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pBV0RFTl9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTiAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pBV0RFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGVuYWJsZSBvbiBzY29wZSBBREMgZ3JvdXAgaW5qZWN0ZWQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RFTl9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RFTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBlbmFibGUgb24gc2NvcGUgQURDIGdyb3VwIHJlZ3VsYXIgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIEFEQ19DUjFfRU9DSUUgICAgICAgICAgICAgICAgICAgICAgIChBRENfQ1IxX0VPU0lFKQ0KI2RlZmluZSAgQURDX0NSMV9KRU9DSUUgICAgICAgICAgICAgICAgICAgICAgKEFEQ19DUjFfSkVPU0lFKQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfQ1IyX0FET05fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0FET05fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0FET05fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfQ1IyX0FET04gICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FET05fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0NPTlRfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0NPTlRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0NPTlRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfQ1IyX0NPTlQgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0NPTlRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udGludW91cyBjb252ZXJzaW9uIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMl9DQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9DQUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NSMl9DQUwgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjYWxpYnJhdGlvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1JTVENBTF9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1JTVENBTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1JTVENBTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfQ1IyX1JTVENBTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1JTVENBTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNhbGlicmF0aW9uIHJlc2V0ICovDQojZGVmaW5lIEFEQ19DUjJfRE1BX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRE1BX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0FMSUdOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25lbWVudCAqLw0KDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTCAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZXh0ZXJuYWwgdHJpZ2dlciBzb3VyY2UgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pFWFRUUklHX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0pFWFRUUklHX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGV4dGVybmFsIHRyaWdnZXIgZW5hYmxlICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwRTAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUwgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgc291cmNlICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHX1BvcyAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9FWFRUUklHX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9FWFRUUklHX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlRfUG9zICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSlNXU1RBUlRfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlQgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSlNXU1RBUlRfTXNrICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgY29udmVyc2lvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfUG9zICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1NXU1RBUlRfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlQgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1NXU1RBUlRfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkVfUG9zICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1RTVlJFRkVfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkUgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1RTVlJFRkVfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGludGVybmFsIHBhdGggdG8gVnJlZkludCBhbmQgdGVtcGVyYXR1cmUgc2Vuc29yIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTAgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDExX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDExIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMUMwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMiAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMEUwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTMgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTMgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0X1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE0X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE0IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDM4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNSAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTYgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTZfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTYgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3X1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDBFMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE3X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE3IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMV9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMl9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMiAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QM19Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QM19Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMEUwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMyAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAzODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNl9Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNiAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QN19Qb3MgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QN19Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMEUwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNyAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QOF9Qb3MgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QOF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgOCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QOV9Qb3MgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QOV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgzODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgOSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxX01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjFfSk9GRlNFVDFfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxICAgICAgICAgICAgICAgICAgQURDX0pPRlIxX0pPRkZTRVQxX01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxIG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDJfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDJfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSMl9KT0ZGU0VUMl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDIgICAgICAgICAgICAgICAgICBBRENfSk9GUjJfSk9GRlNFVDJfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlIzX0pPRkZTRVQzX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUMyAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSM19KT0ZGU0VUM19Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0X1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0X01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjRfSk9GRlNFVDRfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0ICAgICAgICAgICAgICAgICAgQURDX0pPRlI0X0pPRkZTRVQ0X01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0IG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19IVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSFRSX0hUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSFRSX0hUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19IVFJfSFRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSFRSX0hUICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfSFRSX0hUX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIHRocmVzaG9sZCBoaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0xUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19MVFJfTFRfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19MVFJfTFRfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0xUUl9MVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19MVFJfTFQgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19MVFJfTFRfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgdGhyZXNob2xkIGxvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTMgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM180ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE0X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTQgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTUgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTYgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9MX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9MX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMEYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9MX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHNjYW4gbGVuZ3RoICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMyAgICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIyX1NRN19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIyX1NRNyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA3ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1E4X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1E4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1E4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDggKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTlfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTkgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgOSAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAxRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1ExMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4M0UwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMiAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1ExMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1EyX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1EyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1EyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDIgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTMgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMyAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA0ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1E1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1E1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDFGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1E1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDUgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTZfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgzRTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTYgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KU1FSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1ExX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1ExX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1EyX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1EyX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1EyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1EzX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1EzX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1EzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM180ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1E0X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1E0X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0ICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1E0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciBzY2FuIGxlbmd0aCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSMV9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSMV9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSMV9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSMV9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSMV9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIyX0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIyX0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMiBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjNfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjNfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjNfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjNfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjNfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSNF9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSNF9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSNF9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSNF9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSNF9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19EUl9EQVRBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19EUl9EQVRBX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19EUl9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19EUl9EQVRBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIGRhdGEgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgRGlnaXRhbCB0byBBbmFsb2cgQ29udmVydGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfQ1JfRU4xX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRU4xX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRU4xX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBEQUNfQ1JfRU4xICAgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRU4xX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIGVuYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfQk9GRjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfQk9GRjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjEgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfQk9GRjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIG91dHB1dCBidWZmZXIgZGlzYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfVEVOMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfVEVOMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfVEVOMV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBEQUNfQ1JfVEVOMSAgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfVEVOMV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIFRyaWdnZXIgZW5hYmxlICovDQoNCiNkZWZpbmUgREFDX0NSX1RTRUwxX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RTRUwxX01zayAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RTRUwxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRTRUwxWzI6MF0gKERBQyBjaGFubmVsMSBUcmlnZ2VyIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBEQUNfQ1JfV0FWRTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTEgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfV0FWRTFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgV0FWRTFbMTowXSAoREFDIGNoYW5uZWwxIG5vaXNlL3RyaWFuZ2xlIHdhdmUgZ2VuZXJhdGlvbiBlbmFibGUpICovDQojZGVmaW5lIERBQ19DUl9XQVZFMV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9XQVZFMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERBQ19DUl9XQVZFMV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9XQVZFMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgREFDX0NSX01BTVAxX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX01BTVAxX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX01BTVAxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1BTVAxWzM6MF0gKERBQyBjaGFubmVsMSBNYXNrL0FtcGxpdHVkZSBzZWxlY3RvcikgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRE1BRU4xX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRE1BRU4xX01zayAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIERNQSBlbmFibGUgKi8NCiNkZWZpbmUgREFDX0NSX0VOMl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0VOMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0VOMl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0VOMiAgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0VOMl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBlbmFibGUgKi8NCiNkZWZpbmUgREFDX0NSX0JPRkYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0JPRkYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0JPRkYyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0JPRkYyICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0JPRkYyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBvdXRwdXQgYnVmZmVyIGRpc2FibGUgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjJfUG9zICAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RFTjJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RFTjJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjIgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RFTjJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBUcmlnZ2VyIGVuYWJsZSAqLw0KDQojZGVmaW5lIERBQ19DUl9UU0VMMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9UU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMzgwMDAwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMiAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9UU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUU0VMMlsyOjBdIChEQUMgY2hhbm5lbDIgVHJpZ2dlciBzZWxlY3Rpb24pICovDQojZGVmaW5lIERBQ19DUl9UU0VMMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgREFDX0NSX1dBVkUyX1BvcyAgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1dBVkUyX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgREFDX0NSX1dBVkUyX1BvcykgICAgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUyICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1dBVkUyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFdBVkUyWzE6MF0gKERBQyBjaGFubmVsMiBub2lzZS90cmlhbmdsZSB3YXZlIGdlbmVyYXRpb24gZW5hYmxlKSAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfV0FWRTJfUG9zKSAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfV0FWRTJfUG9zKSAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIERBQ19DUl9NQU1QMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9NQU1QMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMiAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9NQU1QMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNQU1QMlszOjBdIChEQUMgY2hhbm5lbDIgTWFzay9BbXBsaXR1ZGUgc2VsZWN0b3IpICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgREFDX0NSX0RNQUVOMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0RNQUVOMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0RNQUVOMl9Qb3MpICAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0RNQUVOMiAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0RNQUVOMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBETUEgZW5hYmxlZCAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19TV1RSSUdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19TV1RSSUdSX1NXVFJJRzFfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19TV1RSSUdSX1NXVFJJRzFfTXNrICAgICAgICAgICAgICgweDFVIDw8IERBQ19TV1RSSUdSX1NXVFJJRzFfUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERBQ19TV1RSSUdSX1NXVFJJRzEgICAgICAgICAgICAgICAgIERBQ19TV1RSSUdSX1NXVFJJRzFfTXNrICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgc29mdHdhcmUgdHJpZ2dlciAqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcyX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcyX01zayAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfU1dUUklHUl9TV1RSSUcyX1BvcykgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcyICAgICAgICAgICAgICAgICBEQUNfU1dUUklHUl9TV1RSSUcyX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIHNvZnR3YXJlIHRyaWdnZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJSMV9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfREhSMTJSMV9EQUNDMURIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDEyLWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyTDEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyTDFfREFDQzFESFJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyTDFfREFDQzFESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJMMV9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwRkZGMCAqLw0KI2RlZmluZSBEQUNfREhSMTJMMV9EQUNDMURIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJMMV9EQUNDMURIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSOFIxX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFIxX0RBQ0MxREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSMV9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBEQUNfREhSOFIxX0RBQ0MxREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFIxX0RBQ0MxREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMlIyX0RBQ0MyREhSX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERBQ19ESFIxMlIyX0RBQ0MyREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMlIyX0RBQ0MyREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJMMl9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJMMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMkwyX0RBQ0MyREhSX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIERBQ19ESFIxMkwyX0RBQ0MyREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMkwyX0RBQ0MyREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgMTItYml0IExlZnQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSOFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFI4UjJfREFDQzJESFJfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFI4UjJfREFDQzJESFJfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBEQUNfREhSOFIyX0RBQ0MyREhSX1BvcykgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIERBQ19ESFI4UjJfREFDQzJESFIgICAgICAgICAgICAgICAgIERBQ19ESFI4UjJfREFDQzJESFJfTXNrICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgOC1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMlJEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyUkRfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RIUjEyUkRfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyUkRfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MyREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyUkRfREFDQzJESFJfUG9zKSAvKiE8IDB4MEZGRjAwMDAgKi8NCiNkZWZpbmUgREFDX0RIUjEyUkRfREFDQzJESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyUkRfREFDQzJESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMkxEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyTERfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMEZGRjAgKi8NCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyTERfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFJfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJMRF9EQUNDMkRIUl9Qb3MpIC8qITwgMHhGRkYwMDAwMCAqLw0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJMRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MxREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSRF9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MxREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFJEX0RBQ0MxREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MyREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSRF9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MyREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFJEX0RBQ0MyREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ET1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUl9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ET1IxX0RBQ0MxRE9SX1BvcykgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUiAgICAgICAgICAgICAgICAgICBEQUNfRE9SMV9EQUNDMURPUl9Nc2sgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIGRhdGEgb3V0cHV0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RPUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ET1IyX0RBQ0MyRE9SX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ET1IyX0RBQ0MyRE9SX01zayAgICAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RPUjJfREFDQzJET1JfUG9zKSAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERBQ19ET1IyX0RBQ0MyRE9SICAgICAgICAgICAgICAgICAgIERBQ19ET1IyX0RBQ0MyRE9SX01zayAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgZGF0YSBvdXRwdXQgKi8NCg0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVycyAoVElNKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NSMV9DRU5fUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DRU5fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DRU5fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NSMV9DRU4gICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DRU5fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q291bnRlciBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NSMV9VRElTX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9VRElTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9VRElTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NSMV9VRElTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9VRElTX01zayAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGRpc2FibGUgKi8NCiNkZWZpbmUgVElNX0NSMV9VUlNfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9VUlNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9VUlNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NSMV9VUlMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9VUlNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIHJlcXVlc3Qgc291cmNlICovDQojZGVmaW5lIFRJTV9DUjFfT1BNX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfT1BNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfT1BNX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DUjFfT1BNICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfT1BNX01zayAgICAgICAgICAgICAgICAgICAgLyohPE9uZSBwdWxzZSBtb2RlICovDQojZGVmaW5lIFRJTV9DUjFfRElSX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfRElSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfRElSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DUjFfRElSICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfRElSX01zayAgICAgICAgICAgICAgICAgICAgLyohPERpcmVjdGlvbiAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQ01TX1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ01TX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DUjFfQ01TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIFRJTV9DUjFfQ01TICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ01TX01zayAgICAgICAgICAgICAgICAgICAgLyohPENNU1sxOjBdIGJpdHMgKENlbnRlci1hbGlnbmVkIG1vZGUgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQVJQRV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQVJQRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQVJQRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DUjFfQVJQRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQVJQRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEF1dG8tcmVsb2FkIHByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NSMV9DS0RfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DS0RfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NSMV9DS0RfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0QgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DS0RfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q0tEWzE6MF0gYml0cyAoY2xvY2sgZGl2aXNpb24pICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1BDX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ1BDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ1BDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1BDICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ1BDX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIFByZWxvYWRlZCBDb250cm9sICovDQojZGVmaW5lIFRJTV9DUjJfQ0NVU19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NVU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NVU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DUjJfQ0NVUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NVU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBDb250cm9sIFVwZGF0ZSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ0RTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIERNQSBTZWxlY3Rpb24gKi8NCg0KI2RlZmluZSBUSU1fQ1IyX01NU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxNTVNbMjowXSBiaXRzIChNYXN0ZXIgTW9kZSBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NSMl9USTFTX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9USTFTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NSMl9USTFTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAvKiE8VEkxIFNlbGVjdGlvbiAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzEgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzFfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAxIChPQzEgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFOX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzFOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzFOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFOICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzFOX01zayAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAxIChPQzFOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMyX01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMiAoT0MyIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMyTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMyTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyTiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMyTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMiAoT0MyTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM19Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDMgKE9DMyBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM05fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTM05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTM05fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM04gICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTM05fTXNrICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDMgKE9DM04gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzQgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzRfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSA0IChPQzQgb3V0cHV0KSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TTUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9TTUNSX1NNU19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX1NNU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9TTUNSX1NNU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIFRJTV9TTUNSX1NNUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX1NNU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFNNU1syOjBdIGJpdHMgKFNsYXZlIG1vZGUgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX1RTX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX1RTX01zayAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX1RTX01zayAgICAgICAgICAgICAgICAgICAgLyohPFRTWzI6MF0gYml0cyAoVHJpZ2dlciBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfTVNNX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfTVNNX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfTVNNX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfTVNNICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfTVNNX01zayAgICAgICAgICAgICAgICAgICAvKiE8TWFzdGVyL3NsYXZlIG1vZGUgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVEZfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVEZfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVEZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFVEZbMzowXSBiaXRzIChFeHRlcm5hbCB0cmlnZ2VyIGZpbHRlcikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVFBTX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVFBTX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVFBTX01zayAgICAgICAgICAgICAgICAgIC8qITxFVFBTWzE6MF0gYml0cyAoRXh0ZXJuYWwgdHJpZ2dlciBwcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRUNFX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRUNFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRUNFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRUNFICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRUNFX01zayAgICAgICAgICAgICAgICAgICAvKiE8RXh0ZXJuYWwgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VUUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUCAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VUUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEV4dGVybmFsIHRyaWdnZXIgcG9sYXJpdHkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRElFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRElFUl9VSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRElFUl9VSUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzFJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMklFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzRJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NPTUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NPTUlFX01zayAgICAgICAgICAgICAgICAgLyohPENPTSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9CSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9CSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9CSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1VERV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9ESUVSX1VERSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1VERV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MxREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MxREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMkRFX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMkRFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzNERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzNERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0M0REVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0M0REVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NPTURFX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NPTURFX01zayAgICAgICAgICAgICAgICAgLyohPENPTSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVERFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVERFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVERFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBETUEgcmVxdWVzdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU1JfVUlGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVUlGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfVUlGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fU1JfVUlGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfVUlGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMUlGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMUlGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMUlGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMklGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMklGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMklGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDM0lGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDM0lGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDM0lGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNElGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDNElGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDNElGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NPTUlGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NPTUlGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NPTUlGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q09NIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9USUZfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9USUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9TUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0JJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0JJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0JJRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NSX0JJRiAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0JJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMU9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMU9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMU9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MyT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MyT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzNPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzNPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNE9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDNE9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDNE9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9FR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9FR1JfVUdfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfVUdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfVUdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9FR1JfVUcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfVUdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MxR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MxR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzJHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzJHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzJHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0dfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDM0dfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDM0dfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0cgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDM0dfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0M0R19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0RyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0M0R19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DT01HX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DT01HX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DT01HX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIENvbnRyb2wgVXBkYXRlIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9UR19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9UR19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9UR19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0VHUl9URyAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9UR19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQkdfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQkdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQkdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9FR1JfQkcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQkdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIEdlbmVyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ01SMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfQ0MxU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzFTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDEgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDEgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMVBFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMVBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMSBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFNX01zayAgICAgICAgICAgICAgICAgLyohPE9DMU1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAxIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMUNFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMUNFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMUNsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9DQzJTX01zayAgICAgICAgICAgICAgICAgLyohPENDMlNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMiBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMkZFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMkZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMk1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MyTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDIgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMxUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzFGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzJQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgLyohPElDMkZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDTVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9DQzNTX01zayAgICAgICAgICAgICAgICAgLyohPENDM1NbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMyBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM0ZFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM0ZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM01fUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM01fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM00gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM01fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MzTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDMgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIENsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9DQzRTX01zayAgICAgICAgICAgICAgICAgLyohPENDNFNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgNCBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNEZFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNEZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0UEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0UEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNE1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0M0TVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDQgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0Q0VfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0Q0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDM1BTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMzUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUMzRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzNGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUM0UFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzRQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzRGX01zayAgICAgICAgICAgICAgICAgLyohPElDNEZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMU5FX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMU5FX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFOUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUCAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFOUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMlBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMlBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJORV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJORV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyTlBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyTlBfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzTkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkUgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzTkVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM05QX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNEVfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0M0UF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgb3V0cHV0IFBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NOVF9DTlRfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NOVF9DTlRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFRJTV9DTlRfQ05UX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgVElNX0NOVF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NOVF9DTlRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9QU0MgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9QU0NfUFNDX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9QU0NfUFNDX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9QU0NfUFNDX1BvcykgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9QU0NfUFNDICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9QU0NfUFNDX01zayAgICAgICAgICAgICAgICAgICAgLyohPFByZXNjYWxlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9BUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9BUlJfQVJSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQVJSX0FSUl9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9BUlJfQVJSICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgLyohPGFjdHVhbCBhdXRvLXJlbG9hZCBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9SQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9SQ1JfUkVQX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9SQ1JfUkVQX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBUSU1fUkNSX1JFUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFRJTV9SQ1JfUkVQICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9SQ1JfUkVQX01zayAgICAgICAgICAgICAgICAgICAgLyohPFJlcGV0aXRpb24gQ291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IxX0NDUjFfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjEgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjJfQ0NSMl9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjJfQ0NSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSM19DQ1IzX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSM19DQ1IzX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1I0X0NDUjRfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjQgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0JEVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfRFRHX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfRFRHX01zayAgICAgICAgICAgICAgICAgICAvKiE8RFRHWzA6N10gYml0cyAoRGVhZC1UaW1lIEdlbmVyYXRvciBzZXQtdXApICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR181ICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR182ICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR183ICAgICAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8TE9DS1sxOjBdIGJpdHMgKExvY2sgQ29uZmlndXJhdGlvbikgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9PU1NJX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9PU1NJICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9PU1NJX01zayAgICAgICAgICAgICAgICAgIC8qITxPZmYtU3RhdGUgU2VsZWN0aW9uIGZvciBJZGxlIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfT1NTUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUiAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfT1NTUl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T2ZmLVN0YXRlIFNlbGVjdGlvbiBmb3IgUnVuIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfQktFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfQktFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfQktFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0JLUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUCAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0JLUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0FPRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0FPRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEF1dG9tYXRpYyBPdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX01PRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX01PRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX01PRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE1haW4gT3V0cHV0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9EQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9EQ1JfREJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIFRJTV9EQ1JfREJBICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPERCQVs0OjBdIGJpdHMgKERNQSBCYXNlIEFkZHJlc3MpICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgVElNX0RDUl9EQkxfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDFGMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkwgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8REJMWzQ6MF0gYml0cyAoRE1BIEJ1cnN0IExlbmd0aCkgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRE1BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fRE1BUl9ETUFCX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCICAgICAgICAgICAgICAgICAgICAgICBUSU1fRE1BUl9ETUFCX01zayAgICAgICAgICAgICAgICAgIC8qITxETUEgcmVnaXN0ZXIgZm9yIGJ1cnN0IGFjY2Vzc2VzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwtVGltZSBDbG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JIX1NFQ0lFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JIX1NFQ0lFX01zayAgICAgICAgICAgICAgICAgIC8qITwgU2Vjb25kIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUlRDX0NSSF9BTFJJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9BTFJJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9BTFJJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX0NSSF9BTFJJRSAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9BTFJJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUlRDX0NSSF9PV0lFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9PV0lFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9PV0lFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX0NSSF9PV0lFICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9PV0lFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJmbG9XIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ1JMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NSTF9TRUNGX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9TRUNGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9TRUNGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0NSTF9TRUNGICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9TRUNGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNlY29uZCBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfQUxSRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfQUxSRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfQUxSRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19DUkxfQUxSRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfQUxSRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfT1dGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfT1dGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfT1dGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19DUkxfT1dGICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfT1dGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyZmxvVyBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfUlNGX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfUlNGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfUlNGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJUQ19DUkxfUlNGICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfUlNGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBSZWdpc3RlcnMgU3luY2hyb25pemVkIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9DTkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9DTkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX0NSTF9DTkYgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENvbmZpZ3VyYXRpb24gRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX1JUT0ZGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX1JUT0ZGX01zayAgICAgICAgICAgICAgICAgIC8qITwgUlRDIG9wZXJhdGlvbiBPRkYgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfUFJMSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1BSTEhfUFJMX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSTEhfUFJMX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX1BSTEhfUFJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX1BSTEhfUFJMICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1BSTEhfUFJMX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBQcmVzY2FsZXIgUmVsb2FkIFZhbHVlIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfUFJMTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1BSTExfUFJMX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSTExfUFJMX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX1BSTExfUFJMX1BvcykgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX1BSTExfUFJMICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1BSTExfUFJMX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBQcmVzY2FsZXIgUmVsb2FkIFZhbHVlIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19ESVZIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfRElWSF9SVENfRElWX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfRElWSF9SVENfRElWX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRElWSF9SVENfRElWX1BvcykgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSVENfRElWSF9SVENfRElWICAgICAgICAgICAgICAgICAgICBSVENfRElWSF9SVENfRElWX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENsb2NrIERpdmlkZXIgSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19ESVZMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfRElWTF9SVENfRElWX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfRElWTF9SVENfRElWX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfRElWTF9SVENfRElWX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfRElWTF9SVENfRElWICAgICAgICAgICAgICAgICAgICBSVENfRElWTF9SVENfRElWX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENsb2NrIERpdmlkZXIgTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NOVEggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19DTlRIX1JUQ19DTlRfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlQgICAgICAgICAgICAgICAgICAgIFJUQ19DTlRIX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ291bnRlciBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NOVEwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19DTlRMX1JUQ19DTlRfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlQgICAgICAgICAgICAgICAgICAgIFJUQ19DTlRMX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ291bnRlciBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQUxSSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0FMUkhfUlRDX0FMUl9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUiAgICAgICAgICAgICAgICAgICAgUlRDX0FMUkhfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBBbGFybSBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19BTFJMX1JUQ19BTFJfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFIgICAgICAgICAgICAgICAgICAgIFJUQ19BTFJMX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQWxhcm0gTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICBJbmRlcGVuZGVudCBXQVRDSERPRyAoSVdERykgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX0tSX0tFWV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX0tSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBJV0RHX0tSX0tFWV9Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBJV0RHX0tSX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX0tSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgS2V5IHZhbHVlICh3cml0ZSBvbmx5LCByZWFkIDAwMDBoKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1BSX1BSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1BSX1BSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBJV0RHX1BSX1BSICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1BSX1BSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUFJbMjowXSAoUHJlc2NhbGVyIGRpdmlkZXIpICovDQojZGVmaW5lIElXREdfUFJfUFJfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIElXREdfUFJfUFJfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIElXREdfUFJfUFJfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSVdER19STFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElXREdfUkxSX1JMX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfUkxSX1JMX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgSVdER19STFJfUkxfUG9zKSAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIElXREdfUkxSX1JMICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfUkxSX1JMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXYXRjaGRvZyBjb3VudGVyIHJlbG9hZCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1NSX1BWVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1BWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1NSX1BWVV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1NSX1BWVSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1NSX1BWVV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgcHJlc2NhbGVyIHZhbHVlIHVwZGF0ZSAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1JWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1NSX1JWVV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1NSX1JWVV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgdXBkYXRlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgV2luZG93IFdBVENIRE9HIChXV0RHKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX0NSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NSX1RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBXV0RHX0NSX1QgICAgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NSX1RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFs2OjBdIGJpdHMgKDctQml0IGNvdW50ZXIgKE1TQiB0byBMU0IpKSAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNiAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DUl9UMCBXV0RHX0NSX1RfMA0KI2RlZmluZSAgV1dER19DUl9UMSBXV0RHX0NSX1RfMQ0KI2RlZmluZSAgV1dER19DUl9UMiBXV0RHX0NSX1RfMg0KI2RlZmluZSAgV1dER19DUl9UMyBXV0RHX0NSX1RfMw0KI2RlZmluZSAgV1dER19DUl9UNCBXV0RHX0NSX1RfNA0KI2RlZmluZSAgV1dER19DUl9UNSBXV0RHX0NSX1RfNQ0KI2RlZmluZSAgV1dER19DUl9UNiBXV0RHX0NSX1RfNg0KDQojZGVmaW5lIFdXREdfQ1JfV0RHQV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ1JfV0RHQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ1JfV0RHQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFdXREdfQ1JfV0RHQSAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ1JfV0RHQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBY3RpdmF0aW9uIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfQ0ZSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX0NGUl9XX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9XX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBXV0RHX0NGUl9XICAgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9XX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgV1s2OjBdIGJpdHMgKDctYml0IHdpbmRvdyB2YWx1ZSkgKi8NCiNkZWZpbmUgV1dER19DRlJfV18wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19DRlJfV18xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgV1dER19DRlJfV18yICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgV1dER19DRlJfV18zICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgV1dER19DRlJfV180ICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgV1dER19DRlJfV181ICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgV1dER19DRlJfV182ICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ0ZSX1cwIFdXREdfQ0ZSX1dfMA0KI2RlZmluZSAgV1dER19DRlJfVzEgV1dER19DRlJfV18xDQojZGVmaW5lICBXV0RHX0NGUl9XMiBXV0RHX0NGUl9XXzINCiNkZWZpbmUgIFdXREdfQ0ZSX1czIFdXREdfQ0ZSX1dfMw0KI2RlZmluZSAgV1dER19DRlJfVzQgV1dER19DRlJfV180DQojZGVmaW5lICBXV0RHX0NGUl9XNSBXV0RHX0NGUl9XXzUNCiNkZWZpbmUgIFdXREdfQ0ZSX1c2IFdXREdfQ0ZSX1dfNg0KDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMTgwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ0ZSX1dER1RCX01zayAgICAgICAgICAgICAgICAgLyohPCBXREdUQlsxOjBdIGJpdHMgKFRpbWVyIEJhc2UpICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NGUl9XREdUQjAgV1dER19DRlJfV0RHVEJfMA0KI2RlZmluZSAgV1dER19DRlJfV0RHVEIxIFdXREdfQ0ZSX1dER1RCXzENCg0KI2RlZmluZSBXV0RHX0NGUl9FV0lfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9FV0lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NGUl9FV0lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9FV0kgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9FV0lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRWFybHkgV2FrZXVwIEludGVycnVwdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX1NSX0VXSUZfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX1NSX0VXSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX1NSX0VXSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX1NSX0VXSUYgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX1NSX0VXSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRWFybHkgV2FrZXVwIEludGVycnVwdCBGbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgIEZsZXhpYmxlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CQ1J4ICh4PTEuLjQpIHJlZ2lzdGVyICAqKioqKioqKioqLw0KI2RlZmluZSBGU01DX0JDUnhfTUJLRU5fUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfTUJLRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfTUJLRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGU01DX0JDUnhfTUJLRU4gICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfTUJLRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IGJhbmsgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfTVVYRU5fUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfTVVYRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfTVVYRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGU01DX0JDUnhfTVVYRU4gICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfTVVYRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcy9kYXRhIG11bHRpcGxleGluZyBlbmFibGUgYml0ICovDQoNCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRlNNQ19CQ1J4X01UWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X01UWVBfTXNrICAgICAgICAgICAgICAgICAvKiE8IE1UWVBbMTowXSBiaXRzIChNZW1vcnkgdHlwZSkgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X01UWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CQ1J4X01UWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBGU01DX0JDUnhfTVdJRF9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfTVdJRF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBGU01DX0JDUnhfTVdJRF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfTVdJRCAgICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfTVdJRF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTVdJRFsxOjBdIGJpdHMgKE1lbW9yeSBkYXRhIGJ1cyB3aWR0aCkgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01XSURfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X01XSURfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01XSURfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CQ1J4X01XSURfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBGU01DX0JDUnhfRkFDQ0VOX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfRkFDQ0VOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfRkFDQ0VOX1BvcykgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGU01DX0JDUnhfRkFDQ0VOICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfRkFDQ0VOX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggYWNjZXNzIGVuYWJsZSAqLw0KI2RlZmluZSBGU01DX0JDUnhfQlVSU1RFTl9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfQlVSU1RFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfQlVSU1RFTl9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfQlVSU1RFTiAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfQlVSU1RFTl9Nc2sgICAgICAgICAgICAgIC8qITwgQnVyc3QgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVFBPTF9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV0FJVFBPTF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV0FJVFBPTF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVFBPTCAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV0FJVFBPTF9Nc2sgICAgICAgICAgICAgIC8qITwgV2FpdCBzaWduYWwgcG9sYXJpdHkgYml0ICovDQojZGVmaW5lIEZTTUNfQkNSeF9XUkFQTU9EX1BvcyAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQkNSeF9XUkFQTU9EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQkNSeF9XUkFQTU9EX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZTTUNfQkNSeF9XUkFQTU9EICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSeF9XUkFQTU9EX01zayAgICAgICAgICAgICAgLyohPCBXcmFwcGVkIGJ1cnN0IG1vZGUgc3VwcG9ydCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVENGR19Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV0FJVENGR19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV0FJVENGR19Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVENGRyAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV0FJVENGR19Nc2sgICAgICAgICAgICAgIC8qITwgV2FpdCB0aW1pbmcgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBGU01DX0JDUnhfV1JFTl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV1JFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV1JFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV1JFTiAgICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV1JFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV3JpdGUgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVEVOX1BvcyAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV0FJVEVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV0FJVEVOX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVEVOICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV0FJVEVOX01zayAgICAgICAgICAgICAgIC8qITwgV2FpdCBlbmFibGUgYml0ICovDQojZGVmaW5lIEZTTUNfQkNSeF9FWFRNT0RfUG9zICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQkNSeF9FWFRNT0RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQkNSeF9FWFRNT0RfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEZTTUNfQkNSeF9FWFRNT0QgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSeF9FWFRNT0RfTXNrICAgICAgICAgICAgICAgLyohPCBFeHRlbmRlZCBtb2RlIGVuYWJsZSAqLw0KI2RlZmluZSBGU01DX0JDUnhfQVNZTkNXQUlUX1BvcyAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfQVNZTkNXQUlUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfQVNZTkNXQUlUX1BvcykgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfQVNZTkNXQUlUICAgICAgICAgICAgICAgICBGU01DX0JDUnhfQVNZTkNXQUlUX01zayAgICAgICAgICAgIC8qITwgQXN5bmNocm9ub3VzIHdhaXQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0NCVVJTVFJXX1BvcyAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X0NCVVJTVFJXX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X0NCVVJTVFJXX1BvcykgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0NCVVJTVFJXICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X0NCVVJTVFJXX01zayAgICAgICAgICAgICAvKiE8IFdyaXRlIGJ1cnN0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CVFJ4ICh4PTEuLjQpIHJlZ2lzdGVyICAqKioqKiovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERTRVRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9BRERTRVRfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQlRSeF9BRERTRVRfUG9zKSAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERTRVQgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9BRERTRVRfTXNrICAgICAgICAgICAgICAgLyohPCBBRERTRVRbMzowXSBiaXRzIChBZGRyZXNzIHNldHVwIHBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITEQgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9BRERITERfTXNrICAgICAgICAgICAgICAgLyohPCBBRERITERbMzowXSBiaXRzIChBZGRyZXNzLWhvbGQgcGhhc2UgZHVyYXRpb24pICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMyAgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVCAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFJ4X0RBVEFTVF9Nc2sgICAgICAgICAgICAgICAvKiE8IERBVEFTVCBbMzowXSBiaXRzIChEYXRhLXBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzEgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzIgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzMgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzQgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzUgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzYgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzcgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOX1BvcyAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9CVVNUVVJOX01zayAgICAgICAgICAgICAgLyohPCBCVVNUVVJOWzM6MF0gYml0cyAoQnVzIHR1cm5hcm91bmQgcGhhc2UgZHVyYXRpb24pICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzIgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzMgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJViAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFJ4X0NMS0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IENMS0RJVlszOjBdIGJpdHMgKENsb2NrIGRpdmlkZSByYXRpbykgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JUUnhfREFUTEFUX1BvcykgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUICAgICAgICAgICAgICAgICAgICBGU01DX0JUUnhfREFUTEFUX01zayAgICAgICAgICAgICAgIC8qITwgREFUTEFbMzowXSBiaXRzIChEYXRhIGxhdGVuY3kpICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMyAgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRF9Qb3MgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgRlNNQ19CVFJ4X0FDQ01PRF9Qb3MpICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRCAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgICAvKiE8IEFDQ01PRFsxOjBdIGJpdHMgKEFjY2VzcyBtb2RlKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUNDTU9EXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JUUnhfQUNDTU9EX1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUNDTU9EXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JUUnhfQUNDTU9EX1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CV1RSeCAoeD0xLi40KSByZWdpc3RlciAgKioqKioqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FERFNFVF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0FERFNFVF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JXVFJ4X0FERFNFVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FERFNFVCAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0FERFNFVF9Nc2sgICAgICAgICAgICAgIC8qITwgQUREU0VUWzM6MF0gYml0cyAoQWRkcmVzcyBzZXR1cCBwaGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMiAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMyAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRCAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0FEREhMRF9Nc2sgICAgICAgICAgICAgIC8qITwgQURESExEWzM6MF0gYml0cyAoQWRkcmVzcy1ob2xkIHBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8zICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUX01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUICAgICAgICAgICAgICAgICAgIEZTTUNfQldUUnhfREFUQVNUX01zayAgICAgICAgICAgICAgLyohPCBEQVRBU1QgWzM6MF0gYml0cyAoRGF0YS1waGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMCAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMSAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMiAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMyAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNCAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNSAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNiAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNyAgICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBGU01DX0JXVFJ4X0JVU1RVUk5fUG9zICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0JVU1RVUk5fTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JXVFJ4X0JVU1RVUk5fUG9zKSAgIC8qITwgMHgwMDBGMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0JVU1RVUk4gICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0JVU1RVUk5fTXNrICAgICAgICAgICAgIC8qITwgQlVTVFVSTlszOjBdIGJpdHMgKEJ1cyB0dXJuYXJvdW5kIHBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0JVU1RVUk5fMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JXVFJ4X0JVU1RVUk5fUG9zKSAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0JVU1RVUk5fMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JXVFJ4X0JVU1RVUk5fUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0JVU1RVUk5fMiAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JXVFJ4X0JVU1RVUk5fUG9zKSAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0JVU1RVUk5fMyAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JXVFJ4X0JVU1RVUk5fUG9zKSAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEZTTUNfQldUUnhfQUNDTU9EX1BvcyAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQldUUnhfQUNDTU9EX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEZTTUNfQldUUnhfQUNDTU9EX1BvcykgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUNDTU9EICAgICAgICAgICAgICAgICAgIEZTTUNfQldUUnhfQUNDTU9EX01zayAgICAgICAgICAgICAgLyohPCBBQ0NNT0RbMTowXSBiaXRzIChBY2Nlc3MgbW9kZSkgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BQ0NNT0RfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CV1RSeF9BQ0NNT0RfUG9zKSAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BQ0NNT0RfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CV1RSeF9BQ0NNT0RfUG9zKSAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfUENSeCAoeCA9IDIgdG8gNCkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZTTUNfUENSeF9QV0FJVEVOX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUENSeF9QV0FJVEVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfUENSeF9QV0FJVEVOX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZTTUNfUENSeF9QV0FJVEVOICAgICAgICAgICAgICAgICAgIEZTTUNfUENSeF9QV0FJVEVOX01zayAgICAgICAgICAgICAgLyohPCBXYWl0IGZlYXR1cmUgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX1BDUnhfUEJLRU5fUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1BDUnhfUEJLRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1BDUnhfUEJLRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGU01DX1BDUnhfUEJLRU4gICAgICAgICAgICAgICAgICAgICBGU01DX1BDUnhfUEJLRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgUEMgQ2FyZC9OQU5EIEZsYXNoIG1lbW9yeSBiYW5rIGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1BUWVBfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQ1J4X1BUWVBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19QQ1J4X1BUWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1BUWVAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1J4X1BUWVBfTXNrICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSB0eXBlICovDQoNCiNkZWZpbmUgRlNNQ19QQ1J4X1BXSURfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQ1J4X1BXSURfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRlNNQ19QQ1J4X1BXSURfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1BXSUQgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1J4X1BXSURfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBXSURbMTowXSBiaXRzIChOQU5EIEZsYXNoIGRhdGFidXMgd2lkdGgpICovDQojZGVmaW5lIEZTTUNfUENSeF9QV0lEXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfUENSeF9QV0lEX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfUENSeF9QV0lEXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfUENSeF9QV0lEX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ0VOX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19QQ1J4X0VDQ0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ0VOICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1J4X0VDQ0VOX01zayAgICAgICAgICAgICAgICAvKiE8IEVDQyBjb21wdXRhdGlvbiBsb2dpYyBlbmFibGUgYml0ICovDQoNCiNkZWZpbmUgRlNNQ19QQ1J4X1RDTFJfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQ1J4X1RDTFJfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19QQ1J4X1RDTFJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDFFMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1RDTFIgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1J4X1RDTFJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFRDTFJbMzowXSBiaXRzIChDTEUgdG8gUkUgZGVsYXkpICovDQojZGVmaW5lIEZTTUNfUENSeF9UQ0xSXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfUENSeF9UQ0xSX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQ0xSXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfUENSeF9UQ0xSX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQ0xSXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfUENSeF9UQ0xSX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQ0xSXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfUENSeF9UQ0xSX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQoNCiNkZWZpbmUgRlNNQ19QQ1J4X1RBUl9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQ1J4X1RBUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19QQ1J4X1RBUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMUUwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1RBUiAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1J4X1RBUl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFRBUlszOjBdIGJpdHMgKEFMRSB0byBSRSBkZWxheSkgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1RBUl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19QQ1J4X1RBUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1RBUl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19QQ1J4X1RBUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1RBUl8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19QQ1J4X1RBUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1RBUl8zICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19QQ1J4X1RBUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCg0KI2RlZmluZSBGU01DX1BDUnhfRUNDUFNfUG9zICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1BDUnhfRUNDUFNfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBGU01DX1BDUnhfRUNDUFNfUG9zKSAgICAgIC8qITwgMHgwMDBFMDAwMCAqLw0KI2RlZmluZSBGU01DX1BDUnhfRUNDUFMgICAgICAgICAgICAgICAgICAgICBGU01DX1BDUnhfRUNDUFNfTXNrICAgICAgICAgICAgICAgIC8qITwgRUNDUFNbMTowXSBiaXRzIChFQ0MgcGFnZSBzaXplKSAqLw0KI2RlZmluZSBGU01DX1BDUnhfRUNDUFNfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1BDUnhfRUNDUFNfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBGU01DX1BDUnhfRUNDUFNfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX1BDUnhfRUNDUFNfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBGU01DX1BDUnhfRUNDUFNfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX1BDUnhfRUNDUFNfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfU1J4ICh4ID0gMiB0byA0KSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRlNNQ19TUnhfSVJTX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19TUnhfSVJTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19TUnhfSVJTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSVJTICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19TUnhfSVJTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBSaXNpbmcgRWRnZSBzdGF0dXMgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUxTX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19TUnhfSUxTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19TUnhfSUxTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUxTICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19TUnhfSUxTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBMZXZlbCBzdGF0dXMgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUZTX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19TUnhfSUZTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19TUnhfSUZTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUZTICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19TUnhfSUZTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBGYWxsaW5nIEVkZ2Ugc3RhdHVzICovDQojZGVmaW5lIEZTTUNfU1J4X0lSRU5fUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfU1J4X0lSRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfU1J4X0lSRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZTTUNfU1J4X0lSRU4gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfU1J4X0lSRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgUmlzaW5nIEVkZ2UgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUxFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19TUnhfSUxFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19TUnhfSUxFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUxFTiAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19TUnhfSUxFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBMZXZlbCBkZXRlY3Rpb24gRW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX1NSeF9JRkVOX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1NSeF9JRkVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1NSeF9JRkVOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGU01DX1NSeF9JRkVOICAgICAgICAgICAgICAgICAgICAgICBGU01DX1NSeF9JRkVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IEZhbGxpbmcgRWRnZSBkZXRlY3Rpb24gRW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX1NSeF9GRU1QVF9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1NSeF9GRU1QVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1NSeF9GRU1QVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGU01DX1NSeF9GRU1QVCAgICAgICAgICAgICAgICAgICAgICBGU01DX1NSeF9GRU1QVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRklGTyBlbXB0eSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19QTUVNeCAoeCA9IDIgdG8gNCkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4X1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4X01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4ICAgICAgICAgICAgICAgICAgRlNNQ19QTUVNeF9NRU1TRVR4X01zayAgICAgICAgICAgICAvKiE8IE1FTVNFVHhbNzowXSBiaXRzIChDb21tb24gbWVtb3J5IHggc2V0dXAgdGltZSkgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzEgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzIgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzMgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzQgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzUgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzYgICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1TRVR4XzcgICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVR4X1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVR4X01zayAgICAgICAgICAgICAoMHhGRlUgPDwgRlNNQ19QTUVNeF9NRU1XQUlUeF9Qb3MpIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVR4ICAgICAgICAgICAgICAgICBGU01DX1BNRU14X01FTVdBSVR4X01zayAgICAgICAgICAgIC8qITwgTUVNV0FJVHhbNzowXSBiaXRzIChDb21tb24gbWVtb3J5IHggd2FpdCB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVQyXzAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeF8xICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNV0FJVHhfMiAgICAgICAgICAgICAgIDB4MDAwMDA0MDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVR4XzMgICAgICAgICAgICAgICAweDAwMDAwODAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeF80ICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNV0FJVHhfNSAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNSAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVR4XzYgICAgICAgICAgICAgICAweDAwMDA0MDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDYgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeF83ICAgICAgICAgICAgICAgMHgwMDAwODAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA3ICovDQoNCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF9Qb3MgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeCAgICAgICAgICAgICAgICAgRlNNQ19QTUVNeF9NRU1IT0xEeF9Nc2sgICAgICAgICAgICAvKiE8IE1FTUhPTER4Wzc6MF0gYml0cyAoQ29tbW9uIG1lbW9yeSB4IGhvbGQgdGltZSkgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF8wICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF8xICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF8yICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF8zICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF80ICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF81ICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF82ICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1IT0xEeF83ICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfUG9zICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfTXNrICAgICAgICAgICAgICAoMHhGRlUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnggICAgICAgICAgICAgICAgICBGU01DX1BNRU14X01FTUhJWnhfTXNrICAgICAgICAgICAgIC8qITwgTUVNSElaeFs3OjBdIGJpdHMgKENvbW1vbiBtZW1vcnkgeCBkYXRhYnVzIEhpWiB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfMCAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfMSAgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfMiAgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfMyAgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfNCAgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfNSAgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfNiAgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTUhJWnhfNyAgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcykgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19QQVRUeCAoeCA9IDIgdG8gNCkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4X1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4X01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4ICAgICAgICAgICAgICAgICAgRlNNQ19QQVRUeF9BVFRTRVR4X01zayAgICAgICAgICAgICAvKiE8IEFUVFNFVHhbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IHggc2V0dXAgdGltZSkgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzEgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzIgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzMgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzQgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzUgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzYgICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRTRVR4XzcgICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4X1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4X01zayAgICAgICAgICAgICAoMHhGRlUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4ICAgICAgICAgICAgICAgICBGU01DX1BBVFR4X0FUVFdBSVR4X01zayAgICAgICAgICAgIC8qITwgQVRUV0FJVHhbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IHggd2FpdCB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzEgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzIgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzMgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzQgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzUgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzYgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVFdBSVR4XzcgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfUG9zICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHggICAgICAgICAgICAgICAgIEZTTUNfUEFUVHhfQVRUSE9MRHhfTXNrICAgICAgICAgICAgLyohPCBBVFRIT0xEeFs3OjBdIGJpdHMgKEF0dHJpYnV0ZSBtZW1vcnkgeCBob2xkIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfMCAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfMSAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfMiAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfMyAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfNCAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfNSAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfNiAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSE9MRHhfNyAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BBVFR4X0FUVEhPTER4X1BvcykgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4X1BvcyAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4X01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4ICAgICAgICAgICAgICAgICAgRlNNQ19QQVRUeF9BVFRISVp4X01zayAgICAgICAgICAgICAvKiE8IEFUVEhJWnhbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IHggZGF0YWJ1cyBIaVogdGltZSkgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzEgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzIgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzMgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzQgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzUgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzYgICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRISVp4XzcgICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MpICAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfUElPNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRlNNQ19QSU80X0lPU0VUNF9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QSU80X0lPU0VUNF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUElPNF9JT1NFVDRfUG9zKSAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRlNNQ19QSU80X0lPU0VUNCAgICAgICAgICAgICAgICAgICAgRlNNQ19QSU80X0lPU0VUNF9Nc2sgICAgICAgICAgICAgICAvKiE8IElPU0VUNFs3OjBdIGJpdHMgKEkvTyA0IHNldHVwIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfMCAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfMSAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfMiAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfMyAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfNCAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfNSAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfNiAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfNyAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgRlNNQ19QSU80X0lPV0FJVDRfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QSU80X0lPV0FJVDRfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUElPNF9JT1dBSVQ0X1BvcykgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRlNNQ19QSU80X0lPV0FJVDQgICAgICAgICAgICAgICAgICAgRlNNQ19QSU80X0lPV0FJVDRfTXNrICAgICAgICAgICAgICAvKiE8IElPV0FJVDRbNzowXSBiaXRzIChJL08gNCB3YWl0IHRpbWUpICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzEgICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzIgICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzMgICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzQgICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzUgICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzYgICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0XzcgICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgRlNNQ19QSU80X0lPSE9MRDRfUG9zICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QSU80X0lPSE9MRDRfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUElPNF9JT0hPTEQ0X1BvcykgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QSU80X0lPSE9MRDQgICAgICAgICAgICAgICAgICAgRlNNQ19QSU80X0lPSE9MRDRfTXNrICAgICAgICAgICAgICAvKiE8IElPSE9MRDRbNzowXSBiaXRzIChJL08gNCBob2xkIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzEgICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzIgICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzMgICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzQgICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzUgICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzYgICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0XzcgICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19QSU80X0lPSElaNF9Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QSU80X0lPSElaNF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUElPNF9JT0hJWjRfUG9zKSAgICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QSU80X0lPSElaNCAgICAgICAgICAgICAgICAgICAgRlNNQ19QSU80X0lPSElaNF9Nc2sgICAgICAgICAgICAgICAvKiE8IElPSElaNFs3OjBdIGJpdHMgKEkvTyA0IGRhdGFidXMgSGlaIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfMCAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfMSAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfMiAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfMyAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfNCAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfNSAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfNiAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfNyAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX0VDQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZTTUNfRUNDUjJfRUNDMl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfRUNDUjJfRUNDMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGU01DX0VDQ1IyX0VDQzJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRlNNQ19FQ0NSMl9FQ0MyICAgICAgICAgICAgICAgICAgICAgRlNNQ19FQ0NSMl9FQ0MyX01zayAgICAgICAgICAgICAgICAvKiE8IEVDQyByZXN1bHQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfRUNDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRlNNQ19FQ0NSM19FQ0MzX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19FQ0NSM19FQ0MzX01zayAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZTTUNfRUNDUjNfRUNDM19Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGU01DX0VDQ1IzX0VDQzMgICAgICAgICAgICAgICAgICAgICBGU01DX0VDQ1IzX0VDQzNfTXNrICAgICAgICAgICAgICAgIC8qITwgRUNDIHJlc3VsdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICBTRCBob3N0IEludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUE9XRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMX01zayAgICAgICAgICAgICAgKDB4M1UgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMICAgICAgICAgICAgICAgICAgU0RJT19QT1dFUl9QV1JDVFJMX01zayAgICAgICAgICAgICAvKiE8IFBXUkNUUkxbMTowXSBiaXRzIChQb3dlciBzdXBwbHkgY29udHJvbCBiaXRzKSAqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1BPV0VSX1BXUkNUUkxfUG9zKSAgIC8qITwgMHgwMSAqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX1BPV0VSX1BXUkNUUkxfUG9zKSAgIC8qITwgMHgwMiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19DTEtDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0RJVl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0RJVl9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgU0RJT19DTEtDUl9DTEtESVZfUG9zKSAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0RJViAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0NMS0RJVl9Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgZGl2aWRlIGZhY3RvciAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0VOX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0VOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX0NMS0VOX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0VOICAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0NMS0VOX01zayAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1BXUlNBVl9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX1BXUlNBVl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX1BXUlNBVl9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1BXUlNBViAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX1BXUlNBVl9Nc2sgICAgICAgICAgICAgIC8qITwgUG93ZXIgc2F2aW5nIGNvbmZpZ3VyYXRpb24gYml0ICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQllQQVNTX1BvcyAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfQllQQVNTX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfQllQQVNTX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQllQQVNTICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfQllQQVNTX01zayAgICAgICAgICAgICAgLyohPCBDbG9jayBkaXZpZGVyIGJ5cGFzcyBlbmFibGUgYml0ICovDQoNCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgU0RJT19DTEtDUl9XSURCVVNfUG9zKSAgICAvKiE8IDB4MDAwMDE4MDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVMgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9XSURCVVNfTXNrICAgICAgICAgICAgICAvKiE8IFdJREJVU1sxOjBdIGJpdHMgKFdpZGUgYnVzIG1vZGUgZW5hYmxlIGJpdCkgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9XSURCVVNfUG9zKSAgICAvKiE8IDB4MDgwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU18xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX0NMS0NSX1dJREJVU19Qb3MpICAgIC8qITwgMHgxMDAwICovDQoNCiNkZWZpbmUgU0RJT19DTEtDUl9ORUdFREdFX1BvcyAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9ORUdFREdFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9ORUdFREdFX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9ORUdFREdFICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9ORUdFREdFX01zayAgICAgICAgICAgICAvKiE8IFNESU9fQ0sgZGVwaGFzaW5nIHNlbGVjdGlvbiBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9IV0ZDX0VOX1BvcyAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9IV0ZDX0VOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9IV0ZDX0VOX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9IV0ZDX0VOICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9IV0ZDX0VOX01zayAgICAgICAgICAgICAvKiE8IEhXIEZsb3cgQ29udHJvbCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0FSRyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19BUkdfQ01EQVJHX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19BUkdfQ01EQVJHX01zayAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fQVJHX0NNREFSR19Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0FSR19DTURBUkcgICAgICAgICAgICAgICAgICAgICBTRElPX0FSR19DTURBUkdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBhcmd1bWVudCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQ01EIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0NNRF9DTURJTkRFWF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9DTURJTkRFWF9Nc2sgICAgICAgICAgICAgICAoMHgzRlUgPDwgU0RJT19DTURfQ01ESU5ERVhfUG9zKSAgIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBTRElPX0NNRF9DTURJTkRFWCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9DTURJTkRFWF9Nc2sgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBJbmRleCAqLw0KDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQX1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQX01zayAgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fQ01EX1dBSVRSRVNQX1BvcykgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX1dBSVRSRVNQX01zayAgICAgICAgICAgICAgLyohPCBXQUlUUkVTUFsxOjBdIGJpdHMgKFdhaXQgZm9yIHJlc3BvbnNlIGJpdHMpICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1dBSVRSRVNQX1BvcykgICAgLyohPCAweDAwNDAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19DTURfV0FJVFJFU1BfUG9zKSAgICAvKiE8IDB4MDA4MCAqLw0KDQojZGVmaW5lIFNESU9fQ01EX1dBSVRJTlRfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1dBSVRJTlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1dBSVRJTlRfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRJTlQgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX1dBSVRJTlRfTXNrICAgICAgICAgICAgICAgLyohPCBDUFNNIFdhaXRzIGZvciBJbnRlcnJ1cHQgUmVxdWVzdCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUEVORF9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUUEVORF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUUEVORF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUEVORCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUUEVORF9Nc2sgICAgICAgICAgICAgIC8qITwgQ1BTTSBXYWl0cyBmb3IgZW5kcyBvZiBkYXRhIHRyYW5zZmVyIChDbWRQZW5kIGludGVybmFsIHNpZ25hbCkgKi8NCiNkZWZpbmUgU0RJT19DTURfQ1BTTUVOX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfQ1BTTUVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfQ1BTTUVOX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19DTURfQ1BTTUVOICAgICAgICAgICAgICAgICAgICAgU0RJT19DTURfQ1BTTUVOX01zayAgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcGF0aCBzdGF0ZSBtYWNoaW5lIChDUFNNKSBFbmFibGUgYml0ICovDQojZGVmaW5lIFNESU9fQ01EX1NESU9TVVNQRU5EX1BvcyAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1NESU9TVVNQRU5EX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1NESU9TVVNQRU5EX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fQ01EX1NESU9TVVNQRU5EICAgICAgICAgICAgICAgIFNESU9fQ01EX1NESU9TVVNQRU5EX01zayAgICAgICAgICAgLyohPCBTRCBJL08gc3VzcGVuZCBjb21tYW5kICovDQojZGVmaW5lIFNESU9fQ01EX0VOQ01EQ09NUExfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0VOQ01EQ09NUExfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX0VOQ01EQ09NUExfUG9zKSAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNESU9fQ01EX0VOQ01EQ09NUEwgICAgICAgICAgICAgICAgIFNESU9fQ01EX0VOQ01EQ09NUExfTXNrICAgICAgICAgICAgLyohPCBFbmFibGUgQ01EIGNvbXBsZXRpb24gKi8NCiNkZWZpbmUgU0RJT19DTURfTklFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfTklFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfTklFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfTklFTiAgICAgICAgICAgICAgICAgICAgICAgU0RJT19DTURfTklFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE5vdCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fQ01EX0NFQVRBQ01EX1BvcyAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0NFQVRBQ01EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX0NFQVRBQ01EX1BvcykgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fQ01EX0NFQVRBQ01EICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX0NFQVRBQ01EX01zayAgICAgICAgICAgICAgLyohPCBDRS1BVEEgY29tbWFuZCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1BDTUQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1BDTURfUkVTUENNRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1BDTURfUkVTUENNRF9Nc2sgICAgICAgICAgICAoMHgzRlUgPDwgU0RJT19SRVNQQ01EX1JFU1BDTURfUG9zKSAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTUQgICAgICAgICAgICAgICAgU0RJT19SRVNQQ01EX1JFU1BDTURfTXNrICAgICAgICAgICAvKiE8IFJlc3BvbnNlIGNvbW1hbmQgaW5kZXggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQMF9DQVJEU1RBVFVTMCAgICAgICAgICAgICAgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzEgICAgICAgICAgICAgIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AyX0NBUkRTVEFUVVMyICAgICAgICAgICAgICBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQM19DQVJEU1RBVFVTMyAgICAgICAgICAgICAgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1A0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzQgICAgICAgICAgICAgIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19EVElNRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RUSU1FUl9EQVRBVElNRV9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RUSU1FUl9EQVRBVElNRV9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19EVElNRVJfREFUQVRJTUVfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUUgICAgICAgICAgICAgICAgU0RJT19EVElNRVJfREFUQVRJTUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgdGltZW91dCBwZXJpb2QuICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RMRU4gcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRExFTl9EQVRBTEVOR1RIX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRExFTl9EQVRBTEVOR1RIX01zayAgICAgICAgICAgICgweDFGRkZGRkZVIDw8IFNESU9fRExFTl9EQVRBTEVOR1RIX1BvcykgLyohPCAweDAxRkZGRkZGICovDQojZGVmaW5lIFNESU9fRExFTl9EQVRBTEVOR1RIICAgICAgICAgICAgICAgIFNESU9fRExFTl9EQVRBTEVOR1RIX01zayAgICAgICAgICAgLyohPCBEYXRhIGxlbmd0aCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19EQ1RSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURU5fUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RURU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RURU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURU4gICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RURU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBlbmFibGVkIGJpdCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURElSX1BvcyAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RURElSX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RURElSX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURElSICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RURElSX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBkaXJlY3Rpb24gc2VsZWN0aW9uICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRNT0RFX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRFRNT0RFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRFRNT0RFX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRNT0RFICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRFRNT0RFX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIG1vZGUgc2VsZWN0aW9uICovDQojZGVmaW5lIFNESU9fRENUUkxfRE1BRU5fUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRE1BRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRE1BRU5fUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fRENUUkxfRE1BRU4gICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRE1BRU5fTXNrICAgICAgICAgICAgICAgLyohPCBETUEgZW5hYmxlZCBiaXQgKi8NCg0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfTXNrICAgICAgICAgICAoMHhGVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX01zayAgICAgICAgICAvKiE8IERCTE9DS1NJWkVbMzowXSBiaXRzIChEYXRhIGJsb2NrIHNpemUpICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8wICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDEwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8xICAgICAgICAgICAgICgweDJVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDIwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8yICAgICAgICAgICAgICgweDRVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDQwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8zICAgICAgICAgICAgICgweDhVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDgwICovDQoNCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUQVJUX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUQVJUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9SV1NUQVJUX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUQVJUICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9SV1NUQVJUX01zayAgICAgICAgICAgICAvKiE8IFJlYWQgd2FpdCBzdGFydCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RPUF9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RPUF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1JXU1RPUF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RPUCAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1JXU1RPUF9Nc2sgICAgICAgICAgICAgIC8qITwgUmVhZCB3YWl0IHN0b3AgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV01PRF9Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9SV01PRF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9SV01PRF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV01PRCAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9SV01PRF9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlYWQgd2FpdCBtb2RlICovDQojZGVmaW5lIFNESU9fRENUUkxfU0RJT0VOX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfU0RJT0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfU0RJT0VOX1BvcykgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fRENUUkxfU0RJT0VOICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfU0RJT0VOX01zayAgICAgICAgICAgICAgLyohPCBTRCBJL08gZW5hYmxlIGZ1bmN0aW9ucyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19EQ09VTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RDT1VOVF9EQVRBQ09VTlRfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDT1VOVF9EQVRBQ09VTlRfTXNrICAgICAgICAgICAoMHgxRkZGRkZGVSA8PCBTRElPX0RDT1VOVF9EQVRBQ09VTlRfUG9zKSAvKiE8IDB4MDFGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UICAgICAgICAgICAgICAgU0RJT19EQ09VTlRfREFUQUNPVU5UX01zayAgICAgICAgICAvKiE8IERhdGEgY291bnQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fU1RBIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0NSQ0ZBSUxfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ0NSQ0ZBSUxfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ0NSQ0ZBSUxfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0NSQ0ZBSUwgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ0NSQ0ZBSUxfTXNrICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcmVzcG9uc2UgcmVjZWl2ZWQgKENSQyBjaGVjayBmYWlsZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0RDUkNGQUlMX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RDUkNGQUlMX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RDUkNGQUlMX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fU1RBX0RDUkNGQUlMICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RDUkNGQUlMX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIGJsb2NrIHNlbnQvcmVjZWl2ZWQgKENSQyBjaGVjayBmYWlsZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0NUSU1FT1VUX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NUSU1FT1VUX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NUSU1FT1VUX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fU1RBX0NUSU1FT1VUICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NUSU1FT1VUX01zayAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHJlc3BvbnNlIHRpbWVvdXQgKi8NCiNkZWZpbmUgU0RJT19TVEFfRFRJTUVPVVRfUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfRFRJTUVPVVRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfRFRJTUVPVVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19TVEFfRFRJTUVPVVQgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfRFRJTUVPVVRfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgdGltZW91dCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWFVOREVSUl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWFVOREVSUl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWFVOREVSUl9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWFVOREVSUiAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWFVOREVSUl9Nc2sgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyB1bmRlcnJ1biBlcnJvciAqLw0KI2RlZmluZSBTRElPX1NUQV9SWE9WRVJSX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWE9WRVJSX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWE9WRVJSX1BvcykgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWE9WRVJSICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWE9WRVJSX01zayAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZWQgRklGTyBvdmVycnVuIGVycm9yICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFJFTkRfUG9zICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NNRFJFTkRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NNRFJFTkRfUG9zKSAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFJFTkQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NNRFJFTkRfTXNrICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHJlc3BvbnNlIHJlY2VpdmVkIChDUkMgY2hlY2sgcGFzc2VkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURTRU5UX1BvcyAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURTRU5UX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURTRU5UX1BvcykgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURTRU5UICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURTRU5UX01zayAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBzZW50IChubyByZXNwb25zZSByZXF1aXJlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfREFUQUVORF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfREFUQUVORF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfREFUQUVORF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfREFUQUVORCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfREFUQUVORF9Nc2sgICAgICAgICAgICAgICAvKiE8IERhdGEgZW5kIChkYXRhIGNvdW50ZXIsIFNESURDT1VOVCwgaXMgemVybykgKi8NCiNkZWZpbmUgU0RJT19TVEFfU1RCSVRFUlJfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfU1RCSVRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfU1RCSVRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfU1RCSVRFUlIgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfU1RCSVRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFN0YXJ0IGJpdCBub3QgZGV0ZWN0ZWQgb24gYWxsIGRhdGEgc2lnbmFscyBpbiB3aWRlIGJ1cyBtb2RlICovDQojZGVmaW5lIFNESU9fU1RBX0RCQ0tFTkRfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RCQ0tFTkRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RCQ0tFTkRfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fU1RBX0RCQ0tFTkQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RCQ0tFTkRfTXNrICAgICAgICAgICAgICAgLyohPCBEYXRhIGJsb2NrIHNlbnQvcmVjZWl2ZWQgKENSQyBjaGVjayBwYXNzZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0NNREFDVF9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NNREFDVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NNREFDVF9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fU1RBX0NNREFDVCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NNREFDVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHRyYW5zZmVyIGluIHByb2dyZXNzICovDQojZGVmaW5lIFNESU9fU1RBX1RYQUNUX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYQUNUX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYQUNUX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYQUNUICAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYQUNUX01zayAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zbWl0IGluIHByb2dyZXNzICovDQojZGVmaW5lIFNESU9fU1RBX1JYQUNUX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYQUNUX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYQUNUX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYQUNUICAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYQUNUX01zayAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHJlY2VpdmUgaW4gcHJvZ3Jlc3MgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPSEVfUG9zICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPSEVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPSEVfUG9zKSAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPSEUgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPSEVfTXNrICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gSGFsZiBFbXB0eTogYXQgbGVhc3QgOCB3b3JkcyBjYW4gYmUgd3JpdHRlbiBpbnRvIHRoZSBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0hGX1BvcyAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0hGX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYRklGT0hGX1BvcykgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0hGICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYRklGT0hGX01zayAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIEZJRk8gSGFsZiBGdWxsOiB0aGVyZSBhcmUgYXQgbGVhc3QgOCB3b3JkcyBpbiB0aGUgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9GX1BvcyAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9GX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEZJRk9GX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9GICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEZJRk9GX01zayAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyBmdWxsICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0ZfUG9zICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0ZfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYRklGT0ZfUG9zKSAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0YgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYRklGT0ZfTXNrICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIEZJRk8gZnVsbCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9FX1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9FX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEZJRk9FX1BvcykgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9FICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEZJRk9FX01zayAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyBlbXB0eSAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9FX1BvcyAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9FX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9FX1BvcykgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9FICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9FX01zayAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIGVtcHR5ICovDQojZGVmaW5lIFNESU9fU1RBX1RYREFWTF9Qb3MgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYREFWTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYREFWTF9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYREFWTCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYREFWTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiB0cmFuc21pdCBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1JYREFWTF9Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYREFWTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYREFWTF9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYREFWTCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYREFWTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiByZWNlaXZlIEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfU0RJT0lUX1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfU0RJT0lUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfU0RJT0lUX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfU0RJT0lUICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfU0RJT0lUX01zayAgICAgICAgICAgICAgICAvKiE8IFNESU8gaW50ZXJydXB0IHJlY2VpdmVkICovDQojZGVmaW5lIFNESU9fU1RBX0NFQVRBRU5EX1BvcyAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NFQVRBRU5EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NFQVRBRU5EX1BvcykgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX0NFQVRBRU5EICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NFQVRBRU5EX01zayAgICAgICAgICAgICAgLyohPCBDRS1BVEEgY29tbWFuZCBjb21wbGV0aW9uIHNpZ25hbCByZWNlaXZlZCBmb3IgQ01ENjEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0lDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0NSQ0ZBSUxDX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ0NSQ0ZBSUxDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ0NSQ0ZBSUxDX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0NSQ0ZBSUxDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ0NSQ0ZBSUxDX01zayAgICAgICAgICAgICAvKiE8IENDUkNGQUlMIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RDUkNGQUlMQ19Qb3MgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RDUkNGQUlMQ19Qb3MpICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fSUNSX0RDUkNGQUlMQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgLyohPCBEQ1JDRkFJTCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DVElNRU9VVENfUG9zICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DVElNRU9VVENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DVElNRU9VVENfUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX0lDUl9DVElNRU9VVEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DVElNRU9VVENfTXNrICAgICAgICAgICAgIC8qITwgQ1RJTUVPVVQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfRFRJTUVPVVRDX1BvcyAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfRFRJTUVPVVRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfRFRJTUVPVVRDX1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19JQ1JfRFRJTUVPVVRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfRFRJTUVPVVRDX01zayAgICAgICAgICAgICAvKiE8IERUSU1FT1VUIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1RYVU5ERVJSQ19Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1RYVU5ERVJSQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1RYVU5ERVJSQ19Qb3MpICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNESU9fSUNSX1RYVU5ERVJSQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1RYVU5ERVJSQ19Nc2sgICAgICAgICAgICAgLyohPCBUWFVOREVSUiBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9SWE9WRVJSQ19Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9SWE9WRVJSQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9SWE9WRVJSQ19Qb3MpICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTRElPX0lDUl9SWE9WRVJSQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9SWE9WRVJSQ19Nc2sgICAgICAgICAgICAgIC8qITwgUlhPVkVSUiBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURSRU5EQ19Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DTURSRU5EQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DTURSRU5EQ19Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURSRU5EQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DTURSRU5EQ19Nc2sgICAgICAgICAgICAgIC8qITwgQ01EUkVORCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURTRU5UQ19Qb3MgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DTURTRU5UQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DTURTRU5UQ19Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURTRU5UQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DTURTRU5UQ19Nc2sgICAgICAgICAgICAgIC8qITwgQ01EU0VOVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQVRBRU5EQ19Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EQVRBRU5EQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EQVRBRU5EQ19Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQVRBRU5EQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EQVRBRU5EQ19Nc2sgICAgICAgICAgICAgIC8qITwgREFUQUVORCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9TVEJJVEVSUkNfUG9zICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9TVEJJVEVSUkNfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9TVEJJVEVSUkNfUG9zKSAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9TVEJJVEVSUkMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9TVEJJVEVSUkNfTXNrICAgICAgICAgICAgIC8qITwgU1RCSVRFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREJDS0VORENfUG9zICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfREJDS0VORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfREJDS0VORENfUG9zKSAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREJDS0VOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfREJDS0VORENfTXNrICAgICAgICAgICAgICAvKiE8IERCQ0tFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU0RJT0lUQ19Qb3MgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfU0RJT0lUQ19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfU0RJT0lUQ19Qb3MpICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU0RJT0lUQyAgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfU0RJT0lUQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFNESU9JVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DRUFUQUVORENfUG9zICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DRUFUQUVORENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DRUFUQUVORENfUG9zKSAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9DRUFUQUVOREMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DRUFUQUVORENfTXNrICAgICAgICAgICAgIC8qITwgQ0VBVEFFTkQgZmxhZyBjbGVhciBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fTUFTSyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NDUkNGQUlMSUVfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NDUkNGQUlMSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NDUkNGQUlMSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NDUkNGQUlMSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NDUkNGQUlMSUVfTXNrICAgICAgICAgICAvKiE8IENvbW1hbmQgQ1JDIEZhaWwgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfRENSQ0ZBSUxJRV9Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfRENSQ0ZBSUxJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfRENSQ0ZBSUxJRV9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX01BU0tfRENSQ0ZBSUxJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfRENSQ0ZBSUxJRV9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBDUkMgRmFpbCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DVElNRU9VVElFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DVElNRU9VVElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DVElNRU9VVElFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fTUFTS19DVElNRU9VVElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19DVElNRU9VVElFX01zayAgICAgICAgICAgLyohPCBDb21tYW5kIFRpbWVPdXQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfRFRJTUVPVVRJRV9Qb3MgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfRFRJTUVPVVRJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfRFRJTUVPVVRJRV9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX01BU0tfRFRJTUVPVVRJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfRFRJTUVPVVRJRV9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBUaW1lT3V0IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYVU5ERVJSSUVfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYVU5ERVJSSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYVU5ERVJSSUVfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYVU5ERVJSSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYVU5ERVJSSUVfTXNrICAgICAgICAgICAvKiE8IFR4IEZJRk8gVW5kZXJSdW4gRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhPVkVSUklFX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhPVkVSUklFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhPVkVSUklFX1BvcykgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhPVkVSUklFICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhPVkVSUklFX01zayAgICAgICAgICAgIC8qITwgUnggRklGTyBPdmVyUnVuIEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFJFTkRJRV9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NNRFJFTkRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NNRFJFTkRJRV9Qb3MpICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFJFTkRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NNRFJFTkRJRV9Nc2sgICAgICAgICAgICAvKiE8IENvbW1hbmQgUmVzcG9uc2UgUmVjZWl2ZWQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EU0VOVElFX1BvcyAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ01EU0VOVElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ01EU0VOVElFX1BvcykgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EU0VOVElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfQ01EU0VOVElFX01zayAgICAgICAgICAgIC8qITwgQ29tbWFuZCBTZW50IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RBVEFFTkRJRV9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RBVEFFTkRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RBVEFFTkRJRV9Qb3MpICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RBVEFFTkRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RBVEFFTkRJRV9Nc2sgICAgICAgICAgICAvKiE8IERhdGEgRW5kIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NUQklURVJSSUVfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1NUQklURVJSSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1NUQklURVJSSUVfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NUQklURVJSSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1NUQklURVJSSUVfTXNrICAgICAgICAgICAvKiE8IFN0YXJ0IEJpdCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EQkNLRU5ESUVfUG9zICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EQkNLRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EQkNLRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fTUFTS19EQkNLRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19EQkNLRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBEYXRhIEJsb2NrIEVuZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DTURBQ1RJRV9Qb3MgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DTURBQ1RJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DTURBQ1RJRV9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fTUFTS19DTURBQ1RJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19DTURBQ1RJRV9Nc2sgICAgICAgICAgICAgLyohPCBDb21tYW5kIEFjdGluZyBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWEFDVElFX1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEFDVElFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEFDVElFX1BvcykgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEFDVElFICAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEFDVElFX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIFRyYW5zbWl0IEFjdGluZyBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEFDVElFX1BvcyAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEFDVElFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEFDVElFX1BvcykgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEFDVElFICAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEFDVElFX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIHJlY2VpdmUgYWN0aW5nIGludGVycnVwdCBlbmFibGVkICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9IRUlFX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9IRUlFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEZJRk9IRUlFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9IRUlFICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEZJRk9IRUlFX01zayAgICAgICAgICAgLyohPCBUeCBGSUZPIEhhbGYgRW1wdHkgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPSEZJRV9Qb3MgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPSEZJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhGSUZPSEZJRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPSEZJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhGSUZPSEZJRV9Nc2sgICAgICAgICAgIC8qITwgUnggRklGTyBIYWxmIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRklFX1BvcyAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRklFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPRklFX1BvcykgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRklFICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPRklFX01zayAgICAgICAgICAgIC8qITwgVHggRklGTyBGdWxsIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0ZJRV9Qb3MgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0ZJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYRklGT0ZJRV9Qb3MpICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0ZJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYRklGT0ZJRV9Nc2sgICAgICAgICAgICAvKiE8IFJ4IEZJRk8gRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9FSUVfUG9zICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9FSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEZJRk9FSUVfUG9zKSAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9FSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEZJRk9FSUVfTXNrICAgICAgICAgICAgLyohPCBUeCBGSUZPIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0VJRV9Qb3MgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0VJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYRklGT0VJRV9Qb3MpICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0VJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYRklGT0VJRV9Nc2sgICAgICAgICAgICAvKiE8IFJ4IEZJRk8gRW1wdHkgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhEQVZMSUVfUG9zICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhEQVZMSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhEQVZMSUVfUG9zKSAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhEQVZMSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhEQVZMSUVfTXNrICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gVHggRklGTyBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWERBVkxJRV9Qb3MgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWERBVkxJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWERBVkxJRV9Qb3MpICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWERBVkxJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWERBVkxJRV9Nc2sgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiBSeCBGSUZPIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NESU9JVElFX1BvcyAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1NESU9JVElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1NESU9JVElFX1BvcykgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NESU9JVElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1NESU9JVElFX01zayAgICAgICAgICAgICAvKiE8IFNESU8gTW9kZSBJbnRlcnJ1cHQgUmVjZWl2ZWQgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ0VBVEFFTkRJRV9Qb3MgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ0VBVEFFTkRJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ0VBVEFFTkRJRV9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ0VBVEFFTkRJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfQ0VBVEFFTkRJRV9Nc2sgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgY29tcGxldGlvbiBzaWduYWwgcmVjZWl2ZWQgSW50ZXJydXB0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0ZJRk9DTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX01zayAgICAgICAgICAoMHhGRkZGRkZVIDw8IFNESU9fRklGT0NOVF9GSUZPQ09VTlRfUG9zKSAvKiE8IDB4MDBGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVCAgICAgICAgICAgICAgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Nc2sgICAgICAgICAvKiE8IFJlbWFpbmluZyBudW1iZXIgb2Ygd29yZHMgdG8gYmUgd3JpdHRlbiB0byBvciByZWFkIGZyb20gdGhlIEZJRk8gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRklGTyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19GSUZPX0ZJRk9EQVRBX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19GSUZPX0ZJRk9EQVRBX01zayAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fRklGT19GSUZPREFUQV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0ZJRk9fRklGT0RBVEEgICAgICAgICAgICAgICAgICBTRElPX0ZJRk9fRklGT0RBVEFfTXNrICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBhbmQgdHJhbnNtaXQgRklGTyBkYXRhICovDQoNCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsIFBlcmlwaGVyYWwgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSMV9DUEhBX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUEhBX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUEhBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUEhBICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUEhBX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBoYXNlICovDQojZGVmaW5lIFNQSV9DUjFfQ1BPTF9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1BPTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNQSV9DUjFfQ1BPTCAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQb2xhcml0eSAqLw0KI2RlZmluZSBTUElfQ1IxX01TVFJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX01TVFJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX01TVFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTUElfQ1IxX01TVFIgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX01TVFJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWFzdGVyIFNlbGVjdGlvbiAqLw0KDQojZGVmaW5lIFNQSV9DUjFfQlJfUG9zICAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQlJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIFNQSV9DUjFfQlIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQlJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCUlsyOjBdIGJpdHMgKEJhdWQgUmF0ZSBDb250cm9sKSAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFNQSV9DUjFfU1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1BFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1BFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9DUjFfU1BFICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1BFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTUEkgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjFfTFNCRklSU1RfUG9zICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfTFNCRklSU1RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfTFNCRklSU1RfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNQSV9DUjFfTFNCRklSU1QgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfTFNCRklSU1RfTXNrICAgICAgICAgICAgICAgLyohPCBGcmFtZSBGb3JtYXQgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU0lfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TU0lfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TU0lfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU0kgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TU0lfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIHNsYXZlIHNlbGVjdCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NTTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NTTV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTTSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NTTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgc2xhdmUgbWFuYWdlbWVudCAqLw0KI2RlZmluZSBTUElfQ1IxX1JYT05MWV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1JYT05MWV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1JYT05MWV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTUElfQ1IxX1JYT05MWSAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1JYT05MWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBvbmx5ICovDQojZGVmaW5lIFNQSV9DUjFfREZGX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfREZGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfREZGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNQSV9DUjFfREZGICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfREZGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIEZyYW1lIEZvcm1hdCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFRfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NSQ05FWFRfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFQgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NSQ05FWFRfTXNrICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgQ1JDIG5leHQgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUkNFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUkNFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNFTiAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUkNFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEhhcmR3YXJlIENSQyBjYWxjdWxhdGlvbiBlbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJT0VfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CSURJT0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CSURJT0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJT0UgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CSURJT0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IE91dHB1dCBlbmFibGUgaW4gYmlkaXJlY3Rpb25hbCBtb2RlICovDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREVfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQklESU1PREVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREUgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQklESU1PREVfTXNrICAgICAgICAgICAgICAgLyohPCBCaWRpcmVjdGlvbmFsIGRhdGEgbW9kZSBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSMl9SWERNQUVOX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9SWERNQUVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9SWERNQUVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWERNQUVOICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9SWERNQUVOX01zayAgICAgICAgICAgICAgICAvKiE8IFJ4IEJ1ZmZlciBETUEgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfVFhETUFFTl9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfVFhETUFFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfVFhETUFFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNQSV9DUjJfVFhETUFFTiAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfVFhETUFFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBUeCBCdWZmZXIgRE1BIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1NTT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1NTT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1NTT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTUElfQ1IyX1NTT0UgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1NTT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgU1MgT3V0cHV0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX0VSUklFX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX0VSUklFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX0VSUklFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTUElfQ1IyX0VSUklFICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX0VSUklFX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1JYTkVJRV9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1JYTkVJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfQ1IyX1JYTkVJRSAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUlggYnVmZmVyIE5vdCBFbXB0eSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfVFhFSUVfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfVFhFSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfVFhFSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNQSV9DUjJfVFhFSUUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfVFhFSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBUeCBidWZmZXIgRW1wdHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfU1JfUlhORV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfUlhORV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfU1JfUlhORSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBidWZmZXIgTm90IEVtcHR5ICovDQojZGVmaW5lIFNQSV9TUl9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9UWEVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNQSV9TUl9UWEUgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBidWZmZXIgRW1wdHkgKi8NCiNkZWZpbmUgU1BJX1NSX0NIU0lERV9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0NIU0lERV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0NIU0lERV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX1NSX0NIU0lERSAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0NIU0lERV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgc2lkZSAqLw0KI2RlZmluZSBTUElfU1JfVURSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfVURSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfVURSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTUElfU1JfVURSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfVURSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVW5kZXJydW4gZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfQ1JDRVJSX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfQ1JDRVJSX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfQ1JDRVJSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTUElfU1JfQ1JDRVJSICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfQ1JDRVJSX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ1JDIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX01PREZfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX01PREZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX01PREZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU1BJX1NSX01PREYgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX01PREZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE1vZGUgZmF1bHQgKi8NCiNkZWZpbmUgU1BJX1NSX09WUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX09WUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX1NSX09WUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJydW4gZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfQlNZX1BvcyAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfQlNZX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfU1JfQlNZICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQnVzeSBmbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9EUl9EUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9EUl9EUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSQ1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZX01zayAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9DUkNQUl9DUkNQT0xZX1BvcykgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZICAgICAgICAgICAgICAgICAgIFNQSV9DUkNQUl9DUkNQT0xZX01zayAgICAgICAgICAgICAgLyohPCBDUkMgcG9seW5vbWlhbCByZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1JYQ1JDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfUlhDUkNSX1JYQ1JDX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfUlhDUkNSX1JYQ1JDX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfUlhDUkNSX1JYQ1JDX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfUlhDUkNSX1JYQ1JDICAgICAgICAgICAgICAgICAgICBTUElfUlhDUkNSX1JYQ1JDX01zayAgICAgICAgICAgICAgIC8qITwgUnggQ1JDIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfVFhDUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9UWENSQ1JfVFhDUkNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9UWENSQ1JfVFhDUkNfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9UWENSQ1JfVFhDUkNfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9UWENSQ1JfVFhDUkMgICAgICAgICAgICAgICAgICAgIFNQSV9UWENSQ1JfVFhDUkNfTXNrICAgICAgICAgICAgICAgLyohPCBUeCBDUkMgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9JMlNDRkdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EX1BvcyAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0kyU0NGR1JfSTJTTU9EX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EICAgICAgICAgICAgICAgICAgU1BJX0kyU0NGR1JfSTJTTU9EX01zayAgICAgICAgICAgICAvKiE8IEkyUyBtb2RlIHNlbGVjdGlvbiAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgSW50ZXItaW50ZWdyYXRlZCBDaXJjdWl0IEludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfQ1IxX1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJVU19Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TTUJVU19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJVU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJVUyAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJVU19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIE1vZGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJUWVBFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJUWVBFX01zayAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIFR5cGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkFSUF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTkFSUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTkFSUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkFSUCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTkFSUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFSUCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTlBFQ19Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTlBFQ19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTlBFQ19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTlBFQyAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTlBFQ19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBFQyBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkdDX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTkdDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTkdDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkdDICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTkdDX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwgQ2FsbCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0hfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0hfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9OT1NUUkVUQ0hfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0ggICAgICAgICAgICAgICAgICAgSTJDX0NSMV9OT1NUUkVUQ0hfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIFN0cmV0Y2hpbmcgRGlzYWJsZSAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVEFSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TVEFSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TVEFSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TVEFSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TVE9QX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TVE9QX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TVE9QX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFN0b3AgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBJMkNfQ1IxX0FDS19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FDS19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0FDS19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0FDS19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQWNrbm93bGVkZ2UgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfUE9TX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUE9TX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUE9TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19DUjFfUE9TICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUE9TX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZS9QRUMgUG9zaXRpb24gKGZvciBkYXRhIHJlY2VwdGlvbikgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRUNfUG9zICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QRUNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRUMgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhY2tldCBFcnJvciBDaGVja2luZyAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0FMRVJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0FMRVJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU01CdXMgQWxlcnQgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TV1JTVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TV1JTVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIFJlc2V0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfRlJFUV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNGVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfRlJFUV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBGUkVRWzU6MF0gYml0cyAoUGVyaXBoZXJhbCBDbG9jayBGcmVxdWVuY3kpICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV81ICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOX1BvcyAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEVSUkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEVSUkVOX01zayAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEVWVEVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEVWVEVOX01zayAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEJVRkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEJVRkVOX01zayAgICAgICAgICAgICAgICAvKiE8IEJ1ZmZlciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfRE1BRU5fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfRE1BRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfRE1BRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19DUjJfRE1BRU4gICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfRE1BRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBETUEgUmVxdWVzdHMgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfTEFTVF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfTEFTVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfTEFTVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19DUjJfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfTEFTVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBETUEgTGFzdCBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19PQVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxXzcgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEZFVSAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBBZGRyZXNzICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDhfOSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDBVICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIEFkZHJlc3MgKi8NCg0KI2RlZmluZSBJMkNfT0FSMV9BREQwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQwICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQwX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDIgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQzX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQzICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDUgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNSAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ2ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDYgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENyAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA3ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDggICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgOCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ5ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ5X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDkgKi8NCg0KI2RlZmluZSBJMkNfT0FSMV9BRERNT0RFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BRERNT0RFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BRERNT0RFX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BRERNT0RFICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BRERNT0RFX01zayAgICAgICAgICAgICAgIC8qITwgQWRkcmVzc2luZyBNb2RlIChTbGF2ZSBtb2RlKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19PQVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfT0FSMl9FTkRVQUxfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMl9FTkRVQUxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMl9FTkRVQUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfT0FSMl9FTkRVQUwgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMl9FTkRVQUxfTXNrICAgICAgICAgICAgICAgIC8qITwgRHVhbCBhZGRyZXNzaW5nIG1vZGUgZW5hYmxlICovDQojZGVmaW5lIEkyQ19PQVIyX0FERDJfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX0FERDJfTXNrICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBJMkNfT0FSMl9BREQyX1BvcykgICAgICAgLyohPCAweDAwMDAwMEZFICovDQojZGVmaW5lIEkyQ19PQVIyX0FERDIgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIyX0FERDJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcmZhY2UgYWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfRFJfRFJfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfRFJfRFJfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBJMkNfRFJfRFJfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBJMkNfRFJfRFIgICAgICAgICAgICAgICAgIEkyQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgOC1iaXQgRGF0YSBSZWdpc3RlciAgICAgICAgICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19TUjFfU0JfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfU0JfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfU0JfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19TUjFfU0IgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfU0JfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBTdGFydCBCaXQgKE1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0FERFJfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FERFJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FERFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfU1IxX0FERFIgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FERFJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBzZW50IChtYXN0ZXIgbW9kZSkvbWF0Y2hlZCAoc2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9CVEZfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9CVEZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9CVEZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX1NSMV9CVEYgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9CVEZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEJ5dGUgVHJhbnNmZXIgRmluaXNoZWQgKi8NCiNkZWZpbmUgSTJDX1NSMV9BREQxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BREQxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BREQxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX1NSMV9BREQxMCAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BREQxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IDEwLWJpdCBoZWFkZXIgc2VudCAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfU1RPUEZfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfU1RPUEZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfU1RPUEZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19TUjFfU1RPUEYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfU1RPUEZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTdG9wIGRldGVjdGlvbiAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9SWE5FX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9SWE5FICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9SWE5FX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgbm90IEVtcHR5IChyZWNlaXZlcnMpICovDQojZGVmaW5lIEkyQ19TUjFfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfVFhFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19TUjFfVFhFICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfVFhFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIFJlZ2lzdGVyIEVtcHR5ICh0cmFuc21pdHRlcnMpICovDQojZGVmaW5lIEkyQ19TUjFfQkVSUl9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQkVSUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQkVSUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19TUjFfQkVSUiAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQkVSUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgRXJyb3IgKi8NCiNkZWZpbmUgSTJDX1NSMV9BUkxPX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BUkxPX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BUkxPX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9BUkxPICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BUkxPX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFyYml0cmF0aW9uIExvc3QgKG1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0FGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0FGICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQWNrbm93bGVkZ2UgRmFpbHVyZSAqLw0KI2RlZmluZSBJMkNfU1IxX09WUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX09WUl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBJMkNfU1IxX09WUiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcnJ1bi9VbmRlcnJ1biAqLw0KI2RlZmluZSBJMkNfU1IxX1BFQ0VSUl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1BFQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1BFQ0VSUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfU1IxX1BFQ0VSUiAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1BFQ0VSUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUEVDIEVycm9yIGluIHJlY2VwdGlvbiAqLw0KI2RlZmluZSBJMkNfU1IxX1RJTUVPVVRfUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1RJTUVPVVRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1RJTUVPVVRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBJMkNfU1IxX1RJTUVPVVQgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1RJTUVPVVRfTXNrICAgICAgICAgICAgICAgIC8qITwgVGltZW91dCBvciBUbG93IEVycm9yICovDQojZGVmaW5lIEkyQ19TUjFfU01CQUxFUlRfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfU01CQUxFUlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfU01CQUxFUlRfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19TUjFfU01CQUxFUlQgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfU01CQUxFUlRfTXNrICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBBbGVydCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19TUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfU1IyX01TTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX01TTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX01TTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfU1IyX01TTCAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX01TTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTWFzdGVyL1NsYXZlICovDQojZGVmaW5lIEkyQ19TUjJfQlVTWV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfQlVTWV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19TUjJfQlVTWSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgQnVzeSAqLw0KI2RlZmluZSBJMkNfU1IyX1RSQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1RSQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1RSQV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfU1IyX1RSQSAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1RSQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXR0ZXIvUmVjZWl2ZXIgKi8NCiNkZWZpbmUgSTJDX1NSMl9HRU5DQUxMX1BvcyAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9HRU5DQUxMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9HRU5DQUxMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX1NSMl9HRU5DQUxMICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9HRU5DQUxMX01zayAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwgQ2FsbCBBZGRyZXNzIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkRFRkFVTFRfUG9zICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1NNQkRFRkFVTFRfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1NNQkRFRkFVTFRfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkRFRkFVTFQgICAgICAgICAgICAgICAgICBJMkNfU1IyX1NNQkRFRkFVTFRfTXNrICAgICAgICAgICAgIC8qITwgU01CdXMgRGV2aWNlIERlZmF1bHQgQWRkcmVzcyAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJIT1NUX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9TTUJIT1NUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9TTUJIT1NUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJIT1NUICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9TTUJIT1NUX01zayAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEhvc3QgSGVhZGVyIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX0RVQUxGX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0RVQUxGX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0RVQUxGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfU1IyX0RVQUxGICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0RVQUxGX01zayAgICAgICAgICAgICAgICAgIC8qITwgRHVhbCBGbGFnIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1BFQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgSTJDX1NSMl9QRUNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBJMkNfU1IyX1BFQyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGFja2V0IEVycm9yIENoZWNraW5nIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DQ1JfQ0NSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfQ0NSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgSTJDX0NDUl9DQ1JfUG9zKSAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEkyQ19DQ1JfQ0NSICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfQ0NSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBDb250cm9sIFJlZ2lzdGVyIGluIEZhc3QvU3RhbmRhcmQgbW9kZSAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19DQ1JfRFVUWV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfRFVUWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DQ1JfRFVUWV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEkyQ19DQ1JfRFVUWSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfRFVUWV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBGYXN0IE1vZGUgRHV0eSBDeWNsZSAqLw0KI2RlZmluZSBJMkNfQ0NSX0ZTX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ0NSX0ZTX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ0NSX0ZTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfQ0NSX0ZTICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ0NSX0ZTX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgSTJDIE1hc3RlciBNb2RlIFNlbGVjdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1RSSVNFIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfVFJJU0VfVFJJU0VfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVFJJU0VfVFJJU0VfTXNrICAgICAgICAgICAgICAgICAoMHgzRlUgPDwgSTJDX1RSSVNFX1RSSVNFX1BvcykgICAgIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBJMkNfVFJJU0VfVFJJU0UgICAgICAgICAgICAgICAgICAgICBJMkNfVFJJU0VfVFJJU0VfTXNrICAgICAgICAgICAgICAgIC8qITwgTWF4aW11bSBSaXNlIFRpbWUgaW4gRmFzdC9TdGFuZGFyZCBtb2RlIChNYXN0ZXIgbW9kZSkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgIFVuaXZlcnNhbCBTeW5jaHJvbm91cyBBc3luY2hyb25vdXMgUmVjZWl2ZXIgVHJhbnNtaXR0ZXIgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX1NSX1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1BFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1BFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX1NSX1BFICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1BFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfRkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfRkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfRkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfU1JfRkUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfRkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEZyYW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfTkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfTkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTkUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfTkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE5vaXNlIEVycm9yIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfU1JfT1JFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfT1JFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfT1JFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfU1JfT1JFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfT1JFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJSdW4gRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfSURMRV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfSURMRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfSURMRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfSURMRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfSURMRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IElETEUgbGluZSBkZXRlY3RlZCAqLw0KI2RlZmluZSBVU0FSVF9TUl9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9SWE5FX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9SWE5FICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBEYXRhIFJlZ2lzdGVyIE5vdCBFbXB0eSAqLw0KI2RlZmluZSBVU0FSVF9TUl9UQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9UQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9UQ19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9TUl9UQyAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9UQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIENvbXBsZXRlICovDQojZGVmaW5lIFVTQVJUX1NSX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1RYRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX1NSX1RYRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyIEVtcHR5ICovDQojZGVmaW5lIFVTQVJUX1NSX0xCRF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0xCRF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0xCRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX1NSX0xCRCAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0xCRF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfU1JfQ1RTX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfQ1RTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfQ1RTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfQ1RTICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfQ1RTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENUUyBGbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGRlUgPDwgVVNBUlRfRFJfRFJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMUZGICovDQojZGVmaW5lIFVTQVJUX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9CUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fTXNrICAgICAgICAgICgweEZVIDw8IFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fUG9zKSAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbiAgICAgICAgICAgICAgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Nc2sgICAgICAgICAvKiE8IEZyYWN0aW9uIG9mIFVTQVJURElWICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfUG9zICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfTXNrICAgICAgICAgICgweEZGRlUgPDwgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Qb3MpIC8qITwgMHgwMDAwRkZGMCAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX01hbnRpc3NhICAgICAgICAgICAgICBVU0FSVF9CUlJfRElWX01hbnRpc3NhX01zayAgICAgICAgIC8qITwgTWFudGlzc2Egb2YgVVNBUlRESVYgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1NCS19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1NCS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1NCS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1NCSyAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1NCS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNlbmQgQnJlYWsgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JXVV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JXVV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIHdha2V1cCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUkVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUkUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9URV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9URV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9URV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0NSMV9URSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9URV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdHRlciBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRV9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX0lETEVJRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRSAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX0lETEVJRV9Nc2sgICAgICAgICAgICAgICAvKiE8IElETEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUlhORUlFX1BvcykgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUlhORUlFX01zayAgICAgICAgICAgICAgIC8qITwgUlhORSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9UQ0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9UQ0lFX01zayAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQ29tcGxldGUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUVfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVFhFSUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUUgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVFhFSUVfTXNrICAgICAgICAgICAgICAgIC8qITwgUEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRV9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUEVJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUEVJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUFNfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUFNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUFNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUFMgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUFNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IFNlbGVjdGlvbiAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUENFX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUENFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUENFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUENFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUENFX01zayAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IENvbnRyb2wgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9XQUtFX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9XQUtFX01zayAgICAgICAgICAgICAgICAgLyohPCBXYWtldXAgbWV0aG9kICovDQojZGVmaW5lIFVTQVJUX0NSMV9NX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9NX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9NX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9NICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9NX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXb3JkIGxlbmd0aCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVUVfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVUUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVVNBUlQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0NSMl9BRERfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9BRERfTXNrICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQVJUX0NSMl9BRERfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQVJUX0NSMl9BREQgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9BRERfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzIG9mIHRoZSBVU0FSVCBub2RlICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRMX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MQkRMX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRMICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MQkRMX01zayAgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIExlbmd0aCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJESUVfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJESUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJESUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJESUUgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJESUVfTXNrICAgICAgICAgICAgICAgIC8qITwgTElOIEJyZWFrIERldGVjdGlvbiBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkNMX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MQkNMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MQkNMX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkNMICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MQkNMX01zayAgICAgICAgICAgICAgICAgLyohPCBMYXN0IEJpdCBDbG9jayBwdWxzZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BIQV9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ1BIQV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BIQSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUGhhc2UgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQT0xfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NQT0xfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQT0wgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NQT0xfTXNrICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBvbGFyaXR5ICovDQojZGVmaW5lIFVTQVJUX0NSMl9DTEtFTl9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DTEtFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DTEtFTiAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDbG9jayBFbmFibGUgKi8NCg0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfU1RPUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgU1RPUFsxOjBdIGJpdHMgKFNUT1AgYml0cykgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBVU0FSVF9DUjJfTElORU5fUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTElORU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTElORU5fUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTElORU4gICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTElORU5fTXNrICAgICAgICAgICAgICAgIC8qITwgTElOIG1vZGUgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0NSM19FSUVfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19FSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19FSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0NSM19FSUUgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19FSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkVOX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19JUkVOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19JUkVOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkVOICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19JUkVOX01zayAgICAgICAgICAgICAgICAgLyohPCBJckRBIG1vZGUgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkxQX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19JUkxQX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19JUkxQX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkxQICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19JUkxQX01zayAgICAgICAgICAgICAgICAgLyohPCBJckRBIExvdy1Qb3dlciAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUxfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSERTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUwgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSERTRUxfTXNrICAgICAgICAgICAgICAgIC8qITwgSGFsZi1EdXBsZXggU2VsZWN0aW9uICovDQojZGVmaW5lIFVTQVJUX0NSM19OQUNLX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19OQUNLX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19OQUNLX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0NSM19OQUNLICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19OQUNLX01zayAgICAgICAgICAgICAgICAgLyohPCBTbWFydGNhcmQgTkFDSyBlbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1NDRU5fUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX1NDRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX1NDRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1NDRU4gICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX1NDRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IFNtYXJ0Y2FyZCBtb2RlIGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BUl9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRE1BUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRE1BUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BUiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRE1BUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRE1BIEVuYWJsZSBSZWNlaXZlciAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BVF9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRE1BVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRE1BVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BVCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRE1BVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRE1BIEVuYWJsZSBUcmFuc21pdHRlciAqLw0KI2RlZmluZSBVU0FSVF9DUjNfUlRTRV9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfUlRTRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfUlRTRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfUlRTRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfUlRTRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUlRTIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTRV9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfQ1RTRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfQ1RTRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ1RTIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTSUVfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfQ1RTSUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTSUUgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfQ1RTSUVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ1RTIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0dUUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0MgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfR1RQUl9QU0NfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBTQ1s3OjBdIGJpdHMgKFByZXNjYWxlciB2YWx1ZSkgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMCAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMSAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMiAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMyAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNCAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNSAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNiAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNyAgICAgICAgICAgICAgICAgICAgKDB4ODBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBVU0FSVF9HVFBSX0dUX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9HVFBSX0dUX01zayAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfR1RQUl9HVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX0dUICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9HVFBSX0dUX01zayAgICAgICAgICAgICAgICAgIC8qITwgR3VhcmQgdGltZSB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVidWcgTUNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfSURDT0RFIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9ERVZfSURfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9ERVZfSURfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRCAgICAgICAgICAgICAgICBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Nc2sgICAgICAgICAgIC8qITwgRGV2aWNlIElkZW50aWZpZXIgKi8NCg0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Nc2sgICAgICAgICAgICAoMHhGRkZGVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHhGRkZGMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRCAgICAgICAgICAgICAgICBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Nc2sgICAgICAgICAgIC8qITwgUkVWX0lEWzE1OjBdIGJpdHMgKFJldmlzaW9uIElkZW50aWZpZXIpICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzAgICAgICAgICAgICAgICgweDAwMDFVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEgICAgICAgICAgICAgICgweDAwMDJVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzIgICAgICAgICAgICAgICgweDAwMDRVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzMgICAgICAgICAgICAgICgweDAwMDhVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzQgICAgICAgICAgICAgICgweDAwMTBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzUgICAgICAgICAgICAgICgweDAwMjBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzYgICAgICAgICAgICAgICgweDAwNDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzcgICAgICAgICAgICAgICgweDAwODBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzggICAgICAgICAgICAgICgweDAxMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzkgICAgICAgICAgICAgICgweDAyMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEwICAgICAgICAgICAgICgweDA0MDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzExICAgICAgICAgICAgICgweDA4MDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEyICAgICAgICAgICAgICgweDEwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEzICAgICAgICAgICAgICgweDIwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzE0ICAgICAgICAgICAgICgweDQwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzE1ICAgICAgICAgICAgICgweDgwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU0xFRVBfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU0xFRVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU0xFRVBfUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU0xFRVAgICAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU0xFRVBfTXNrICAgICAgICAgICAgLyohPCBEZWJ1ZyBTbGVlcCBNb2RlICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RPUF9Qb3MgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RPUF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU1RPUF9Qb3MpICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RPUCAgICAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU1RPUF9Nc2sgICAgICAgICAgICAgLyohPCBEZWJ1ZyBTdG9wIE1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZX01zayAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TVEFOREJZX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RBTkRCWSAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Nc2sgICAgICAgICAgLyohPCBEZWJ1ZyBTdGFuZGJ5IG1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX0lPRU5fUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX0lPRU5fTXNrICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX1RSQUNFX0lPRU5fUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX0lPRU4gICAgICAgICAgICAgICAgREJHTUNVX0NSX1RSQUNFX0lPRU5fTXNrICAgICAgICAgICAvKiE8IFRyYWNlIFBpbiBBc3NpZ25tZW50IENvbnRyb2wgKi8NCg0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERSAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Nc2sgICAgICAgICAgIC8qITwgVFJBQ0VfTU9ERVsxOjBdIGJpdHMgKFRyYWNlIFBpbiBBc3NpZ25tZW50IENvbnRyb2wpICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFXzAgICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFXzEgICAgICAgICAgICAgICgweDJVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfUG9zICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JV0RHX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfTXNrICAgICAgICAvKiE8IERlYnVnIEluZGVwZW5kZW50IFdhdGNoZG9nIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Qb3MgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Nc2sgICAgICAgIC8qITwgRGVidWcgV2luZG93IFdhdGNoZG9nIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTFfU1RPUF9Qb3MgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTFfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTFfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTFfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTFfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNMSBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Qb3MgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNMiBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Qb3MgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNMyBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Qb3MgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNNCBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Qb3MgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Nc2sgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVQgICAgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfTXNrIC8qITwgU01CVVMgdGltZW91dCBtb2RlIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzJfU01CVVNfVElNRU9VVF9Qb3MgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzJfU01CVVNfVElNRU9VVF9Nc2sgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVQgICAgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfTXNrIC8qITwgU01CVVMgdGltZW91dCBtb2RlIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTVfU1RPUF9Qb3MgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTVfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTVfU1RPUF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTVfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTVfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNNSBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTZfU1RPUF9Qb3MgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTZfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTZfU1RPUF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTZfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTZfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNNiBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTdfU1RPUF9Qb3MgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTdfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTdfU1RPUF9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTdfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTdfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNNyBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTEyX1NUT1BfUG9zICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTEyX1NUT1BfTXNrICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTEyX1NUT1BfUG9zKSAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xMl9TVE9QICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0xMl9TVE9QX01zayAgICAgICAvKiE8IERlYnVnIFRJTTEyIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTEzX1NUT1BfUG9zICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTEzX1NUT1BfTXNrICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTEzX1NUT1BfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xM19TVE9QICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0xM19TVE9QX01zayAgICAgICAvKiE8IERlYnVnIFRJTTEzIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTE0X1NUT1BfUG9zICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTE0X1NUT1BfTXNrICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTE0X1NUT1BfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xNF9TVE9QICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0xNF9TVE9QX01zayAgICAgICAvKiE8IERlYnVnIFRJTTE0IHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTlfU1RPUF9Qb3MgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTlfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTlfU1RPUF9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTlfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTlfU1RPUF9Nc2sgICAgICAgIC8qITwgRGVidWcgVElNOSBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xMF9TVE9QX1BvcyAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xMF9TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xMF9TVE9QX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTBfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTBfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xMCBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xMV9TVE9QX1BvcyAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xMV9TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xMV9TVE9QX1BvcykgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTFfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTFfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xMSBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBGTEFTSCBhbmQgT3B0aW9uIEJ5dGVzIFJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0FDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWSAgICAgICAgICAgICAgICAgICBGTEFTSF9BQ1JfTEFURU5DWV9Nc2sgICAgICAgICAgICAgIC8qITwgTEFURU5DWVsyOjBdIGJpdHMgKExhdGVuY3kpICovDQojZGVmaW5lIEZMQVNIX0FDUl9MQVRFTkNZXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9MQVRFTkNZX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX0FDUl9MQVRFTkNZXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEZMQVNIX0FDUl9MQVRFTkNZX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX0FDUl9MQVRFTkNZXzIgICAgICAgICAgICAgICAgICgweDRVIDw8IEZMQVNIX0FDUl9MQVRFTkNZX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgRkxBU0hfQUNSX0hMRkNZQV9Qb3MgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX0hMRkNZQV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX0hMRkNZQV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0hMRkNZQSAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX0hMRkNZQV9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIEhhbGYgQ3ljbGUgQWNjZXNzIEVuYWJsZSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfUFJGVEJFX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BQ1JfUFJGVEJFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfUFJGVEJFX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfUFJGVEJFICAgICAgICAgICAgICAgICAgICBGTEFTSF9BQ1JfUFJGVEJFX01zayAgICAgICAgICAgICAgIC8qITwgUHJlZmV0Y2ggQnVmZmVyIEVuYWJsZSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfUFJGVEJTX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BQ1JfUFJGVEJTX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfUFJGVEJTX1BvcykgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfUFJGVEJTICAgICAgICAgICAgICAgICAgICBGTEFTSF9BQ1JfUFJGVEJTX01zayAgICAgICAgICAgICAgIC8qITwgUHJlZmV0Y2ggQnVmZmVyIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfS0VZUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9LRVlSX0ZLRVlSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9LRVlSX0ZLRVlSX01zayAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfS0VZUl9GS0VZUl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9LRVlSX0ZLRVlSICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVlSX0ZLRVlSX01zayAgICAgICAgICAgICAgIC8qITwgRlBFQyBLZXkgKi8NCg0KI2RlZmluZSBSRFBfS0VZX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSRFBfS0VZX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNVUgPDwgUkRQX0tFWV9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDBBNSAqLw0KI2RlZmluZSBSRFBfS0VZICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRFBfS0VZX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUkRQIEtleSAqLw0KI2RlZmluZSBGTEFTSF9LRVkxX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9LRVkxX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg0NTY3MDEyM1UgPDwgRkxBU0hfS0VZMV9Qb3MpICAgIC8qITwgMHg0NTY3MDEyMyAqLw0KI2RlZmluZSBGTEFTSF9LRVkxICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkxX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBFQyBLZXkxICovDQojZGVmaW5lIEZMQVNIX0tFWTJfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0tFWTJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweENERUY4OUFCVSA8PCBGTEFTSF9LRVkyX1BvcykgICAgLyohPCAweENERUY4OUFCICovDQojZGVmaW5lIEZMQVNIX0tFWTIgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBGUEVDIEtleTIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfT1BUS0VZUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX01zayAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVIgICAgICAgICAgICAgICBGTEFTSF9PUFRLRVlSX09QVEtFWVJfTXNrICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5ICovDQoNCiNkZWZpbmUgIEZMQVNIX09QVEtFWTEgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTEgICAgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5MSAqLw0KI2RlZmluZSAgRkxBU0hfT1BUS0VZMiAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMiAgICAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBLZXkyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1NSX0JTWV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX0JTWV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX1NSX0JTWSAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBCdXN5ICovDQojZGVmaW5lIEZMQVNIX1NSX1BHRVJSX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX1BHRVJSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX1BHRVJSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX1NSX1BHRVJSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX1BHRVJSX01zayAgICAgICAgICAgICAgICAgLyohPCBQcm9ncmFtbWluZyBFcnJvciAqLw0KI2RlZmluZSBGTEFTSF9TUl9XUlBSVEVSUl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9XUlBSVEVSUl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9XUlBSVEVSUl9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9TUl9XUlBSVEVSUiAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9XUlBSVEVSUl9Nc2sgICAgICAgICAgICAgIC8qITwgV3JpdGUgUHJvdGVjdGlvbiBFcnJvciAqLw0KI2RlZmluZSBGTEFTSF9TUl9FT1BfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9FT1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9FT1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGTEFTSF9TUl9FT1AgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9FT1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRW5kIG9mIG9wZXJhdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9DUl9QR19Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9QR19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9QR19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9DUl9QRyAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9QR19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUHJvZ3JhbW1pbmcgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEVSX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfUEVSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfUEVSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEVSICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfUEVSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBhZ2UgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTUVSX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfTUVSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfTUVSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTUVSICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfTUVSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1hc3MgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUUEdfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfT1BUUEdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfT1BUUEdfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUUEcgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfT1BUUEdfTXNrICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIFByb2dyYW1taW5nICovDQojZGVmaW5lIEZMQVNIX0NSX09QVEVSX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVEVSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVEVSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVEVSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVEVSX01zayAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9TVFJUX1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9TVFJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGTEFTSF9DUl9TVFJUICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9TVFJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTE9DS19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IExvY2sgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUV1JFX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfT1BUV1JFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfT1BUV1JFX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUV1JFICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfT1BUV1JFX01zayAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlcyBXcml0ZSBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRVJSSUVfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfRVJSSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRVJSSUUgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRU9QSUVfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfRU9QSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfRU9QSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRU9QSUUgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfRU9QSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBvcGVyYXRpb24gaW50ZXJydXB0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0FSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9BUl9GQVJfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BUl9GQVJfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfQVJfRkFSX1BvcykgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9BUl9GQVIgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9BUl9GQVJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfT0JSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9PQlJfT1BURVJSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfT1BURVJSX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfT1BURVJSX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9PQlJfT1BURVJSICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfT1BURVJSX01zayAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX1JEUFJUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX1JEUFJUX01zayAgICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiAqLw0KDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9JV0RHX1NXX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9JV0RHX1NXX01zayAgICAgICAgICAgICAgLyohPCBJV0RHIFNXICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1BfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1BfTXNrICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9uUlNUX1NUT1BfUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1AgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9uUlNUX1NUT1BfTXNrICAgICAgICAgICAgLyohPCBuUlNUX1NUT1AgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQllfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQllfTXNrICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX25SU1RfU1REQllfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQlkgICAgICAgICAgICAgICAgRkxBU0hfT0JSX25SU1RfU1REQllfTXNrICAgICAgICAgICAvKiE8IG5SU1RfU1REQlkgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0JGQjJfUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0JGQjJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX0JGQjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0JGQjIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0JGQjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEJGQjIgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVJfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgRkxBU0hfT0JSX1VTRVJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwM0MgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFVzZXIgT3B0aW9uIEJ5dGVzICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMF9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9PQlJfREFUQTBfUG9zKSAgICAgLyohPCAweDAwMDNGQzAwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMCAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9EQVRBMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTFfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfT0JSX0RBVEExX1BvcykgICAgIC8qITwgMHgwM0ZDMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTEgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfREFUQTFfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YTEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlBfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlBfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX1dSUFJfV1JQX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUFJfV1JQX01zayAgICAgICAgICAgICAgICAgLyohPCBXcml0ZSBQcm90ZWN0ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX09QVEtFWVIyIHJlZ2lzdGVyICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUjJfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUjJfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9PUFRLRVlSX09QVEtFWVIyX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUjIgICAgICAgICAgICAgIEZMQVNIX09QVEtFWVJfT1BUS0VZUjJfTXNrICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBLZXkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1NSMiByZWdpc3RlciAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfU1IyX0JTWV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1IyX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1IyX0JTWV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfU1IyX0JTWSAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1IyX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgKi8NCiNkZWZpbmUgRkxBU0hfU1IyX1BHRVJSX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1IyX1BHRVJSX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1IyX1BHRVJSX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfU1IyX1BHRVJSICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1IyX1BHRVJSX01zayAgICAgICAgICAgICAgICAvKiE8IFByb2dyYW1taW5nIEVycm9yICovDQojZGVmaW5lIEZMQVNIX1NSMl9XUlBSVEVSUl9Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSMl9XUlBSVEVSUl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSMl9XUlBSVEVSUl9Qb3MpICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX1NSMl9XUlBSVEVSUiAgICAgICAgICAgICAgICAgIEZMQVNIX1NSMl9XUlBSVEVSUl9Nc2sgICAgICAgICAgICAgLyohPCBXcml0ZSBQcm90ZWN0aW9uIEVycm9yICovDQojZGVmaW5lIEZMQVNIX1NSMl9FT1BfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSMl9FT1BfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSMl9FT1BfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZMQVNIX1NSMl9FT1AgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSMl9FT1BfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFbmQgb2Ygb3BlcmF0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfQ1IyIHJlZ2lzdGVyICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0NSMl9QR19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSMl9QR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSMl9QR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX0NSMl9QRyAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSMl9QR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQcm9ncmFtbWluZyAqLw0KI2RlZmluZSBGTEFTSF9DUjJfUEVSX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUjJfUEVSX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUjJfUEVSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9DUjJfUEVSICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUjJfUEVSX01zayAgICAgICAgICAgICAgICAgIC8qITwgUGFnZSBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUjJfTUVSX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUjJfTUVSX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUjJfTUVSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9DUjJfTUVSICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUjJfTUVSX01zayAgICAgICAgICAgICAgICAgIC8qITwgTWFzcyBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUjJfU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUjJfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUjJfU1RSVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGTEFTSF9DUjJfU1RSVCAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUjJfU1RSVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgKi8NCiNkZWZpbmUgRkxBU0hfQ1IyX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1IyX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1IyX0xPQ0tfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRkxBU0hfQ1IyX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1IyX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAvKiE8IExvY2sgKi8NCiNkZWZpbmUgRkxBU0hfQ1IyX0VSUklFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1IyX0VSUklFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1IyX0VSUklFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1IyX0VSUklFICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1IyX0VSUklFX01zayAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQ1IyX0VPUElFX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1IyX0VPUElFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1IyX0VPUElFX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1IyX0VPUElFICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1IyX0VPUElFX01zayAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBvcGVyYXRpb24gaW50ZXJydXB0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0FSMiByZWdpc3RlciAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9BUl9GQVIyX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BUl9GQVIyX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfQVJfRkFSMl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9BUl9GQVIyICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9BUl9GQVIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggQWRkcmVzcyAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfUkRQIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfUkRQX1JEUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9SRFBfblJEUF9Qb3MpICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9VU0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX1VTRVJfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgLyohPCBVc2VyIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX25VU0VSX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVIgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgLyohPCBVc2VyIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTBfREFUQTBfUG9zKSAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMCAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEEwX25EQVRBMF9Qb3MpICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Qb3MgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTFfREFUQTFfUG9zKSAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMSAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX1BvcyAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEExX25EQVRBMV9Qb3MpICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMF9XUlAwX1BvcykgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAwX25XUlAwX1BvcykgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlAxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUDFfV1JQMV9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDFfV1JQMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAxX1dSUDFfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX1dSUDFfV1JQMSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDFfV1JQMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMV9uV1JQMV9Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMV9uV1JQMV9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDFfbldSUDFfUG9zKSAgICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMV9uV1JQMSAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMV9uV1JQMV9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9XUlAyX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMl9XUlAyX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDJfV1JQMl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9XUlAyICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMl9XUlAyX01zayAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBGTEFTSF9XUlAyX25XUlAyX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAyX25XUlAyX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMl9uV1JQMl9Qb3MpICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAyX25XUlAyICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAyX25XUlAyX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAzX1dSUDNfUG9zICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAzX1dSUDNfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQM19XUlAzX1BvcykgICAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAzX1dSUDMgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAzX1dSUDNfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDNfbldSUDNfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDNfbldSUDNfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAzX25XUlAzX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1dSUDNfbldSUDMgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDNfbldSUDNfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCg0KDQovKioNCiAgKiBAfQ0KKi8NCg0KLyoqDQogICogQH0NCiovIA0KDQovKiogQGFkZHRvZ3JvdXAgRXhwb3J0ZWRfbWFjcm8NCiAgKiBAew0KICAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEFEQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19BRENfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gQURDMSkpDQoNCiNkZWZpbmUgSVNfQURDX0NPTU1PTl9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQURDMV9DT01NT04pDQoNCiNkZWZpbmUgSVNfQURDX0RNQV9DQVBBQklMSVRZX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBBREMxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIENSQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19DUkNfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBDUkMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RBQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IERBQzEpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRE1BIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RNQV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw1KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw2KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw3KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWw1KSkNCiAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUElPIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19HUElPX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEdQSU9BKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0IpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPQykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9EKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0UpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPRikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9HKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gSW5zdGFuY2VzICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BRl9JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gTG9jayBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBJMkMxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBJMkMyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU01CVVMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfU01CVVNfQUxMX0lOU1RBTkNFICAgICAgICAgSVNfSTJDX0FMTF9JTlNUQU5DRQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19JV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IElXREcpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTUEkgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NQSV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBTUEkxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTVEFSVCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVElNIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1RJTV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU02KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU03KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU05KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMCkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMSkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMykgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNCkpDQoNCiNkZWZpbmUgSVNfVElNX0FEVkFOQ0VEX0lOU1RBTkNFKElOU1RBTkNFKSAgICAgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DQzFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNOSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTApICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTEpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTMpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNOSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzNfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0NDNF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfRVRSTU9ERTFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0VUUk1PREUyX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9USVhfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNOSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9JVFJYX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTkpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTEyKSkNCg0KI2RlZmluZSBJU19USU1fT0NYUkVGX0NMRUFSX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9FTkNPREVSX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fWE9SX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9NQVNURVJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpKQ0KDQojZGVmaW5lIElTX1RJTV9TTEFWRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMikpDQoNCiNkZWZpbmUgSVNfVElNX0RNQUJVUlNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9CUkVBS19JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hfSU5TVEFOQ0UoSU5TVEFOQ0UsIENIQU5ORUwpIFwNCiAgICgoKChJTlNUQU5DRSkgPT0gVElNMikgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMykgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNNCkgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNNSkgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNOSkgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xMCkgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xMSkgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xMikgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTEzKSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE0KSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpKSkNCg0KI2RlZmluZSBJU19USU1fQ0NYTl9JTlNUQU5DRShJTlNUQU5DRSwgQ0hBTk5FTCkgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DT1VOVEVSX01PREVfU0VMRUNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9SRVBFVElUSU9OX0NPVU5URVJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLX0RJVklTSU9OX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTkpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTEwKSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTExKSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTEyKSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTEzKSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE0KSkNCg0KI2RlZmluZSBJU19USU1fRE1BX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTYpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTcpKQ0KICAgIA0KI2RlZmluZSBJU19USU1fRE1BX0NDX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KICAgIA0KI2RlZmluZSBJU19USU1fQ09NTVVUQVRJT05fRVZFTlRfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9FVFJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0hBTExfU0VOU09SX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV8zMkJfQ09VTlRFUl9JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgIDBVDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRU5EIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVTQVJUIEluc3RhbmNlcyA6IFN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElTX1VTQVJUX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogQXN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBIYWxmLUR1cGxleCBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfSEFMRkRVUExFWF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNSkpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IExJTiBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfTElOX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDQpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFyZHdhcmUgRmxvdyBjb250cm9sICoqKioqKioqKioqKioqKioqKioqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VQVJUX0hXRkxPV19JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBTbWFyZCBjYXJkIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NNQVJUQ0FSRF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSVJEQSBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfSVJEQV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBNdWx0aS1Qcm9jZXNzb3IgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX01VTFRJUFJPQ0VTU09SX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDQpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNSkpDQoNCi8qKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IERNQSBtb2RlIGF2YWlsYWJsZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0RNQV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBSVEMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfUlRDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFJUQykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogV1dERyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1dXREdfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKChJTlNUQU5DRSkgPT0gV1dERykNCg0KDQoNCg0KI2RlZmluZSBSQ0NfSFNFX01JTiAgICAgICAgIDQwMDAwMDBVDQojZGVmaW5lIFJDQ19IU0VfTUFYICAgICAgICAxNjAwMDAwMFUNCg0KI2RlZmluZSBSQ0NfTUFYX0ZSRVFVRU5DWSAgNzIwMDAwMDBVDQoNCi8qKg0KICAqIEB9DQogICovIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICBGb3IgYSBwYWlubGVzcyBjb2RlcyBtaWdyYXRpb24gYmV0d2VlbiB0aGUgU1RNMzJGMXh4IGRldmljZSBwcm9kdWN0ICAgICAgICovDQovKiAgbGluZXMsIHRoZSBhbGlhc2VzIGRlZmluZWQgYmVsb3cgYXJlIHB1dCBpbiBwbGFjZSB0byBvdmVyY29tZSB0aGUgICAgICAgICAqLw0KLyogIGRpZmZlcmVuY2VzIGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcnMgYW5kIElSUW4gZGVmaW5pdGlvbnMuICAgICAgICAgICAgICAgKi8NCi8qICBObyBuZWVkIHRvIHVwZGF0ZSBkZXZlbG9wZWQgaW50ZXJydXB0IGNvZGUgd2hlbiBtb3ZpbmcgYWNyb3NzICAgICAgICAgICAgICovIA0KLyogIHByb2R1Y3QgbGluZXMgd2l0aGluIHRoZSBzYW1lIFNUTTMyRjEgRmFtaWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qIEFsaWFzZXMgZm9yIF9fSVJRbiAqLw0KI2RlZmluZSBBREMxXzJfSVJRbiAgICAgICAgICAgICBBREMxX0lSUW4NCiNkZWZpbmUgRE1BMl9DaGFubmVsNF9JUlFuICAgICAgRE1BMl9DaGFubmVsNF81X0lSUW4NCiNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMTBfSVJRbg0KI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUW4gICAgICBUSU0xMF9JUlFuDQojZGVmaW5lIFRJTTFfVVBfSVJRbiAgICAgICAgICAgIFRJTTEwX0lSUW4NCiNkZWZpbmUgVElNMV9UUkdfQ09NX0lSUW4gICAgICAgVElNMTFfSVJRbg0KI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRbiBUSU0xMV9JUlFuDQojZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuIFRJTTExX0lSUW4NCiNkZWZpbmUgVElNOF9CUktfSVJRbiAgICAgICAgICAgVElNMTJfSVJRbg0KI2RlZmluZSBUSU04X0JSS19USU0xMl9JUlFuICAgICBUSU0xMl9JUlFuDQojZGVmaW5lIFRJTThfVVBfVElNMTNfSVJRbiAgICAgIFRJTTEzX0lSUW4NCiNkZWZpbmUgVElNOF9VUF9JUlFuICAgICAgICAgICAgVElNMTNfSVJRbg0KI2RlZmluZSBUSU04X1RSR19DT01fVElNMTRfSVJRbiBUSU0xNF9JUlFuDQojZGVmaW5lIFRJTThfVFJHX0NPTV9JUlFuICAgICAgIFRJTTE0X0lSUW4NCiNkZWZpbmUgVElNNl9EQUNfSVJRbiAgICAgICAgICAgVElNNl9JUlFuDQojZGVmaW5lIFRJTTFfQlJLX1RJTTE1X0lSUW4gICAgIFRJTTlfSVJRbg0KI2RlZmluZSBUSU0xX0JSS19JUlFuICAgICAgICAgICBUSU05X0lSUW4NCiNkZWZpbmUgVElNMV9CUktfVElNOV9JUlFuICAgICAgVElNOV9JUlFuDQoNCg0KLyogQWxpYXNlcyBmb3IgX19JUlFIYW5kbGVyICovDQojZGVmaW5lIEFEQzFfMl9JUlFIYW5kbGVyICAgICAgICAgICAgIEFEQzFfSVJRSGFuZGxlcg0KI2RlZmluZSBETUEyX0NoYW5uZWw0X0lSUUhhbmRsZXIgICAgICBETUEyX0NoYW5uZWw0XzVfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUUhhbmRsZXIgICAgICBUSU0xMF9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlciAgICAgIFRJTTEwX0lSUUhhbmRsZXINCiNkZWZpbmUgVElNMV9VUF9JUlFIYW5kbGVyICAgICAgICAgICAgVElNMTBfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX1RSR19DT01fSVJRSGFuZGxlciAgICAgICBUSU0xMV9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFIYW5kbGVyIFRJTTExX0lSUUhhbmRsZXINCiNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIgVElNMTFfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU04X0JSS19JUlFIYW5kbGVyICAgICAgICAgICBUSU0xMl9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTThfQlJLX1RJTTEyX0lSUUhhbmRsZXIgICAgIFRJTTEyX0lSUUhhbmRsZXINCiNkZWZpbmUgVElNOF9VUF9USU0xM19JUlFIYW5kbGVyICAgICAgVElNMTNfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU04X1VQX0lSUUhhbmRsZXIgICAgICAgICAgICBUSU0xM19JUlFIYW5kbGVyDQojZGVmaW5lIFRJTThfVFJHX0NPTV9USU0xNF9JUlFIYW5kbGVyIFRJTTE0X0lSUUhhbmRsZXINCiNkZWZpbmUgVElNOF9UUkdfQ09NX0lSUUhhbmRsZXIgICAgICAgVElNMTRfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU02X0RBQ19JUlFIYW5kbGVyICAgICAgICAgICBUSU02X0lSUUhhbmRsZXINCiNkZWZpbmUgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlciAgICAgVElNOV9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfQlJLX0lSUUhhbmRsZXIgICAgICAgICAgIFRJTTlfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX0JSS19USU05X0lSUUhhbmRsZXIgICAgICBUSU05X0lSUUhhbmRsZXINCg0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQoNCiNpZmRlZiBfX2NwbHVzcGx1cw0KICB9DQojZW5kaWYgLyogX19jcGx1c3BsdXMgKi8NCiAgDQojZW5kaWYgLyogX19TVE0zMkYxMDF4R19IICovDQogIA0KICANCiAgDQogIC8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovDQo=