LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjEwMXhiLmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEB2ZXJzaW9uIFY0LjIuMA0KICAqIEBkYXRlICAgIDMxLU1hcmNoLTIwMTcNCiAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlLiANCiAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHRoZSBwZXJpcGhlcmFsIHJlZ2lzdGVyJ3MgZGVmaW5pdGlvbnMsIGJpdHMgDQogICogICAgICAgICAgZGVmaW5pdGlvbnMgYW5kIG1lbW9yeSBtYXBwaW5nIGZvciBTVE0zMkYxeHggZGV2aWNlcy4gICAgICAgICAgICANCiAgKiAgICAgICAgICAgIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoNCiAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscw0KICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24NCiAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUNCiAgKiAgDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBhdHRlbnRpb24NCiAgKg0KICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPg0KICAqDQogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCiAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQogICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbg0KICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQogICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMNCiAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQ0KICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQogICoNCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQoNCi8qKiBAYWRkdG9ncm91cCBDTVNJUw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBzdG0zMmYxMDF4Yg0KICAqIEB7DQogICovDQogICAgDQojaWZuZGVmIF9fU1RNMzJGMTAxeEJfSA0KI2RlZmluZSBfX1NUTTMyRjEwMXhCX0gNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogZXh0ZXJuICJDIiB7DQojZW5kaWYgDQoNCi8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTMgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzIA0KICovDQojZGVmaW5lIF9fQ00zX1JFViAgICAgICAgICAgICAgICAgIDB4MDIwMFUgIC8qITwgQ29yZSBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUgICAgICAgLyohPCBPdGhlciBTVE0zMiBkZXZpY2VzIGRvZXMgbm90IHByb3ZpZGUgYW4gTVBVICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgICA0VSAgICAgICAvKiE8IFNUTTMyIHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgIDBVICAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfaW50ZXJydXB0X251bWJlcl9kZWZpbml0aW9uDQogICogQHsNCiAgKi8NCg0KLyoqDQogKiBAYnJpZWYgU1RNMzJGMTB4IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiwgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBkZXZpY2UgDQogKiAgICAgICAgaW4gQHJlZiBMaWJyYXJ5X2NvbmZpZ3VyYXRpb25fc2VjdGlvbiANCiAqLw0KDQogLyohPCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24gKi8NCnR5cGVkZWYgZW51bQ0Kew0KLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgPSAtMTMsICAgIC8qITwgMyBDb3J0ZXgtTTMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAqLw0KICBNZW1vcnlNYW5hZ2VtZW50X0lSUW4gICAgICAgPSAtMTIsICAgIC8qITwgNCBDb3J0ZXgtTTMgTWVtb3J5IE1hbmFnZW1lbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAqLw0KICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgPSAtMTAsICAgIC8qITwgNiBDb3J0ZXgtTTMgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAqLw0KICBTVkNhbGxfSVJRbiAgICAgICAgICAgICAgICAgPSAtNSwgICAgIC8qITwgMTEgQ29ydGV4LU0zIFNWIENhbGwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0zIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTeXNUaWNrX0lSUW4gICAgICAgICAgICAgICAgPSAtMSwgICAgIC8qITwgMTUgQ29ydGV4LU0zIFN5c3RlbSBUaWNrIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLw0KDQovKioqKioqICBTVE0zMiBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICovDQogIFRBTVBFUl9JUlFuICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgLyohPCBSVEMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJDQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBSQ0MgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgLyohPCBFWFRJIExpbmUwIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkyX0lSUW4gICAgICAgICAgICAgICAgICA9IDgsICAgICAgLyohPCBFWFRJIExpbmUyIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDksICAgICAgLyohPCBFWFRJIExpbmUzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDExLCAgICAgLyohPCBETUExIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDEyLCAgICAgLyohPCBETUExIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDE0LCAgICAgLyohPCBETUExIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDE1LCAgICAgLyohPCBETUExIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDZfSVJRbiAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIENoYW5uZWwgNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDdfSVJRbiAgICAgICAgICA9IDE3LCAgICAgLyohPCBETUExIENoYW5uZWwgNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyohPCBBREMxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk5XzVfSVJRbiAgICAgICAgICAgICAgICA9IDIzLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzk6NV0gSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyohPCBUSU0yIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI5LCAgICAgLyohPCBUSU0zIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTRfSVJRbiAgICAgICAgICAgICAgICAgICA9IDMwLCAgICAgLyohPCBUSU00IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMxLCAgICAgLyohPCBJMkMxIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDMyLCAgICAgLyohPCBJMkMxIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMzLCAgICAgLyohPCBJMkMyIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDM0LCAgICAgLyohPCBJMkMyIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyohPCBTUEkxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM2LCAgICAgLyohPCBTUEkyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMV9JUlFuICAgICAgICAgICAgICAgICA9IDM3LCAgICAgLyohPCBVU0FSVDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMl9JUlFuICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyohPCBVU0FSVDIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUM19JUlFuICAgICAgICAgICAgICAgICA9IDM5LCAgICAgLyohPCBVU0FSVDMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxNV8xMF9JUlFuICAgICAgICAgICAgICA9IDQwLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzE1OjEwXSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19BbGFybV9JUlFuICAgICAgICAgICAgICA9IDQxLCAgICAgLyohPCBSVEMgQWxhcm0gdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICovDQp9IElSUW5fVHlwZTsNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KI2luY2x1ZGUgImNvcmVfY20zLmgiDQojaW5jbHVkZSAic3lzdGVtX3N0bTMyZjF4eC5oIg0KI2luY2x1ZGUgPHN0ZGludC5oPg0KDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9yZWdpc3RlcnNfc3RydWN0dXJlcw0KICAqIEB7DQogICovICAgDQoNCi8qKiANCiAgKiBAYnJpZWYgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBDUjE7DQogIF9fSU8gdWludDMyX3QgQ1IyOw0KICBfX0lPIHVpbnQzMl90IFNNUFIxOw0KICBfX0lPIHVpbnQzMl90IFNNUFIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIxOw0KICBfX0lPIHVpbnQzMl90IEpPRlIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIzOw0KICBfX0lPIHVpbnQzMl90IEpPRlI0Ow0KICBfX0lPIHVpbnQzMl90IEhUUjsNCiAgX19JTyB1aW50MzJfdCBMVFI7DQogIF9fSU8gdWludDMyX3QgU1FSMTsNCiAgX19JTyB1aW50MzJfdCBTUVIyOw0KICBfX0lPIHVpbnQzMl90IFNRUjM7DQogIF9fSU8gdWludDMyX3QgSlNRUjsNCiAgX19JTyB1aW50MzJfdCBKRFIxOw0KICBfX0lPIHVpbnQzMl90IEpEUjI7DQogIF9fSU8gdWludDMyX3QgSkRSMzsNCiAgX19JTyB1aW50MzJfdCBKRFI0Ow0KICBfX0lPIHVpbnQzMl90IERSOw0KfSBBRENfVHlwZURlZjsNCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBzdGF0dXMgcmVnaXN0ZXIsICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAxLCB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDA0ICAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMiwgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHgwOCAgKi8NCiAgdWludDMyX3QgIFJFU0VSVkVEWzE2XTsNCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIHJlZ2lzdGVyLCAgICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4NEMgICovDQp9IEFEQ19Db21tb25fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBCYWNrdXAgUmVnaXN0ZXJzICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgdWludDMyX3QgIFJFU0VSVkVEMDsNCiAgX19JTyB1aW50MzJfdCBEUjE7DQogIF9fSU8gdWludDMyX3QgRFIyOw0KICBfX0lPIHVpbnQzMl90IERSMzsNCiAgX19JTyB1aW50MzJfdCBEUjQ7DQogIF9fSU8gdWludDMyX3QgRFI1Ow0KICBfX0lPIHVpbnQzMl90IERSNjsNCiAgX19JTyB1aW50MzJfdCBEUjc7DQogIF9fSU8gdWludDMyX3QgRFI4Ow0KICBfX0lPIHVpbnQzMl90IERSOTsNCiAgX19JTyB1aW50MzJfdCBEUjEwOw0KICBfX0lPIHVpbnQzMl90IFJUQ0NSOw0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCn0gQktQX1R5cGVEZWY7DQogIA0KDQovKiogDQogICogQGJyaWVmIENSQyBjYWxjdWxhdGlvbiB1bml0IA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgICAgLyohPCBDUkMgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQ4X3QgIElEUjsgICAgICAgICAgLyohPCBDUkMgSW5kZXBlbmRlbnQgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICB1aW50OF90ICAgICAgIFJFU0VSVkVEMDsgICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNSAqLw0KICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTsgICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNiAqLyAgDQogIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgICAvKiE8IENSQyBDb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovIA0KfSBDUkNfVHlwZURlZjsNCg0KDQovKiogDQogICogQGJyaWVmIERlYnVnIE1DVQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElEQ09ERTsNCiAgX19JTyB1aW50MzJfdCBDUjsNCn1EQkdNQ1VfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBETUEgQ29udHJvbGxlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENDUjsNCiAgX19JTyB1aW50MzJfdCBDTkRUUjsNCiAgX19JTyB1aW50MzJfdCBDUEFSOw0KICBfX0lPIHVpbnQzMl90IENNQVI7DQp9IERNQV9DaGFubmVsX1R5cGVEZWY7DQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSVNSOw0KICBfX0lPIHVpbnQzMl90IElGQ1I7DQp9IERNQV9UeXBlRGVmOw0KDQoNCg0KLyoqIA0KICAqIEBicmllZiBFeHRlcm5hbCBJbnRlcnJ1cHQvRXZlbnQgQ29udHJvbGxlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElNUjsNCiAgX19JTyB1aW50MzJfdCBFTVI7DQogIF9fSU8gdWludDMyX3QgUlRTUjsNCiAgX19JTyB1aW50MzJfdCBGVFNSOw0KICBfX0lPIHVpbnQzMl90IFNXSUVSOw0KICBfX0lPIHVpbnQzMl90IFBSOw0KfSBFWFRJX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRkxBU0ggUmVnaXN0ZXJzDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQUNSOw0KICBfX0lPIHVpbnQzMl90IEtFWVI7DQogIF9fSU8gdWludDMyX3QgT1BUS0VZUjsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBDUjsNCiAgX19JTyB1aW50MzJfdCBBUjsNCiAgX19JTyB1aW50MzJfdCBSRVNFUlZFRDsNCiAgX19JTyB1aW50MzJfdCBPQlI7DQogIF9fSU8gdWludDMyX3QgV1JQUjsNCn0gRkxBU0hfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBPcHRpb24gQnl0ZXMgUmVnaXN0ZXJzDQogICovDQogIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MTZfdCBSRFA7DQogIF9fSU8gdWludDE2X3QgVVNFUjsNCiAgX19JTyB1aW50MTZfdCBEYXRhMDsNCiAgX19JTyB1aW50MTZfdCBEYXRhMTsNCiAgX19JTyB1aW50MTZfdCBXUlAwOw0KICBfX0lPIHVpbnQxNl90IFdSUDE7DQogIF9fSU8gdWludDE2X3QgV1JQMjsNCiAgX19JTyB1aW50MTZfdCBXUlAzOw0KfSBPQl9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkw7DQogIF9fSU8gdWludDMyX3QgQ1JIOw0KICBfX0lPIHVpbnQzMl90IElEUjsNCiAgX19JTyB1aW50MzJfdCBPRFI7DQogIF9fSU8gdWludDMyX3QgQlNSUjsNCiAgX19JTyB1aW50MzJfdCBCUlI7DQogIF9fSU8gdWludDMyX3QgTENLUjsNCn0gR1BJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEFsdGVybmF0ZSBGdW5jdGlvbiBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBFVkNSOw0KICBfX0lPIHVpbnQzMl90IE1BUFI7DQogIF9fSU8gdWludDMyX3QgRVhUSUNSWzRdOw0KICB1aW50MzJfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDMyX3QgTUFQUjI7ICANCn0gQUZJT19UeXBlRGVmOw0KLyoqIA0KICAqIEBicmllZiBJbnRlciBJbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOw0KICBfX0lPIHVpbnQzMl90IENSMjsNCiAgX19JTyB1aW50MzJfdCBPQVIxOw0KICBfX0lPIHVpbnQzMl90IE9BUjI7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgU1IxOw0KICBfX0lPIHVpbnQzMl90IFNSMjsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgVFJJU0U7DQp9IEkyQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEluZGVwZW5kZW50IFdBVENIRE9HDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgS1I7ICAgICAgICAgICAvKiE8IEtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgUFI7ICAgICAgICAgICAvKiE8IFByZXNjYWxlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgUkxSOyAgICAgICAgICAvKiE8IFJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQp9IElXREdfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBQb3dlciBDb250cm9sDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KfSBQV1JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENGR1I7DQogIF9fSU8gdWludDMyX3QgQ0lSOw0KICBfX0lPIHVpbnQzMl90IEFQQjJSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFQQjFSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFIQkVOUjsNCiAgX19JTyB1aW50MzJfdCBBUEIyRU5SOw0KICBfX0lPIHVpbnQzMl90IEFQQjFFTlI7DQogIF9fSU8gdWludDMyX3QgQkRDUjsNCiAgX19JTyB1aW50MzJfdCBDU1I7DQoNCg0KfSBSQ0NfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZWFsLVRpbWUgQ2xvY2sNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkg7DQogIF9fSU8gdWludDMyX3QgQ1JMOw0KICBfX0lPIHVpbnQzMl90IFBSTEg7DQogIF9fSU8gdWludDMyX3QgUFJMTDsNCiAgX19JTyB1aW50MzJfdCBESVZIOw0KICBfX0lPIHVpbnQzMl90IERJVkw7DQogIF9fSU8gdWludDMyX3QgQ05USDsNCiAgX19JTyB1aW50MzJfdCBDTlRMOw0KICBfX0lPIHVpbnQzMl90IEFMUkg7DQogIF9fSU8gdWludDMyX3QgQUxSTDsNCn0gUlRDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgU0QgaG9zdCBJbnRlcmZhY2UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBQT1dFUjsNCiAgX19JTyB1aW50MzJfdCBDTEtDUjsNCiAgX19JTyB1aW50MzJfdCBBUkc7DQogIF9fSU8gdWludDMyX3QgQ01EOw0KICBfX0kgdWludDMyX3QgUkVTUENNRDsNCiAgX19JIHVpbnQzMl90IFJFU1AxOw0KICBfX0kgdWludDMyX3QgUkVTUDI7DQogIF9fSSB1aW50MzJfdCBSRVNQMzsNCiAgX19JIHVpbnQzMl90IFJFU1A0Ow0KICBfX0lPIHVpbnQzMl90IERUSU1FUjsNCiAgX19JTyB1aW50MzJfdCBETEVOOw0KICBfX0lPIHVpbnQzMl90IERDVFJMOw0KICBfX0kgdWludDMyX3QgRENPVU5UOw0KICBfX0kgdWludDMyX3QgU1RBOw0KICBfX0lPIHVpbnQzMl90IElDUjsNCiAgX19JTyB1aW50MzJfdCBNQVNLOw0KICB1aW50MzJfdCAgUkVTRVJWRUQwWzJdOw0KICBfX0kgdWludDMyX3QgRklGT0NOVDsNCiAgdWludDMyX3QgIFJFU0VSVkVEMVsxM107DQogIF9fSU8gdWludDMyX3QgRklGTzsNCn0gU0RJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgQ1JDUFI7DQogIF9fSU8gdWludDMyX3QgUlhDUkNSOw0KICBfX0lPIHVpbnQzMl90IFRYQ1JDUjsNCiAgX19JTyB1aW50MzJfdCBJMlNDRkdSOw0KfSBTUElfVHlwZURlZjsNCg0KLyoqDQogICogQGJyaWVmIFRJTSBUaW1lcnMNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU01DUjsgICAgICAgICAgICAvKiE8IFRJTSBzbGF2ZSBNb2RlIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgRElFUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEvaW50ZXJydXB0IGVuYWJsZSByZWdpc3RlciwgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgRUdSOyAgICAgICAgICAgICAvKiE8IFRJTSBldmVudCBnZW5lcmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjE7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMSwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjI7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMiwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgQ0NFUjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgZW5hYmxlIHJlZ2lzdGVyLCAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQogIF9fSU8gdWludDMyX3QgQ05UOyAgICAgICAgICAgICAvKiE8IFRJTSBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgUFNDOyAgICAgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICovDQogIF9fSU8gdWludDMyX3QgQVJSOyAgICAgICAgICAgICAvKiE8IFRJTSBhdXRvLXJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDJDICovDQogIF9fSU8gdWludDMyX3QgUkNSOyAgICAgICAgICAgICAvKiE8IFRJTSAgcmVwZXRpdGlvbiBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovDQogIF9fSU8gdWludDMyX3QgQ0NSMTsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM4ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMzsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMywgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovDQogIF9fSU8gdWludDMyX3QgQ0NSNDsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovDQogIF9fSU8gdWludDMyX3QgQkRUUjsgICAgICAgICAgICAvKiE8IFRJTSBicmVhayBhbmQgZGVhZC10aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ0ICovDQogIF9fSU8gdWludDMyX3QgRENSOyAgICAgICAgICAgICAvKiE8IFRJTSBETUEgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovDQogIF9fSU8gdWludDMyX3QgRE1BUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEgYWRkcmVzcyBmb3IgZnVsbCB0cmFuc2ZlciByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovDQogIF9fSU8gdWludDMyX3QgT1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBvcHRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovDQp9VElNX1R5cGVEZWY7DQoNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyDQogICovDQogDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgIC8qITwgVVNBUlQgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgVVNBUlQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IEJSUjsgICAgICAgIC8qITwgVVNBUlQgQmF1ZCByYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMzsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IEdUUFI7ICAgICAgIC8qITwgVVNBUlQgR3VhcmQgdGltZSBhbmQgcHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KfSBVU0FSVF9UeXBlRGVmOw0KDQoNCg0KLyoqIA0KICAqIEBicmllZiBXaW5kb3cgV0FUQ0hET0cNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsgICAvKiE8IFdXREcgQ29udHJvbCByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBDRlI7ICAvKiE8IFdXREcgQ29uZmlndXJhdGlvbiByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBTUjsgICAvKiE8IFdXREcgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCn0gV1dER19UeXBlRGVmOw0KDQovKioNCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX21lbW9yeV9tYXANCiAgKiBAew0KICAqLw0KDQoNCiNkZWZpbmUgRkxBU0hfQkFTRSAgICAgICAgICAgIDB4MDgwMDAwMDBVIC8qITwgRkxBU0ggYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8NCiNkZWZpbmUgRkxBU0hfQkFOSzFfRU5EICAgICAgIDB4MDgwMUZGRkZVIC8qITwgRkxBU0ggRU5EIGFkZHJlc3Mgb2YgYmFuazEgKi8NCiNkZWZpbmUgU1JBTV9CQVNFICAgICAgICAgICAgIDB4MjAwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkFTRSAgICAgICAgICAgMHg0MDAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQoNCiNkZWZpbmUgU1JBTV9CQl9CQVNFICAgICAgICAgIDB4MjIwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGJpdC1iYW5kIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkJfQkFTRSAgICAgICAgMHg0MjAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQoNCg0KLyohPCBQZXJpcGhlcmFsIG1lbW9yeSBtYXAgKi8NCiNkZWZpbmUgQVBCMVBFUklQSF9CQVNFICAgICAgIFBFUklQSF9CQVNFDQojZGVmaW5lIEFQQjJQRVJJUEhfQkFTRSAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDEwMDAwVSkNCiNkZWZpbmUgQUhCUEVSSVBIX0JBU0UgICAgICAgIChQRVJJUEhfQkFTRSArIDB4MDAwMjAwMDBVKQ0KDQojZGVmaW5lIFRJTTJfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDAwMFUpDQojZGVmaW5lIFRJTTNfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDQwMFUpDQojZGVmaW5lIFRJTTRfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDgwMFUpDQojZGVmaW5lIFJUQ19CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMjgwMFUpDQojZGVmaW5lIFdXREdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMkMwMFUpDQojZGVmaW5lIElXREdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMzAwMFUpDQojZGVmaW5lIFNQSTJfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMzgwMFUpDQojZGVmaW5lIFVTQVJUMl9CQVNFICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNDQwMFUpDQojZGVmaW5lIFVTQVJUM19CQVNFICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNDgwMFUpDQojZGVmaW5lIEkyQzFfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNTQwMFUpDQojZGVmaW5lIEkyQzJfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHg1ODAwKQ0KI2RlZmluZSBCS1BfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDZDMDBVKQ0KI2RlZmluZSBQV1JfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDcwMDBVKQ0KI2RlZmluZSBBRklPX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBFWFRJX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDBVKQ0KI2RlZmluZSBHUElPQV9CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDA4MDBVKQ0KI2RlZmluZSBHUElPQl9CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDBDMDBVKQ0KI2RlZmluZSBHUElPQ19CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDEwMDBVKQ0KI2RlZmluZSBHUElPRF9CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDE0MDBVKQ0KI2RlZmluZSBHUElPRV9CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDE4MDBVKQ0KI2RlZmluZSBBREMxX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDI0MDBVKQ0KI2RlZmluZSBTUEkxX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KI2RlZmluZSBVU0FSVDFfQkFTRSAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDM4MDBVKQ0KDQojZGVmaW5lIFNESU9fQkFTRSAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDE4MDAwVSkNCg0KI2RlZmluZSBETUExX0JBU0UgICAgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAwMFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDFfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDA4VSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMl9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMUNVKQ0KI2RlZmluZSBETUExX0NoYW5uZWwzX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAzMFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDRfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDQ0VSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNV9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwNThVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw2X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA2Q1UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDdfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDgwVSkNCiNkZWZpbmUgUkNDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDEwMDBVKQ0KI2RlZmluZSBDUkNfQkFTRSAgICAgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMzAwMFUpDQoNCiNkZWZpbmUgRkxBU0hfUl9CQVNFICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDIwMDBVKSAvKiE8IEZsYXNoIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRkxBU0hTSVpFX0JBU0UgICAgICAgIDB4MUZGRkY3RTBVICAgIC8qITwgRkxBU0ggU2l6ZSByZWdpc3RlciBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgVUlEX0JBU0UgICAgICAgICAgICAgIDB4MUZGRkY3RThVICAgIC8qITwgVW5pcXVlIGRldmljZSBJRCByZWdpc3RlciBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgT0JfQkFTRSAgICAgICAgICAgICAgIDB4MUZGRkY4MDBVICAgIC8qITwgRmxhc2ggT3B0aW9uIEJ5dGVzIGJhc2UgYWRkcmVzcyAqLw0KDQoNCg0KI2RlZmluZSBEQkdNQ1VfQkFTRSAgICAgICAgICAweEUwMDQyMDAwVSAvKiE8IERlYnVnIE1DVSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQoNCg0KDQovKioNCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX2RlY2xhcmF0aW9uDQogICogQHsNCiAgKi8gIA0KDQojZGVmaW5lIFRJTTIgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTJfQkFTRSkNCiNkZWZpbmUgVElNMyAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNM19CQVNFKQ0KI2RlZmluZSBUSU00ICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU00X0JBU0UpDQojZGVmaW5lIFJUQyAgICAgICAgICAgICAgICAgKChSVENfVHlwZURlZiAqKVJUQ19CQVNFKQ0KI2RlZmluZSBXV0RHICAgICAgICAgICAgICAgICgoV1dER19UeXBlRGVmICopV1dER19CQVNFKQ0KI2RlZmluZSBJV0RHICAgICAgICAgICAgICAgICgoSVdER19UeXBlRGVmICopSVdER19CQVNFKQ0KI2RlZmluZSBTUEkyICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKilTUEkyX0JBU0UpDQojZGVmaW5lIFVTQVJUMiAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQyX0JBU0UpDQojZGVmaW5lIFVTQVJUMyAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQzX0JBU0UpDQojZGVmaW5lIEkyQzEgICAgICAgICAgICAgICAgKChJMkNfVHlwZURlZiAqKUkyQzFfQkFTRSkNCiNkZWZpbmUgSTJDMiAgICAgICAgICAgICAgICAoKEkyQ19UeXBlRGVmICopSTJDMl9CQVNFKQ0KI2RlZmluZSBCS1AgICAgICAgICAgICAgICAgICgoQktQX1R5cGVEZWYgKilCS1BfQkFTRSkNCiNkZWZpbmUgUFdSICAgICAgICAgICAgICAgICAoKFBXUl9UeXBlRGVmICopUFdSX0JBU0UpDQojZGVmaW5lIEFGSU8gICAgICAgICAgICAgICAgKChBRklPX1R5cGVEZWYgKilBRklPX0JBU0UpDQojZGVmaW5lIEVYVEkgICAgICAgICAgICAgICAgKChFWFRJX1R5cGVEZWYgKilFWFRJX0JBU0UpDQojZGVmaW5lIEdQSU9BICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPQV9CQVNFKQ0KI2RlZmluZSBHUElPQiAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0JfQkFTRSkNCiNkZWZpbmUgR1BJT0MgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9DX0JBU0UpDQojZGVmaW5lIEdQSU9EICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPRF9CQVNFKQ0KI2RlZmluZSBHUElPRSAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0VfQkFTRSkNCiNkZWZpbmUgQURDMSAgICAgICAgICAgICAgICAoKEFEQ19UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBBREMxX0NPTU1PTiAgICAgICAgICgoQURDX0NvbW1vbl9UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBTUEkxICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKilTUEkxX0JBU0UpDQojZGVmaW5lIFVTQVJUMSAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQxX0JBU0UpDQojZGVmaW5lIFNESU8gICAgICAgICAgICAgICAgKChTRElPX1R5cGVEZWYgKilTRElPX0JBU0UpDQojZGVmaW5lIERNQTEgICAgICAgICAgICAgICAgKChETUFfVHlwZURlZiAqKURNQTFfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMSAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWwxX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDIgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsMl9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwzICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDNfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNCAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw0X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDUgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsNV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw2ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDZfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNyAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw3X0JBU0UpDQojZGVmaW5lIFJDQyAgICAgICAgICAgICAgICAgKChSQ0NfVHlwZURlZiAqKVJDQ19CQVNFKQ0KI2RlZmluZSBDUkMgICAgICAgICAgICAgICAgICgoQ1JDX1R5cGVEZWYgKilDUkNfQkFTRSkNCiNkZWZpbmUgRkxBU0ggICAgICAgICAgICAgICAoKEZMQVNIX1R5cGVEZWYgKilGTEFTSF9SX0JBU0UpDQojZGVmaW5lIE9CICAgICAgICAgICAgICAgICAgKChPQl9UeXBlRGVmICopT0JfQkFTRSkNCiNkZWZpbmUgREJHTUNVICAgICAgICAgICAgICAoKERCR01DVV9UeXBlRGVmICopREJHTUNVX0JBU0UpDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX2NvbnN0YW50cw0KICAqIEB7DQogICovDQogIA0KICAvKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9SZWdpc3RlcnNfQml0c19EZWZpbml0aW9uDQogICogQHsNCiAgKi8NCiAgICANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBQZXJpcGhlcmFsIFJlZ2lzdGVyc19CaXRzX0RlZmluaXRpb24gICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgKENSQykgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19EUl9EUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBDUkNfRFJfRFJfUG9zKSAgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIENSQ19EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICAgIENSQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHJlZ2lzdGVyIGJpdHMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDUkNfSURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0lEUl9JRFJfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0lEUl9JRFJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IENSQ19JRFJfSURSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgQ1JDX0lEUl9JRFIgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0lEUl9JRFJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwtcHVycG9zZSA4LWJpdCBkYXRhIHJlZ2lzdGVyIGJpdHMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0NSX1JFU0VUX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0NSX1JFU0VUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQ1JDX0NSX1JFU0VUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQ1JDX0NSX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0NSX1JFU0VUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJFU0VUIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb3dlciBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUFdSX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUFdSX0NSX0xQRFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0xQRFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0xQRFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUFdSX0NSX0xQRFMgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0xQRFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IExvdy1Qb3dlciBEZWVwc2xlZXAgKi8NCiNkZWZpbmUgUFdSX0NSX1BERFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BERFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUFdSX0NSX1BERFMgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBvd2VyIERvd24gRGVlcHNsZWVwICovDQojZGVmaW5lIFBXUl9DUl9DV1VGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9DV1VGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFBXUl9DUl9DV1VGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBXYWtldXAgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfQ1NCRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgU3RhbmRieSBGbGFnICovDQojZGVmaW5lIFBXUl9DUl9QVkRFX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QVkRFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFBXUl9DUl9QVkRFICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQb3dlciBWb2x0YWdlIERldGVjdG9yIEVuYWJsZSAqLw0KDQojZGVmaW5lIFBXUl9DUl9QTFNfUG9zICAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFBXUl9DUl9QTFNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMEUwICovDQojZGVmaW5lIFBXUl9DUl9QTFMgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQTFNbMjowXSBiaXRzIChQVkQgTGV2ZWwgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFBWRCBsZXZlbCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuMlYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYxICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi4zViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjIgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA0MFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjRWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDYwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuNVYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY0ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi42ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjUgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBBMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjdWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuOFYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY3ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi45ViAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzJWMiAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYwDQojZGVmaW5lIFBXUl9DUl9QTFNfMlYzICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjENCiNkZWZpbmUgUFdSX0NSX1BMU18yVjQgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMg0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNSAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYzDQojZGVmaW5lIFBXUl9DUl9QTFNfMlY2ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjQNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjcgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNQ0KI2RlZmluZSBQV1JfQ1JfUExTXzJWOCAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY2DQojZGVmaW5lIFBXUl9DUl9QTFNfMlY5ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjcNCg0KI2RlZmluZSBQV1JfQ1JfREJQX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfREJQX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1JfREJQICAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRGlzYWJsZSBCYWNrdXAgRG9tYWluIHdyaXRlIHByb3RlY3Rpb24gKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFBXUl9DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBQV1JfQ1NSX1dVRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1dVRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBQV1JfQ1NSX1dVRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2FrZXVwIEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NTUl9TQkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9TQkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9TQkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUFdSX0NTUl9TQkYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9TQkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YW5kYnkgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1NSX1BWRE9fUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1BWRE9fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1BWRE9fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBQV1JfQ1NSX1BWRE8gICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1BWRE9fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIE91dHB1dCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVBfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX0VXVVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX0VXVVBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX0VXVVBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIFdLVVAgcGluICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFja3VwIHJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxX0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxX0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMl9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMl9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjNfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjNfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjNfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI0X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI0X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI0X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI1IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNV9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjZfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjZfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjZfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI3X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI3X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI3X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI4IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSOF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSOF9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSOF9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSOSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjlfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjlfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjlfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxMF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxMF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxMF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxMF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxMF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KI2RlZmluZSBSVENfQktQX05VTUJFUiAxMA0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX1JUQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQ0FMX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfUlRDQ1JfQ0FMX01zayAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgQktQX1JUQ0NSX0NBTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQ0FMICAgICAgICAgICAgICAgICAgICAgICBCS1BfUlRDQ1JfQ0FMX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2FsaWJyYXRpb24gdmFsdWUgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NDT19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0NDT19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX1JUQ0NSX0NDT19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NDTyAgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0NDT19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENhbGlicmF0aW9uIENsb2NrIE91dHB1dCAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPRV9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfUlRDQ1JfQVNPRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPRSAgICAgICAgICAgICAgICAgICAgICBCS1BfUlRDQ1JfQVNPRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQWxhcm0gb3IgU2Vjb25kIE91dHB1dCBFbmFibGUgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT1NfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0FTT1NfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX1JUQ0NSX0FTT1NfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT1MgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0FTT1NfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIG9yIFNlY29uZCBPdXRwdXQgU2VsZWN0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9DUl9UUEVfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DUl9UUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DUl9UUEVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEJLUF9DUl9UUEUgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DUl9UUEVfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBUQU1QRVIgcGluIGVuYWJsZSAqLw0KI2RlZmluZSBCS1BfQ1JfVFBBTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1JfVFBBTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1JfVFBBTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBCS1BfQ1JfVFBBTCAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1JfVFBBTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVEFNUEVSIHBpbiBhY3RpdmUgbGV2ZWwgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0NTUl9DVEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9DVEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9DVEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQktQX0NTUl9DVEUgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9DVEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFRhbXBlciBldmVudCAqLw0KI2RlZmluZSBCS1BfQ1NSX0NUSV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX0NUSV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX0NUSV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBCS1BfQ1NSX0NUSSAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX0NUSV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgVGFtcGVyIEludGVycnVwdCAqLw0KI2RlZmluZSBCS1BfQ1NSX1RQSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX1RQSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX1RQSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBCS1BfQ1NSX1RQSUUgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX1RQSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVEFNUEVSIFBpbiBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIEJLUF9DU1JfVEVGX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfVEVGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfVEVGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEJLUF9DU1JfVEVGICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfVEVGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUYW1wZXIgRXZlbnQgRmxhZyAqLw0KI2RlZmluZSBCS1BfQ1NSX1RJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX1RJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX1RJRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBCS1BfQ1NSX1RJRiAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX1RJRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVGFtcGVyIEludGVycnVwdCBGbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXQgYW5kIENsb2NrIENvbnRyb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJT05fUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNJT05fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTSU9OX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJT04gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVJEWV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSVJEWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0lSRFlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVJEWSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgcmVhZHkgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJVFJJTV9Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNJVFJJTV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IFJDQ19DUl9IU0lUUklNX1BvcykgICAgIC8qITwgMHgwMDAwMDBGOCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJVFJJTSAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTSVRSSU1fTXNrICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayB0cmltbWluZyAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFJDQ19DUl9IU0lDQUxfUG9zKSAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTSUNBTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayBDYWxpYnJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFT05fUG9zICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNFT05fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRU9OX1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFT04gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRVJEWV9Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRVJEWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VSRFlfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRVJEWSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgcmVhZHkgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFQllQX1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNFQllQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRUJZUF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFQllQICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayBCeXBhc3MgKi8NCiNkZWZpbmUgUkNDX0NSX0NTU09OX1BvcyAgICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0NTU09OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9DU1NPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0NTU09OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NSX1BMTE9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX1BMTE9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9QTExPTl9Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX1BMTE9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9QTExPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NSX1BMTFJEWV9Qb3MgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX1BMTFJEWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9QTExSRFlfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX1BMTFJEWSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9QTExSRFlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBMTCBjbG9jayByZWFkeSBmbGFnICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0ZHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCi8qITwgU1cgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TVyAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgU1dbMTowXSBiaXRzIChTeXN0ZW0gY2xvY2sgU3dpdGNoKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV18wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV18xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1NXX0hTSSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0kgc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX0hTRSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0Ugc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX1BMTCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovDQoNCi8qITwgU1dTIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfU1dTX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1NXU19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNXU1sxOjBdIGJpdHMgKFN5c3RlbSBDbG9jayBTd2l0Y2ggU3RhdHVzKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfU1dTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfU1dTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1NXU19IU0kgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0kgb3NjaWxsYXRvciB1c2VkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfSFNFICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIG9zY2lsbGF0b3IgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTX1BMTCAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDhVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCB1c2VkIGFzIHN5c3RlbSBjbG9jayAqLw0KDQovKiE8IEhQUkUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfSFBSRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSFBSRVszOjBdIGJpdHMgKEFIQiBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjIgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA4MFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjQgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA5MFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjggICAgICAgICAgICAgICAgICAgMHgwMDAwMDBBMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjE2ICAgICAgICAgICAgICAgICAgMHgwMDAwMDBCMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY2NCAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQzBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDY0ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMTI4ICAgICAgICAgICAgICAgICAweDAwMDAwMEQwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAxMjggKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYyNTYgICAgICAgICAgICAgICAgIDB4MDAwMDAwRTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDI1NiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjUxMiAgICAgICAgICAgICAgICAgMHgwMDAwMDBGMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgNTEyICovDQoNCi8qITwgUFBSRTEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUFBSRTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDcwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMSAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUFJFMVsyOjBdIGJpdHMgKEFQQjEgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUFBSRTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUFBSRTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUFBSRTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjEgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjIgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVY0ICAgICAgICAgICAgICAgICAgMHgwMDAwMDUwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWOCAgICAgICAgICAgICAgICAgIDB4MDAwMDA2MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjE2ICAgICAgICAgICAgICAgICAweDAwMDAwNzAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCg0KLyohPCBQUFJFMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QUFJFMl9Qb3MpICAgICAgLyohPCAweDAwMDAzODAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QUFJFMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQUkUyWzI6MF0gYml0cyAoQVBCMiBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QUFJFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9QUFJFMl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9QUFJFMl9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWMSAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWMiAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjQgICAgICAgICAgICAgICAgICAweDAwMDAyODAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVY4ICAgICAgICAgICAgICAgICAgMHgwMDAwMzAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWMTYgICAgICAgICAgICAgICAgIDB4MDAwMDM4MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAxNiAqLw0KDQovKiE8IEFEQ1BQUkUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfQURDUFJFX1BvcykgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkUgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfQURDUFJFX01zayAgICAgICAgICAgICAgIC8qITwgQURDUFJFWzE6MF0gYml0cyAoQURDIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX0FEQ1BSRV9Qb3MpICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX0FEQ1BSRV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWMiAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY0ICAgICAgICAgICAgICAgICAweDAwMDA0MDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjYgICAgICAgICAgICAgICAgIDB4MDAwMDgwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWOCAgICAgICAgICAgICAgICAgMHgwMDAwQzAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSA4ICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDX1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTFNSQ19Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTFNSQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFBMTCBlbnRyeSBjbG9jayBzb3VyY2UgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9Qb3MgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMWFRQUkVfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMWFRQUkVfTXNrICAgICAgICAgICAgIC8qITwgSFNFIGRpdmlkZXIgZm9yIFBMTCBlbnRyeSAqLw0KDQovKiE8IFBMTE1VTCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfTXNrICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwM0MwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMX01zayAgICAgICAgICAgICAgLyohPCBQTExNVUxbMzowXSBiaXRzIChQTEwgbXVsdGlwbGljYXRpb24gZmFjdG9yKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMXzMgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX0hTRSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBjbG9jayBub3QgZGl2aWRlZCBmb3IgUExMIGVudHJ5ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX0hTRV9ESVYyICAgICAgICAgICAweDAwMDIwMDAwVSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBjbG9jayBkaXZpZGVkIGJ5IDIgZm9yIFBMTCBlbnRyeSAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwyICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMM19Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMM19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDNfUG9zKSAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMyAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDNfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDRfUG9zICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEw0X1BvcykgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDQgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw0X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw1X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw1X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMNV9Qb3MpICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw1ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMNV9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNl9Qb3MgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDZfUG9zKSAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNiAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDZfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDdfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDdfTXNrICAgICAgICAgICAgICAgICgweDVVIDw8IFJDQ19DRkdSX1BMTE1VTEw3X1BvcykgICAvKiE8IDB4MDAxNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDcgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw3X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo3ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw4X1BvcyAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw4X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMOF9Qb3MpICAgLyohPCAweDAwMTgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw4ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMOF9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOV9Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUExMTVVMTDlfUG9zKSAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDlfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEwX1BvcyAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEwX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEwxMF9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEwICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxMF9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jazEwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMV9Qb3MgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMV9Nc2sgICAgICAgICAgICAgICAoMHg5VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTFfUG9zKSAgLyohPCAweDAwMjQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTFfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTEgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEyX1BvcyAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEyX01zayAgICAgICAgICAgICAgICgweDVVIDw8IFJDQ19DRkdSX1BMTE1VTEwxMl9Qb3MpICAvKiE8IDB4MDAyODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEyICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxMl9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTNfUG9zICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTNfTXNrICAgICAgICAgICAgICAgKDB4QlUgPDwgUkNDX0NGR1JfUExMTVVMTDEzX1BvcykgIC8qITwgMHgwMDJDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTMgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDEzX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjEzICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNF9Qb3MgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNF9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTRfUG9zKSAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNCAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTRfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE1X1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE1X01zayAgICAgICAgICAgICAgICgweERVIDw8IFJDQ19DRkdSX1BMTE1VTEwxNV9Qb3MpICAvKiE8IDB4MDAzNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE1ICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxNV9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTZfUG9zICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTZfTXNrICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUExMTVVMTDE2X1BvcykgIC8qITwgMHgwMDM4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTYgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDE2X01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE2ICovDQoNCi8qITwgTUNPIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX1BvcyAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfTUNPX01zayAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE1DT1syOjBdIGJpdHMgKE1pY3JvY29udHJvbGxlciBDbG9jayBPdXRwdXQpICovDQojZGVmaW5lIFJDQ19DRkdSX01DT18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfTUNPX05PQ0xPQ0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fU1lTQ0xLICAgICAgICAgICAgICAgICAgMHgwNDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19IU0kgICAgICAgICAgICAgICAgICAgICAweDA1MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX0hTRSAgICAgICAgICAgICAgICAgICAgIDB4MDYwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0UgY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX1BMTENMS19ESVYyICAgICAgICAgICAgIDB4MDcwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgY2xvY2sgZGl2aWRlZCBieSAyIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCg0KIC8qIFJlZmVyZW5jZSBkZWZpbmVzICovDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUwgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMCAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzANCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8xICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMQ0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzIgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18yDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfTk9DTE9DSyAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX05PQ0xPQ0sNCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9TWVNDTEsgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fU1lTQ0xLDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNJICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX0hTSQ0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0hTRSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19IU0UNCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9QTExfRElWMiAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fUExMQ0xLX0RJVjINCg0KLyohPCoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DSVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNJUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9DU1NGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfQ1NTRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfQ1NTRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNFUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNFUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfUExMUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfUExMUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTSVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBMU0kgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTRVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBIU0UgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUNfUG9zKSAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfQ1NTQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0NTU0NfUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTQyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0NTU0NfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gSW50ZXJydXB0IENsZWFyICovDQoNCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjJSU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FGSU9SU1RfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FGSU9SU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9BRklPUlNUX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Nc2sgICAgICAgICAgLyohPCBBbHRlcm5hdGUgRnVuY3Rpb24gSS9PIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BBUlNUX1BvcyAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BBUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEFSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgQSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEJSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BCUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUENSU1RfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUENSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BDUlNUX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBDIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BEUlNUX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BEUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUERSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgRCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Qb3MgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0FEQzFSU1RfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9BREMxUlNUX01zayAgICAgICAgICAvKiE8IEFEQyAxIGludGVyZmFjZSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1RfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9USU0xUlNUX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Nc2sgICAgICAgICAgLyohPCBUSU0xIFRpbWVyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TUEkxUlNUX1BvcyAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TUEkxUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1NQSTFSU1RfTXNrICAgICAgICAgIC8qITwgU1BJIDEgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVCAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgICAgICAvKiE8IFVTQVJUMSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEVSU1RfUG9zICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEVSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BFUlNUX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BFUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QRVJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBFIHJlc2V0ICovDQoNCg0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIxUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTJSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU0zUlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Nc2sgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Qb3MgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVCAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAvKiE8IFVTQVJUIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfUG9zICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Nc2sgICAgICAgICAgLyohPCBJMkMgMSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Qb3MgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9CS1BSU1RfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9CS1BSU1RfTXNrICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Qb3MgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAvKiE8IFBvd2VyIGludGVyZmFjZSByZXNldCAqLw0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU00UlNUX1BvcyAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU00UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNNFJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNFJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTRSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgNCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Qb3MgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1NQSTJSU1RfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9TUEkyUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfUG9zICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX01zayAgICAgICAgLyohPCBVU0FSVCAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX1BvcyAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfSTJDMlJTVF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0kyQzJSU1RfTXNrICAgICAgICAgIC8qITwgSTJDIDIgcmVzZXQgKi8NCg0KDQoNCg0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BSEJFTlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU5fUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRE1BMUVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRE1BMUVOX01zayAgICAgICAgICAgICAvKiE8IERNQTEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfU1JBTUVOX1BvcyAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfU1JBTUVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX1NSQU1FTl9Qb3MpICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BSEJFTlJfU1JBTUVOICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX1NSQU1FTl9Nc2sgICAgICAgICAgICAgLyohPCBTUkFNIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRkxJVEZFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRkxJVEZFTl9Nc2sgICAgICAgICAgICAvKiE8IEZMSVRGIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9DUkNFTl9Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOICAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9DUkNFTl9Nc2sgICAgICAgICAgICAgIC8qITwgQ1JDIGNsb2NrIGVuYWJsZSAqLw0KDQoNCg0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjJFTlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU5fUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfQUZJT0VOX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfQUZJT0VOX01zayAgICAgICAgICAgIC8qITwgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUEFFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUEFFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTl9Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BCRU5fUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BCRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBCIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU5fUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QQ0VOX1BvcykgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QQ0VOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOX1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUERFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUERFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTl9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zKSAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgLyohPCBBREMgMSBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU5fUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMUVOX1BvcykgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMUVOX01zayAgICAgICAgICAgIC8qITwgVElNMSBUaW1lciBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1NQSTFFTl9Qb3MpICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1NQSTFFTl9Nc2sgICAgICAgICAgICAvKiE8IFNQSSAxIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Qb3MgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVVNBUlQxRU5fUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU4gICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1VTQVJUMUVOX01zayAgICAgICAgICAvKiE8IFVTQVJUMSBjbG9jayBlbmFibGUgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTl9Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BFRU5fUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BFRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBFIGNsb2NrIGVuYWJsZSAqLw0KDQoNCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMUVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNMkVOX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNMkVOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgMiBjbG9jayBlbmFibGVkKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTNFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTNFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9XV0RHRU5fUG9zKSAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9XV0RHRU5fTXNrICAgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX1BvcyAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNBUlQyRU5fTXNrICAgICAgICAgIC8qITwgVVNBUlQgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX1BvcyAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAvKiE8IEkyQyAxIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fUG9zICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0JLUEVOX1BvcykgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0JLUEVOX01zayAgICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX1BvcyAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MpICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTRFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTRFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTl9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9TUEkyRU5fUG9zKSAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9TUEkyRU5fTXNrICAgICAgICAgICAgLyohPCBTUEkgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fUG9zICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1VTQVJUM0VOX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUM0VOICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VU0FSVDNFTl9Nc2sgICAgICAgICAgLyohPCBVU0FSVCAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU5fUG9zICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfSTJDMkVOX1BvcykgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfSTJDMkVOX01zayAgICAgICAgICAgIC8qITwgSTJDIDIgY2xvY2sgZW5hYmxlICovDQoNCg0KDQoNCg0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0JEQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VPTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VPTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRVJEWV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRVJEWV9Nc2sgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIFJlYWR5ICovDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VCWVBfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VCWVBfTXNrICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBCeXBhc3MgKi8NCg0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUwgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfUlRDU0VMX01zayAgICAgICAgICAgICAgIC8qITwgUlRDU0VMWzE6MF0gYml0cyAoUlRDIGNsb2NrIHNvdXJjZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0hTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIGNsb2NrIGRpdmlkZWQgYnkgMTI4IHVzZWQgYXMgUlRDIGNsb2NrICovDQoNCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU5fUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX1JUQ0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU4gICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAvKiE8IFJUQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1RfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1RfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0JEUlNUX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1QgICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0JEUlNUX01zayAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkb21haW4gc29mdHdhcmUgcmVzZXQgICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovICANCiNkZWZpbmUgUkNDX0NTUl9MU0lPTl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNJT05fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lPTiAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNJT05fTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MU0lSRFlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWSAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MU0lSRFlfTXNrICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgUmVhZHkgKi8NCiNkZWZpbmUgUkNDX0NTUl9STVZGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9STVZGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUk1WRl9Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9STVZGICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUk1WRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlbW92ZSByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1BJTlJTVEZfUG9zKSAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBQSU4gcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEZfUG9zICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9QT1JSU1RGX1BvcykgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgICAgIC8qITwgUE9SL1BEUiByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1NGVFJTVEZfUG9zKSAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBSZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEZfUG9zICAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0lXREdSU1RGX1BvcykgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0lXREdSU1RGX01zayAgICAgICAgICAgICAgLyohPCBJbmRlcGVuZGVudCBXYXRjaGRvZyByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfUG9zICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1dXREdSU1RGX1BvcykgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1dXREdSU1RGX01zayAgICAgICAgICAgICAgLyohPCBXaW5kb3cgd2F0Y2hkb2cgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MUFdSUlNURl9Qb3MpICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgIC8qITwgTG93LVBvd2VyIHJlc2V0IGZsYWcgKi8NCg0KDQogDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgIEdlbmVyYWwgUHVycG9zZSBhbmQgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0NSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9NT0RFX1BvcykgLyohPCAweDMzMzMzMzMzICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggbW9kZSBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUwX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUwWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDApICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUxX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUxWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUyX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDIpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUzX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUzWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDMpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU0X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU0WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU1X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDUpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfUG9zICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTYgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU2X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU2WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDYpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU3X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU3WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9DTkZfUG9zKSAvKiE8IDB4Q0NDQ0NDQ0MgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYwX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYwX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAwKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYxX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYxWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjJbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMikgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYzX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYzX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAzKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY0X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY0WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjVbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY2X1BvcyAgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY2X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GNlsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA2KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfUG9zICAgICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY3X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY3WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19DUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfTU9ERV9Qb3MpIC8qITwgMHgzMzMzMzMzMyAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IG1vZGUgYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA4KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMCAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTBfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTBbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTApICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxMV9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxMVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTIgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTEyX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTEyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMyAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTNfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTNbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTMpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxNF9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxNFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxNCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTUgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTE1X01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTE1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfQ05GX1BvcykgLyohPCAweENDQ0NDQ0NDICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjhbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gOCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkY5X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkY5X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GOVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTFbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTEpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEyX1BvcykgICAgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEyX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEyWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxM19Qb3MpICAgICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMykgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTRfUG9zKSAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTRbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTQpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjE1X1BvcykgICAgICAvKiE8IDB4QzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjE1X01zayAgICAgICAgICAgICAgICAvKiE8IENORjE1WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKiE8KioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19JRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAzICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI1X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA2ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA5ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19PRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEzICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19CU1JSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzExX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDExICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxMl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxNSAqLw0KDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIwX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfUG9zICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIzX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjRfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSNV9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA1ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI2X1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Qb3MgICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjdfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSOF9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI5X1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfUG9zICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEwX1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfUG9zICAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjExX1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEyX1BvcykgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfUG9zICAgICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEzX1BvcykgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE0X1BvcykgICAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE1X1BvcykgICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIwX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIzX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjQgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI0X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNSAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2X1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI2X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjdfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjcgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI3X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOCAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5X1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19MQ0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s0X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLNV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzZfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s3X1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s3X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzlfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMF9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzExX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTEgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzExX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDExICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTJfUG9zKSAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMiAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTJfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxM19Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxM19Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzE0X1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTQgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzE0X01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNSAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTVfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTUgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0tLX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0sgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0tLX01zayAgICAgICAgICAgICAgICAvKiE8IExvY2sga2V5ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VWQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU4gICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX01zayAgICAgICAgICAgICAgICAgLyohPCBQSU5bMzowXSBiaXRzIChQaW4gc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQovKiE8IFBJTiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgwICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQaW4gMCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDFfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDFfTXNrICAgICAgICAgICAgIC8qITwgUGluIDEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFgyX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgyX01zayAgICAgICAgICAgICAvKiE8IFBpbiAyIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYM19Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYM19Nc2sgICAgICAgICAgICAgLyohPCBQaW4gMyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDRfUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNCAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDRfTXNrICAgICAgICAgICAgIC8qITwgUGluIDQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfTXNrICAgICAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVZDUl9QSU5fUFg1X1BvcykgICAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg1X01zayAgICAgICAgICAgICAvKiE8IFBpbiA1IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X1BvcyAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYNl9Qb3MpICAgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYNl9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19FVkNSX1BJTl9QWDdfUG9zKSAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDdfTXNrICAgICAgICAgICAgIC8qITwgUGluIDcgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFg4X1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDggICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg4X01zayAgICAgICAgICAgICAvKiE8IFBpbiA4IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X01zayAgICAgICAgICAgICAgICAoMHg5VSA8PCBBRklPX0VWQ1JfUElOX1BYOV9Qb3MpICAgLyohPCAweDAwMDAwMDA5ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYOV9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gOSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfTXNrICAgICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FVkNSX1BJTl9QWDEwX1BvcykgIC8qITwgMHgwMDAwMDAwQSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEwX01zayAgICAgICAgICAgIC8qITwgUGluIDEwIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Nc2sgICAgICAgICAgICAgICAoMHhCVSA8PCBBRklPX0VWQ1JfUElOX1BYMTFfUG9zKSAgLyohPCAweDAwMDAwMDBCICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMSAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTFfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFgxMl9Qb3MpICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxMl9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfTXNrICAgICAgICAgICAgICAgKDB4RFUgPDwgQUZJT19FVkNSX1BJTl9QWDEzX1BvcykgIC8qITwgMHgwMDAwMDAwRCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTMgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEzX01zayAgICAgICAgICAgIC8qITwgUGluIDEzIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUElOX1BYMTRfUG9zKSAgLyohPCAweDAwMDAwMDBFICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNCAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTRfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVZDUl9QSU5fUFgxNV9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1ICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxNV9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxNSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQT1JUWzI6MF0gYml0cyAoUG9ydCBzZWxlY3Rpb24pICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qITwgUE9SVCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BBICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IEEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BCX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BCX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgQiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUENfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUENfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBDIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUE9SVF9QRF9Qb3MpICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QRF9Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfUG9zICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BFX1BvcykgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BFX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgRSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfRVZPRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfRVZPRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBFdmVudCBPdXRwdXQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX01BUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1BJMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1BJMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1NQSTFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgU1BJMSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9JMkMxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fTUFQUl9JMkMxX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfSTJDMV9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBJMkMxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQyIHJlbWFwcGluZyAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDNfUkVNQVBbMTowXSBiaXRzIChVU0FSVDMgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzEgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQovKiBVU0FSVDNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX05PUkVNQVAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKFRYL1BCMTAsIFJYL1BCMTEsIENLL1BCMTIsIENUUy9QQjEzLCBSVFMvUEIxNCkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfUG9zICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChUWC9QQzEwLCBSWC9QQzExLCBDSy9QQzEyLCBDVFMvUEIxMywgUlRTL1BCMTQpICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX1BvcyAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX01zayAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUCAgICAgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoVFgvUEQ4LCBSWC9QRDksIENLL1BEMTAsIENUUy9QRDExLCBSVFMvUEQxMikgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTFfUkVNQVBbMTowXSBiaXRzIChUSU0xIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFRJTTFfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKEVUUi9QQTEyLCBDSDEvUEE4LCBDSDIvUEE5LCBDSDMvUEExMCwgQ0g0L1BBMTEsIEJLSU4vUEIxMiwgQ0gxTi9QQjEzLCBDSDJOL1BCMTQsIENIM04vUEIxNSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX1BvcyAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChFVFIvUEExMiwgQ0gxL1BBOCwgQ0gyL1BBOSwgQ0gzL1BBMTAsIENINC9QQTExLCBCS0lOL1BBNiwgQ0gxTi9QQTcsIENIMk4vUEIwLCBDSDNOL1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKEVUUi9QRTcsIENIMS9QRTksIENIMi9QRTExLCBDSDMvUEUxMywgQ0g0L1BFMTQsIEJLSU4vUEUxNSwgQ0gxTi9QRTgsIENIMk4vUEUxMCwgQ0gzTi9QRTEyKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNMl9SRU1BUFsxOjBdIGJpdHMgKFRJTTIgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgVElNMl9SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoQ0gxL0VUUi9QQTAsIENIMi9QQTEsIENIMy9QQTIsIENINC9QQTMpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMSAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL0VUUi9QQTE1LCBDSDIvUEIzLCBDSDMvUEEyLCBDSDQvUEEzKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcyAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDIgICBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKENIMS9FVFIvUEEwLCBDSDIvUEExLCBDSDMvUEIxMCwgQ0g0L1BCMTEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Qb3MgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9GVUxMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQICAgICAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgLyohPCBGdWxsIHJlbWFwIChDSDEvRVRSL1BBMTUsIENIMi9QQjMsIENIMy9QQjEwLCBDSDQvUEIxMSkgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0zX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTNfUkVNQVBbMTowXSBiaXRzIChUSU0zIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KDQovKiE8IFRJTTNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKENIMS9QQTYsIENIMi9QQTcsIENIMy9QQjAsIENINC9QQjEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUCAgICBBRklPX01BUFJfVElNM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL1BCNCwgQ0gyL1BCNSwgQ0gzL1BCMCwgQ0g0L1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKENIMS9QQzYsIENIMi9QQzcsIENIMy9QQzgsIENINC9QQzkpICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU00X1JFTUFQX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU00X1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfVElNNF9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBUSU00X1JFTUFQIGJpdCAoVElNNCByZW1hcHBpbmcpICovDQoNCg0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1BEMDFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1BEMDFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9QRDAxX1JFTUFQX01zayAgICAgICAgICAvKiE8IFBvcnQgRDAvUG9ydCBEMSBtYXBwaW5nIG9uIE9TQ19JTi9PU0NfT1VUICovDQoNCi8qITwgU1dKX0NGRyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX01zayAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDA3MDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHICAgICAgICAgICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19Nc2sgICAgICAgICAgICAgLyohPCBTV0pfQ0ZHWzI6MF0gYml0cyAoU2VyaWFsIFdpcmUgSlRBRyBjb25maWd1cmF0aW9uKSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR18yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX1JFU0VUICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdWxsIFNXSiAoSlRBRy1EUCArIFNXLURQKSA6IFJlc2V0IFN0YXRlICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX1BvcyAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX01zayAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Qb3MpIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVCAgICAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfTXNrICAgIC8qITwgRnVsbCBTV0ogKEpUQUctRFAgKyBTVy1EUCkgYnV0IHdpdGhvdXQgSk5UUlNUICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX1BvcyAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX01zayAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRSAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfTXNrIC8qITwgSlRBRy1EUCBEaXNhYmxlZCBhbmQgU1ctRFAgRW5hYmxlZCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX1BvcyAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX01zayAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Qb3MpIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFICAgICAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Nc2sgICAgIC8qITwgSlRBRy1EUCBEaXNhYmxlZCBhbmQgU1ctRFAgRGlzYWJsZWQgKi8NCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTAgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX01zayAgICAgICAgICAgIC8qITwgRVhUSSAwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9Qb3MpICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUG9zKSAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMiAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BvcykgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTMgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX01zayAgICAgICAgICAgIC8qITwgRVhUSSAzIGNvbmZpZ3VyYXRpb24gKi8NCg0KLyohPCBFWFRJMCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX01zayAgICAgICAgIC8qITwgUEJbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUERfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUERfTXNrICAgICAgICAgLyohPCBQRFswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX01zayAgICAgICAgIC8qITwgUEVbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEdfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEdfTXNrICAgICAgICAgLyohPCBQR1swXSBwaW4gKi8NCg0KLyohPCBFWFRJMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX01zayAgICAgICAgIC8qITwgUEJbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUERfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUERfTXNrICAgICAgICAgLyohPCBQRFsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX01zayAgICAgICAgIC8qITwgUEVbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEdfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEdfTXNrICAgICAgICAgLyohPCBQR1sxXSBwaW4gKi8NCg0KLyohPCBFWFRJMiBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEJfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEJfTXNrICAgICAgICAgLyohPCBQQlsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX01zayAgICAgICAgIC8qITwgUENbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEVfUG9zICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEVfTXNrICAgICAgICAgLyohPCBQRVsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX01zayAgICAgICAgIC8qITwgUEZbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Nc2sgICAgICAgICAvKiE8IFBHWzJdIHBpbiAqLw0KDQovKiE8IEVYVEkzIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEJfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEJfTXNrICAgICAgICAgLyohPCBQQlszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX01zayAgICAgICAgIC8qITwgUENbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Nc2sgICAgICAgICAvKiE8IFBEWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEVfTXNrICAgICAgICAgLyohPCBQRVszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX01zayAgICAgICAgIC8qITwgUEZbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QR19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QR19Nc2sgICAgICAgICAvKiE8IFBHWzNdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTQgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X01zayAgICAgICAgICAgIC8qITwgRVhUSSA0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9Qb3MpICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUG9zKSAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNiAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDYgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BvcykgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTcgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X01zayAgICAgICAgICAgIC8qITwgRVhUSSA3IGNvbmZpZ3VyYXRpb24gKi8NCg0KLyohPCBFWFRJNCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX01zayAgICAgICAgIC8qITwgUEJbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUERfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUERfTXNrICAgICAgICAgLyohPCBQRFs0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX01zayAgICAgICAgIC8qITwgUEVbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEdfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEdfTXNrICAgICAgICAgLyohPCBQR1s0XSBwaW4gKi8NCg0KLyogRVhUSTUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUENfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUENfTXNrICAgICAgICAgLyohPCBQQ1s1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX01zayAgICAgICAgIC8qITwgUERbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEZfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEZfTXNrICAgICAgICAgLyohPCBQRls1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX01zayAgICAgICAgIC8qITwgUEdbNV0gcGluICovDQoNCi8qITwgRVhUSTYgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX01zayAgICAgICAgIC8qITwgUEJbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUERfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUERfTXNrICAgICAgICAgLyohPCBQRFs2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX1BvcyAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX01zayAgICAgICAgIC8qITwgUEVbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEdfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEdfTXNrICAgICAgICAgLyohPCBQR1s2XSBwaW4gKi8NCg0KLyohPCBFWFRJNyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX01zayAgICAgICAgIC8qITwgUEJbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Nc2sgICAgICAgICAvKiE8IFBDWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUERfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUERfTXNrICAgICAgICAgLyohPCBQRFs3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX01zayAgICAgICAgIC8qITwgUEVbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Nc2sgICAgICAgICAvKiE8IFBGWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEdfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEdfTXNrICAgICAgICAgLyohPCBQR1s3XSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgOCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUG9zKSAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOSAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDkgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9Qb3MpIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BvcykgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTEgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX01zayAgICAgICAgICAgLyohPCBFWFRJIDExIGNvbmZpZ3VyYXRpb24gKi8NCg0KLyohPCBFWFRJOCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX01zayAgICAgICAgIC8qITwgUEJbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUERfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUERfTXNrICAgICAgICAgLyohPCBQRFs4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX01zayAgICAgICAgIC8qITwgUEVbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEdfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEdfTXNrICAgICAgICAgLyohPCBQR1s4XSBwaW4gKi8NCg0KLyohPCBFWFRJOSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX01zayAgICAgICAgIC8qITwgUEJbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUERfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUERfTXNrICAgICAgICAgLyohPCBQRFs5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX01zayAgICAgICAgIC8qITwgUEVbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEdfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEdfTXNrICAgICAgICAgLyohPCBQR1s5XSBwaW4gKi8NCg0KLyohPCBFWFRJMTAgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BCX01zayAgICAgICAgLyohPCBQQlsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUENfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BDX01zayAgICAgICAgLyohPCBQQ1sxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUERfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BEX01zayAgICAgICAgLyohPCBQRFsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BFX01zayAgICAgICAgLyohPCBQRVsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BGX01zayAgICAgICAgLyohPCBQRlsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BHX01zayAgICAgICAgLyohPCBQR1sxMF0gcGluICovDQoNCi8qITwgRVhUSTExIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfTXNrICAgICAgICAvKiE8IFBCWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUENfTXNrICAgICAgICAvKiE8IFBDWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUERfTXNrICAgICAgICAvKiE8IFBEWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfTXNrICAgICAgICAvKiE8IFBFWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfTXNrICAgICAgICAvKiE8IFBGWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfTXNrICAgICAgICAvKiE8IFBHWzExXSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUG9zKSAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMiAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BvcyAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19Qb3MpIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BvcykgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTQgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X01zayAgICAgICAgICAgLyohPCBFWFRJIDE0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUG9zKSAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNSAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTUgY29uZmlndXJhdGlvbiAqLw0KDQovKiBFWFRJMTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BCX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BDX1BvcyAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Nc2sgICAgICAgIC8qITwgUENbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BEX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Nc2sgICAgICAgIC8qITwgUERbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BFX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BGX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BHX1BvcyAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Nc2sgICAgICAgIC8qITwgUEdbMTJdIHBpbiAqLw0KDQovKiBFWFRJMTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BCX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Nc2sgICAgICAgIC8qITwgUEJbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BDX1BvcyAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Nc2sgICAgICAgIC8qITwgUENbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BEX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Nc2sgICAgICAgIC8qITwgUERbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BFX1BvcyAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Nc2sgICAgICAgIC8qITwgUEVbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BGX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Nc2sgICAgICAgIC8qITwgUEZbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BHX1BvcyAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Nc2sgICAgICAgIC8qITwgUEdbMTNdIHBpbiAqLw0KDQovKiE8IEVYVEkxNCBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfTXNrICAgICAgICAvKiE8IFBCWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfTXNrICAgICAgICAvKiE8IFBDWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfTXNrICAgICAgICAvKiE8IFBEWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfTXNrICAgICAgICAvKiE8IFBFWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfTXNrICAgICAgICAvKiE8IFBGWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfTXNrICAgICAgICAvKiE8IFBHWzE0XSBwaW4gKi8NCg0KLyohPCBFWFRJMTUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BCX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BDX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Nc2sgICAgICAgIC8qITwgUENbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BEX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Nc2sgICAgICAgIC8qITwgUERbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BFX1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BGX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BHX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Nc2sgICAgICAgIC8qITwgUEdbMTVdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19NQVBSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9JTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfSU1SX01SMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfSU1SX01SMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfSU1SX01SM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfSU1SX01SNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfSU1SX01SNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjhfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SOV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfSU1SX01SOSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0lNUl9JTTAgRVhUSV9JTVJfTVIwDQojZGVmaW5lICBFWFRJX0lNUl9JTTEgRVhUSV9JTVJfTVIxDQojZGVmaW5lICBFWFRJX0lNUl9JTTIgRVhUSV9JTVJfTVIyDQojZGVmaW5lICBFWFRJX0lNUl9JTTMgRVhUSV9JTVJfTVIzDQojZGVmaW5lICBFWFRJX0lNUl9JTTQgRVhUSV9JTVJfTVI0DQojZGVmaW5lICBFWFRJX0lNUl9JTTUgRVhUSV9JTVJfTVI1DQojZGVmaW5lICBFWFRJX0lNUl9JTTYgRVhUSV9JTVJfTVI2DQojZGVmaW5lICBFWFRJX0lNUl9JTTcgRVhUSV9JTVJfTVI3DQojZGVmaW5lICBFWFRJX0lNUl9JTTggRVhUSV9JTVJfTVI4DQojZGVmaW5lICBFWFRJX0lNUl9JTTkgRVhUSV9JTVJfTVI5DQojZGVmaW5lICBFWFRJX0lNUl9JTTEwIEVYVElfSU1SX01SMTANCiNkZWZpbmUgIEVYVElfSU1SX0lNMTEgRVhUSV9JTVJfTVIxMQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMiBFWFRJX0lNUl9NUjEyDQojZGVmaW5lICBFWFRJX0lNUl9JTTEzIEVYVElfSU1SX01SMTMNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTQgRVhUSV9JTVJfTVIxNA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNSBFWFRJX0lNUl9NUjE1DQojZGVmaW5lICBFWFRJX0lNUl9JTTE2IEVYVElfSU1SX01SMTYNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTcgRVhUSV9JTVJfTVIxNw0KI2RlZmluZSAgRVhUSV9JTVJfSU0xOCBFWFRJX0lNUl9NUjE4DQojZGVmaW5lICBFWFRJX0lNUl9JTSAgIDB4MDAwN0ZGRkZVICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIEFsbCAqLw0KIA0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0VNUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfRU1SX01SMSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAzICovDQojZGVmaW5lIEVYVElfRU1SX01SNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfRU1SX01SNCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA2ICovDQojZGVmaW5lIEVYVElfRU1SX01SN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SN19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfRU1SX01SNyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjhfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI5X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA5ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfRU1SX01SMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE1X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTZfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTZfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxN19Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE4X1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE4X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9FTVJfRU0wIEVYVElfRU1SX01SMA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xIEVYVElfRU1SX01SMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0yIEVYVElfRU1SX01SMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0zIEVYVElfRU1SX01SMw0KI2RlZmluZSAgRVhUSV9FTVJfRU00IEVYVElfRU1SX01SNA0KI2RlZmluZSAgRVhUSV9FTVJfRU01IEVYVElfRU1SX01SNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU02IEVYVElfRU1SX01SNg0KI2RlZmluZSAgRVhUSV9FTVJfRU03IEVYVElfRU1SX01SNw0KI2RlZmluZSAgRVhUSV9FTVJfRU04IEVYVElfRU1SX01SOA0KI2RlZmluZSAgRVhUSV9FTVJfRU05IEVYVElfRU1SX01SOQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMCBFWFRJX0VNUl9NUjEwDQojZGVmaW5lICBFWFRJX0VNUl9FTTExIEVYVElfRU1SX01SMTENCiNkZWZpbmUgIEVYVElfRU1SX0VNMTIgRVhUSV9FTVJfTVIxMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMyBFWFRJX0VNUl9NUjEzDQojZGVmaW5lICBFWFRJX0VNUl9FTTE0IEVYVElfRU1SX01SMTQNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTUgRVhUSV9FTVJfTVIxNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNiBFWFRJX0VNUl9NUjE2DQojZGVmaW5lICBFWFRJX0VNUl9FTTE3IEVYVElfRU1SX01SMTcNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTggRVhUSV9FTVJfTVIxOA0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9SVFNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIzX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAzICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA2ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI5ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA5ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjExX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjExICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEyX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0X1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3X1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE3X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE4X1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE4X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE4X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE4ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE4X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMCBFWFRJX1JUU1JfVFIwDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxIEVYVElfUlRTUl9UUjENCiNkZWZpbmUgIEVYVElfUlRTUl9SVDIgRVhUSV9SVFNSX1RSMg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMyBFWFRJX1JUU1JfVFIzDQojZGVmaW5lICBFWFRJX1JUU1JfUlQ0IEVYVElfUlRTUl9UUjQNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDUgRVhUSV9SVFNSX1RSNQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNiBFWFRJX1JUU1JfVFI2DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ3IEVYVElfUlRTUl9UUjcNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDggRVhUSV9SVFNSX1RSOA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUOSBFWFRJX1JUU1JfVFI5DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMCBFWFRJX1JUU1JfVFIxMA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTEgRVhUSV9SVFNSX1RSMTENCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEyIEVYVElfUlRTUl9UUjEyDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMyBFWFRJX1JUU1JfVFIxMw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTQgRVhUSV9SVFNSX1RSMTQNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE1IEVYVElfUlRTUl9UUjE1DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNiBFWFRJX1JUU1JfVFIxNg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTcgRVhUSV9SVFNSX1RSMTcNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE4IEVYVElfUlRTUl9UUjE4DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0ZUU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfRlRTUl9UUjBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjIgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAzICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjUgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA2ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA3ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjggICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA5ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMSAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxN19Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxN19Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNyAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMThfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMThfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMCBFWFRJX0ZUU1JfVFIwDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxIEVYVElfRlRTUl9UUjENCiNkZWZpbmUgIEVYVElfRlRTUl9GVDIgRVhUSV9GVFNSX1RSMg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMyBFWFRJX0ZUU1JfVFIzDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ0IEVYVElfRlRTUl9UUjQNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDUgRVhUSV9GVFNSX1RSNQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNiBFWFRJX0ZUU1JfVFI2DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ3IEVYVElfRlRTUl9UUjcNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDggRVhUSV9GVFNSX1RSOA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUOSBFWFRJX0ZUU1JfVFI5DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMCBFWFRJX0ZUU1JfVFIxMA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTEgRVhUSV9GVFNSX1RSMTENCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEyIEVYVElfRlRTUl9UUjEyDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMyBFWFRJX0ZUU1JfVFIxMw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTQgRVhUSV9GVFNSX1RSMTQNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE1IEVYVElfRlRTUl9UUjE1DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNiBFWFRJX0ZUU1JfVFIxNg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTcgRVhUSV9GVFNSX1RSMTcNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE4IEVYVElfRlRTUl9UUjE4DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1NXSUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIwX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIwX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIyX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIyX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIzX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIzX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAzICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI0X1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI0X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1X1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI1X1BvcykgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI1X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI2X1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI2X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA2ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3X1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI3X1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI3X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4X1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI4X1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI4X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI5X1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI5X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA5ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMF9Qb3MgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMF9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTFfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTFfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTFfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTEgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTFfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyX1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEyX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEyX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxM19Qb3MgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxM19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxM19Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMyAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxM19Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTRfUG9zICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTRfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTRfUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTQgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTRfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1X1BvcyAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE1X1BvcykgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE1X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNl9Qb3MgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNl9Qb3MpICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNiAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNl9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTdfUG9zICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTdfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTdfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTcgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTdfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE4X1BvcyAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE4X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE4X1BvcykgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE4ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE4X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kwIEVYVElfU1dJRVJfU1dJRVIwDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEgRVhUSV9TV0lFUl9TV0lFUjENCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMiBFWFRJX1NXSUVSX1NXSUVSMg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kzIEVYVElfU1dJRVJfU1dJRVIzDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTQgRVhUSV9TV0lFUl9TV0lFUjQNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNSBFWFRJX1NXSUVSX1NXSUVSNQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k2IEVYVElfU1dJRVJfU1dJRVI2DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTcgRVhUSV9TV0lFUl9TV0lFUjcNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJOCBFWFRJX1NXSUVSX1NXSUVSOA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k5IEVYVElfU1dJRVJfU1dJRVI5DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEwIEVYVElfU1dJRVJfU1dJRVIxMA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMSBFWFRJX1NXSUVSX1NXSUVSMTENCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTIgRVhUSV9TV0lFUl9TV0lFUjEyDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEzIEVYVElfU1dJRVJfU1dJRVIxMw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNCBFWFRJX1NXSUVSX1NXSUVSMTQNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTUgRVhUSV9TV0lFUl9TV0lFUjE1DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE2IEVYVElfU1dJRVJfU1dJRVIxNg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNyBFWFRJX1NXSUVSX1NXSUVSMTcNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTggRVhUSV9TV0lFUl9TV0lFUjE4DQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9QUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUFJfUFIwX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIwX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIwX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUFJfUFIwICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIwX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfUFJfUFIxICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxICovDQojZGVmaW5lIEVYVElfUFJfUFIyX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIyX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIyX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfUFJfUFIyICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIyX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAyICovDQojZGVmaW5lIEVYVElfUFJfUFIzX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIzX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIzX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUFJfUFIzICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIzX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAzICovDQojZGVmaW5lIEVYVElfUFJfUFI0X1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI0X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI0X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfUFJfUFI0ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI0X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA0ICovDQojZGVmaW5lIEVYVElfUFJfUFI1X1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI1X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI1X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfUFJfUFI1ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI1X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUFJfUFI2X1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI2X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI2X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUFJfUFI2ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI2X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA2ICovDQojZGVmaW5lIEVYVElfUFJfUFI3X1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI3X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI3X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfUFJfUFI3ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI3X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA3ICovDQojZGVmaW5lIEVYVElfUFJfUFI4X1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI4X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI4X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfUFJfUFI4ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI4X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUFJfUFI5X1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI5X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUFJfUFI5ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI5X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA5ICovDQojZGVmaW5lIEVYVElfUFJfUFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTFfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEyICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjEyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfUFJfUFIxM19Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE1ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfUFJfUFIxNl9Qb3MgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTdfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE4X1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE4X1BvcykgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE4ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9QUl9QSUYwIEVYVElfUFJfUFIwDQojZGVmaW5lICBFWFRJX1BSX1BJRjEgRVhUSV9QUl9QUjENCiNkZWZpbmUgIEVYVElfUFJfUElGMiBFWFRJX1BSX1BSMg0KI2RlZmluZSAgRVhUSV9QUl9QSUYzIEVYVElfUFJfUFIzDQojZGVmaW5lICBFWFRJX1BSX1BJRjQgRVhUSV9QUl9QUjQNCiNkZWZpbmUgIEVYVElfUFJfUElGNSBFWFRJX1BSX1BSNQ0KI2RlZmluZSAgRVhUSV9QUl9QSUY2IEVYVElfUFJfUFI2DQojZGVmaW5lICBFWFRJX1BSX1BJRjcgRVhUSV9QUl9QUjcNCiNkZWZpbmUgIEVYVElfUFJfUElGOCBFWFRJX1BSX1BSOA0KI2RlZmluZSAgRVhUSV9QUl9QSUY5IEVYVElfUFJfUFI5DQojZGVmaW5lICBFWFRJX1BSX1BJRjEwIEVYVElfUFJfUFIxMA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMSBFWFRJX1BSX1BSMTENCiNkZWZpbmUgIEVYVElfUFJfUElGMTIgRVhUSV9QUl9QUjEyDQojZGVmaW5lICBFWFRJX1BSX1BJRjEzIEVYVElfUFJfUFIxMw0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNCBFWFRJX1BSX1BSMTQNCiNkZWZpbmUgIEVYVElfUFJfUElGMTUgRVhUSV9QUl9QUjE1DQojZGVmaW5lICBFWFRJX1BSX1BJRjE2IEVYVElfUFJfUFIxNg0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNyBFWFRJX1BSX1BSMTcNCiNkZWZpbmUgIEVYVElfUFJfUElGMTggRVhUSV9QUl9QUjE4DQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSBDb250cm9sbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9JU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfSVNSX0dJRjFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjEgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMV9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMV9Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGMl9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9JU1JfR0lGMiAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjJfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYyX1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYyICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYyX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYyICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYzX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYzICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGM19Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjNfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjMgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjNfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjMgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjRfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjQgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY1X1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY1X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY1ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY1X1BvcyAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY1X1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY1ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY2X1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY2X1BvcykgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY2ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNl9Qb3MpICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjZfUG9zICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjZfUG9zKSAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjYgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjZfUG9zICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjZfUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjYgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjdfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjdfUG9zKSAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjcgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY3X1BvcykgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGN19Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGN19Qb3MpICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGN19Qb3MgICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGN19Qb3MpICAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBFcnJvciBmbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0lGQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYxX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUYxX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYxICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUYxX01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjFfUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjFfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjEgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjFfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjFfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjEgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUYyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUYyX01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjJfUG9zICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjJfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjIgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjJfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjJfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjIgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYzX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUYzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUYzX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYzICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUYzX01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjNfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjNfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjMgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjNfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGM19Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGM19Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjNfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjNfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjMgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjNfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY0X1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY0X1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY0ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY0X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjRfUG9zICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjRfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjQgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNF9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjRfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjRfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjQgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY1X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY1X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjVfUG9zICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjVfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjUgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNV9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGNV9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjVfUG9zICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjVfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjUgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY2X1BvcyAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY2X1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY2ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY2X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjZfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjZfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjYgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjZfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNl9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGNl9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjZfUG9zICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjZfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjYgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjZfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY3X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY3X1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY3ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY3X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjdfUG9zICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjdfUG9zKSAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjcgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGN19Qb3MgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGN19Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjdfUG9zICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjdfUG9zKSAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjcgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NDUiByZWdpc3RlciAgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DQ1JfRU5fUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfRU5fUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9DQ1JfRU4gICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfRU5fTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX1RDSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1RDSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBETUFfQ0NSX1RDSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgY29tcGxldGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX0hUSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0hUSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0hUSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfQ0NSX0hUSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0hUSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSGFsZiBUcmFuc2ZlciBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfVEVJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfVEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfVEVJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9DQ1JfVEVJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfVEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc2ZlciBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfRElSX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfRElSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfRElSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9DQ1JfRElSICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfRElSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIGRpcmVjdGlvbiAqLw0KI2RlZmluZSBETUFfQ0NSX0NJUkNfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0NJUkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0NJUkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfQ0NSX0NJUkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0NJUkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2lyY3VsYXIgbW9kZSAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkNfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BJTkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BJTkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BJTkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBpbmNyZW1lbnQgbW9kZSAqLw0KI2RlZmluZSBETUFfQ0NSX01JTkNfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01JTkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01JTkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBETUFfQ0NSX01JTkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01JTkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IGluY3JlbWVudCBtb2RlICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QU0laRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBTSVpFWzE6MF0gYml0cyAoUGVyaXBoZXJhbCBzaXplKSAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkUgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTVNJWkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBNU0laRVsxOjBdIGJpdHMgKE1lbW9yeSBzaXplKSAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfUExfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUExfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfUExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIERNQV9DQ1JfUEwgICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUExfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQTFsxOjBdIGJpdHMoQ2hhbm5lbCBQcmlvcml0eSBsZXZlbCkgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTF8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTF8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU1fUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU1fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01FTTJNRU1fUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU0gICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01FTTJNRU1fTXNrICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IHRvIG1lbW9yeSBtb2RlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ05EVFIgIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTkRUUl9ORFRfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTkRUUl9ORFRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IERNQV9DTkRUUl9ORFRfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIERNQV9DTkRUUl9ORFQgICAgICAgICAgICAgICAgICAgICAgIERNQV9DTkRUUl9ORFRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBOdW1iZXIgb2YgZGF0YSB0byBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NQQVIgIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ1BBUl9QQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ1BBUl9QQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NQQVJfUEFfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ1BBUl9QQSAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ1BBUl9QQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ01BUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTUFSX01BX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTUFSX01BX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ01BUl9NQV9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DTUFSX01BICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DTUFSX01BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgIEFuYWxvZyB0byBEaWdpdGFsIENvbnZlcnRlciAoQURDKSAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoNCiAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgZmFtaWx5KQ0KICovDQovKiBOb3RlOiBObyBzcGVjaWZpYyBtYWNybyBmZWF0dXJlIG9uIHRoaXMgZGV2aWNlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUl9BV0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9BV0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9BV0RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUl9BV0QgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9BV0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfRU9TX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfRU9TX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfRU9TX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1JfRU9TICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfRU9TX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX0pFT1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0pFT1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0pFT1NfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NSX0pFT1MgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0pFT1NfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfSlNUUlRfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfSlNUUlRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfSlNUUlRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1JfSlNUUlQgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfSlNUUlRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGNvbnZlcnNpb24gc3RhcnQgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfU1RSVF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfU1JfU1RSVCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCBmbGFnICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBBRENfU1JfRU9DICAgICAgICAgICAgICAgICAgICAgICAgICAoQURDX1NSX0VPUykNCiNkZWZpbmUgIEFEQ19TUl9KRU9DICAgICAgICAgICAgICAgICAgICAgICAgIChBRENfU1JfSkVPUykNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RDSF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSCAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RDSF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBtb25pdG9yZWQgY2hhbm5lbCBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0VPU0lFX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0VPU0lFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0VPU0lFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfQ1IxX0VPU0lFICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0VPU0lFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRElFX1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRElFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXRElFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRElFICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRElFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX0pFT1NJRV9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pFT1NJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pFT1NJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfQ1IxX0pFT1NJRSAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pFT1NJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0NSMV9TQ0FOX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9TQ0FOX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9TQ0FOX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9TQ0FOICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9TQ0FOX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBzY2FuIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RTR0xfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RTR0xfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RTR0xfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RTR0wgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RTR0xfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBtb25pdG9yaW5nIGEgc2luZ2xlIGNoYW5uZWwgb3IgYWxsIGNoYW5uZWxzICovDQojZGVmaW5lIEFEQ19DUjFfSkFVVE9fUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkFVVE9fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkFVVE9fUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkFVVE8gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkFVVE9fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgYXV0b21hdGljIHRyaWdnZXIgbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NFTl9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0RJU0NFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0RJU0NFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NFTiAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0RJU0NFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0pESVNDRU5fUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pESVNDRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pESVNDRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0pESVNDRU4gICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pESVNDRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciBkaXNjb250aW51b3VzIG1vZGUgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fUG9zICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwRTAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU0gICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0RJU0NOVU1fTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbnVtYmVyIG9mIHJhbmtzICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgQURDX0NSMV9KQVdERU5fUG9zICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KQVdERU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KQVdERU5fUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVdERU4gICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KQVdERU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBlbmFibGUgb24gc2NvcGUgQURDIGdyb3VwIGluamVjdGVkICovDQojZGVmaW5lIEFEQ19DUjFfQVdERU5fUG9zICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdERU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfQVdERU5fUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19DUjFfQVdERU4gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdERU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZW5hYmxlIG9uIHNjb3BlIEFEQyBncm91cCByZWd1bGFyICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBBRENfQ1IxX0VPQ0lFICAgICAgICAgICAgICAgICAgICAgICAoQURDX0NSMV9FT1NJRSkNCiNkZWZpbmUgIEFEQ19DUjFfSkVPQ0lFICAgICAgICAgICAgICAgICAgICAgIChBRENfQ1IxX0pFT1NJRSkNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NSMl9BRE9OX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9BRE9OX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9BRE9OX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0NSMl9BRE9OICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BRE9OX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBlbmFibGUgKi8NCiNkZWZpbmUgQURDX0NSMl9DT05UX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9DT05UX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9DT05UX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0NSMl9DT05UICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9DT05UX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnRpbnVvdXMgY29udmVyc2lvbiBtb2RlICovDQojZGVmaW5lIEFEQ19DUjJfQ0FMX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQ0FMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQ0FMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19DUjJfQ0FMICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQ0FMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgY2FsaWJyYXRpb24gc3RhcnQgKi8NCiNkZWZpbmUgQURDX0NSMl9SU1RDQUxfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9SU1RDQUxfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9SU1RDQUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0NSMl9SU1RDQUwgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9SU1RDQUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjYWxpYnJhdGlvbiByZXNldCAqLw0KI2RlZmluZSBBRENfQ1IyX0RNQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0RNQV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIERNQSB0cmFuc2ZlciBlbmFibGUgKi8NCiNkZWZpbmUgQURDX0NSMl9BTElHTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUwgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGV4dGVybmFsIHRyaWdnZXIgc291cmNlICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9KRVhUVFJJR19Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9KRVhUVFJJR19Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUVFJJRyAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9KRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBleHRlcm5hbCB0cmlnZ2VyIGVuYWJsZSAqLw0KDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMX1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMEUwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRVhUU0VMX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBleHRlcm5hbCB0cmlnZ2VyIHNvdXJjZSAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19DUjJfRVhUVFJJR19Qb3MgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRVhUVFJJR19Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUVFJJRyAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBleHRlcm5hbCB0cmlnZ2VyIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0pTV1NUQVJUX1BvcyAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pTV1NUQVJUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pTV1NUQVJUX1BvcykgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pTV1NUQVJUICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0pTV1NUQVJUX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGNvbnZlcnNpb24gc3RhcnQgKi8NCiNkZWZpbmUgQURDX0NSMl9TV1NUQVJUX1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9TV1NUQVJUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9TV1NUQVJUX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9TV1NUQVJUICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9TV1NUQVJUX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnZlcnNpb24gc3RhcnQgKi8NCiNkZWZpbmUgQURDX0NSMl9UU1ZSRUZFX1BvcyAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9UU1ZSRUZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9UU1ZSRUZFX1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9UU1ZSRUZFICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9UU1ZSRUZFX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBpbnRlcm5hbCBwYXRoIHRvIFZyZWZJbnQgYW5kIHRlbXBlcmF0dXJlIHNlbnNvciBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TTVBSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDEwX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEwIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMSAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTIgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTIgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDBFMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDEzX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEzIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNCAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAzODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTUgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTUgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2X1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAxQzAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE2X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE2IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN19Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN19Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwRTAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNyAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxN19Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TTVBSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDAgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDAgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxQzAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDIgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDIgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDBFMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDMgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDNfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDMgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDQgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDRfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDQgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMzgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDUgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDUgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAxQzAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDYgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDZfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDYgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfUG9zICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDBFMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDcgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDdfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDcgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDggICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDhfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDggc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfUG9zICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MzgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDkgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDlfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDkgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlIxX0pPRkZTRVQxX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMSAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMSBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlIyX0pPRkZTRVQyX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlIyX0pPRkZTRVQyX01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjJfSk9GRlNFVDJfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlIyX0pPRkZTRVQyICAgICAgICAgICAgICAgICAgQURDX0pPRlIyX0pPRkZTRVQyX01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAyIG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjNfSk9GRlNFVDNfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjNfSk9GRlNFVDNfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSM19KT0ZGU0VUM19Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjNfSk9GRlNFVDMgICAgICAgICAgICAgICAgICBBRENfSk9GUjNfSk9GRlNFVDNfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlI0X0pPRkZTRVQ0X1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNCAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgNCBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0hUUl9IVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0hUUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSFRSX0hUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0hUUl9IVCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0hUUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSB0aHJlc2hvbGQgaGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19MVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfTFRSX0xUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfTFRSX0xUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19MVFJfTFRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfTFRSX0xUICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfTFRSX0xUX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIHRocmVzaG9sZCBsb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExMyAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEzICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfU1ExNF9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNCAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDE0ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfU1ExNV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNSAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDE1ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfU1ExNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNiAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDE2ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfTF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfTF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBzY2FuIGxlbmd0aCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTcgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNyAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NROF9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NROF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NROF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA4ICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1E5X1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1E5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1E5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDkgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTExX1BvcyAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTExX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMUYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTExX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMSAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfUG9zICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDNFMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTIgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMiAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTEgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRMl9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAyICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1EzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1EzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1EzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDMgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTRfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTQgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRNV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAxRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA1ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1E2X1BvcyAgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1E2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4M0UwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1E2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDYgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSlNRUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMSAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRMl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMiAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAyICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRM19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMyAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNCAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSkxfUG9zICAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSkxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgQURDX0pTUVJfSkxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSkwgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSkxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgc2NhbiBsZW5ndGggKi8NCiNkZWZpbmUgQURDX0pTUVJfSkxfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0pTUVJfSkxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSkxfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0pTUVJfSkxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjFfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjFfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjFfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjFfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjFfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSMl9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSMl9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSMl9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSMl9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSMl9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIzX0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIzX0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjRfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjRfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjRfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjRfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjRfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0IGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfRFJfREFUQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfRFJfREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfRFJfREFUQV9Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfRFJfREFUQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfRFJfREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBkYXRhICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXJzIChUSU0pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ1IxX0NFTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NFTl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NFTiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0NFTl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDb3VudGVyIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ1IxX1VESVNfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX1VESVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX1VESVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fQ1IxX1VESVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX1VESVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgZGlzYWJsZSAqLw0KI2RlZmluZSBUSU1fQ1IxX1VSU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX1VSU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX1VSU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ1IxX1VSUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX1VSU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgcmVxdWVzdCBzb3VyY2UgKi8NCiNkZWZpbmUgVElNX0NSMV9PUE1fUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9PUE1fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9PUE1fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NSMV9PUE0gICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9PUE1fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8T25lIHB1bHNlIG1vZGUgKi8NCiNkZWZpbmUgVElNX0NSMV9ESVJfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9ESVJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NSMV9ESVIgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8RGlyZWN0aW9uICovDQoNCiNkZWZpbmUgVElNX0NSMV9DTVNfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DTVNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DTVNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q01TWzE6MF0gYml0cyAoQ2VudGVyLWFsaWduZWQgbW9kZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DUjFfQ01TXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ01TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DUjFfQ01TXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjFfQ01TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NSMV9BUlBFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9BUlBFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9BUlBFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NSMV9BUlBFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9BUlBFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QXV0by1yZWxvYWQgcHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0NLRF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NLRF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRCAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0NLRF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDS0RbMTowXSBiaXRzIChjbG9jayBkaXZpc2lvbikgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0RfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DS0RfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0RfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NSMV9DS0RfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ1IyX0NDUENfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX0NDUENfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX0NDUENfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDUEMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX0NDUENfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgUHJlbG9hZGVkIENvbnRyb2wgKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1VTX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ1VTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ1VTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1VTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ1VTX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIENvbnRyb2wgVXBkYXRlIFNlbGVjdGlvbiAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDRFNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX0NDRFNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX0NDRFNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDRFMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX0NDRFNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgRE1BIFNlbGVjdGlvbiAqLw0KDQojZGVmaW5lIFRJTV9DUjJfTU1TX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfTU1TX01zayAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfTU1TX01zayAgICAgICAgICAgICAgICAgICAgLyohPE1NU1syOjBdIGJpdHMgKE1hc3RlciBNb2RlIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVNfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9NTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVNfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NSMl9NTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVNfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NSMl9NTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ1IyX1RJMVNfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX1RJMVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX1RJMVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ1IyX1RJMVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX1RJMVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxUSTEgU2VsZWN0aW9uICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMV9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDEgKE9DMSBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMU5fUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMU4gICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMU5fTXNrICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDEgKE9DMU4gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzJfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzIgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzJfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAyIChPQzIgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzJOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzJOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzJOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzJOICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzJOX01zayAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAyIChPQzJOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMzX01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMyAoT0MzIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzTl9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMzTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMzTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzTiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMzTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMyAoT0MzTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTNCAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDQgKE9DNCBvdXRwdXQpICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1NNQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfU01TX01zayAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfU01TX01zayAgICAgICAgICAgICAgICAgICAvKiE8U01TWzI6MF0gYml0cyAoU2xhdmUgbW9kZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9TTUNSX1NNU18wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX1NNU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9TTUNSX1NNU18xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX1NNU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9TTUNSX1NNU18yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9TTUNSX1NNU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfVFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfVFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfVFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8VFNbMjowXSBiaXRzIChUcmlnZ2VyIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFNfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFNfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFNfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9NU01fUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9NU01fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9NU01fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fU01DUl9NU00gICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9NU01fTXNrICAgICAgICAgICAgICAgICAgIC8qITxNYXN0ZXIvc2xhdmUgbW9kZSAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX0VURl9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VURl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VURl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEVURlszOjBdIGJpdHMgKEV4dGVybmFsIHRyaWdnZXIgZmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFMgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VUUFNfTXNrICAgICAgICAgICAgICAgICAgLyohPEVUUFNbMTowXSBiaXRzIChFeHRlcm5hbCB0cmlnZ2VyIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQU18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQU18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FQ0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FQ0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FQ0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FQ0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FQ0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFeHRlcm5hbCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQX1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRQX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRQX01zayAgICAgICAgICAgICAgICAgICAvKiE8RXh0ZXJuYWwgdHJpZ2dlciBwb2xhcml0eSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9ESUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9ESUVSX1VJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1VJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1VJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9ESUVSX1VJRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1VJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMUlFX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMUlFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMUlFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MySUVfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MySUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MySUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MySUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MySUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNJRV9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzNJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzNJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzNJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNElFX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDNElFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDNElFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNElFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDNElFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ09NSUVfUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ09NSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ09NSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ09NSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ09NSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q09NIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfVElFX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVElFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVElFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfVElFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVElFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0JJRV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0JJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0JJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9ESUVSX0JJRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0JJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfVURFX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVURFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVURFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfVURFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVURFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFERV9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzFERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzFERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzFERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MyREVfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MyREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MyREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MyREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MyREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0RFX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDM0RFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDM0RFX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0RFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDM0RFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRERV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzRERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzRERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzRERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ09NREVfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ09NREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ09NREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ09NREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ09NREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q09NIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9UREVfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9UREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9UREVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9UREUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9UREVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9TUl9VSUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9VSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9VSUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9TUl9VSUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9VSUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MxSUZfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MxSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MxSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fU1JfQ0MxSUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MxSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MySUZfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MySUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MySUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MySUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MySUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzSUZfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MzSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MzSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzSUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MzSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0M0SUZfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0M0SUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0M0SUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0M0SUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0M0SUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ09NSUZfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ09NSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ09NSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fU1JfQ09NSUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ09NSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDT00gaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX1RJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX1RJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX1RJRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX1NSX1RJRiAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX1RJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQklGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQklGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQklGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fU1JfQklGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQklGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MxT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MxT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MxT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MxT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MxT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzJPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzJPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzJPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9TUl9DQzJPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzJPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDM09GX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDM09GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDM09GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDM09GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDM09GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0M0T0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0M0T0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0M0T0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0M0T0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0M0T0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBPdmVyY2FwdHVyZSBGbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0VHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0VHUl9VR19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9VR19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9VR19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0VHUl9VRyAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9VR19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzFHX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzFHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzFHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzFHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzFHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMkdfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDMkdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDMkdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMkcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDMkdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MzR19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MzR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MzR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9FR1JfQ0MzRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MzR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzRHX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzRHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzRHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzRHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzRHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NPTUdfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NPTUdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NPTUdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fRUdSX0NPTUcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NPTUdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgQ29udHJvbCBVcGRhdGUgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX1RHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX1RHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX1RHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fRUdSX1RHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX1RHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9CR19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9CR19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9CR19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0VHUl9CRyAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9CR19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgR2VuZXJhdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDTVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9DQzFTX01zayAgICAgICAgICAgICAgICAgLyohPENDMVNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMSBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMUZFX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMUZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMUZFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMUZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMUZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMSBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMU1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MxTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDEgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxQ0VfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxQ2xlYXIgRW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMlMgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0NDMlNfTXNrICAgICAgICAgICAgICAgICAvKiE8Q0MyU1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSAyIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyRkVfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyRkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyRkUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyRkVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIEZhc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJQRV9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJQRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJQRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgUHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyTV9Nc2sgICAgICAgICAgICAgICAgIC8qITxPQzJNWzI6MF0gYml0cyAoT3V0cHV0IENvbXBhcmUgMiBNb2RlKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJDRV9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJDRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJDRV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJDRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJDRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgQ2xlYXIgRW5hYmxlICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxUFNDX1BvcyAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxUFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfSUMxUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxUFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMxUFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzFQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDEgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxUFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMxUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxUFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMxUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzFGX01zayAgICAgICAgICAgICAgICAgLyohPElDMUZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDEgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJQU0NfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9JQzJQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzJQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDMlBTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMiBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzJQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzJQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkYgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMkZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUMyRlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMiBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NNUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDTVIyX0NDM1NfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0NDM1NfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0NDM1NfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0NDM1MgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0NDM1NfTXNrICAgICAgICAgICAgICAgICAvKiE8Q0MzU1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSAzIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0NDM1NfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0NDM1NfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0NDM1NfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0NDM1NfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzRkVfUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzRkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzRkUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzRkVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIEZhc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNQRV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNQRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNQRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDMgUHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzTV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzTV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzTSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzTV9Nc2sgICAgICAgICAgICAgICAgIC8qITxPQzNNWzI6MF0gYml0cyAoT3V0cHV0IENvbXBhcmUgMyBNb2RlKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzTV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzTV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzTV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNDRV9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNDRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNDRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNDRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNDRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDMgQ2xlYXIgRW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0NDNFNfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0NDNFNfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0NDNFNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0NDNFMgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0NDNFNfTXNrICAgICAgICAgICAgICAgICAvKiE8Q0M0U1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSA0IFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0NDNFNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0NDNFNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0NDNFNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0NDNFNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0RkVfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0RkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0RkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0RkUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0RkVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IEZhc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRQRV9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRQRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRQRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDQgUHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0TV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0TV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0TSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0TV9Nc2sgICAgICAgICAgICAgICAgIC8qITxPQzRNWzI6MF0gYml0cyAoT3V0cHV0IENvbXBhcmUgNCBNb2RlKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0TV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0TV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0TV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRDRV9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRDRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRDRV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRDRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRDRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDQgQ2xlYXIgRW5hYmxlICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDX1BvcyAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUMzUFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzNQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDMgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzNGX01zayAgICAgICAgICAgICAgICAgLyohPElDM0ZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDMgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzRQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDNFBTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgNCBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEYgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDNEZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUM0RlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgNCBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxRV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxRSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFQX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTkVfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxTkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxTkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTkUgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxTkVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5QX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMU5QX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMU5QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMkVfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMkVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMkUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMkVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyUF9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5FX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMk5FX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5FICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMk5FX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJOUF9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJOUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJOUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJOUCAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJOUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNFX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM1BfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM1BfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM1BfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM1AgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM1BfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNORV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNORV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNORV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNORSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNORV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTlBfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzTlBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzTlBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTlAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzTlBfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0RV9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0M0RV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0M0RV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0RSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0M0RV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRQX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzRQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzRQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzRQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBvdXRwdXQgUG9sYXJpdHkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ05UIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ05UX0NOVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ05UX0NOVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgVElNX0NOVF9DTlRfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBUSU1fQ05UX0NOVCAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ05UX0NOVF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDb3VudGVyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1BTQyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1BTQ19QU0NfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1BTQ19QU0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX1BTQ19QU0NfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX1BTQ19QU0MgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1BTQ19QU0NfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8UHJlc2NhbGVyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0FSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0FSUl9BUlJfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0FSUl9BUlJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFRJTV9BUlJfQVJSX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgVElNX0FSUl9BUlIgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0FSUl9BUlJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8YWN0dWFsIGF1dG8tcmVsb2FkIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1JDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1JDUl9SRVBfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1JDUl9SRVBfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFRJTV9SQ1JfUkVQX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgVElNX1JDUl9SRVAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1JDUl9SRVBfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8UmVwZXRpdGlvbiBDb3VudGVyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjFfQ0NSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjFfQ0NSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjFfQ0NSMV9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjFfQ0NSMSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjFfQ0NSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSMl9DQ1IyX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSMl9DQ1IyX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSMl9DQ1IyX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSMl9DQ1IyICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSMl9DQ1IyX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IzX0NDUjNfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IzX0NDUjNfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IzX0NDUjNfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IzX0NDUjMgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IzX0NDUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjRfQ0NSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjRfQ0NSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjRfQ0NSNF9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjRfQ0NSNCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjRfQ0NSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQkRUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9EVEdfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9EVEdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxEVEdbMDo3XSBiaXRzIChEZWFkLVRpbWUgR2VuZXJhdG9yIHNldC11cCkgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzUgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzYgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHXzcgICAgICAgICAgICAgICAgICAgICAgKDB4ODBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQkRUUl9MT0NLX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9MT0NLX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQkRUUl9MT0NLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9MT0NLICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9MT0NLX01zayAgICAgICAgICAgICAgICAgIC8qITxMT0NLWzE6MF0gYml0cyAoTG9jayBDb25maWd1cmF0aW9uKSAqLw0KI2RlZmluZSBUSU1fQkRUUl9MT0NLXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9MT0NLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9MT0NLXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQkRUUl9MT0NLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9CRFRSX09TU0lfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX09TU0lfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX09TU0lfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9CRFRSX09TU0kgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX09TU0lfTXNrICAgICAgICAgICAgICAgICAgLyohPE9mZi1TdGF0ZSBTZWxlY3Rpb24gZm9yIElkbGUgbW9kZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9PU1NSX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9PU1NSX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9PU1NSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9PU1NSICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9PU1NSX01zayAgICAgICAgICAgICAgICAgIC8qITxPZmYtU3RhdGUgU2VsZWN0aW9uIGZvciBSdW4gbW9kZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9CS0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9CS0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9CS0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktQX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfQktQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfQktQX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktQICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfQktQX01zayAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0JEVFJfQU9FX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfQU9FX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfQU9FX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfQU9FICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfQU9FX01zayAgICAgICAgICAgICAgICAgICAvKiE8QXV0b21hdGljIE91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfTU9FX1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfTU9FX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfTU9FX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTU9FICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfTU9FX01zayAgICAgICAgICAgICAgICAgICAvKiE8TWFpbiBPdXRwdXQgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RDUl9EQkFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RDUl9EQkFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkEgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RDUl9EQkFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8REJBWzQ6MF0gYml0cyAoRE1BIEJhc2UgQWRkcmVzcykgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkFfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkFfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkFfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkFfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0RDUl9EQkFfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBUSU1fRENSX0RCTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRENSX0RCTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMUYwMCAqLw0KI2RlZmluZSBUSU1fRENSX0RCTCAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRENSX0RCTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxEQkxbNDowXSBiaXRzIChETUEgQnVyc3QgTGVuZ3RoKSAqLw0KI2RlZmluZSBUSU1fRENSX0RCTF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fRENSX0RCTF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fRENSX0RCTF8yICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fRENSX0RCTF8zICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fRENSX0RCTF80ICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9ETUFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9ETUFSX0RNQUJfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ETUFSX0RNQUJfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9ETUFSX0RNQUJfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9ETUFSX0RNQUIgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ETUFSX0RNQUJfTXNrICAgICAgICAgICAgICAgICAgLyohPERNQSByZWdpc3RlciBmb3IgYnVyc3QgYWNjZXNzZXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhbC1UaW1lIENsb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NSSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DUkhfU0VDSUVfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkhfU0VDSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkhfU0VDSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19DUkhfU0VDSUUgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkhfU0VDSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTZWNvbmQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSVENfQ1JIX0FMUklFX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JIX0FMUklFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JIX0FMUklFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSVENfQ1JIX0FMUklFICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JIX0FMUklFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQWxhcm0gSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSVENfQ1JIX09XSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JIX09XSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JIX09XSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSVENfQ1JIX09XSUUgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JIX09XSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcmZsb1cgSW50ZXJydXB0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ1JMX1NFQ0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX1NFQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX1NFQ0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSVENfQ1JMX1NFQ0YgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX1NFQ0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgU2Vjb25kIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9BTFJGX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9BTFJGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9BTFJGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX0NSTF9BTFJGICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9BTFJGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9PV0ZfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9PV0ZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9PV0ZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX0NSTF9PV0YgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9PV0ZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJmbG9XIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9SU0ZfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9SU0ZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9SU0ZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUlRDX0NSTF9SU0YgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9SU0ZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFJlZ2lzdGVycyBTeW5jaHJvbml6ZWQgRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX0NORl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX0NORl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX0NORl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSVENfQ1JMX0NORiAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX0NORl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ29uZmlndXJhdGlvbiBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfUlRPRkZfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfUlRPRkZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfUlRPRkZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19DUkxfUlRPRkYgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfUlRPRkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSVEMgb3BlcmF0aW9uIE9GRiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19QUkxIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfUFJMSF9QUkxfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfUFJMSF9QUkxfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfUFJMSF9QUkxfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSVENfUFJMSF9QUkwgICAgICAgICAgICAgICAgICAgICAgICBSVENfUFJMSF9QUkxfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUlRDIFByZXNjYWxlciBSZWxvYWQgVmFsdWUgSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19QUkxMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfUFJMTF9QUkxfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfUFJMTF9QUkxfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfUFJMTF9QUkxfUG9zKSAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfUFJMTF9QUkwgICAgICAgICAgICAgICAgICAgICAgICBSVENfUFJMTF9QUkxfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUlRDIFByZXNjYWxlciBSZWxvYWQgVmFsdWUgTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0RJVkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19ESVZIX1JUQ19ESVZfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19ESVZIX1JUQ19ESVZfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IFJUQ19ESVZIX1JUQ19ESVZfUG9zKSAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19ESVZIX1JUQ19ESVYgICAgICAgICAgICAgICAgICAgIFJUQ19ESVZIX1JUQ19ESVZfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ2xvY2sgRGl2aWRlciBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0RJVkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19ESVZMX1JUQ19ESVZfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19ESVZMX1JUQ19ESVZfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19ESVZMX1JUQ19ESVZfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19ESVZMX1JUQ19ESVYgICAgICAgICAgICAgICAgICAgIFJUQ19ESVZMX1JUQ19ESVZfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ2xvY2sgRGl2aWRlciBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ05USCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NOVEhfUlRDX0NOVF9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NOVEhfUlRDX0NOVF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0NOVEhfUlRDX0NOVF9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0NOVEhfUlRDX0NOVCAgICAgICAgICAgICAgICAgICAgUlRDX0NOVEhfUlRDX0NOVF9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDb3VudGVyIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ05UTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NOVExfUlRDX0NOVF9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NOVExfUlRDX0NOVF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0NOVExfUlRDX0NOVF9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0NOVExfUlRDX0NOVCAgICAgICAgICAgICAgICAgICAgUlRDX0NOVExfUlRDX0NOVF9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDb3VudGVyIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19BTFJIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQUxSSF9SVENfQUxSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQUxSSF9SVENfQUxSX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQUxSSF9SVENfQUxSX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQUxSSF9SVENfQUxSICAgICAgICAgICAgICAgICAgICBSVENfQUxSSF9SVENfQUxSX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIEFsYXJtIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQUxSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0FMUkxfUlRDX0FMUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0FMUkxfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0FMUkxfUlRDX0FMUl9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0FMUkxfUlRDX0FMUiAgICAgICAgICAgICAgICAgICAgUlRDX0FMUkxfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBBbGFybSBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgIEluZGVwZW5kZW50IFdBVENIRE9HIChJV0RHKSAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSVdER19LUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElXREdfS1JfS0VZX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfS1JfS0VZX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IElXREdfS1JfS0VZX1BvcykgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIElXREdfS1JfS0VZICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfS1JfS0VZX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBLZXkgdmFsdWUgKHdyaXRlIG9ubHksIHJlYWQgMDAwMGgpICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSVdER19QUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElXREdfUFJfUFJfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfUFJfUFJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIElXREdfUFJfUFIgICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfUFJfUFJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQUlsyOjBdIChQcmVzY2FsZXIgZGl2aWRlcikgKi8NCiNkZWZpbmUgSVdER19QUl9QUl8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSVdER19QUl9QUl8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSVdER19QUl9QUl8yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1JMUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19STFJfUkxfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19STFJfUkxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBJV0RHX1JMUl9STF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgSVdER19STFJfUkwgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19STFJfUkxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIGNvdW50ZXIgcmVsb2FkIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSVdER19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElXREdfU1JfUFZVX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfU1JfUFZVX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IElXREdfU1JfUFZVX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIElXREdfU1JfUFZVICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfU1JfUFZVX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXYXRjaGRvZyBwcmVzY2FsZXIgdmFsdWUgdXBkYXRlICovDQojZGVmaW5lIElXREdfU1JfUlZVX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfU1JfUlZVX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IElXREdfU1JfUlZVX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIElXREdfU1JfUlZVICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfU1JfUlZVX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXYXRjaGRvZyBjb3VudGVyIHJlbG9hZCB2YWx1ZSB1cGRhdGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBXaW5kb3cgV0FUQ0hET0cgKFdXREcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfQ1JfVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIFdXREdfQ1JfVCAgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBUWzY6MF0gYml0cyAoNy1CaXQgY291bnRlciAoTVNCIHRvIExTQikpICovDQojZGVmaW5lIFdXREdfQ1JfVF8wICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfQ1JfVF8xICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFdXREdfQ1JfVF8yICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFdXREdfQ1JfVF8zICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFdXREdfQ1JfVF80ICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFdXREdfQ1JfVF81ICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFdXREdfQ1JfVF82ICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NSX1QwIFdXREdfQ1JfVF8wDQojZGVmaW5lICBXV0RHX0NSX1QxIFdXREdfQ1JfVF8xDQojZGVmaW5lICBXV0RHX0NSX1QyIFdXREdfQ1JfVF8yDQojZGVmaW5lICBXV0RHX0NSX1QzIFdXREdfQ1JfVF8zDQojZGVmaW5lICBXV0RHX0NSX1Q0IFdXREdfQ1JfVF80DQojZGVmaW5lICBXV0RHX0NSX1Q1IFdXREdfQ1JfVF81DQojZGVmaW5lICBXV0RHX0NSX1Q2IFdXREdfQ1JfVF82DQoNCiNkZWZpbmUgV1dER19DUl9XREdBX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DUl9XREdBX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19DUl9XREdBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgV1dER19DUl9XREdBICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DUl9XREdBX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFjdGl2YXRpb24gYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19DRlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfQ0ZSX1dfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX1dfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIFdXREdfQ0ZSX1cgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ0ZSX1dfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBXWzY6MF0gYml0cyAoNy1iaXQgd2luZG93IHZhbHVlKSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzQgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzUgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzYgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DRlJfVzAgV1dER19DRlJfV18wDQojZGVmaW5lICBXV0RHX0NGUl9XMSBXV0RHX0NGUl9XXzENCiNkZWZpbmUgIFdXREdfQ0ZSX1cyIFdXREdfQ0ZSX1dfMg0KI2RlZmluZSAgV1dER19DRlJfVzMgV1dER19DRlJfV18zDQojZGVmaW5lICBXV0RHX0NGUl9XNCBXV0RHX0NGUl9XXzQNCiNkZWZpbmUgIFdXREdfQ0ZSX1c1IFdXREdfQ0ZSX1dfNQ0KI2RlZmluZSAgV1dER19DRlJfVzYgV1dER19DRlJfV182DQoNCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxODAgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEIgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfV0RHVEJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFdER1RCWzE6MF0gYml0cyAoVGltZXIgQmFzZSkgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ0ZSX1dER1RCMCBXV0RHX0NGUl9XREdUQl8wDQojZGVmaW5lICBXV0RHX0NGUl9XREdUQjEgV1dER19DRlJfV0RHVEJfMQ0KDQojZGVmaW5lIFdXREdfQ0ZSX0VXSV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX0VXSV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ0ZSX0VXSV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFdXREdfQ0ZSX0VXSSAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ0ZSX0VXSV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFYXJseSBXYWtldXAgSW50ZXJydXB0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfU1JfRVdJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfU1JfRVdJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfU1JfRVdJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfU1JfRVdJRiAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfU1JfRVdJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFYXJseSBXYWtldXAgSW50ZXJydXB0IEZsYWcgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICBTRCBob3N0IEludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUE9XRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMX01zayAgICAgICAgICAgICAgKDB4M1UgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMICAgICAgICAgICAgICAgICAgU0RJT19QT1dFUl9QV1JDVFJMX01zayAgICAgICAgICAgICAvKiE8IFBXUkNUUkxbMTowXSBiaXRzIChQb3dlciBzdXBwbHkgY29udHJvbCBiaXRzKSAqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1BPV0VSX1BXUkNUUkxfUG9zKSAgIC8qITwgMHgwMSAqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX1BPV0VSX1BXUkNUUkxfUG9zKSAgIC8qITwgMHgwMiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19DTEtDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0RJVl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0RJVl9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgU0RJT19DTEtDUl9DTEtESVZfUG9zKSAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0RJViAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0NMS0RJVl9Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgZGl2aWRlIGZhY3RvciAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0VOX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0VOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX0NMS0VOX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0NMS0VOICAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0NMS0VOX01zayAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1BXUlNBVl9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX1BXUlNBVl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX1BXUlNBVl9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1BXUlNBViAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX1BXUlNBVl9Nc2sgICAgICAgICAgICAgIC8qITwgUG93ZXIgc2F2aW5nIGNvbmZpZ3VyYXRpb24gYml0ICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQllQQVNTX1BvcyAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfQllQQVNTX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfQllQQVNTX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQllQQVNTICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfQllQQVNTX01zayAgICAgICAgICAgICAgLyohPCBDbG9jayBkaXZpZGVyIGJ5cGFzcyBlbmFibGUgYml0ICovDQoNCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgU0RJT19DTEtDUl9XSURCVVNfUG9zKSAgICAvKiE8IDB4MDAwMDE4MDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVMgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9XSURCVVNfTXNrICAgICAgICAgICAgICAvKiE8IFdJREJVU1sxOjBdIGJpdHMgKFdpZGUgYnVzIG1vZGUgZW5hYmxlIGJpdCkgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9XSURCVVNfUG9zKSAgICAvKiE8IDB4MDgwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU18xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX0NMS0NSX1dJREJVU19Qb3MpICAgIC8qITwgMHgxMDAwICovDQoNCiNkZWZpbmUgU0RJT19DTEtDUl9ORUdFREdFX1BvcyAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9ORUdFREdFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9ORUdFREdFX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9ORUdFREdFICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9ORUdFREdFX01zayAgICAgICAgICAgICAvKiE8IFNESU9fQ0sgZGVwaGFzaW5nIHNlbGVjdGlvbiBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9IV0ZDX0VOX1BvcyAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9IV0ZDX0VOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9IV0ZDX0VOX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9IV0ZDX0VOICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9IV0ZDX0VOX01zayAgICAgICAgICAgICAvKiE8IEhXIEZsb3cgQ29udHJvbCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0FSRyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19BUkdfQ01EQVJHX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19BUkdfQ01EQVJHX01zayAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fQVJHX0NNREFSR19Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0FSR19DTURBUkcgICAgICAgICAgICAgICAgICAgICBTRElPX0FSR19DTURBUkdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBhcmd1bWVudCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQ01EIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0NNRF9DTURJTkRFWF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9DTURJTkRFWF9Nc2sgICAgICAgICAgICAgICAoMHgzRlUgPDwgU0RJT19DTURfQ01ESU5ERVhfUG9zKSAgIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBTRElPX0NNRF9DTURJTkRFWCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9DTURJTkRFWF9Nc2sgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBJbmRleCAqLw0KDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQX1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQX01zayAgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fQ01EX1dBSVRSRVNQX1BvcykgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX1dBSVRSRVNQX01zayAgICAgICAgICAgICAgLyohPCBXQUlUUkVTUFsxOjBdIGJpdHMgKFdhaXQgZm9yIHJlc3BvbnNlIGJpdHMpICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1dBSVRSRVNQX1BvcykgICAgLyohPCAweDAwNDAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19DTURfV0FJVFJFU1BfUG9zKSAgICAvKiE8IDB4MDA4MCAqLw0KDQojZGVmaW5lIFNESU9fQ01EX1dBSVRJTlRfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1dBSVRJTlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1dBSVRJTlRfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRJTlQgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX1dBSVRJTlRfTXNrICAgICAgICAgICAgICAgLyohPCBDUFNNIFdhaXRzIGZvciBJbnRlcnJ1cHQgUmVxdWVzdCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUEVORF9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUUEVORF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUUEVORF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUEVORCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUUEVORF9Nc2sgICAgICAgICAgICAgIC8qITwgQ1BTTSBXYWl0cyBmb3IgZW5kcyBvZiBkYXRhIHRyYW5zZmVyIChDbWRQZW5kIGludGVybmFsIHNpZ25hbCkgKi8NCiNkZWZpbmUgU0RJT19DTURfQ1BTTUVOX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfQ1BTTUVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfQ1BTTUVOX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19DTURfQ1BTTUVOICAgICAgICAgICAgICAgICAgICAgU0RJT19DTURfQ1BTTUVOX01zayAgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcGF0aCBzdGF0ZSBtYWNoaW5lIChDUFNNKSBFbmFibGUgYml0ICovDQojZGVmaW5lIFNESU9fQ01EX1NESU9TVVNQRU5EX1BvcyAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1NESU9TVVNQRU5EX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1NESU9TVVNQRU5EX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fQ01EX1NESU9TVVNQRU5EICAgICAgICAgICAgICAgIFNESU9fQ01EX1NESU9TVVNQRU5EX01zayAgICAgICAgICAgLyohPCBTRCBJL08gc3VzcGVuZCBjb21tYW5kICovDQojZGVmaW5lIFNESU9fQ01EX0VOQ01EQ09NUExfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0VOQ01EQ09NUExfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX0VOQ01EQ09NUExfUG9zKSAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNESU9fQ01EX0VOQ01EQ09NUEwgICAgICAgICAgICAgICAgIFNESU9fQ01EX0VOQ01EQ09NUExfTXNrICAgICAgICAgICAgLyohPCBFbmFibGUgQ01EIGNvbXBsZXRpb24gKi8NCiNkZWZpbmUgU0RJT19DTURfTklFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfTklFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfTklFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfTklFTiAgICAgICAgICAgICAgICAgICAgICAgU0RJT19DTURfTklFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE5vdCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fQ01EX0NFQVRBQ01EX1BvcyAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0NFQVRBQ01EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX0NFQVRBQ01EX1BvcykgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fQ01EX0NFQVRBQ01EICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX0NFQVRBQ01EX01zayAgICAgICAgICAgICAgLyohPCBDRS1BVEEgY29tbWFuZCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1BDTUQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1BDTURfUkVTUENNRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1BDTURfUkVTUENNRF9Nc2sgICAgICAgICAgICAoMHgzRlUgPDwgU0RJT19SRVNQQ01EX1JFU1BDTURfUG9zKSAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTUQgICAgICAgICAgICAgICAgU0RJT19SRVNQQ01EX1JFU1BDTURfTXNrICAgICAgICAgICAvKiE8IFJlc3BvbnNlIGNvbW1hbmQgaW5kZXggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQMF9DQVJEU1RBVFVTMCAgICAgICAgICAgICAgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzEgICAgICAgICAgICAgIFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AyX0NBUkRTVEFUVVMyICAgICAgICAgICAgICBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQM19DQVJEU1RBVFVTMyAgICAgICAgICAgICAgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1A0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzQgICAgICAgICAgICAgIFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19EVElNRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RUSU1FUl9EQVRBVElNRV9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RUSU1FUl9EQVRBVElNRV9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19EVElNRVJfREFUQVRJTUVfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUUgICAgICAgICAgICAgICAgU0RJT19EVElNRVJfREFUQVRJTUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgdGltZW91dCBwZXJpb2QuICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RMRU4gcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRExFTl9EQVRBTEVOR1RIX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRExFTl9EQVRBTEVOR1RIX01zayAgICAgICAgICAgICgweDFGRkZGRkZVIDw8IFNESU9fRExFTl9EQVRBTEVOR1RIX1BvcykgLyohPCAweDAxRkZGRkZGICovDQojZGVmaW5lIFNESU9fRExFTl9EQVRBTEVOR1RIICAgICAgICAgICAgICAgIFNESU9fRExFTl9EQVRBTEVOR1RIX01zayAgICAgICAgICAgLyohPCBEYXRhIGxlbmd0aCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19EQ1RSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURU5fUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RURU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RURU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURU4gICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RURU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBlbmFibGVkIGJpdCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURElSX1BvcyAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RURElSX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RURElSX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RURElSICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RURElSX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBkaXJlY3Rpb24gc2VsZWN0aW9uICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRNT0RFX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRFRNT0RFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRFRNT0RFX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRNT0RFICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRFRNT0RFX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIG1vZGUgc2VsZWN0aW9uICovDQojZGVmaW5lIFNESU9fRENUUkxfRE1BRU5fUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRE1BRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRE1BRU5fUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fRENUUkxfRE1BRU4gICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRE1BRU5fTXNrICAgICAgICAgICAgICAgLyohPCBETUEgZW5hYmxlZCBiaXQgKi8NCg0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfTXNrICAgICAgICAgICAoMHhGVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX01zayAgICAgICAgICAvKiE8IERCTE9DS1NJWkVbMzowXSBiaXRzIChEYXRhIGJsb2NrIHNpemUpICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8wICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDEwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8xICAgICAgICAgICAgICgweDJVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDIwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8yICAgICAgICAgICAgICgweDRVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDQwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV8zICAgICAgICAgICAgICgweDhVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDgwICovDQoNCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUQVJUX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUQVJUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9SV1NUQVJUX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUQVJUICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9SV1NUQVJUX01zayAgICAgICAgICAgICAvKiE8IFJlYWQgd2FpdCBzdGFydCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RPUF9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RPUF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1JXU1RPUF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RPUCAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1JXU1RPUF9Nc2sgICAgICAgICAgICAgIC8qITwgUmVhZCB3YWl0IHN0b3AgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV01PRF9Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9SV01PRF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9SV01PRF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV01PRCAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9SV01PRF9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlYWQgd2FpdCBtb2RlICovDQojZGVmaW5lIFNESU9fRENUUkxfU0RJT0VOX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfU0RJT0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfU0RJT0VOX1BvcykgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fRENUUkxfU0RJT0VOICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfU0RJT0VOX01zayAgICAgICAgICAgICAgLyohPCBTRCBJL08gZW5hYmxlIGZ1bmN0aW9ucyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19EQ09VTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RDT1VOVF9EQVRBQ09VTlRfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDT1VOVF9EQVRBQ09VTlRfTXNrICAgICAgICAgICAoMHgxRkZGRkZGVSA8PCBTRElPX0RDT1VOVF9EQVRBQ09VTlRfUG9zKSAvKiE8IDB4MDFGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UICAgICAgICAgICAgICAgU0RJT19EQ09VTlRfREFUQUNPVU5UX01zayAgICAgICAgICAvKiE8IERhdGEgY291bnQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fU1RBIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0NSQ0ZBSUxfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ0NSQ0ZBSUxfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ0NSQ0ZBSUxfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0NSQ0ZBSUwgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ0NSQ0ZBSUxfTXNrICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcmVzcG9uc2UgcmVjZWl2ZWQgKENSQyBjaGVjayBmYWlsZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0RDUkNGQUlMX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RDUkNGQUlMX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RDUkNGQUlMX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fU1RBX0RDUkNGQUlMICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RDUkNGQUlMX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIGJsb2NrIHNlbnQvcmVjZWl2ZWQgKENSQyBjaGVjayBmYWlsZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0NUSU1FT1VUX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NUSU1FT1VUX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NUSU1FT1VUX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fU1RBX0NUSU1FT1VUICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NUSU1FT1VUX01zayAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHJlc3BvbnNlIHRpbWVvdXQgKi8NCiNkZWZpbmUgU0RJT19TVEFfRFRJTUVPVVRfUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfRFRJTUVPVVRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfRFRJTUVPVVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19TVEFfRFRJTUVPVVQgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfRFRJTUVPVVRfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgdGltZW91dCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWFVOREVSUl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWFVOREVSUl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWFVOREVSUl9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWFVOREVSUiAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWFVOREVSUl9Nc2sgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyB1bmRlcnJ1biBlcnJvciAqLw0KI2RlZmluZSBTRElPX1NUQV9SWE9WRVJSX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWE9WRVJSX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWE9WRVJSX1BvcykgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWE9WRVJSICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWE9WRVJSX01zayAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZWQgRklGTyBvdmVycnVuIGVycm9yICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFJFTkRfUG9zICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NNRFJFTkRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NNRFJFTkRfUG9zKSAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFJFTkQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NNRFJFTkRfTXNrICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHJlc3BvbnNlIHJlY2VpdmVkIChDUkMgY2hlY2sgcGFzc2VkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURTRU5UX1BvcyAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURTRU5UX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURTRU5UX1BvcykgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURTRU5UICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURTRU5UX01zayAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBzZW50IChubyByZXNwb25zZSByZXF1aXJlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfREFUQUVORF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfREFUQUVORF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfREFUQUVORF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfREFUQUVORCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfREFUQUVORF9Nc2sgICAgICAgICAgICAgICAvKiE8IERhdGEgZW5kIChkYXRhIGNvdW50ZXIsIFNESURDT1VOVCwgaXMgemVybykgKi8NCiNkZWZpbmUgU0RJT19TVEFfU1RCSVRFUlJfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfU1RCSVRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfU1RCSVRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfU1RCSVRFUlIgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfU1RCSVRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFN0YXJ0IGJpdCBub3QgZGV0ZWN0ZWQgb24gYWxsIGRhdGEgc2lnbmFscyBpbiB3aWRlIGJ1cyBtb2RlICovDQojZGVmaW5lIFNESU9fU1RBX0RCQ0tFTkRfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RCQ0tFTkRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RCQ0tFTkRfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fU1RBX0RCQ0tFTkQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RCQ0tFTkRfTXNrICAgICAgICAgICAgICAgLyohPCBEYXRhIGJsb2NrIHNlbnQvcmVjZWl2ZWQgKENSQyBjaGVjayBwYXNzZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0NNREFDVF9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NNREFDVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NNREFDVF9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fU1RBX0NNREFDVCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NNREFDVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHRyYW5zZmVyIGluIHByb2dyZXNzICovDQojZGVmaW5lIFNESU9fU1RBX1RYQUNUX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYQUNUX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYQUNUX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYQUNUICAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYQUNUX01zayAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zbWl0IGluIHByb2dyZXNzICovDQojZGVmaW5lIFNESU9fU1RBX1JYQUNUX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYQUNUX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYQUNUX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYQUNUICAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYQUNUX01zayAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHJlY2VpdmUgaW4gcHJvZ3Jlc3MgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPSEVfUG9zICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPSEVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPSEVfUG9zKSAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPSEUgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPSEVfTXNrICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gSGFsZiBFbXB0eTogYXQgbGVhc3QgOCB3b3JkcyBjYW4gYmUgd3JpdHRlbiBpbnRvIHRoZSBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0hGX1BvcyAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0hGX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYRklGT0hGX1BvcykgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0hGICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYRklGT0hGX01zayAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIEZJRk8gSGFsZiBGdWxsOiB0aGVyZSBhcmUgYXQgbGVhc3QgOCB3b3JkcyBpbiB0aGUgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9GX1BvcyAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9GX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEZJRk9GX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9GICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEZJRk9GX01zayAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyBmdWxsICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0ZfUG9zICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0ZfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYRklGT0ZfUG9zKSAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0YgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYRklGT0ZfTXNrICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIEZJRk8gZnVsbCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9FX1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9FX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEZJRk9FX1BvcykgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9FICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEZJRk9FX01zayAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyBlbXB0eSAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9FX1BvcyAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9FX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9FX1BvcykgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9FICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9FX01zayAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIGVtcHR5ICovDQojZGVmaW5lIFNESU9fU1RBX1RYREFWTF9Qb3MgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYREFWTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYREFWTF9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYREFWTCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYREFWTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiB0cmFuc21pdCBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1JYREFWTF9Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYREFWTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYREFWTF9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYREFWTCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYREFWTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiByZWNlaXZlIEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfU0RJT0lUX1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfU0RJT0lUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfU0RJT0lUX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfU0RJT0lUICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfU0RJT0lUX01zayAgICAgICAgICAgICAgICAvKiE8IFNESU8gaW50ZXJydXB0IHJlY2VpdmVkICovDQojZGVmaW5lIFNESU9fU1RBX0NFQVRBRU5EX1BvcyAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NFQVRBRU5EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NFQVRBRU5EX1BvcykgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX0NFQVRBRU5EICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NFQVRBRU5EX01zayAgICAgICAgICAgICAgLyohPCBDRS1BVEEgY29tbWFuZCBjb21wbGV0aW9uIHNpZ25hbCByZWNlaXZlZCBmb3IgQ01ENjEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0lDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0NSQ0ZBSUxDX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ0NSQ0ZBSUxDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ0NSQ0ZBSUxDX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0NSQ0ZBSUxDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ0NSQ0ZBSUxDX01zayAgICAgICAgICAgICAvKiE8IENDUkNGQUlMIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RDUkNGQUlMQ19Qb3MgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RDUkNGQUlMQ19Qb3MpICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fSUNSX0RDUkNGQUlMQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgLyohPCBEQ1JDRkFJTCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DVElNRU9VVENfUG9zICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DVElNRU9VVENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DVElNRU9VVENfUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX0lDUl9DVElNRU9VVEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DVElNRU9VVENfTXNrICAgICAgICAgICAgIC8qITwgQ1RJTUVPVVQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfRFRJTUVPVVRDX1BvcyAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfRFRJTUVPVVRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfRFRJTUVPVVRDX1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19JQ1JfRFRJTUVPVVRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfRFRJTUVPVVRDX01zayAgICAgICAgICAgICAvKiE8IERUSU1FT1VUIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1RYVU5ERVJSQ19Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1RYVU5ERVJSQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1RYVU5ERVJSQ19Qb3MpICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNESU9fSUNSX1RYVU5ERVJSQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1RYVU5ERVJSQ19Nc2sgICAgICAgICAgICAgLyohPCBUWFVOREVSUiBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9SWE9WRVJSQ19Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9SWE9WRVJSQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9SWE9WRVJSQ19Qb3MpICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTRElPX0lDUl9SWE9WRVJSQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9SWE9WRVJSQ19Nc2sgICAgICAgICAgICAgIC8qITwgUlhPVkVSUiBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURSRU5EQ19Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DTURSRU5EQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DTURSRU5EQ19Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURSRU5EQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DTURSRU5EQ19Nc2sgICAgICAgICAgICAgIC8qITwgQ01EUkVORCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURTRU5UQ19Qb3MgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DTURTRU5UQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DTURTRU5UQ19Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTRElPX0lDUl9DTURTRU5UQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DTURTRU5UQ19Nc2sgICAgICAgICAgICAgIC8qITwgQ01EU0VOVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQVRBRU5EQ19Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EQVRBRU5EQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EQVRBRU5EQ19Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQVRBRU5EQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EQVRBRU5EQ19Nc2sgICAgICAgICAgICAgIC8qITwgREFUQUVORCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9TVEJJVEVSUkNfUG9zICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9TVEJJVEVSUkNfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9TVEJJVEVSUkNfUG9zKSAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9TVEJJVEVSUkMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9TVEJJVEVSUkNfTXNrICAgICAgICAgICAgIC8qITwgU1RCSVRFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREJDS0VORENfUG9zICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfREJDS0VORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfREJDS0VORENfUG9zKSAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREJDS0VOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfREJDS0VORENfTXNrICAgICAgICAgICAgICAvKiE8IERCQ0tFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU0RJT0lUQ19Qb3MgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfU0RJT0lUQ19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfU0RJT0lUQ19Qb3MpICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU0RJT0lUQyAgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfU0RJT0lUQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFNESU9JVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9DRUFUQUVORENfUG9zICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DRUFUQUVORENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DRUFUQUVORENfUG9zKSAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9DRUFUQUVOREMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DRUFUQUVORENfTXNrICAgICAgICAgICAgIC8qITwgQ0VBVEFFTkQgZmxhZyBjbGVhciBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fTUFTSyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NDUkNGQUlMSUVfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NDUkNGQUlMSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NDUkNGQUlMSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NDUkNGQUlMSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NDUkNGQUlMSUVfTXNrICAgICAgICAgICAvKiE8IENvbW1hbmQgQ1JDIEZhaWwgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfRENSQ0ZBSUxJRV9Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfRENSQ0ZBSUxJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfRENSQ0ZBSUxJRV9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX01BU0tfRENSQ0ZBSUxJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfRENSQ0ZBSUxJRV9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBDUkMgRmFpbCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DVElNRU9VVElFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DVElNRU9VVElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DVElNRU9VVElFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fTUFTS19DVElNRU9VVElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19DVElNRU9VVElFX01zayAgICAgICAgICAgLyohPCBDb21tYW5kIFRpbWVPdXQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfRFRJTUVPVVRJRV9Qb3MgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfRFRJTUVPVVRJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfRFRJTUVPVVRJRV9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX01BU0tfRFRJTUVPVVRJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfRFRJTUVPVVRJRV9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBUaW1lT3V0IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYVU5ERVJSSUVfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYVU5ERVJSSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYVU5ERVJSSUVfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYVU5ERVJSSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYVU5ERVJSSUVfTXNrICAgICAgICAgICAvKiE8IFR4IEZJRk8gVW5kZXJSdW4gRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhPVkVSUklFX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhPVkVSUklFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhPVkVSUklFX1BvcykgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhPVkVSUklFICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhPVkVSUklFX01zayAgICAgICAgICAgIC8qITwgUnggRklGTyBPdmVyUnVuIEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFJFTkRJRV9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NNRFJFTkRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NNRFJFTkRJRV9Qb3MpICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFJFTkRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NNRFJFTkRJRV9Nc2sgICAgICAgICAgICAvKiE8IENvbW1hbmQgUmVzcG9uc2UgUmVjZWl2ZWQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EU0VOVElFX1BvcyAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ01EU0VOVElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ01EU0VOVElFX1BvcykgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EU0VOVElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfQ01EU0VOVElFX01zayAgICAgICAgICAgIC8qITwgQ29tbWFuZCBTZW50IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RBVEFFTkRJRV9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RBVEFFTkRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RBVEFFTkRJRV9Qb3MpICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RBVEFFTkRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RBVEFFTkRJRV9Nc2sgICAgICAgICAgICAvKiE8IERhdGEgRW5kIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NUQklURVJSSUVfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1NUQklURVJSSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1NUQklURVJSSUVfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NUQklURVJSSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1NUQklURVJSSUVfTXNrICAgICAgICAgICAvKiE8IFN0YXJ0IEJpdCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EQkNLRU5ESUVfUG9zICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EQkNLRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EQkNLRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fTUFTS19EQkNLRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19EQkNLRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBEYXRhIEJsb2NrIEVuZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DTURBQ1RJRV9Qb3MgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DTURBQ1RJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DTURBQ1RJRV9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNESU9fTUFTS19DTURBQ1RJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19DTURBQ1RJRV9Nc2sgICAgICAgICAgICAgLyohPCBDb21tYW5kIEFjdGluZyBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWEFDVElFX1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEFDVElFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEFDVElFX1BvcykgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEFDVElFICAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEFDVElFX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIFRyYW5zbWl0IEFjdGluZyBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEFDVElFX1BvcyAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEFDVElFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEFDVElFX1BvcykgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEFDVElFICAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEFDVElFX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIHJlY2VpdmUgYWN0aW5nIGludGVycnVwdCBlbmFibGVkICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9IRUlFX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9IRUlFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEZJRk9IRUlFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9IRUlFICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEZJRk9IRUlFX01zayAgICAgICAgICAgLyohPCBUeCBGSUZPIEhhbGYgRW1wdHkgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPSEZJRV9Qb3MgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPSEZJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhGSUZPSEZJRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPSEZJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhGSUZPSEZJRV9Nc2sgICAgICAgICAgIC8qITwgUnggRklGTyBIYWxmIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRklFX1BvcyAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRklFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPRklFX1BvcykgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRklFICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPRklFX01zayAgICAgICAgICAgIC8qITwgVHggRklGTyBGdWxsIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0ZJRV9Qb3MgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0ZJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYRklGT0ZJRV9Qb3MpICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0ZJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYRklGT0ZJRV9Nc2sgICAgICAgICAgICAvKiE8IFJ4IEZJRk8gRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9FSUVfUG9zICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9FSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEZJRk9FSUVfUG9zKSAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9FSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEZJRk9FSUVfTXNrICAgICAgICAgICAgLyohPCBUeCBGSUZPIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0VJRV9Qb3MgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0VJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYRklGT0VJRV9Qb3MpICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0VJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYRklGT0VJRV9Nc2sgICAgICAgICAgICAvKiE8IFJ4IEZJRk8gRW1wdHkgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhEQVZMSUVfUG9zICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhEQVZMSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhEQVZMSUVfUG9zKSAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhEQVZMSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhEQVZMSUVfTXNrICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gVHggRklGTyBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWERBVkxJRV9Qb3MgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWERBVkxJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWERBVkxJRV9Qb3MpICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWERBVkxJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWERBVkxJRV9Nc2sgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiBSeCBGSUZPIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NESU9JVElFX1BvcyAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1NESU9JVElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1NESU9JVElFX1BvcykgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1NESU9JVElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1NESU9JVElFX01zayAgICAgICAgICAgICAvKiE8IFNESU8gTW9kZSBJbnRlcnJ1cHQgUmVjZWl2ZWQgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ0VBVEFFTkRJRV9Qb3MgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ0VBVEFFTkRJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ0VBVEFFTkRJRV9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ0VBVEFFTkRJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfQ0VBVEFFTkRJRV9Nc2sgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgY29tcGxldGlvbiBzaWduYWwgcmVjZWl2ZWQgSW50ZXJydXB0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0ZJRk9DTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX01zayAgICAgICAgICAoMHhGRkZGRkZVIDw8IFNESU9fRklGT0NOVF9GSUZPQ09VTlRfUG9zKSAvKiE8IDB4MDBGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVCAgICAgICAgICAgICAgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Nc2sgICAgICAgICAvKiE8IFJlbWFpbmluZyBudW1iZXIgb2Ygd29yZHMgdG8gYmUgd3JpdHRlbiB0byBvciByZWFkIGZyb20gdGhlIEZJRk8gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRklGTyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19GSUZPX0ZJRk9EQVRBX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19GSUZPX0ZJRk9EQVRBX01zayAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fRklGT19GSUZPREFUQV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0ZJRk9fRklGT0RBVEEgICAgICAgICAgICAgICAgICBTRElPX0ZJRk9fRklGT0RBVEFfTXNrICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBhbmQgdHJhbnNtaXQgRklGTyBkYXRhICovDQoNCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsIFBlcmlwaGVyYWwgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSMV9DUEhBX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUEhBX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUEhBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUEhBICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUEhBX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBoYXNlICovDQojZGVmaW5lIFNQSV9DUjFfQ1BPTF9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1BPTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNQSV9DUjFfQ1BPTCAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQb2xhcml0eSAqLw0KI2RlZmluZSBTUElfQ1IxX01TVFJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX01TVFJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX01TVFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTUElfQ1IxX01TVFIgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX01TVFJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWFzdGVyIFNlbGVjdGlvbiAqLw0KDQojZGVmaW5lIFNQSV9DUjFfQlJfUG9zICAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQlJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIFNQSV9DUjFfQlIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQlJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCUlsyOjBdIGJpdHMgKEJhdWQgUmF0ZSBDb250cm9sKSAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFNQSV9DUjFfU1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1BFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1BFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9DUjFfU1BFICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1BFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTUEkgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjFfTFNCRklSU1RfUG9zICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfTFNCRklSU1RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfTFNCRklSU1RfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNQSV9DUjFfTFNCRklSU1QgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfTFNCRklSU1RfTXNrICAgICAgICAgICAgICAgLyohPCBGcmFtZSBGb3JtYXQgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU0lfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TU0lfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TU0lfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU0kgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TU0lfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIHNsYXZlIHNlbGVjdCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NTTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NTTV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTTSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NTTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgc2xhdmUgbWFuYWdlbWVudCAqLw0KI2RlZmluZSBTUElfQ1IxX1JYT05MWV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1JYT05MWV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1JYT05MWV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTUElfQ1IxX1JYT05MWSAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1JYT05MWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBvbmx5ICovDQojZGVmaW5lIFNQSV9DUjFfREZGX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfREZGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfREZGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNQSV9DUjFfREZGICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfREZGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIEZyYW1lIEZvcm1hdCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFRfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NSQ05FWFRfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFQgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NSQ05FWFRfTXNrICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgQ1JDIG5leHQgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUkNFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUkNFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNFTiAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUkNFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEhhcmR3YXJlIENSQyBjYWxjdWxhdGlvbiBlbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJT0VfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CSURJT0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CSURJT0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJT0UgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CSURJT0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IE91dHB1dCBlbmFibGUgaW4gYmlkaXJlY3Rpb25hbCBtb2RlICovDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREVfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQklESU1PREVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREUgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQklESU1PREVfTXNrICAgICAgICAgICAgICAgLyohPCBCaWRpcmVjdGlvbmFsIGRhdGEgbW9kZSBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSMl9SWERNQUVOX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9SWERNQUVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9SWERNQUVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWERNQUVOICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9SWERNQUVOX01zayAgICAgICAgICAgICAgICAvKiE8IFJ4IEJ1ZmZlciBETUEgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfVFhETUFFTl9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfVFhETUFFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfVFhETUFFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNQSV9DUjJfVFhETUFFTiAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfVFhETUFFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBUeCBCdWZmZXIgRE1BIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1NTT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1NTT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1NTT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTUElfQ1IyX1NTT0UgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1NTT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgU1MgT3V0cHV0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX0VSUklFX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX0VSUklFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX0VSUklFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTUElfQ1IyX0VSUklFICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX0VSUklFX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1JYTkVJRV9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1JYTkVJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfQ1IyX1JYTkVJRSAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUlggYnVmZmVyIE5vdCBFbXB0eSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfVFhFSUVfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfVFhFSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfVFhFSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNQSV9DUjJfVFhFSUUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfVFhFSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBUeCBidWZmZXIgRW1wdHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfU1JfUlhORV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfUlhORV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfU1JfUlhORSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBidWZmZXIgTm90IEVtcHR5ICovDQojZGVmaW5lIFNQSV9TUl9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9UWEVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNQSV9TUl9UWEUgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBidWZmZXIgRW1wdHkgKi8NCiNkZWZpbmUgU1BJX1NSX0NIU0lERV9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0NIU0lERV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0NIU0lERV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX1NSX0NIU0lERSAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0NIU0lERV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgc2lkZSAqLw0KI2RlZmluZSBTUElfU1JfVURSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfVURSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfVURSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTUElfU1JfVURSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfVURSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVW5kZXJydW4gZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfQ1JDRVJSX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfQ1JDRVJSX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfQ1JDRVJSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTUElfU1JfQ1JDRVJSICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfQ1JDRVJSX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ1JDIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX01PREZfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX01PREZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX01PREZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU1BJX1NSX01PREYgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX01PREZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE1vZGUgZmF1bHQgKi8NCiNkZWZpbmUgU1BJX1NSX09WUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX09WUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX1NSX09WUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJydW4gZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfQlNZX1BvcyAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfQlNZX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfU1JfQlNZICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQnVzeSBmbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9EUl9EUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9EUl9EUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSQ1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZX01zayAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9DUkNQUl9DUkNQT0xZX1BvcykgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZICAgICAgICAgICAgICAgICAgIFNQSV9DUkNQUl9DUkNQT0xZX01zayAgICAgICAgICAgICAgLyohPCBDUkMgcG9seW5vbWlhbCByZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1JYQ1JDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfUlhDUkNSX1JYQ1JDX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfUlhDUkNSX1JYQ1JDX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfUlhDUkNSX1JYQ1JDX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfUlhDUkNSX1JYQ1JDICAgICAgICAgICAgICAgICAgICBTUElfUlhDUkNSX1JYQ1JDX01zayAgICAgICAgICAgICAgIC8qITwgUnggQ1JDIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfVFhDUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9UWENSQ1JfVFhDUkNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9UWENSQ1JfVFhDUkNfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9UWENSQ1JfVFhDUkNfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9UWENSQ1JfVFhDUkMgICAgICAgICAgICAgICAgICAgIFNQSV9UWENSQ1JfVFhDUkNfTXNrICAgICAgICAgICAgICAgLyohPCBUeCBDUkMgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9JMlNDRkdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EX1BvcyAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0kyU0NGR1JfSTJTTU9EX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EICAgICAgICAgICAgICAgICAgU1BJX0kyU0NGR1JfSTJTTU9EX01zayAgICAgICAgICAgICAvKiE8IEkyUyBtb2RlIHNlbGVjdGlvbiAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgSW50ZXItaW50ZWdyYXRlZCBDaXJjdWl0IEludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfQ1IxX1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJVU19Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TTUJVU19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJVU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJVUyAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJVU19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIE1vZGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJUWVBFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJUWVBFX01zayAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIFR5cGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkFSUF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTkFSUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTkFSUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkFSUCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTkFSUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFSUCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTlBFQ19Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTlBFQ19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTlBFQ19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTlBFQyAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTlBFQ19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBFQyBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkdDX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTkdDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTkdDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkdDICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTkdDX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwgQ2FsbCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0hfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0hfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9OT1NUUkVUQ0hfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0ggICAgICAgICAgICAgICAgICAgSTJDX0NSMV9OT1NUUkVUQ0hfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIFN0cmV0Y2hpbmcgRGlzYWJsZSAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVEFSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TVEFSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TVEFSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TVEFSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TVE9QX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TVE9QX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TVE9QX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFN0b3AgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBJMkNfQ1IxX0FDS19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FDS19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0FDS19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0FDS19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQWNrbm93bGVkZ2UgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfUE9TX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUE9TX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUE9TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19DUjFfUE9TICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUE9TX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZS9QRUMgUG9zaXRpb24gKGZvciBkYXRhIHJlY2VwdGlvbikgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRUNfUG9zICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QRUNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRUMgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhY2tldCBFcnJvciBDaGVja2luZyAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0FMRVJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0FMRVJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU01CdXMgQWxlcnQgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TV1JTVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TV1JTVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIFJlc2V0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfRlJFUV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNGVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfRlJFUV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBGUkVRWzU6MF0gYml0cyAoUGVyaXBoZXJhbCBDbG9jayBGcmVxdWVuY3kpICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV81ICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOX1BvcyAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEVSUkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEVSUkVOX01zayAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEVWVEVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEVWVEVOX01zayAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEJVRkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEJVRkVOX01zayAgICAgICAgICAgICAgICAvKiE8IEJ1ZmZlciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfRE1BRU5fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfRE1BRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfRE1BRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19DUjJfRE1BRU4gICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfRE1BRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBETUEgUmVxdWVzdHMgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfTEFTVF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfTEFTVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfTEFTVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19DUjJfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfTEFTVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBETUEgTGFzdCBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19PQVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxXzcgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEZFVSAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBBZGRyZXNzICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDhfOSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDBVICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIEFkZHJlc3MgKi8NCg0KI2RlZmluZSBJMkNfT0FSMV9BREQwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQwICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQwX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDIgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQzX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQzICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDUgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNSAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ2ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDYgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENyAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA3ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDggICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgOCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ5ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ5X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDkgKi8NCg0KI2RlZmluZSBJMkNfT0FSMV9BRERNT0RFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BRERNT0RFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BRERNT0RFX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BRERNT0RFICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BRERNT0RFX01zayAgICAgICAgICAgICAgIC8qITwgQWRkcmVzc2luZyBNb2RlIChTbGF2ZSBtb2RlKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19PQVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfT0FSMl9FTkRVQUxfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMl9FTkRVQUxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMl9FTkRVQUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfT0FSMl9FTkRVQUwgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMl9FTkRVQUxfTXNrICAgICAgICAgICAgICAgIC8qITwgRHVhbCBhZGRyZXNzaW5nIG1vZGUgZW5hYmxlICovDQojZGVmaW5lIEkyQ19PQVIyX0FERDJfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX0FERDJfTXNrICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBJMkNfT0FSMl9BREQyX1BvcykgICAgICAgLyohPCAweDAwMDAwMEZFICovDQojZGVmaW5lIEkyQ19PQVIyX0FERDIgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIyX0FERDJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcmZhY2UgYWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfRFJfRFJfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfRFJfRFJfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBJMkNfRFJfRFJfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBJMkNfRFJfRFIgICAgICAgICAgICAgICAgIEkyQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgOC1iaXQgRGF0YSBSZWdpc3RlciAgICAgICAgICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19TUjFfU0JfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfU0JfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfU0JfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19TUjFfU0IgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfU0JfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBTdGFydCBCaXQgKE1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0FERFJfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FERFJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FERFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfU1IxX0FERFIgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FERFJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBzZW50IChtYXN0ZXIgbW9kZSkvbWF0Y2hlZCAoc2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9CVEZfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9CVEZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9CVEZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX1NSMV9CVEYgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9CVEZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEJ5dGUgVHJhbnNmZXIgRmluaXNoZWQgKi8NCiNkZWZpbmUgSTJDX1NSMV9BREQxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BREQxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BREQxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX1NSMV9BREQxMCAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BREQxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IDEwLWJpdCBoZWFkZXIgc2VudCAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfU1RPUEZfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfU1RPUEZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfU1RPUEZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19TUjFfU1RPUEYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfU1RPUEZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTdG9wIGRldGVjdGlvbiAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9SWE5FX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9SWE5FICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9SWE5FX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgbm90IEVtcHR5IChyZWNlaXZlcnMpICovDQojZGVmaW5lIEkyQ19TUjFfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfVFhFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19TUjFfVFhFICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfVFhFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIFJlZ2lzdGVyIEVtcHR5ICh0cmFuc21pdHRlcnMpICovDQojZGVmaW5lIEkyQ19TUjFfQkVSUl9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQkVSUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQkVSUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19TUjFfQkVSUiAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQkVSUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgRXJyb3IgKi8NCiNkZWZpbmUgSTJDX1NSMV9BUkxPX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BUkxPX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BUkxPX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9BUkxPICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BUkxPX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFyYml0cmF0aW9uIExvc3QgKG1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0FGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0FGICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQWNrbm93bGVkZ2UgRmFpbHVyZSAqLw0KI2RlZmluZSBJMkNfU1IxX09WUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX09WUl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBJMkNfU1IxX09WUiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcnJ1bi9VbmRlcnJ1biAqLw0KI2RlZmluZSBJMkNfU1IxX1BFQ0VSUl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1BFQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1BFQ0VSUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfU1IxX1BFQ0VSUiAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1BFQ0VSUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUEVDIEVycm9yIGluIHJlY2VwdGlvbiAqLw0KI2RlZmluZSBJMkNfU1IxX1RJTUVPVVRfUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1RJTUVPVVRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1RJTUVPVVRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBJMkNfU1IxX1RJTUVPVVQgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1RJTUVPVVRfTXNrICAgICAgICAgICAgICAgIC8qITwgVGltZW91dCBvciBUbG93IEVycm9yICovDQojZGVmaW5lIEkyQ19TUjFfU01CQUxFUlRfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfU01CQUxFUlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfU01CQUxFUlRfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19TUjFfU01CQUxFUlQgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfU01CQUxFUlRfTXNrICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBBbGVydCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19TUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfU1IyX01TTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX01TTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX01TTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfU1IyX01TTCAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX01TTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTWFzdGVyL1NsYXZlICovDQojZGVmaW5lIEkyQ19TUjJfQlVTWV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfQlVTWV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19TUjJfQlVTWSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfQlVTWV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgQnVzeSAqLw0KI2RlZmluZSBJMkNfU1IyX1RSQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1RSQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1RSQV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfU1IyX1RSQSAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1RSQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXR0ZXIvUmVjZWl2ZXIgKi8NCiNkZWZpbmUgSTJDX1NSMl9HRU5DQUxMX1BvcyAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9HRU5DQUxMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9HRU5DQUxMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX1NSMl9HRU5DQUxMICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9HRU5DQUxMX01zayAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwgQ2FsbCBBZGRyZXNzIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkRFRkFVTFRfUG9zICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1NNQkRFRkFVTFRfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1NNQkRFRkFVTFRfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkRFRkFVTFQgICAgICAgICAgICAgICAgICBJMkNfU1IyX1NNQkRFRkFVTFRfTXNrICAgICAgICAgICAgIC8qITwgU01CdXMgRGV2aWNlIERlZmF1bHQgQWRkcmVzcyAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJIT1NUX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9TTUJIT1NUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9TTUJIT1NUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJIT1NUICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9TTUJIT1NUX01zayAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEhvc3QgSGVhZGVyIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX0RVQUxGX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0RVQUxGX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0RVQUxGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfU1IyX0RVQUxGICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0RVQUxGX01zayAgICAgICAgICAgICAgICAgIC8qITwgRHVhbCBGbGFnIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1BFQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgSTJDX1NSMl9QRUNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBJMkNfU1IyX1BFQyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGFja2V0IEVycm9yIENoZWNraW5nIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DQ1JfQ0NSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfQ0NSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgSTJDX0NDUl9DQ1JfUG9zKSAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEkyQ19DQ1JfQ0NSICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfQ0NSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBDb250cm9sIFJlZ2lzdGVyIGluIEZhc3QvU3RhbmRhcmQgbW9kZSAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19DQ1JfRFVUWV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfRFVUWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DQ1JfRFVUWV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEkyQ19DQ1JfRFVUWSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfRFVUWV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBGYXN0IE1vZGUgRHV0eSBDeWNsZSAqLw0KI2RlZmluZSBJMkNfQ0NSX0ZTX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ0NSX0ZTX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ0NSX0ZTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfQ0NSX0ZTICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ0NSX0ZTX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgSTJDIE1hc3RlciBNb2RlIFNlbGVjdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1RSSVNFIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfVFJJU0VfVFJJU0VfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVFJJU0VfVFJJU0VfTXNrICAgICAgICAgICAgICAgICAoMHgzRlUgPDwgSTJDX1RSSVNFX1RSSVNFX1BvcykgICAgIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBJMkNfVFJJU0VfVFJJU0UgICAgICAgICAgICAgICAgICAgICBJMkNfVFJJU0VfVFJJU0VfTXNrICAgICAgICAgICAgICAgIC8qITwgTWF4aW11bSBSaXNlIFRpbWUgaW4gRmFzdC9TdGFuZGFyZCBtb2RlIChNYXN0ZXIgbW9kZSkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgIFVuaXZlcnNhbCBTeW5jaHJvbm91cyBBc3luY2hyb25vdXMgUmVjZWl2ZXIgVHJhbnNtaXR0ZXIgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX1NSX1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1BFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1BFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX1NSX1BFICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1BFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfRkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfRkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfRkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfU1JfRkUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfRkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEZyYW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfTkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfTkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTkUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfTkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE5vaXNlIEVycm9yIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfU1JfT1JFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfT1JFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfT1JFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfU1JfT1JFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfT1JFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJSdW4gRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfSURMRV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfSURMRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfSURMRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfSURMRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfSURMRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IElETEUgbGluZSBkZXRlY3RlZCAqLw0KI2RlZmluZSBVU0FSVF9TUl9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9SWE5FX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9SWE5FICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBEYXRhIFJlZ2lzdGVyIE5vdCBFbXB0eSAqLw0KI2RlZmluZSBVU0FSVF9TUl9UQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9UQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9UQ19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9TUl9UQyAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9UQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIENvbXBsZXRlICovDQojZGVmaW5lIFVTQVJUX1NSX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1RYRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX1NSX1RYRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyIEVtcHR5ICovDQojZGVmaW5lIFVTQVJUX1NSX0xCRF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0xCRF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0xCRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX1NSX0xCRCAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0xCRF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfU1JfQ1RTX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfQ1RTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfQ1RTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfQ1RTICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfQ1RTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENUUyBGbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGRlUgPDwgVVNBUlRfRFJfRFJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMUZGICovDQojZGVmaW5lIFVTQVJUX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9CUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fTXNrICAgICAgICAgICgweEZVIDw8IFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fUG9zKSAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbiAgICAgICAgICAgICAgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Nc2sgICAgICAgICAvKiE8IEZyYWN0aW9uIG9mIFVTQVJURElWICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfUG9zICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfTXNrICAgICAgICAgICgweEZGRlUgPDwgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Qb3MpIC8qITwgMHgwMDAwRkZGMCAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX01hbnRpc3NhICAgICAgICAgICAgICBVU0FSVF9CUlJfRElWX01hbnRpc3NhX01zayAgICAgICAgIC8qITwgTWFudGlzc2Egb2YgVVNBUlRESVYgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1NCS19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1NCS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1NCS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1NCSyAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1NCS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNlbmQgQnJlYWsgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JXVV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JXVV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIHdha2V1cCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUkVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUkUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9URV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9URV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9URV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0NSMV9URSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9URV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdHRlciBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRV9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX0lETEVJRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRSAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX0lETEVJRV9Nc2sgICAgICAgICAgICAgICAvKiE8IElETEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUlhORUlFX1BvcykgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUlhORUlFX01zayAgICAgICAgICAgICAgIC8qITwgUlhORSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9UQ0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9UQ0lFX01zayAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQ29tcGxldGUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUVfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVFhFSUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUUgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVFhFSUVfTXNrICAgICAgICAgICAgICAgIC8qITwgUEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRV9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUEVJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUEVJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUFNfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUFNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUFNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUFMgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUFNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IFNlbGVjdGlvbiAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUENFX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUENFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUENFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUENFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUENFX01zayAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IENvbnRyb2wgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9XQUtFX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9XQUtFX01zayAgICAgICAgICAgICAgICAgLyohPCBXYWtldXAgbWV0aG9kICovDQojZGVmaW5lIFVTQVJUX0NSMV9NX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9NX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9NX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9NICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9NX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXb3JkIGxlbmd0aCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVUVfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVUUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVVNBUlQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0NSMl9BRERfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9BRERfTXNrICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQVJUX0NSMl9BRERfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQVJUX0NSMl9BREQgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9BRERfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzIG9mIHRoZSBVU0FSVCBub2RlICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRMX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MQkRMX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRMICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MQkRMX01zayAgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIExlbmd0aCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJESUVfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJESUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJESUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJESUUgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJESUVfTXNrICAgICAgICAgICAgICAgIC8qITwgTElOIEJyZWFrIERldGVjdGlvbiBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkNMX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MQkNMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MQkNMX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkNMICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MQkNMX01zayAgICAgICAgICAgICAgICAgLyohPCBMYXN0IEJpdCBDbG9jayBwdWxzZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BIQV9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ1BIQV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BIQSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUGhhc2UgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQT0xfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NQT0xfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQT0wgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NQT0xfTXNrICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBvbGFyaXR5ICovDQojZGVmaW5lIFVTQVJUX0NSMl9DTEtFTl9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DTEtFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DTEtFTiAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDbG9jayBFbmFibGUgKi8NCg0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfU1RPUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgU1RPUFsxOjBdIGJpdHMgKFNUT1AgYml0cykgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBVU0FSVF9DUjJfTElORU5fUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTElORU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTElORU5fUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTElORU4gICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTElORU5fTXNrICAgICAgICAgICAgICAgIC8qITwgTElOIG1vZGUgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0NSM19FSUVfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19FSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19FSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0NSM19FSUUgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19FSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkVOX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19JUkVOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19JUkVOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkVOICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19JUkVOX01zayAgICAgICAgICAgICAgICAgLyohPCBJckRBIG1vZGUgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkxQX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19JUkxQX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19JUkxQX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0NSM19JUkxQICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19JUkxQX01zayAgICAgICAgICAgICAgICAgLyohPCBJckRBIExvdy1Qb3dlciAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUxfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSERTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUwgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSERTRUxfTXNrICAgICAgICAgICAgICAgIC8qITwgSGFsZi1EdXBsZXggU2VsZWN0aW9uICovDQojZGVmaW5lIFVTQVJUX0NSM19OQUNLX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19OQUNLX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19OQUNLX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0NSM19OQUNLICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19OQUNLX01zayAgICAgICAgICAgICAgICAgLyohPCBTbWFydGNhcmQgTkFDSyBlbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1NDRU5fUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX1NDRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX1NDRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1NDRU4gICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX1NDRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IFNtYXJ0Y2FyZCBtb2RlIGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BUl9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRE1BUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRE1BUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BUiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRE1BUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRE1BIEVuYWJsZSBSZWNlaXZlciAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BVF9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRE1BVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRE1BVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRE1BVCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRE1BVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRE1BIEVuYWJsZSBUcmFuc21pdHRlciAqLw0KI2RlZmluZSBVU0FSVF9DUjNfUlRTRV9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfUlRTRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfUlRTRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfUlRTRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfUlRTRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUlRTIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTRV9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfQ1RTRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfQ1RTRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ1RTIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTSUVfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfQ1RTSUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfQ1RTSUUgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfQ1RTSUVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ1RTIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0dUUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0MgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfR1RQUl9QU0NfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBTQ1s3OjBdIGJpdHMgKFByZXNjYWxlciB2YWx1ZSkgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMCAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMSAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMiAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfMyAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNCAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNSAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNiAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9QU0NfNyAgICAgICAgICAgICAgICAgICAgKDB4ODBVIDw8IFVTQVJUX0dUUFJfUFNDX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBVU0FSVF9HVFBSX0dUX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9HVFBSX0dUX01zayAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfR1RQUl9HVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX0dUICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9HVFBSX0dUX01zayAgICAgICAgICAgICAgICAgIC8qITwgR3VhcmQgdGltZSB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVidWcgTUNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfSURDT0RFIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9ERVZfSURfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9ERVZfSURfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRCAgICAgICAgICAgICAgICBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Nc2sgICAgICAgICAgIC8qITwgRGV2aWNlIElkZW50aWZpZXIgKi8NCg0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Nc2sgICAgICAgICAgICAoMHhGRkZGVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHhGRkZGMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRCAgICAgICAgICAgICAgICBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Nc2sgICAgICAgICAgIC8qITwgUkVWX0lEWzE1OjBdIGJpdHMgKFJldmlzaW9uIElkZW50aWZpZXIpICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzAgICAgICAgICAgICAgICgweDAwMDFVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEgICAgICAgICAgICAgICgweDAwMDJVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzIgICAgICAgICAgICAgICgweDAwMDRVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzMgICAgICAgICAgICAgICgweDAwMDhVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzQgICAgICAgICAgICAgICgweDAwMTBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzUgICAgICAgICAgICAgICgweDAwMjBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzYgICAgICAgICAgICAgICgweDAwNDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzcgICAgICAgICAgICAgICgweDAwODBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzggICAgICAgICAgICAgICgweDAxMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzkgICAgICAgICAgICAgICgweDAyMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEwICAgICAgICAgICAgICgweDA0MDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzExICAgICAgICAgICAgICgweDA4MDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEyICAgICAgICAgICAgICgweDEwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzEzICAgICAgICAgICAgICgweDIwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzE0ICAgICAgICAgICAgICgweDQwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzE1ICAgICAgICAgICAgICgweDgwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU0xFRVBfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU0xFRVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU0xFRVBfUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU0xFRVAgICAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU0xFRVBfTXNrICAgICAgICAgICAgLyohPCBEZWJ1ZyBTbGVlcCBNb2RlICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RPUF9Qb3MgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RPUF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU1RPUF9Qb3MpICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RPUCAgICAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU1RPUF9Nc2sgICAgICAgICAgICAgLyohPCBEZWJ1ZyBTdG9wIE1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZX01zayAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TVEFOREJZX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RBTkRCWSAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Nc2sgICAgICAgICAgLyohPCBEZWJ1ZyBTdGFuZGJ5IG1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX0lPRU5fUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX0lPRU5fTXNrICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX1RSQUNFX0lPRU5fUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX0lPRU4gICAgICAgICAgICAgICAgREJHTUNVX0NSX1RSQUNFX0lPRU5fTXNrICAgICAgICAgICAvKiE8IFRyYWNlIFBpbiBBc3NpZ25tZW50IENvbnRyb2wgKi8NCg0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERSAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Nc2sgICAgICAgICAgIC8qITwgVFJBQ0VfTU9ERVsxOjBdIGJpdHMgKFRyYWNlIFBpbiBBc3NpZ25tZW50IENvbnRyb2wpICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFXzAgICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFXzEgICAgICAgICAgICAgICgweDJVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfUG9zICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JV0RHX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19JV0RHX1NUT1BfTXNrICAgICAgICAvKiE8IERlYnVnIEluZGVwZW5kZW50IFdhdGNoZG9nIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Qb3MgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1dXREdfU1RPUF9Nc2sgICAgICAgIC8qITwgRGVidWcgV2luZG93IFdhdGNoZG9nIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Qb3MgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTJfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNMiBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Qb3MgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTNfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNMyBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Qb3MgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTRfU1RPUF9Nc2sgICAgICAgIC8qITwgVElNNCBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Qb3MgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Nc2sgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVQgICAgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfTXNrIC8qITwgU01CVVMgdGltZW91dCBtb2RlIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzJfU01CVVNfVElNRU9VVF9Qb3MgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzJfU01CVVNfVElNRU9VVF9Nc2sgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVQgICAgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfTXNrIC8qITwgU01CVVMgdGltZW91dCBtb2RlIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgIEZMQVNIIGFuZCBPcHRpb24gQnl0ZXMgUmVnaXN0ZXJzICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfQUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0FDUl9MQVRFTkNZX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9MQVRFTkNZX01zayAgICAgICAgICAgICAgICgweDdVIDw8IEZMQVNIX0FDUl9MQVRFTkNZX1BvcykgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIEZMQVNIX0FDUl9MQVRFTkNZICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9MQVRFTkNZX01zayAgICAgICAgICAgICAgLyohPCBMQVRFTkNZWzI6MF0gYml0cyAoTGF0ZW5jeSkgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfMiAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBGTEFTSF9BQ1JfSExGQ1lBX1BvcyAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BQ1JfSExGQ1lBX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfSExGQ1lBX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfSExGQ1lBICAgICAgICAgICAgICAgICAgICBGTEFTSF9BQ1JfSExGQ1lBX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggSGFsZiBDeWNsZSBBY2Nlc3MgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0FDUl9QUkZUQkVfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9QUkZUQkVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9QUkZUQkVfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX0FDUl9QUkZUQkUgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9QUkZUQkVfTXNrICAgICAgICAgICAgICAgLyohPCBQcmVmZXRjaCBCdWZmZXIgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0FDUl9QUkZUQlNfUG9zICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9QUkZUQlNfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9QUkZUQlNfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZMQVNIX0FDUl9QUkZUQlMgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9QUkZUQlNfTXNrICAgICAgICAgICAgICAgLyohPCBQcmVmZXRjaCBCdWZmZXIgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9LRVlSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0tFWVJfRktFWVJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0tFWVJfRktFWVJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9LRVlSX0ZLRVlSX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX0tFWVJfRktFWVIgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWVJfRktFWVJfTXNrICAgICAgICAgICAgICAgLyohPCBGUEVDIEtleSAqLw0KDQojZGVmaW5lIFJEUF9LRVlfUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJEUF9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweEE1VSA8PCBSRFBfS0VZX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMEE1ICovDQojZGVmaW5lIFJEUF9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJEUF9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSRFAgS2V5ICovDQojZGVmaW5lIEZMQVNIX0tFWTFfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0tFWTFfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDQ1NjcwMTIzVSA8PCBGTEFTSF9LRVkxX1BvcykgICAgLyohPCAweDQ1NjcwMTIzICovDQojZGVmaW5lIEZMQVNIX0tFWTEgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTFfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBGUEVDIEtleTEgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4Q0RFRjg5QUJVIDw8IEZMQVNIX0tFWTJfUG9zKSAgICAvKiE8IDB4Q0RFRjg5QUIgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMiAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5MiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9PUFRLRVlSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVJfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVJfTXNrICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUiAgICAgICAgICAgICAgIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Nc2sgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBLZXkgKi8NCg0KI2RlZmluZSAgRkxBU0hfT1BUS0VZMSAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMSAgICAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBLZXkxICovDQojZGVmaW5lICBGTEFTSF9PUFRLRVkyICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkyICAgICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleTIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfU1JfQlNZX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfQlNZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfU1JfQlNZICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgKi8NCiNkZWZpbmUgRkxBU0hfU1JfUEdFUlJfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfUEdFUlJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfUEdFUlJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfU1JfUEdFUlIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfUEdFUlJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFByb2dyYW1taW5nIEVycm9yICovDQojZGVmaW5lIEZMQVNIX1NSX1dSUFJURVJSX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX1dSUFJURVJSX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX1dSUFJURVJSX1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX1NSX1dSUFJURVJSICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX1dSUFJURVJSX01zayAgICAgICAgICAgICAgLyohPCBXcml0ZSBQcm90ZWN0aW9uIEVycm9yICovDQojZGVmaW5lIEZMQVNIX1NSX0VPUF9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX0VPUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX0VPUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZMQVNIX1NSX0VPUCAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX0VPUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFbmQgb2Ygb3BlcmF0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0NSX1BHX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1BHX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1BHX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX0NSX1BHICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1BHX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQcm9ncmFtbWluZyAqLw0KI2RlZmluZSBGTEFTSF9DUl9QRVJfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9QRVJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9QRVJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9DUl9QRVIgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9QRVJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGFnZSBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9NRVJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9NRVJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9NRVJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9DUl9NRVIgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9NRVJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWFzcyBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRQR19Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRQR19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRQR19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRQRyAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRQR19Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgUHJvZ3JhbW1pbmcgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BURVJfUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfT1BURVJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfT1BURVJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BURVIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfT1BURVJfTXNrICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX1NUUlRfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1NUUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZMQVNIX0NSX1NUUlQgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTdGFydCAqLw0KI2RlZmluZSBGTEFTSF9DUl9MT0NLX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9MT0NLX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9MT0NLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBGTEFTSF9DUl9MT0NLICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9MT0NLX01zayAgICAgICAgICAgICAgICAgIC8qITwgTG9jayAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRXUkVfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRXUkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRXUkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRXUkUgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRXUkVfTXNrICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGVzIFdyaXRlIEVuYWJsZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9FUlJJRV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9FUlJJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9FUlJJRSAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9FT1BJRV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9FT1BJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9FT1BJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9FT1BJRSAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9FT1BJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRW5kIG9mIG9wZXJhdGlvbiBpbnRlcnJ1cHQgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0FSX0ZBUl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FSX0ZBUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9BUl9GQVJfUG9zKSAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX0FSX0ZBUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FSX0ZBUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9PQlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9PUFRFUlJfUG9zKSAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlIgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9PUFRFUlJfTXNrICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBFcnJvciAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlRfUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfUkRQUlRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlQgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfUkRQUlRfTXNrICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uICovDQoNCiNkZWZpbmUgRkxBU0hfT0JSX0lXREdfU1dfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0lXREdfU1dfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX0lXREdfU1dfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0lXREdfU1cgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0lXREdfU1dfTXNrICAgICAgICAgICAgICAvKiE8IElXREcgU1cgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1RPUF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1RPUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX25SU1RfU1RPUF9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1RPUCAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX25SU1RfU1RPUF9Nc2sgICAgICAgICAgICAvKiE8IG5SU1RfU1RPUCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVERCWV9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVERCWV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfblJTVF9TVERCWV9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVERCWSAgICAgICAgICAgICAgICBGTEFTSF9PQlJfblJTVF9TVERCWV9Nc2sgICAgICAgICAgIC8qITwgblJTVF9TVERCWSAqLw0KI2RlZmluZSBGTEFTSF9PQlJfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBGTEFTSF9PQlJfVVNFUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxQyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfVVNFUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgVXNlciBPcHRpb24gQnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX09CUl9EQVRBMF9Qb3MpICAgICAvKiE8IDB4MDAwM0ZDMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0RBVEEwX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMV9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9PQlJfREFUQTFfUG9zKSAgICAgLyohPCAweDAzRkMwMDAwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9EQVRBMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhMSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlBSX1dSUF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlBSX1dSUF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfV1JQUl9XUlBfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQUl9XUlBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFdyaXRlIFByb3RlY3QgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1JEUCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfUkRQX1JEUF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUkRQX1JEUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1JEUF9SRFBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfUkRQX1JEUCAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfUkRQX1JEUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBGTEFTSF9SRFBfblJEUF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9SRFBfblJEUF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfUkRQX25SRFBfUG9zKSAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGTEFTSF9SRFBfblJEUCAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9SRFBfblJEUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfVVNFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9VU0VSX1VTRVJfUG9zICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9VU0VSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfVVNFUl9VU0VSX1BvcykgICAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9VU0VSX1VTRVIgICAgICAgICAgICAgICAgICAgICBGTEFTSF9VU0VSX1VTRVJfTXNrICAgICAgICAgICAgICAgIC8qITwgVXNlciBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBGTEFTSF9VU0VSX25VU0VSX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9VU0VSX25VU0VSX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfVVNFUl9uVVNFUl9Qb3MpICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9VU0VSX25VU0VSICAgICAgICAgICAgICAgICAgICBGTEFTSF9VU0VSX25VU0VSX01zayAgICAgICAgICAgICAgIC8qITwgVXNlciBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0RhdGEwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfREFUQTBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTBfREFUQTBfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEEwX0RBVEEwX1BvcykgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfREFUQTAgICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTBfREFUQTBfTXNrICAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX0RBVEEwX25EQVRBMF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0RBVEEwX25EQVRBMF9Nc2sgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9EQVRBMF9uREFUQTBfUG9zKSAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX0RBVEEwX25EQVRBMCAgICAgICAgICAgICAgICAgIEZMQVNIX0RBVEEwX25EQVRBMF9Nc2sgICAgICAgICAgICAgLyohPCBVc2VyIGRhdGEgc3RvcmFnZSBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0RhdGExIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfREFUQTFfUG9zICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTFfREFUQTFfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEExX0RBVEExX1BvcykgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfREFUQTEgICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTFfREFUQTFfTXNrICAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX0RBVEExX25EQVRBMV9Qb3MgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0RBVEExX25EQVRBMV9Nc2sgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9EQVRBMV9uREFUQTFfUG9zKSAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX0RBVEExX25EQVRBMSAgICAgICAgICAgICAgICAgIEZMQVNIX0RBVEExX25EQVRBMV9Nc2sgICAgICAgICAgICAgLyohPCBVc2VyIGRhdGEgc3RvcmFnZSBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUDAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQMF9XUlAwX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMF9XUlAwX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDBfV1JQMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMF9XUlAwICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMF9XUlAwX01zayAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX25XUlAwX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAwX25XUlAwX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMF9uV1JQMF9Qb3MpICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX25XUlAwICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAwX25XUlAwX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAxX1dSUDFfUG9zICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAxX1dSUDFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMV9XUlAxX1BvcykgICAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAxX1dSUDEgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAxX1dSUDFfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDFfbldSUDFfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDFfbldSUDFfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAxX25XUlAxX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1dSUDFfbldSUDEgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDFfbldSUDFfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlAyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUDJfV1JQMl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDJfV1JQMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAyX1dSUDJfUG9zKSAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZMQVNIX1dSUDJfV1JQMiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDJfV1JQMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9uV1JQMl9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMl9uV1JQMl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDJfbldSUDJfUG9zKSAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9uV1JQMiAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMl9uV1JQMl9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUDMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQM19XUlAzX1BvcyAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQM19XUlAzX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDNfV1JQM19Qb3MpICAgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQM19XUlAzICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQM19XUlAzX01zayAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBGTEFTSF9XUlAzX25XUlAzX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAzX25XUlAzX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQM19uV1JQM19Qb3MpICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAzX25XUlAzICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAzX25XUlAzX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQoNCg0KLyoqDQogICogQH0NCiovDQoNCi8qKg0KICAqIEB9DQoqLyANCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX21hY3JvDQogICogQHsNCiAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBBREMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfQURDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEFEQzEpKQ0KDQojZGVmaW5lIElTX0FEQ19DT01NT05fSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEFEQzFfQ09NTU9OKQ0KDQojZGVmaW5lIElTX0FEQ19ETUFfQ0FQQUJJTElUWV9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQURDMSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDUkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfQ1JDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQ1JDKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERBQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERNQSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19ETUFfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNCkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNykpDQogIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBHUElPQSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9CKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0MpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPRCkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9FKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gSW5zdGFuY2VzICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BRl9JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gTG9jayBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBJMkMxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBJMkMyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU01CVVMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfU01CVVNfQUxMX0lOU1RBTkNFICAgICAgICAgSVNfSTJDX0FMTF9JTlNUQU5DRQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19JV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IElXREcpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTUEkgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NQSV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBTUEkxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTVEFSVCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVElNIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1RJTV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fQURWQU5DRURfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgICAgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DQzFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQoNCiNkZWZpbmUgSVNfVElNX0NDMl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fQ0MzX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzRfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0VUUk1PREUxX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfVElYX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9JVFJYX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9PQ1hSRUZfQ0xFQVJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQoNCiNkZWZpbmUgSVNfVElNX0VOQ09ERVJfSU5URVJGQUNFX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9YT1JfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQoNCiNkZWZpbmUgSVNfVElNX01BU1RFUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fU0xBVkVfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQoNCiNkZWZpbmUgSVNfVElNX0RNQUJVUlNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9CUkVBS19JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hfSU5TVEFOQ0UoSU5TVEFOQ0UsIENIQU5ORUwpIFwNCiAgICgoKChJTlNUQU5DRSkgPT0gVElNMikgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMykgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNNCkgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpKQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hOX0lOU1RBTkNFKElOU1RBTkNFLCBDSEFOTkVMKSAgICAgICAgMFUNCg0KI2RlZmluZSBJU19USU1fQ09VTlRFUl9NT0RFX1NFTEVDVF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fUkVQRVRJVElPTl9DT1VOVEVSX0lOU1RBTkNFKElOU1RBTkNFKSAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLX0RJVklTSU9OX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQogICAgDQojZGVmaW5lIElTX1RJTV9ETUFfQ0NfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQogICAgDQojZGVmaW5lIElTX1RJTV9DT01NVVRBVElPTl9FVkVOVF9JTlNUQU5DRShJTlNUQU5DRSkgICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0VUUl9JTlNUQU5DRShJTlNUQU5DRSkgICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9IQUxMX1NFTlNPUl9JTlRFUkZBQ0VfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fMzJCX0NPVU5URVJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgICAgICAgICAwVQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVORCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVU0FSVCBJbnN0YW5jZXMgOiBTeW5jaHJvbm91cyBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VU0FSVF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEFzeW5jaHJvbm91cyBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFsZi1EdXBsZXggbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0hBTEZEVVBMRVhfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IExJTiBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfTElOX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEhhcmR3YXJlIEZsb3cgY29udHJvbCAqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVNfVUFSVF9IV0ZMT1dfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogU21hcmQgY2FyZCBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TTUFSVENBUkRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IElSREEgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0lSREFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogTXVsdGktUHJvY2Vzc29yIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9NVUxUSVBST0NFU1NPUl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBETUEgbW9kZSBhdmFpbGFibGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJUQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19SVENfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKChJTlNUQU5DRSkgPT0gUlRDKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBXV0RHIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfV1dER19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKElOU1RBTkNFKSA9PSBXV0RHKQ0KDQoNCg0KDQojZGVmaW5lIFJDQ19IU0VfTUlOICAgICAgICAgNDAwMDAwMFUNCiNkZWZpbmUgUkNDX0hTRV9NQVggICAgICAgIDE2MDAwMDAwVQ0KDQojZGVmaW5lIFJDQ19NQVhfRlJFUVVFTkNZICA3MjAwMDAwMFUNCg0KLyoqDQogICogQH0NCiAgKi8gDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogIEZvciBhIHBhaW5sZXNzIGNvZGVzIG1pZ3JhdGlvbiBiZXR3ZWVuIHRoZSBTVE0zMkYxeHggZGV2aWNlIHByb2R1Y3QgICAgICAgKi8NCi8qICBsaW5lcywgdGhlIGFsaWFzZXMgZGVmaW5lZCBiZWxvdyBhcmUgcHV0IGluIHBsYWNlIHRvIG92ZXJjb21lIHRoZSAgICAgICAgICovDQovKiAgZGlmZmVyZW5jZXMgaW4gdGhlIGludGVycnVwdCBoYW5kbGVycyBhbmQgSVJRbiBkZWZpbml0aW9ucy4gICAgICAgICAgICAgICAqLw0KLyogIE5vIG5lZWQgdG8gdXBkYXRlIGRldmVsb3BlZCBpbnRlcnJ1cHQgY29kZSB3aGVuIG1vdmluZyBhY3Jvc3MgICAgICAgICAgICAgKi8gDQovKiAgcHJvZHVjdCBsaW5lcyB3aXRoaW4gdGhlIHNhbWUgU1RNMzJGMSBGYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyogQWxpYXNlcyBmb3IgX19JUlFuICovDQojZGVmaW5lIEFEQzFfMl9JUlFuIEFEQzFfSVJRbg0KDQoNCi8qIEFsaWFzZXMgZm9yIF9fSVJRSGFuZGxlciAqLw0KI2RlZmluZSBBREMxXzJfSVJRSGFuZGxlciBBREMxX0lSUUhhbmRsZXINCg0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQoNCiNpZmRlZiBfX2NwbHVzcGx1cw0KICB9DQojZW5kaWYgLyogX19jcGx1c3BsdXMgKi8NCiAgDQojZW5kaWYgLyogX19TVE0zMkYxMDF4Ql9IICovDQogIA0KICANCiAgDQogIC8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovDQo=