LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgQ29weXJpZ2h0IChjKSAyMDAyLCBJbmZpbmVvbiBUZWNobm9sb2dpZXMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKCQkJICAgICAgIE5vIFdhcnJhbnR5CiAgIEJlY2F1c2UgdGhlIHByb2dyYW0gaXMgbGljZW5zZWQgZnJlZSBvZiBjaGFyZ2UsIHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvcgogICB0aGUgcHJvZ3JhbSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcuICBFeGNlcHQgd2hlbgogICBvdGhlcndpc2Ugc3RhdGVkIGluIHdyaXRpbmcgdGhlIGNvcHlyaWdodCBob2xkZXJzIGFuZC9vciBvdGhlciBwYXJ0aWVzCiAgIHByb3ZpZGUgdGhlIHByb2dyYW0gImFzIGlzIiB3aXRob3V0IHdhcnJhbnR5IG9mIGFueSBraW5kLCBlaXRoZXIKICAgZXhwcmVzc2VkIG9yIGltcGxpZWQsIGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0aGUgaW1wbGllZAogICB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UuIFRoZQogICBlbnRpcmUgcmlzayBhcyB0byB0aGUgcXVhbGl0eSBhbmQgcGVyZm9ybWFuY2Ugb2YgdGhlIHByb2dyYW0gaXMgd2l0aAogICB5b3UuICBzaG91bGQgdGhlIHByb2dyYW0gcHJvdmUgZGVmZWN0aXZlLCB5b3UgYXNzdW1lIHRoZSBjb3N0IG9mIGFsbAogICBuZWNlc3Nhcnkgc2VydmljaW5nLCByZXBhaXIgb3IgY29ycmVjdGlvbi4KCiAgIEluIG5vIGV2ZW50IHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZwogICB3aWxsIGFueSBjb3B5cmlnaHQgaG9sZGVyLCBvciBhbnkgb3RoZXIgcGFydHkgd2hvIG1heSBtb2RpZnkgYW5kL29yCiAgIHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSBhcyBwZXJtaXR0ZWQgYWJvdmUsIGJlIGxpYWJsZSB0byB5b3UgZm9yCiAgIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZ2VuZXJhbCwgc3BlY2lhbCwgaW5jaWRlbnRhbCBvciBjb25zZXF1ZW50aWFsCiAgIGRhbWFnZXMgYXJpc2luZyBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZSBwcm9ncmFtCiAgIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGxvc3Mgb2YgZGF0YSBvciBkYXRhIGJlaW5nIHJlbmRlcmVkCiAgIGluYWNjdXJhdGUgb3IgbG9zc2VzIHN1c3RhaW5lZCBieSB5b3Ugb3IgdGhpcmQgcGFydGllcyBvciBhIGZhaWx1cmUgb2YKICAgdGhlIHByb2dyYW0gdG8gb3BlcmF0ZSB3aXRoIGFueSBvdGhlciBwcm9ncmFtcyksIGV2ZW4gaWYgc3VjaCBob2xkZXIgb3IKICAgb3RoZXIgcGFydHkgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgV0RUIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9XRFQgICAgICAgICAgICAgICAgICAgICAgICAgICgweEI4MDAwMDAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKlJlc2V0IFN0YXR1cyBSZWdpc3RlciBQb3dlciBPbioqKi8KI2RlZmluZSBJTkNBX0lQX1dEVF9SU1RfU1IgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9XRFQrIDB4MDAxNCkpCgovKioqUmVzZXQgUmVxdWVzdCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1dEVF9SU1RfUkVRICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9XRFQrIDB4MDAxMCkpCiNkZWZpbmUgSU5DQV9JUF9XRFRfUlNUX1JFUV9TV0JPT1QgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNCkKI2RlZmluZSBJTkNBX0lQX1dEVF9SU1RfUkVRX1NXQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX1dEVF9SU1RfUkVRX1JSUEhZICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfV0RUX1JTVF9SRVFfUlJIU1AgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9XRFRfUlNUX1JFUV9SUkZQSSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX1dEVF9SU1RfUkVRX1JSRVhUICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfV0RUX1JTVF9SRVFfUlJEU1AgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9XRFRfUlNUX1JFUV9SUkNQVSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipOTUkgU3RhdHVzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfV0RUX05NSVNSICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1dEVCsgMHgwMDJDKSkKI2RlZmluZSBJTkNBX0lQX1dEVF9OTUlTUl9OTUlXRFQgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfV0RUX05NSVNSX05NSVBMTCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9XRFRfTk1JU1JfTk1JRVhUICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipNYW51ZmFjdHVyZXIgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9XRFRfTUFOSUQgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfV0RUKyAweDAwNzApKQojZGVmaW5lIElOQ0FfSVBfV0RUX01BTklEX01BTlVGICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAxMSkgLSAxKSAmICh2YWx1ZSkpIDw8IDUpCgovKioqQ2hpcCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1dEVF9DSElQSUQgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9XRFQrIDB4MDA3NCkpCiNkZWZpbmUgSU5DQV9JUF9XRFRfQ0hJUElEX1ZFUlNJT04gKHZhbHVlKSAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMjgpCiNkZWZpbmUgSU5DQV9JUF9XRFRfQ0hJUElEX1BBUlRfTlVNQkVSICh2YWx1ZSkgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfV0RUX0NISVBJRF9NQU5JRCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMTEpIC0gMSkgJiAodmFsdWUpKSA8PCAxKQoKLyoqKlJlZGVzaWduIFRyYWNpbmcgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9XRFRfUlRJRCAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfV0RUKyAweDAwNzgpKQojZGVmaW5lIElOQ0FfSVBfV0RUX1JUSURfTEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX1dEVF9SVElEX1JJWCAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipXYXRjaGRvZyBUaW1lciBDb250cm9sIFJlZ2lzdGVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9XRFRfV0RUX0NPTjAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9XRFQrIDB4MDAyMCkpCgovKioqV2F0Y2hkb2cgVGltZXIgQ29udHJvbCBSZWdpc3RlciAxKioqLwojZGVmaW5lIElOQ0FfSVBfV0RUX1dEVF9DT04xICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfV0RUKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfV0RUX1dEVF9DT04xX1dEVERSICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfV0RUX1dEVF9DT04xX1dEVElSICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQoKLyoqKldhdGNoZG9nIFRpbWVyIFN0YXR1cyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1dEVF9XRFRfU1IgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9XRFQrIDB4MDAyOCkpCiNkZWZpbmUgSU5DQV9JUF9XRFRfV0RUX1NSX1dEVFRJTSAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfV0RUX1dEVF9TUl9XRFRQUiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX1dEVF9XRFRfU1JfV0RUVE8gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9XRFRfV0RUX1NSX1dEVERTICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfV0RUX1dEVF9TUl9XRFRJUyAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1dEVF9XRFRfU1JfV0RUT0UgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9XRFRfV0RUX1NSX1dEVEFFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgQ0dVIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9DR1UgICAgICAgICAgICAgICAgICAgICAgICAgICgweEJGMTA3MDAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKkNHVSBQTEwxIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9DR1VfQ0dVX1BMTDFDUiAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQ0dVKyAweDAwMDgpKQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9QTEwxQ1JfU1dSU1QgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9QTEwxQ1JfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMCkKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfUExMMUNSX05ESVYgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9DR1VfQ0dVX1BMTDFDUl9NRElWICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQ0dVIFBMTDAgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfUExMMENSICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9DR1UrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9DR1VfQ0dVX1BMTDBDUl9TV1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9DR1VfQ0dVX1BMTDBDUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9QTEwwQ1JfTkRJViAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDYpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfUExMMENSX01ESVYgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipDR1UgUExMMCBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9DR1VfQ0dVX1BMTDBTUiAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQ0dVKyAweDAwMDQpKQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9QTEwwU1JfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfUExMMFNSX1JDRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI5KQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9QTEwwU1JfUExMQllQICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCgovKioqQ0dVIFBMTDEgU3RhdHVzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9QTEwxU1IgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0NHVSsgMHgwMDBDKSkKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfUExMMVNSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9DR1VfQ0dVX1BMTDFTUl9SQ0YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyOSkKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfUExMMVNSX1BMTEJZUCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE1KQoKLyoqKkNHVSBEaXZpZGVyIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9DR1VfQ0dVX0RJVkNSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQ0dVKyAweDAwMTApKQoKLyoqKkNHVSBNdWx0aXBsZXhlciBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9NVVhDUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0NHVSsgMHgwMDE0KSkKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfTVVYQ1JfU1dSU1QgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9NVVhDUl9NVVhJSSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfTVVYQ1JfTVVYSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKkNHVSBGcmFjdGlvbmFsIERpdmlkZXIgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfRkRDUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0NHVSsgMHgwMDE4KSkKI2RlZmluZSBJTkNBX0lQX0NHVV9DR1VfRkRDUl9GREVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9GRENSX0lOVEVHRVIgKHZhbHVlKSAgICAgICAgICAgICgoKCggMSA8PCAxMikgLSAxKSAmICh2YWx1ZSkpIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfQ0dVX0NHVV9GRENSX0ZSQUNUSU9OICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogIE1vZHVsZSAgICAgIDogIFBNVSByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojZGVmaW5lIElOQ0FfSVBfUE1VICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhCRjEwMjAwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipQTSBHbG9iYWwgRW5hYmxlIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX0dFTiAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BNVSsgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4xNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4xNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4xNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNCkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4xMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMykKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMCkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU45ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU44ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU43ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU42ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU40ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9HRU5fRU4wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipQTSBQb3dlciBEb3duIEVuYWJsZSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9QREVOICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9QTVUrIDB4MDAwOCkpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fUERFTl9FTjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1BERU5fRU4xNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9QREVOX0VOMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fUERFTl9FTjEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEzKQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1BERU5fRU4xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9QREVOX0VOMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTEpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fUERFTl9FTjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEwKQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1BERU5fRU45ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9QREVOX0VOOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fUERFTl9FTjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1BERU5fRU41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9QREVOX0VONCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fUERFTl9FTjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1BERU5fRU4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9QREVOX0VOMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqUE0gV2FrZS1VcCBmcm9tIFBvd2VyIERvd24gUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fV1VQICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUE1VKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1dVUF9XVVAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fV1VQX1dVUDE1ICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9XVVBfV1VQMTQgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE0KQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1dVUF9XVVAxMyAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTMpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fV1VQX1dVUDEyICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9XVVBfV1VQMTEgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDExKQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1dVUF9XVVAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fV1VQX1dVUDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9XVVBfV1VQOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1dVUF9XVVA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fV1VQX1dVUDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9XVVBfV1VQNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX1dVUF9XVVAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fV1VQX1dVUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9XVVBfV1VQMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlBNIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fQ1IgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUE1VKyAweDAwMTQpKQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX0NSX0FXRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9QTVVfUE1fQ1JfU1dSU1QgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfUE1VX1BNX0NSX1NXQ1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1BNVV9QTV9DUl9DUkQgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBNb2R1bGUgICAgICA6ICBCQ1UgcmVnaXN0ZXIgYWRkcmVzcyBhbmQgYml0cyAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX0JDVSAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QjgwMDAxMDApCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgovKioqQkNVIENvbnRyb2wgUmVnaXN0ZXIgKDAwMTBIKSoqKi8KI2RlZmluZSBJTkNBX0lQX0JDVV9CQ1VfQ09OICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9CQ1UrIDB4MDAxMCkpCiNkZWZpbmUgSU5DQV9JUF9CQ1VfQkNVX0NPTl9TUEMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDI0KQojZGVmaW5lIElOQ0FfSVBfQkNVX0JDVV9DT05fU1BFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTkpCiNkZWZpbmUgSU5DQV9JUF9CQ1VfQkNVX0NPTl9QU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxOCkKI2RlZmluZSBJTkNBX0lQX0JDVV9CQ1VfQ09OX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfQkNVX0JDVV9DT05fVE9VVCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipCQ1UgRXJyb3IgQ29udHJvbCBDYXB0dXJlIFJlZ2lzdGVyICgwMDIwSCkqKiovCiNkZWZpbmUgSU5DQV9JUF9CQ1VfQkNVX0VDT04gICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9CQ1UrIDB4MDAyMCkpCiNkZWZpbmUgSU5DQV9JUF9CQ1VfQkNVX0VDT05fVEFHICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAyNCkKI2RlZmluZSBJTkNBX0lQX0JDVV9CQ1VfRUNPTl9SRE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMykKI2RlZmluZSBJTkNBX0lQX0JDVV9CQ1VfRUNPTl9XUk4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMikKI2RlZmluZSBJTkNBX0lQX0JDVV9CQ1VfRUNPTl9TVk0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMSkKI2RlZmluZSBJTkNBX0lQX0JDVV9CQ1VfRUNPTl9BQ0sgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDE5KQojZGVmaW5lIElOQ0FfSVBfQkNVX0JDVV9FQ09OX0FCVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE4KQojZGVmaW5lIElOQ0FfSVBfQkNVX0JDVV9FQ09OX1JEWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE3KQojZGVmaW5lIElOQ0FfSVBfQkNVX0JDVV9FQ09OX1RPVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9CQ1VfQkNVX0VDT05fRVJSQ05UICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKI2RlZmluZSBJTkNBX0lQX0JDVV9CQ1VfRUNPTl9PUEMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDI4KQoKLyoqKkJDVSBFcnJvciBBZGRyZXNzIENhcHR1cmUgUmVnaXN0ZXIgKDAwMjQgSCkqKiovCiNkZWZpbmUgSU5DQV9JUF9CQ1VfQkNVX0VBREQgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9CQ1UrIDB4MDAyNCkpCiNkZWZpbmUgSU5DQV9JUF9CQ1VfQkNVX0VBRERfRlBJQURSCgovKioqQkNVIEVycm9yIERhdGEgQ2FwdHVyZSBSZWdpc3RlciAoMDAyOEgpKioqLwojZGVmaW5lIElOQ0FfSVBfQkNVX0JDVV9FREFUICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQkNVKyAweDAwMjgpKQojZGVmaW5lIElOQ0FfSVBfQkNVX0JDVV9FREFUX0ZQSURBVAoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgTUJDIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9NQkMgICAgICAgICAgICAgICAgICAgICAgICAgICgweEJGMTAzMDAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKk1haWxib3ggQ1BVIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0NGRyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwODApKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19DRkdfU1dBUCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19DRkdfUkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfQ0ZHX0ZXSUQgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfQ0ZHX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipNYWlsYm94IENQVSBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JU1IgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMDg0KSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfSVNSX0IzREEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lTUl9CMkRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JU1JfQjFFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lTUl9CMEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyOCkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfSVNSX1dEVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI3KQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JU1JfRFMyNjAgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMjcpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1haWxib3ggQ1BVIE1hc2sgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TSyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwODgpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19NU0tfQjNEQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLX0IyREEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzApCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TS19CMUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyOSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLX0IwRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI4KQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19NU0tfV0RUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjcpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TS19EUzI2MCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyNykgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqTWFpbGJveCBDUFUgTWFzayAwMSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLMDEgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDA4QykpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TSzAxX0IzREEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TSzAxX0IyREEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzApCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TSzAxX0IxRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI5KQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19NU0swMV9CMEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyOCkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLMDFfV0RUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjcpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TSzAxX0RTMjYwICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDI3KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipNYWlsYm94IENQVSBNYXNrIDEwIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19NU0sxMCAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMDkwKSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLMTBfQjNEQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLMTBfQjJEQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMCkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLMTBfQjFFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX01TSzEwX0IwRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI4KQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19NU0sxMF9XRFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNykKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfTVNLMTBfRFMyNjAgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMjcpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1haWxib3ggQ1BVIFNob3J0IENvbW1hbmQgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0NNRCAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwOTQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19DTURfQ1MyNzAgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMjgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1haWxib3ggQ1BVIElucHV0IERhdGEgb2YgQnVmZmVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lEMCAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JRDBfSU5EQVRBCgovKioqTWFpbGJveCBDUFUgSW5wdXQgRGF0YSBvZiBCdWZmZXIgMSoqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfSUQxICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDAyMCkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lEMV9JTkRBVEEKCi8qKipNYWlsYm94IENQVSBPdXRwdXQgRGF0YSBvZiBCdWZmZXIgMioqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfT0QyICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDA0MCkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09EMl9PVVREQVRBCgovKioqTWFpbGJveCBDUFUgT3V0cHV0IERhdGEgb2YgQnVmZmVyIDMqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09EMyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNjApKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PRDNfT1VUREFUQQoKLyoqKk1haWxib3ggQ1BVIENvbnRyb2wgUmVnaXN0ZXIgb2YgQnVmZmVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0NSMCAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMDQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19DUjBfUkRZQUJURkxTICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1haWxib3ggQ1BVIENvbnRyb2wgUmVnaXN0ZXIgb2YgQnVmZmVyIDEqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0NSMSAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19DUjFfUkRZQUJURkxTICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1haWxib3ggQ1BVIENvbnRyb2wgUmVnaXN0ZXIgb2YgQnVmZmVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0NSMiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNDQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19DUjJfUkRZQUJURkxTICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1haWxib3ggQ1BVIENvbnRyb2wgUmVnaXN0ZXIgb2YgQnVmZmVyIDMqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0NSMyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNjQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19DUjNfUkRZQUJURkxTICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1haWxib3ggQ1BVIEZyZWUgU3BhY2Ugb2YgQnVmZmVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0ZTMCAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMDgpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19GUzBfRlMKCi8qKipNYWlsYm94IENQVSBGcmVlIFNwYWNlIG9mIEJ1ZmZlciAxKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19GUzEgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMDI4KSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfRlMxX0ZTCgovKioqTWFpbGJveCBDUFUgRnJlZSBTcGFjZSBvZiBCdWZmZXIgMioqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfRlMyICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDA0OCkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0ZTMl9GUwoKLyoqKk1haWxib3ggQ1BVIEZyZWUgU3BhY2Ugb2YgQnVmZmVyIDMqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0ZTMyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNjgpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19GUzNfRlMKCi8qKipNYWlsYm94IENQVSBEYXRhIEF2YWlsYWJsZSBpbiBCdWZmZXIgMCoqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfREEwICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDAwQykpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0RBMF9EQQoKLyoqKk1haWxib3ggQ1BVIERhdGEgQXZhaWxhYmxlIGluIEJ1ZmZlciAxKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19EQTEgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMDJDKSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfREExX0RBCgovKioqTWFpbGJveCBDUFUgRGF0YSBBdmFpbGFibGUgaW4gQnVmZmVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0RBMiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNEMpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19EQTJfREEKCi8qKipNYWlsYm94IENQVSBEYXRhIEF2YWlsYWJsZSBpbiBCdWZmZXIgMyoqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfREEzICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDA2QykpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0RBM19EQQoKLyoqKk1haWxib3ggQ1BVIElucHV0IEFic29sdXRlIFBvaW50ZXIgb2YgQnVmZmVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lBQlMwICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JQUJTMF9JQUJTCgovKioqTWFpbGJveCBDUFUgSW5wdXQgQWJzb2x1dGUgUG9pbnRlciBvZiBCdWZmZXIgMSoqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfSUFCUzEgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDAzMCkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lBQlMxX0lBQlMKCi8qKipNYWlsYm94IENQVSBJbnB1dCBBYnNvbHV0ZSBQb2ludGVyIG9mIEJ1ZmZlciAyKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JQUJTMiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMDUwKSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfSUFCUzJfSUFCUwoKLyoqKk1haWxib3ggQ1BVIElucHV0IEFic29sdXRlIFBvaW50ZXIgb2YgQnVmZmVyIDMqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lBQlMzICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNzApKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JQUJTM19JQUJTCgovKioqTWFpbGJveCBDUFUgSW5wdXQgVGVtcG9yYXJ5IFBvaW50ZXIgb2YgQnVmZmVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lUTVAwICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMTQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JVE1QMF9JVE1QCgovKioqTWFpbGJveCBDUFUgSW5wdXQgVGVtcG9yYXJ5IFBvaW50ZXIgb2YgQnVmZmVyIDEqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lUTVAxICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMzQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JVE1QMV9JVE1QCgovKioqTWFpbGJveCBDUFUgSW5wdXQgVGVtcG9yYXJ5IFBvaW50ZXIgb2YgQnVmZmVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lUTVAyICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNTQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JVE1QMl9JVE1QCgovKioqTWFpbGJveCBDUFUgSW5wdXQgVGVtcG9yYXJ5IFBvaW50ZXIgb2YgQnVmZmVyIDMqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX0lUTVAzICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNzQpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19JVE1QM19JVE1QCgovKioqTWFpbGJveCBDUFUgT3V0cHV0IEFic29sdXRlIFBvaW50ZXIgb2YgQnVmZmVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09BQlMwICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMTgpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PQUJTMF9PQUJTCgovKioqTWFpbGJveCBDUFUgT3V0cHV0IEFic29sdXRlIFBvaW50ZXIgb2YgQnVmZmVyIDEqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09BQlMxICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwMzgpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PQUJTMV9PQUJTCgovKioqTWFpbGJveCBDUFUgT3V0cHV0IEFic29sdXRlIFBvaW50ZXIgb2YgQnVmZmVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09BQlMyICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNTgpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PQUJTMl9PQUJTCgovKioqTWFpbGJveCBDUFUgT3V0cHV0IEFic29sdXRlIFBvaW50ZXIgb2YgQnVmZmVyIDMqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09BQlMzICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNzgpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PQUJTM19PQUJTCgovKioqTWFpbGJveCBDUFUgT3V0cHV0IFRlbXBvcmFyeSBQb2ludGVyIG9mIEJ1ZmZlciAwKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PVE1QMCAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMDFDKSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfT1RNUDBfT1RNUAoKLyoqKk1haWxib3ggQ1BVIE91dHB1dCBUZW1wb3JhcnkgUG9pbnRlciBvZiBCdWZmZXIgMSoqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfT1RNUDEgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDAzQykpCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09UTVAxX09UTVAKCi8qKipNYWlsYm94IENQVSBPdXRwdXQgVGVtcG9yYXJ5IFBvaW50ZXIgb2YgQnVmZmVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9NQkNfTUJDX09UTVAyICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfTUJDKyAweDAwNUMpKQojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PVE1QMl9PVE1QCgovKioqTWFpbGJveCBDUFUgT3V0cHV0IFRlbXBvcmFyeSBQb2ludGVyIG9mIEJ1ZmZlciAzKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX01CQ19PVE1QMyAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMDdDKSkKI2RlZmluZSBJTkNBX0lQX01CQ19NQkNfT1RNUDNfT1RNUAoKLyoqKkRTUCBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfTUJDX0RDVFJMICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX01CQysgMHgwMEEwKSkKI2RlZmluZSBJTkNBX0lQX01CQ19EQ1RSTF9CQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCiNkZWZpbmUgSU5DQV9JUF9NQkNfRENUUkxfQk1PRCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfTUJDX0RDVFJMX0lETCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9NQkNfRENUUkxfUkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCgovKioqRFNQIFN0YXR1cyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19EU1RBICAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDBBNCkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfRFNUQV9JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCiNkZWZpbmUgSU5DQV9JUF9NQkNfRFNUQV9QRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCgovKioqRFNQIFRlc3QgMSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX01CQ19EVFNUMSAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9NQkMrIDB4MDBBOCkpCiNkZWZpbmUgSU5DQV9JUF9NQkNfRFRTVDFfQUJPUlQgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCiNkZWZpbmUgSU5DQV9JUF9NQkNfRFRTVDFfSFdGMzIgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9NQkNfRFRTVDFfSFdGNE0gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9NQkNfRFRTVDFfSFdGT1AgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBNb2R1bGUgICAgICA6ICBTd2l0Y2ggcmVnaXN0ZXIgYWRkcmVzcyBhbmQgYml0cyAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX1N3aXRjaCAgICAgICAgICAgICAgICAgICAgICAgKDB4QkYxMDQwMDApCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgovKioqVW5rbm93biBEZXN0aW5hdGlvbiBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9VTl9ERVNUICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9DQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9MQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9QQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9DTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9MTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9QTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9DVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9MVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVU5fREVTVF9QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqVkxBTiBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1ZMQU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwMDA0KSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9WTEFOX0NUUkxfU0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1ZMQU5fQ1RSTF9TTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVkxBTl9DVFJMX1NQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9WTEFOX0NUUkxfVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1ZMQU5fQ1RSTF9UTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfVkxBTl9DVFJMX1RQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9WTEFOX0NUUkxfVkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlBDIFZMQU4gQ29uZmlndXJhdGlvbiBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QQ19WTEFOICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDAwOCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUENfVkxBTl9QUkkgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1ZMQU5fVkxBTl9JRCAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDEyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipMQU4gVkxBTiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0xBTl9WTEFOICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwMEMpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0xBTl9WTEFOX1BSSSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTEFOX1ZMQU5fVkxBTl9JRCAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDEyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipDUFUgVkxBTiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9WTEFOICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9WTEFOX1BSSSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX1ZMQU5fVkxBTl9JRCAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDEyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipQcmlvcml0eSBDb1MgTWFwcGluZyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QUklfQ29TICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDAxNCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFJJX0NvU19QMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqU3Bhbm5pbmcgVHJlZSBQb3J0IFN0YXR1cyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9TVF9QVCAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDAxOCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfU1RfUFRfQ1BTICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1NUX1BUX0xQUyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMikKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9TVF9QVF9QUFMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQVJMIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQVJMX0NUTCAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwMUMpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0FSTF9DVExfQ0hDQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9BUkxfQ1RMX0NIQ0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQVJMX0NUTF9DSENQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEzKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0FSTF9DVExfQ0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9BUkxfQ1RMX0NMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQVJMX0NUTF9DUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEwKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0FSTF9DVExfQ0cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0FSTF9DVExfUFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0FSTF9DVExfTVJPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9BUkxfQ1RMX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQVJMX0NUTF9BVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0FSTF9DVExfQUdFX1RJQ0tfU0VMICh2YWx1ZSkgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0FSTF9DVExfTUFGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9BUkxfQ1RMX0VOTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQVJMX0NUTF9SZXMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMTkpIC0gMSkgJiAodmFsdWUpKSA8PCAxMykKCi8qKipDUFUgQWNjZXNzIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX0FDVEwgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDAyMCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX0FDVExfUkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfQUNUTF9SVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9BQ1RMX1JlcyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAyMSkgLSAxKSAmICh2YWx1ZSkpIDw8IDkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX0FDVExfQVZBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfQUNUTF9JRFggKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQ1BVIEFjY2VzcyBEYXRhIFJlZ2lzdGVyIDEqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfREFUQTEgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0RBVEExX0RhdGEgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQ1BVIEFjY2VzcyBEYXRhIFJlZ2lzdGVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfREFUQTIgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwMjgpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0RBVEEyX0RhdGEKCi8qKipDUFUgUG9ydCBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9QQ1RMICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwMkMpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9QQ1RMX0RBX1BPUlRTICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAxMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfUENUTF9EQUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfUENUTF9NQV9TVEFURSAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgNykKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfUENUTF9NQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9QQ1RMX01BX1BvcnRzICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9QQ1RMX01BQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX1BDVExfRU1MICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfUENUTF9FREwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9QQ1RMX1JlcyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAxOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDE0KQoKLyoqKkRTQ1AgQ29TIE1hcHBpbmcgUmVnaXN0ZXIgMSoqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9EU0NQX0NPUzEgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDAzMCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfRFNDUF9DT1MxX0RTQ1AKCi8qKipEU0NQIENvUyBNYXBwaW5nIFJlZ2lzdGVyIDEqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfRFNDUF9DT1MyICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwMzQpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0RTQ1BfQ09TMl9EU0NQCgovKioqUEMgV0ZRIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUENfV0ZRX0NUTCAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwODApKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dGUV9DVExfUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dGUV9DVExfUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dGUV9DVExfV1QxICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dGUV9DVExfV1QwICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dGUV9DVExfU0NIX1NFTCAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlBDIFRYIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUENfVFhfQ1RMICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAwODQpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1RYX0NUTF9FTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1RYX0NUTF9FRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKkxBTiBXRlEgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9MQU5fV0ZRX0NUTCAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDEwMCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTEFOX1dGUV9DVExfUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0xBTl9XRlFfQ1RMX1AwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9MQU5fV0ZRX0NUTF9XVDEgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTEFOX1dGUV9DVExfV1QwICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0xBTl9XRlFfQ1RMX1NDSF9TRUwgKHZhbHVlKSAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipMQU4gVFggQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9MQU5fVFhfQ1RMICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDEwNCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTEFOX1RYX0NUTF9FTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0xBTl9UWF9DVExfRUVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipDUFUgV0ZRIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX1dGUV9DVEwgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAxODApKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9XRlFfQ1RMX1AxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfV0ZRX0NUTF9QMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX1dGUV9DVExfV1QxICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NQVV9XRlFfQ1RMX1dUMCAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMikKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfV0ZRX0NUTF9TQ0hfU0VMICh2YWx1ZSkgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqUE0gUEMgUlggV2F0ZXJtYXJrIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dNICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwMjAwKSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QQ19XTV9SWF9XTTEgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDI0KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dNX1JYX1dNMiAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUENfV01fUlhfV00zICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BDX1dNX1JYX1dNNCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipQTSBMQU4gUlggV2F0ZXJtYXJrIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0xBTl9XTSAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwMjA0KSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9MQU5fV01fUlhfV00xICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAyNCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9MQU5fV01fUlhfV00yICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9MQU5fV01fUlhfV00zICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0xBTl9XTV9SWF9XTTQgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqUE0gQ1BVIFJYIFdhdGVybWFyayBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfV00gICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDIwOCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX1dNX1JYX1dNMSAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMjQpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX1dNX1JYX1dNMiAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ1BVX1dNX1JYX1dNMyAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DUFVfV01fUlhfV000ICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlBNIENQVSBSWCBXYXRlcm1hcmsgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfR0JMX1dNICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAyMEMpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0dCTF9XTV9HQkxfUlhfV00xICh2YWx1ZSkgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDI0KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0dCTF9XTV9HQkxfUlhfV00yICh2YWx1ZSkgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0dCTF9XTV9HQkxfUlhfV00zICh2YWx1ZSkgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfR0JMX1dNX0dCTF9SWF9XTTQgKHZhbHVlKSAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipQTSBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNX0NUTCAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwMjEwKSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTV9DVExfR0ROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTV9DVExfQ0ROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTV9DVExfTEROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTV9DVExfUEROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipQTSBIZWFkZXIgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTUFDX0hEX0NUTCAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDI4MCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19IRF9DVExfUkwyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19IRF9DVExfUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTUFDX0hEX0NUTF9DTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE5KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfSERfQ1RMX0NWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTgpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19IRF9DVExfVFlQRV9MRU4gKHZhbHVlKSAgICAgICAgICAoKCgoIDEgPDwgMTYpIC0gMSkgJiAodmFsdWUpKSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfSERfQ1RMX1RBRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19IRF9DVExfQUREICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipQTSBTb3VyY2UgQWRkcmVzcyBSZWdpc3RlciAxKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfU0ExICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAyODQpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfU0ExX1NBXzQ3XzMyICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipQTSBTb3VyY2UgQWRkcmVzcyBSZWdpc3RlciAyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfU0EyICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAyODgpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfU0EyX1NBXzMxXzAKCi8qKipQTSBEZXN0IEFkZHJlc3MgUmVnaXN0ZXIgMSoqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTUFDX0RBMSAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwMjhDKSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTUFDX0RBMV9EQV80N18zMiAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqUE0gRGVzdCBBZGRyZXNzIFJlZ2lzdGVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19EQTIgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDI5MCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19EQTJfREFfMzFfMAoKLyoqKlBNIFZMQU4gUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19WTEFOICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAyOTQpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfVkxBTl9QUkkgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDEzKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfVkxBTl9DRkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTUFDX1ZMQU5fVkxBTklEICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDEyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipQTSBUWCBJUEcgQ291bnRlciBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTUFDX1RYX0lQRyAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDI5OCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUE1BQ19UWF9JUEdfSVBHQ05UICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlBNIFJYIElQRyBDb3VudGVyIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BNQUNfUlhfSVBHICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwMjlDKSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QTUFDX1JYX0lQR19JUEdDTlQgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqTWlycm9yIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01SUiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwMzAwKSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NUlJfTVJSICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01SUl9FQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTVJSX0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NUlJfRVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01SUl9JQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTVJSX0lMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NUlJfSVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlBhY2tldCBMZW5ndGggUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUEtUX0xFTiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDAzMDQpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX1BLVF9MRU5fQUREICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUEtUX0xFTl9NQVhfUEtUX0xFTiAodmFsdWUpICAgICAgICAoKCgoIDEgPDwgMTEpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKk1ESU8gQWNjZXNzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01ESU9fQUNDICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDA0ODApKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01ESU9fQUNDX1JBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTURJT19BQ0NfUlcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NRElPX0FDQ19QSFlfQUREUiAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCA1KSAtIDEpICYgKHZhbHVlKSkgPDwgMjEpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTURJT19BQ0NfUkVHX0FERFIgKHZhbHVlKSAgICAgICAgICAoKCgoIDEgPDwgNSkgLSAxKSAmICh2YWx1ZSkpIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01ESU9fQUNDX1BIWV9EQVRBICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipFdGhlcm5ldCBQSFkgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfRVBIWSAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU3dpdGNoKyAweDA0ODQpKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfU0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfU1AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfTEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfREwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfRFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfUEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0VQSFlfUFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlBhdXNlIFdyaXRlIEVuYWJsZSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QV1JfRU4gICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDQ4OCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfUFdSX0VOX1BMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9QV1JfRU5fUFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKk1ESU8gQ29uZmlndXJhdGlvbiBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NRElPX0NGRyAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1N3aXRjaCsgMHgwNDhDKSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NRElPX0NGR19NRFMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDE0KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01ESU9fQ0ZHX1BIWV9MQU5fQUREUiAodmFsdWUpICAgICAgICgoKCggMSA8PCA1KSAtIDEpICYgKHZhbHVlKSkgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NRElPX0NGR19QSFlfUENfQUREUiAodmFsdWUpICAgICAgICAoKCgoIDEgPDwgNSkgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTURJT19DRkdfVUVQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9NRElPX0NGR19QUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfTURJT19DRkdfUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX01ESU9fQ0ZHX1VNTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DTEtfQ0ZHICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Td2l0Y2grIDB4MDUwMCkpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ0xLX0NGR19BUkxfSUQgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfU3dpdGNoX0NMS19DRkdfQ1BVX0lEICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DTEtfQ0ZHX0xBTl9JRCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9Td2l0Y2hfQ0xLX0NGR19QQ19JRCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX1N3aXRjaF9DTEtfQ0ZHX1NFX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgU1NDMSByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9TU0MxICAgICAgICAgICAgICAgICAgICAgICAgICgweEI4MDAwNTAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKkNvbnRyb2wgUmVnaXN0ZXIgKFByb2dyYW1taW5nIE1vZGUpKioqLwojZGVmaW5lIElOQ0FfSVBfU1NDMV9TQ0NfQ09OX1BSRyAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TU0MxKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TQ0NfQ09OX1BSR19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE1KQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TQ0NfQ09OX1BSR19NUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE0KQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TQ0NfQ09OX1BSR19BUkVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TQ0NfQ09OX1BSR19CRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9QUkdfUEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NDQ19DT05fUFJHX1JFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDkpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NDQ19DT05fUFJHX1RFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NDQ19DT05fUFJHX0xCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9QUkdfUE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TQ0NfQ09OX1BSR19QSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NDQ19DT05fUFJHX0hCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9QUkdfQk0gKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqU0NDIENvbnRyb2wgUmVnaXN0ZXIgKE9wZXJhdGluZyBNb2RlKSoqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9PUFIgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMSsgMHgwMDEwKSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9PUFJfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9PUFJfTVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNCkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9PUFJfQlNZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NDQ19DT05fT1BSX0JFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTEpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NDQ19DT05fT1BSX1BFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NDQ19DT05fT1BSX1JFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU0NDX0NPTl9PUFJfVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TQ0NfQ09OX09QUl9CQyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipTU0MgV3JpdGUgSGFyZHdhcmUgTW9kaWZpZWQgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1dIQkNPTiAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMSsgMHgwMDQwKSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1dIQkNPTl9TRVRCRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19XSEJDT05fU0VUUEUgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE0KQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TU0NfV0hCQ09OX1NFVFJFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMykKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1dIQkNPTl9TRVRURSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19XSEJDT05fQ0xSQkUgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDExKQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TU0NfV0hCQ09OX0NMUlBFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMCkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1dIQkNPTl9DTFJSRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1dIQkNPTl9DTFJURSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKCi8qKipTU0MgQmF1ZHJhdGUgVGltZXIgUmVsb2FkIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU1NDMV9TU0NfQlIgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TU0MxKyAweDAwMTQpKQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TU0NfQlJfQlJfVkFMVUUgKHZhbHVlKSAgICAgICAgICAoKCgoIDEgPDwgMTYpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlNTQyBUcmFuc21pdHRlciBCdWZmZXIgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19UQiAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1NTQzErIDB4MDAyMCkpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19UQl9UQl9WQUxVRSAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqU1NDIFJlY2VpdmVyIEJ1ZmZlciBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1JCICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMSsgMHgwMDI0KSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1JCX1JCX1ZBTFVFICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipTU0MgUmVjZWl2ZSBGSUZPIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19SWEZDT04gICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1NTQzErIDB4MDAzMCkpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19SWEZDT05fUlhGSVRMICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDYpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TU0NfUlhGQ09OX1JYVE1FTiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19SWEZDT05fUlhGTFUgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19SWEZDT05fUlhGRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqU1NDIFRyYW5zbWl0IEZJRk8gQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1RYRkNPTiAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMSsgMHgwMDM0KSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1RYRkNPTl9SWEZJVEwgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgNikgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19UWEZDT05fVFhUTUVOICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1RYRkNPTl9UWEZMVSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX1RYRkNPTl9UWEZFTiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipTU0MgRklGTyBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19GU1RBVCAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1NTQzErIDB4MDAzOCkpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19GU1RBVF9UWEZGTCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgNikgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19GU1RBVF9SWEZGTCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgNikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqU1NDIENsb2NrIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19DTEMgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1NTQzErIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9TU0MxX1NTQ19DTENfUk1DICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU1NDMV9TU0NfQ0xDX0RJU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1NTQzFfU1NDX0NMQ19ESVNSICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBNb2R1bGUgICAgICA6ICBTU0MyIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX1NTQzIgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QjgwMDA2MDApCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgovKioqQ29udHJvbCBSZWdpc3RlciAoUHJvZ3JhbW1pbmcgTW9kZSkqKiovCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NDQ19DT05fUFJHICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1NTQzIrIDB4MDAxMCkpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NDQ19DT05fUFJHX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NDQ19DT05fUFJHX01TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NDQ19DT05fUFJHX0FSRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NDQ19DT05fUFJHX0JFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDExKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX1BSR19QRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMCkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU0NDX0NPTl9QUkdfUkVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU0NDX0NPTl9QUkdfVEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU0NDX0NPTl9QUkdfTEIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX1BSR19QTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NDQ19DT05fUFJHX1BIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU0NDX0NPTl9QUkdfSEIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX1BSR19CTSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipTQ0MgQ29udHJvbCBSZWdpc3RlciAoT3BlcmF0aW5nIE1vZGUpKioqLwojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX09QUiAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TU0MyKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX09QUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE1KQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX09QUl9NUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE0KQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX09QUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1NTQzJfU0NDX0NPTl9PUFJfQkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU0NDX0NPTl9PUFJfUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMCkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU0NDX0NPTl9PUFJfUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TQ0NfQ09OX09QUl9URSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NDQ19DT05fT1BSX0JDICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlNTQyBXcml0ZSBIYXJkd2FyZSBNb2RpZmllZCBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfV0hCQ09OICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TU0MyKyAweDAwNDApKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfV0hCQ09OX1NFVEJFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1dIQkNPTl9TRVRQRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NTQ19XSEJDT05fU0VUUkUgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEzKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfV0hCQ09OX1NFVFRFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1dIQkNPTl9DTFJCRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTEpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NTQ19XSEJDT05fQ0xSUEUgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEwKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfV0hCQ09OX0NMUlJFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfV0hCQ09OX0NMUlRFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQoKLyoqKlNTQyBCYXVkcmF0ZSBUaW1lciBSZWxvYWQgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NTQ19CUiAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1NTQzIrIDB4MDAxNCkpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NTQ19CUl9CUl9WQUxVRSAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqU1NDIFRyYW5zbWl0dGVyIEJ1ZmZlciBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1RCICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMisgMHgwMDIwKSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1RCX1RCX1ZBTFVFICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipTU0MgUmVjZWl2ZXIgQnVmZmVyIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfUkIgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TU0MyKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfUkJfUkJfVkFMVUUgKHZhbHVlKSAgICAgICAgICAoKCgoIDEgPDwgMTYpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlNTQyBSZWNlaXZlIEZJRk8gQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1JYRkNPTiAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMisgMHgwMDMwKSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1JYRkNPTl9SWEZJVEwgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgNikgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NTQ19SWEZDT05fUlhUTUVOICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1JYRkNPTl9SWEZMVSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1JYRkNPTl9SWEZFTiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipTU0MgVHJhbnNtaXQgRklGTyBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfVFhGQ09OICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TU0MyKyAweDAwMzQpKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfVFhGQ09OX1JYRklUTCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX1RYRkNPTl9UWFRNRU4gICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfVFhGQ09OX1RYRkxVICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfVFhGQ09OX1RYRkVOICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlNTQyBGSUZPIFN0YXR1cyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX0ZTVEFUICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMisgMHgwMDM4KSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX0ZTVEFUX1RYRkZMICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX0ZTVEFUX1JYRkZMICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipTU0MgQ2xvY2sgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX0NMQyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU1NDMisgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX1NTQzJfU1NDX0NMQ19STUMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9TU0MyX1NTQ19DTENfRElTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfU1NDMl9TU0NfQ0xDX0RJU1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogIE1vZHVsZSAgICAgIDogIEVCVSByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojZGVmaW5lIElOQ0FfSVBfRUJVICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhCODAwMDIwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipFQlUgQ2xvY2sgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQ0xDICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9FQlUrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0NMQ19ESVNTICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0NMQ19ESVNSICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqRUJVIEdsb2JhbCBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9DT04gICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0VCVSsgMHgwMDEwKSkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQ09OX0RUQUNTICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0NPTl9EVEFSVyAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9DT05fVE9VVEMgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9DT05fQVJCTU9ERSAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9DT05fQVJCU1lOQyAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9DT05fMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCgovKioqRUJVIEFkZHJlc3MgU2VsZWN0IFJlZ2lzdGVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0FERFNFTDAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRUJVKyAweDAwMjApKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9BRERTRUwwX0JBU0UgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyMCkgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9BRERTRUwwX01BU0sgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQUREU0VMMF9NSVJST1JFICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0FERFNFTDBfUkVHRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqRUJVIEFkZHJlc3MgU2VsZWN0IFJlZ2lzdGVyIDEqKiovCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0FERFNFTDEgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRUJVKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9BRERTRUwxX0JBU0UgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyMCkgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9BRERTRUwxX01BU0sgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQUREU0VMMV9NSVJST1JFICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0FERFNFTDFfUkVHRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqRUJVIEFkZHJlc3MgU2VsZWN0IFJlZ2lzdGVyIDIqKiovCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0FERFNFTDIgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRUJVKyAweDAwMjgpKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9BRERTRUwyX0JBU0UgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyMCkgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9BRERTRUwyX01BU0sgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQUREU0VMMl9NSVJST1JFICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0FERFNFTDJfUkVHRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqRUJVIEJ1cyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDAqKiovCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRUJVKyAweDAwNjApKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04wX1dSRElTICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMF9BTEVDICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDI5KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04wX0JDR0VOICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjcpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjBfQUdFTiAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyNCkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMF9DTVVMVFIgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDIyKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04wX1dBSVQgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjBfV0FJVElOViAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxOSkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMF9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTgpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjBfUE9SVFcgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMF9XQUlUUkRDICh2YWx1ZSkgICAgICAgICAgICAoKCgoIDEgPDwgNykgLSAxKSAmICh2YWx1ZSkpIDw8IDkpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjBfV0FJVFdSQyAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04wX0hPTERDICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMF9SRUNPVkMgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjBfQ01VTFQgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkVCVSBCdXMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAxKioqLwojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04xICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0VCVSsgMHgwMDY0KSkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMV9XUkRJUyAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjFfQUxFQyAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyOSkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMV9CQ0dFTiAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDI3KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04xX0FHRU4gKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjQpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjFfQ01VTFRSICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyMikKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMV9XQUlUICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDIwKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04xX1dBSVRJTlYgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTkpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjFfU0VUVVAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE4KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04xX1BPUlRXICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjFfV0FJVFJEQyAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDcpIC0gMSkgJiAodmFsdWUpKSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04xX1dBSVRXUkMgKHZhbHVlKSAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgNikKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMV9IT0xEQyAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjFfUkVDT1ZDICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04xX0NNVUxUICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipFQlUgQnVzIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgMioqKi8KI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMiAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9FQlUrIDB4MDA2OCkpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjJfV1JESVMgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04yX0FMRUMgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjkpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjJfQkNHRU4gKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyNykKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMl9BR0VOICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDI0KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04yX0NNVUxUUiAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjIpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjJfV0FJVCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyMCkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMl9XQUlUSU5WICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE5KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04yX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxOCkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMl9QT1JUVyAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04yX1dBSVRSREMgKHZhbHVlKSAgICAgICAgICAgICgoKCggMSA8PCA3KSAtIDEpICYgKHZhbHVlKSkgPDwgOSkKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMl9XQUlUV1JDICh2YWx1ZSkgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9FQlVfRUJVX0JVU0NPTjJfSE9MREMgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfRUJVX0VCVV9CVVNDT04yX1JFQ09WQyAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMikKI2RlZmluZSBJTkNBX0lQX0VCVV9FQlVfQlVTQ09OMl9DTVVMVCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBNb2R1bGUgICAgICA6ICBTRFJBTSByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX1NEUkFNICAgICAgICAgICAgICAgICAgICAgICAgKDB4QkY4MDAwMDApCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgovKioqTUMgQWNjZXNzIEVycm9yIENhdXNlIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfRVJSQ0FVU0UgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU0RSQU0rIDB4MDEwMCkpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19FUlJDQVVTRV9FUlIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0VSUkNBVVNFX1BPUlQgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19FUlJDQVVTRV9DQVVTRSAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19FUlJDQVVTRV9SZXMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgTmFOKSAtIDEpICYgKHZhbHVlKSkgPDwgTmFOKQoKLyoqKk1DIEFjY2VzcyBFcnJvciBBZGRyZXNzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfRVJSQUREUiAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU0RSQU0rIDB4MDEwOCkpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19FUlJBRERSX0FERFIKCi8qKipNQyBJL08gR2VuZXJhbCBQdXJwb3NlIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfSU9HUCAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU0RSQU0rIDB4MDgwMCkpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19JT0dQX0dQUjYgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMjgpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19JT0dQX0dQUjUgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMjQpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19JT0dQX0dQUjQgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19JT0dQX0dQUjMgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19JT0dQX0dQUjIgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19JT0dQX0NQUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDExKQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfSU9HUF9DTEtERUxBWSAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0lPR1BfQ0xLUkFUICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfSU9HUF9SRERFTCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqTUMgU2VsZiBSZWZyZXNoIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfU0VMRlJGU0ggICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU0RSQU0rIDB4MEEwMCkpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19TRUxGUkZTSF9QV0RTICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19TRUxGUkZTSF9QV0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfU0VMRlJGU0hfUmVzICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMwKSAtIDEpICYgKHZhbHVlKSkgPDwgMikKCi8qKipNQyBFbmFibGUgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19DVFJMRU5BICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TRFJBTSsgMHgxMDAwKSkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0NUUkxFTkFfRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0NUUkxFTkFfUmVzICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMxKSAtIDEpICYgKHZhbHVlKSkgPDwgMSkKCi8qKipNQyBNb2RlIFJlZ2lzdGVyIFNldHVwIENvZGUqKiovCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19NUlNDT0RFICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TRFJBTSsgMHgxMDA4KSkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX01SU0NPREVfVU1DICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDUpIC0gMSkgJiAodmFsdWUpKSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfTVJTQ09ERV9DTCAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgNCkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX01SU0NPREVfV1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfTVJTQ09ERV9CTCAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipNQyBDb25maWd1cmF0aW9uIERhdGEtd29yZCBXaWR0aCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0NGR0RXICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU0RSQU0rIDB4MTAxMCkpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19DRkdEV19EVyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0NGR0RXX1JlcyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAyOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCgovKioqTUMgQ29uZmlndXJhdGlvbiBQaHlzaWNhbCBCYW5rIDAgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19DRkdQQjAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TRFJBTSsgMHgxMDE4KSkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0NGR1BCMF9NQ1NFTjAgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfQ0ZHUEIwX0JBTktOMCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0NGR1BCMF9ST1dXMCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19DRkdQQjBfQ09MVzAgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfQ0ZHUEIwX1JlcyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDE2KQoKLyoqKk1DIExhdGVuY3kgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19MQVRFTkNZICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TRFJBTSsgMHgxMDM4KSkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0xBVEVOQ1lfVFJQICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0xBVEVOQ1lfVFJBUyAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0xBVEVOQ1lfVFJDRCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfTEFURU5DWV9URFBMICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19MQVRFTkNZX1REQUwgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKI2RlZmluZSBJTkNBX0lQX1NEUkFNX01DX0xBVEVOQ1lfUmVzICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDEyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjApCgovKioqTUMgUmVmcmVzaCBDeWNsZSBUaW1lIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfVFJFRlJFU0ggICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfU0RSQU0rIDB4MTA0MCkpCiNkZWZpbmUgSU5DQV9JUF9TRFJBTV9NQ19UUkVGUkVTSF9UUkVGICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMTMpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQojZGVmaW5lIElOQ0FfSVBfU0RSQU1fTUNfVFJFRlJFU0hfUmVzICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDE5KSAtIDEpICYgKHZhbHVlKSkgPDwgMTMpCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBNb2R1bGUgICAgICA6ICBHUFRVIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX0dQVFUgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QjgwMDAzMDApCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgovKioqR1BUIENsb2NrIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9DTEMgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0dQVFUrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9DTENfUk1DICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfQ0xDX0RJU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX0NMQ19ESVNSICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqR1BUIFRpbWVyIDMgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzQ09OICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDE0KSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzQ09OX1QzUkRJUiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE1KQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDNDT05fVDNDSERJUiAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNCkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzQ09OX1QzRURHRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEzKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDNDT05fQlBTMSAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAxMSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzQ09OX1QzT1RMICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMCkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzQ09OX1QzVUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzQ09OX1QzUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UM0NPTl9UM00gKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UM0NPTl9UM0kgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqR1BUIFdyaXRlIEhhcmR3YXJlIE1vZGlmaWVkIFRpbWVyIDMgQ29udHJvbCBSZWdpc3RlcgpJZiBzZXQgYW5kIGNsZWFyIGJpdCBhcmUgd3JpdHRlbiBjb25jdXJyZW50bHkgd2l0aCAxLCB0aGUgYXNzb2NpYXRlZCBiaXQgaXMgbm90IGNoYW5nZWQuKioqLwojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDNDT04gICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9HUFRVKyAweDAwNEMpKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDNDT05fU0VUVDNDSERJUiAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQzQ09OX0NMUlQzQ0hESVIgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9XSEJUM0NPTl9TRVRUM0VER0UgICAgICAgICAgICAgICAgICAoMSA8PCAxMykKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQzQ09OX0NMUlQzRURHRSAgICAgICAgICAgICAgICAgICgxIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDNDT05fU0VUVDNPVEwgICAgICAgICAgICAgICAgICAoMSA8PCAxMSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQzQ09OX0NMUlQzT1RMICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCgovKioqR1BUIFRpbWVyIDIgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QyQ09OICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDEwKSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QyQ09OX1R4UkRJUiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE1KQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDJDT05fVHhDSERJUiAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNCkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QyQ09OX1R4RURHRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEzKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDJDT05fVHhJUkRJUyAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QyQ09OX1R4UkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QyQ09OX1R4VUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QyQ09OX1R4UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UMkNPTl9UeE0gKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UMkNPTl9UeEkgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqR1BUIFRpbWVyIDQgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q0Q09OICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDE4KSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q0Q09OX1R4UkRJUiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE1KQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDRDT05fVHhDSERJUiAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNCkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q0Q09OX1R4RURHRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEzKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDRDT05fVHhJUkRJUyAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q0Q09OX1R4UkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q0Q09OX1R4VUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q0Q09OX1R4UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNENPTl9UeE0gKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNENPTl9UeEkgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqR1BUIFdyaXRlIEhXIE1vZGlmaWVkIFRpbWVyIDIgQ29udHJvbCBSZWdpc3RlciBJZiBzZXQKIGFuZCBjbGVhciBiaXQgYXJlIHdyaXR0ZW4gY29uY3VycmVudGx5IHdpdGggMSwgdGhlIGFzc29jaWF0ZWQgYml0IGlzIG5vdCBjaGFuZ2VkLioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQyQ09OICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDQ4KSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQyQ09OX1NFVFR4Q0hESVIgICAgICAgICAgICAgICAgKDEgPDwgMTUpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9XSEJUMkNPTl9DTFJUeENIRElSICAgICAgICAgICAgICAgICgxIDw8IDE0KQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDJDT05fU0VUVHhFREdFICAgICAgICAgICAgICAgICAgKDEgPDwgMTMpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9XSEJUMkNPTl9DTFJUeEVER0UgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKCi8qKipHUFQgV3JpdGUgSFcgTW9kaWZpZWQgVGltZXIgNCBDb250cm9sIFJlZ2lzdGVyIElmIHNldAogYW5kIGNsZWFyIGJpdCBhcmUgd3JpdHRlbiBjb25jdXJyZW50bHkgd2l0aCAxLCB0aGUgYXNzb2NpYXRlZCBiaXQgaXMgbm90IGNoYW5nZWQuKioqLwojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDRDT04gICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9HUFRVKyAweDAwNTApKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDRDT05fU0VUVHhDSERJUiAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQ0Q09OX0NMUlR4Q0hESVIgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9XSEJUNENPTl9TRVRUeEVER0UgICAgICAgICAgICAgICAgICAoMSA8PCAxMykKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQ0Q09OX0NMUlR4RURHRSAgICAgICAgICAgICAgICAgICgxIDw8IDEyKQoKLyoqKkdQVCBDYXB0dXJlIFJlbG9hZCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX0NBUFJFTCAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDMwKSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX0NBUFJFTF9DQVBSRUwgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMTYpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkdQVCBUaW1lciAyIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDIgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9HUFRVKyAweDAwMzQpKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDJfVFZBTCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipHUFQgVGltZXIgMyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDM4KSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1QzX1RWQUwgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqR1BUIFRpbWVyIDQgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNCAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0dQVFUrIDB4MDAzQykpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNF9UVkFMICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMTYpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkdQVCBUaW1lciA1IFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDUgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9HUFRVKyAweDAwNDApKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDVfVFZBTCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipHUFQgVGltZXIgNiBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q2ICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDQ0KSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q2X1RWQUwgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAxNikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqR1BUIFRpbWVyIDYgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q2Q09OICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDIwKSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q2Q09OX1Q2U1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNkNPTl9UNkNMUiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNkNPTl9CUFMyICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDExKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDZDT05fVDZPVEwgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEwKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDZDT05fVDZVRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDZDT05fVDZSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q2Q09OX1Q2TSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMykKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q2Q09OX1Q2SSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipHUFQgV3JpdGUgSFcgTW9kaWZpZWQgVGltZXIgNiBDb250cm9sIFJlZ2lzdGVyIElmIHNldAogYW5kIGNsZWFyIGJpdCBhcmUgd3JpdHRlbiBjb25jdXJyZW50bHkgd2l0aCAxLCB0aGUgYXNzb2NpYXRlZCBiaXQgaXMgbm90IGNoYW5nZWQuKioqLwojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDZDT04gICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9HUFRVKyAweDAwNTQpKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfV0hCVDZDT05fU0VUVDZPVEwgICAgICAgICAgICAgICAgICAoMSA8PCAxMSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1dIQlQ2Q09OX0NMUlQ2T1RMICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCgovKioqR1BUIFRpbWVyIDUgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q1Q09OICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfR1BUVSsgMHgwMDFDKSkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q1Q09OX1Q1U0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNUNPTl9UNUNMUiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNUNPTl9DSSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNUNPTl9UNUNDICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDExKQojZGVmaW5lIElOQ0FfSVBfR1BUVV9HUFRfVDVDT05fQ1QzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNUNPTl9UNVJDICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDkpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNUNPTl9UNVVERSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q1Q09OX1Q1VUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0dQVFVfR1BUX1Q1Q09OX1Q1UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNUNPTl9UNU0gKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9HUFRVX0dQVF9UNUNPTl9UNUkgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBNb2R1bGUgICAgICA6ICBJT00gcmVnaXN0ZXIgYWRkcmVzcyBhbmQgYml0cyAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX0lPTSAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QkYxMDUwMDApCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgovKioqUmVjZWl2ZSBGSUZPKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX1JGSUZPICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9SRklGT19SWEQgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqVHJhbnNtaXQgRklGTyoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9YRklGTyAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fWEZJRk9fVFhEICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgSERMQyoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9JU1RBSCAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDA4MCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fSVNUQUhfUk1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9JU1RBSF9SUEYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfSU9NX0lTVEFIX1JGTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9JT01fSVNUQUhfWFBSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lPTV9JU1RBSF9YTVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfSU9NX0lTVEFIX1hEVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCgovKioqSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXIgSERMQyoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9NQVNLSCAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDA4MCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fTUFTS0hfUk1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9NQVNLSF9SUEYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfSU9NX01BU0tIX1JGTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9JT01fTUFTS0hfWFBSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lPTV9NQVNLSF9YTVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfSU9NX01BU0tIX1hEVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCgovKioqU3RhdHVzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX1NUQVIgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMDg0KSkKI2RlZmluZSBJTkNBX0lQX0lPTV9TVEFSX1hET1YgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9TVEFSX1hGVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9JT01fU1RBUl9SQUNJICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9JT01fU1RBUl9YQUNJICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCgovKioqQ29tbWFuZCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9DTURSICAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDA4NCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ01EUl9STUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NNRFJfUlJFUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NNRFJfWFRGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9DTURSX1hNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ01EUl9YUkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqTW9kZSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9NT0RFSCAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDA4OCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fTU9ERUhfTURTMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfSU9NX01PREVIX01EUzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX0lPTV9NT0RFSF9NRFMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9JT01fTU9ERUhfUkFDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9NT0RFSF9ESU0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9JT01fTU9ERUhfRElNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfSU9NX01PREVIX0RJTTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipFeHRlbmRlZCBNb2RlIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0VYTVIgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMDhDKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9FWE1SX1hGQlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9FWE1SX1JGQlMgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgNSkKI2RlZmluZSBJTkNBX0lQX0lPTV9FWE1SX1NSQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JT01fRVhNUl9YQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9JT01fRVhNUl9SQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9JT01fRVhNUl9JVEYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlNBUEkxIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX1NBUDEgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMDk0KSkKI2RlZmluZSBJTkNBX0lQX0lPTV9TQVAxX1NBUEkxICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgMikKI2RlZmluZSBJTkNBX0lQX0lPTV9TQVAxX01IQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqUmVjZWl2ZSBGcmFtZSBCeXRlIENvdW50IExvdyoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9SQkNMICAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDA5OCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fUkJDTF9SQkModmFsdWUpICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqU0FQSTIgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fU0FQMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAwOTgpKQojZGVmaW5lIElOQ0FfSVBfSU9NX1NBUDJfU0FQSTIgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDYpIC0gMSkgJiAodmFsdWUpKSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX1NBUDJfTUxBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipSZWNlaXZlIEZyYW1lIEJ5dGUgQ291bnQgSGlnaCoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9SQkNIICAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDA5QykpCiNkZWZpbmUgSU5DQV9JUF9JT01fUkJDSF9PViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JT01fUkJDSF9SQkMxMSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9SQkNIX1JCQzEwICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX1JCQ0hfUkJDOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfSU9NX1JCQ0hfUkJDOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlRFSTEgUmVnaXN0ZXIgMSoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9URUkxICAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDA5QykpCiNkZWZpbmUgSU5DQV9JUF9JT01fVEVJMV9URUkxICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgNykgLSAxKSAmICh2YWx1ZSkpIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9JT01fVEVJMV9FQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqUmVjZWl2ZSBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fUlNUQSAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAwQTApKQojZGVmaW5lIElOQ0FfSVBfSU9NX1JTVEFfVkZSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9SU1RBX1JETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9JT01fUlNUQV9DUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfSU9NX1JTVEFfUkFCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lPTV9SU1RBX1NBMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9JT01fUlNUQV9TQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX1JTVEFfVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQojZGVmaW5lIElOQ0FfSVBfSU9NX1JTVEFfQ1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQoKLyoqKlRFSTIgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fVEVJMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAwQTApKQojZGVmaW5lIElOQ0FfSVBfSU9NX1RFSTJfVEVJMiAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDcpIC0gMSkgJiAodmFsdWUpKSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfSU9NX1RFSTJfRUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlRlc3QgTW9kZSBSZWdpc3RlciBIRExDKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX1RNSCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMEE0KSkKI2RlZmluZSBJTkNBX0lQX0lPTV9UTUhfVExQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipDb21tYW5kL0luZGljYXRpb24gUmVjZWl2ZSAwKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0NJUjAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMEI4KSkKI2RlZmluZSBJTkNBX0lQX0lPTV9DSVIwX0NPRFIwICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lPTV9DSVIwX0NJQzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9DSVIwX0NJQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX0lPTV9DSVIwX1NHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0lPTV9DSVIwX0JBUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQ29tbWFuZC9JbmRpY2F0aW9uIFRyYW5zbWl0IDAqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0lYMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAwQjgpKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NJWDBfQ09EWDAgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NJWDBfVEJBMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NJWDBfVEJBMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NJWDBfVEJBMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NJWDBfQkFDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipDb21tYW5kL0luZGljYXRpb24gUmVjZWl2ZSAxKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0NJUjEgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMEJDKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9DSVIxX0NPRFIxICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgMikKCi8qKipDb21tYW5kL0luZGljYXRpb24gVHJhbnNtaXQgMSoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9DSVgxICAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDBCQykpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0lYMV9DT0RYMSAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgNikgLSAxKSAmICh2YWx1ZSkpIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0lYMV9DSUNXICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0lYMV9DSTFFICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQ29udHJvbGxlciBEYXRhIEFjY2VzcyBSZWcuIChDSDEwKSoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9DREExMCAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDEwMCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMTBfQ0RBICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkNvbnRyb2xsZXIgRGF0YSBBY2Nlc3MgUmVnLiAoQ0gxMSkqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMTEgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxMDQpKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQTExX0NEQSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipDb250cm9sbGVyIERhdGEgQWNjZXNzIFJlZy4gKENIMjApKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQTIwICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTA4KSkKI2RlZmluZSBJTkNBX0lQX0lPTV9DREEyMF9DREEgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQ29udHJvbGxlciBEYXRhIEFjY2VzcyBSZWcuIChDSDIxKSoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9DREEyMSAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDEwQykpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMjFfQ0RBICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlRpbWUgU2xvdCBhbmQgRGF0YSBQb3J0IFNlbC4gKENIMTApKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQV9UU0RQMTAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTEwKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9DREFfVFNEUDEwX0RQUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBX1RTRFAxMF9UU1MgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqVGltZSBTbG90IGFuZCBEYXRhIFBvcnQgU2VsLiAoQ0gxMSkqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBX1RTRFAxMSAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxMTQpKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQV9UU0RQMTFfRFBTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9DREFfVFNEUDExX1RTUyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipUaW1lIFNsb3QgYW5kIERhdGEgUG9ydCBTZWwuIChDSDIwKSoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9DREFfVFNEUDIwICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDExOCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBX1RTRFAyMF9EUFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQV9UU0RQMjBfVFNTICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlRpbWUgU2xvdCBhbmQgRGF0YSBQb3J0IFNlbC4gKENIMjEpKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQV9UU0RQMjEgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTFDKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9DREFfVFNEUDIxX0RQUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBX1RTRFAyMV9UU1MgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqVGltZSBTbG90IGFuZCBEYXRhIFBvcnQgU2VsLiAoQ0gxMCkqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fQ09fVFNEUDEwICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxMjApKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAxMF9EUFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAxMF9UU1MgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqVGltZSBTbG90IGFuZCBEYXRhIFBvcnQgU2VsLiAoQ0gxMSkqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fQ09fVFNEUDExICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxMjQpKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAxMV9EUFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAxMV9UU1MgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqVGltZSBTbG90IGFuZCBEYXRhIFBvcnQgU2VsLiAoQ0gyMCkqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fQ09fVFNEUDIwICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxMjgpKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAyMF9EUFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAyMF9UU1MgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqVGltZSBTbG90IGFuZCBEYXRhIFBvcnQgU2VsLiAoQ0gyMSkqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fQ09fVFNEUDIxICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxMkMpKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAyMV9EUFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NPX1RTRFAyMV9UU1MgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQ3RybC4gUmVnLiBDb250ci4gRGF0YSBBY2Nlc3MgQ0gxeCoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9DREExX0NSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDEzOCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMV9DUl9FTl9UQk0gICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQTFfQ1JfRU5fSTEgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMV9DUl9FTl9JMCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9DREExX0NSX0VOX08xICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQTFfQ1JfRU5fTzAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMV9DUl9TV0FQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQ3RybC4gUmVnLiBDb250ci4gRGF0YSBBY2Nlc3MgQ0gxeCoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9DREEyX0NSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDEzQykpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMl9DUl9FTl9UQk0gICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQTJfQ1JfRU5fSTEgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMl9DUl9FTl9JMCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9DREEyX0NSX0VOX08xICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX0NEQTJfQ1JfRU5fTzAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9JT01fQ0RBMl9DUl9TV0FQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQ29udHJvbCBSZWdpc3RlciBCLUNoYW5uZWwgRGF0YSoqKi8KI2RlZmluZSBJTkNBX0lQX0lPTV9CQ0hBX0NSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JT00rIDB4MDE0NCkpCiNkZWZpbmUgSU5DQV9JUF9JT01fQkNIQV9DUl9FTl9CQzIgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfSU9NX0JDSEFfQ1JfRU5fQkMxICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKCi8qKipDb250cm9sIFJlZ2lzdGVyIEItQ2hhbm5lbCBEYXRhKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0JDSEJfQ1IgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTQ4KSkKI2RlZmluZSBJTkNBX0lQX0lPTV9CQ0hCX0NSX0VOX0JDMiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JT01fQkNIQl9DUl9FTl9CQzEgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQoKLyoqKkNvbnRyb2wgUmVnLiBmb3IgSERMQyBhbmQgQ0kxIERhdGEqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fRENJX0NSICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxNEMpKQojZGVmaW5lIElOQ0FfSVBfSU9NX0RDSV9DUl9EUFNfQ0kxICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JT01fRENJX0NSX0VOX0NJMSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9JT01fRENJX0NSX0VOX0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKCi8qKipDb250cm9sIFJlZy4gZm9yIEhETEMgYW5kIENJMSBEYXRhKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0RDSUNfQ1IgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTRDKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9EQ0lDX0NSX0RQU19DSTAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9EQ0lDX0NSX0VOX0NJMCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9JT01fRENJQ19DUl9EUFNfRCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKCi8qKipDb250cm9sIFJlZy4gU2VyaWFsIERhdGEgU3Ryb2JlIHgqKiovCiNkZWZpbmUgSU5DQV9JUF9JT01fU0RTX0NSICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxNTQpKQojZGVmaW5lIElOQ0FfSVBfSU9NX1NEU19DUl9FTlNfVFNTICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JT01fU0RTX0NSX0VOU19UU1NfMSAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9JT01fU0RTX0NSX0VOU19UU1NfMyAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9JT01fU0RTX0NSX1RTUyAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipDb250cm9sIFJlZ2lzdGVyIElPTSBEYXRhKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0lPTV9DUiAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTVDKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9JT01fQ1JfU1BVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9JT01fQ1JfQ0lfQ1MgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9JT01fSU9NX0NSX1RJQ19ESVMgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lPTV9JT01fQ1JfRU5fQkNMICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9JT01fQ1JfQ0xLTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX0lPTV9DUl9SZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfSU9NX0lPTV9DUl9ESVNfSU9NICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqU3luY2hyb25vdXMgVHJhbnNmZXIgSW50ZXJydXB0KioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX1NUSSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTYwKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9TVElfU1RPVjIxICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lPTV9TVElfU1RPVjIwICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX0lPTV9TVElfU1RPVjExICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX0lPTV9TVElfU1RPVjEwICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lPTV9TVElfU1RJMjEgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9JT01fU1RJX1NUSTIwICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX1NUSV9TVEkxMSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0lPTV9TVElfU1RJMTAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQWNrbm93bGVkZ2UgU3luY2hyb25vdXMgVHJhbnNmZXIgSW50ZXJydXB0KioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX0FTVEkgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTYwKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9BU1RJX0FDSzIxICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfSU9NX0FTVElfQUNLMjAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9JT01fQVNUSV9BQ0sxMSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0lPTV9BU1RJX0FDSzEwICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKk1hc2sgU3luY2hyb25vdXMgVHJhbnNmZXIgSW50ZXJydXB0KioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX01TVEkgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTY0KSkKI2RlZmluZSBJTkNBX0lQX0lPTV9NU1RJX1NUT1YyMSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JT01fTVNUSV9TVE9WMjAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfSU9NX01TVElfU1RPVjExICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX0lPTV9NU1RJX1NUT1YxMCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JT01fTVNUSV9TVEkyMSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lPTV9NU1RJX1NUSTIwICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfSU9NX01TVElfU1RJMTEgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9JT01fTVNUSV9TVEkxMCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipDb25maWd1cmF0aW9uIFJlZ2lzdGVyIGZvciBTZXJpYWwgRGF0YSBTdHJvYmVzKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX1NEU19DT05GICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSU9NKyAweDAxNjgpKQojZGVmaW5lIElOQ0FfSVBfSU9NX1NEU19DT05GX1NEU19CQ0wgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipNb25pdG9yaW5nIENEQSBCaXRzKioqLwojZGVmaW5lIElOQ0FfSVBfSU9NX01DREEgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lPTSsgMHgwMTZDKSkKI2RlZmluZSBJTkNBX0lQX0lPTV9NQ0RBX01DREEyMSAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgNikKI2RlZmluZSBJTkNBX0lQX0lPTV9NQ0RBX01DREEyMCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lPTV9NQ0RBX01DREExMSAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMikKI2RlZmluZSBJTkNBX0lQX0lPTV9NQ0RBX01DREExMCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogIE1vZHVsZSAgICAgIDogIEFTQyByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojZGVmaW5lIElOQ0FfSVBfQVNDICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhCODAwMDQwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipBU0MgUG9ydCBJbnB1dCBTZWxlY3QgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1BJU0VMICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQVNDKyAweDAwMDQpKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19QSVNFTF9SSVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKkFTQyBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DT04gICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FTQysgMHgwMDEwKSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQ09OX1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQ09OX0xCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTQpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0NPTl9CUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMykKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQ09OX09ERCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DT05fRkRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTEpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0NPTl9PRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEwKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DT05fRkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DT05fUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DT05fT0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQ09OX0ZFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0NPTl9QRU5SWERJICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQ09OX1JFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0NPTl9TVFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DT05fTSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipBU0MgV3JpdGUgSGFyZHdhcmUgTW9kaWZpZWQgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfV0hCQ09OICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BU0MrIDB4MDA1MCkpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkNPTl9TRVRPRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTMpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkNPTl9TRVRGRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkNPTl9TRVRQRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTEpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkNPTl9DTFJPRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkNPTl9DTFJGRSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfV0hCQ09OX0NMUlBFICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19XSEJDT05fU0VUUkVOICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfV0hCQ09OX0NMUlJFTiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCgovKioqQVNDIEJhdWRyYXRlIFRpbWVyL1JlbG9hZCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQlRSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BU0MrIDB4MDAxNCkpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0JUUl9CUl9WQUxVRSAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCAxMykgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQVNDIEZyYWN0aW9uYWwgRGl2aWRlciBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfRkRWICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BU0MrIDB4MDAxOCkpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0ZEVl9GRF9WQUxVRSAodmFsdWUpICAgICAgICAgICgoKCggMSA8PCA5KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipBU0MgSXJEQSBQdWxzZSBNb2RlL1dpZHRoIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19QTVcgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FTQysgMHgwMDFDKSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfUE1XX0lSUFcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfUE1XX1BXX1ZBTFVFICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkFTQyBUcmFuc21pdCBCdWZmZXIgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1RCVUYgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BU0MrIDB4MDAyMCkpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1RCVUZfVERfVkFMVUUgKHZhbHVlKSAgICAgICAgICAoKCgoIDEgPDwgOSkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQVNDIFJlY2VpdmUgQnVmZmVyIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19SQlVGICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQVNDKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19SQlVGX1JEX1ZBTFVFICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDkpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkFTQyBBdXRvYmF1ZCBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19BQkNPTiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FTQysgMHgwMDMwKSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQUJDT05fUlhJTlYgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDExKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19BQkNPTl9UWElOViAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0FCQ09OX0FCRU0gKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQUJDT05fRkNERVRFTiAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19BQkNPTl9BQkRFVEVOICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0FCQ09OX0FCU1RFTiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0FCQ09OX0FVUkVOICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19BQkNPTl9BQkVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqUmVjZWl2ZSBGSUZPIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BU0NfUlhGQ09OICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQVNDKyAweDAwNDApKQojZGVmaW5lIElOQ0FfSVBfQVNDX1JYRkNPTl9SWEZJVEwgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgNikgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9BU0NfUlhGQ09OX1JYVE1FTiAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9BU0NfUlhGQ09OX1JYRkZMVSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9BU0NfUlhGQ09OX1JYRkVOICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKlRyYW5zbWl0IEZJRk8gQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FTQ19UWEZDT04gICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BU0MrIDB4MDA0NCkpCiNkZWZpbmUgSU5DQV9JUF9BU0NfVFhGQ09OX1RYRklUTCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0FTQ19UWEZDT05fVFhUTUVOICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX0FTQ19UWEZDT05fVFhGRkxVICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0FTQ19UWEZDT05fVFhGRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqRklGTyBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BU0NfRlNUQVQgICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQVNDKyAweDAwNDgpKQojZGVmaW5lIElOQ0FfSVBfQVNDX0ZTVEFUX1RYRkZMICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA2KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0FTQ19GU1RBVF9SWEZGTCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgNikgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqQVNDIFdyaXRlIEhXIE1vZGlmaWVkIEF1dG9iYXVkIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkFCQ09OICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQVNDKyAweDAwNTQpKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19XSEJBQkNPTl9TRVRBQkVOICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkFCQ09OX0NMUkFCRU4gICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipBU0MgQXV0b2JhdWQgU3RhdHVzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19BQlNUQVQgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FTQysgMHgwMDM0KSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQUJTVEFUX0RFVFdBSVQgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQUJTVEFUX1NDQ0RFVCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0FCU1RBVF9TQ1NERVQgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19BQlNUQVRfRkNDREVUICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfQUJTVEFUX0ZDU0RFVCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQVNDIFdyaXRlIEhXIE1vZGlmaWVkIEF1dG9iYXVkIFN0YXR1cyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfV0hCQUJTVEFUICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQVNDKyAweDAwNTgpKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19XSEJBQlNUQVRfU0VUREVUV0FJVCAgICAgICAgICAgICAgICAoMSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19XSEJBQlNUQVRfQ0xSREVUV0FJVCAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19XSEJBQlNUQVRfU0VUU0NDREVUICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfV0hCQUJTVEFUX0NMUlNDQ0RFVCAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkFCU1RBVF9TRVRTQ1NERVQgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19XSEJBQlNUQVRfQ0xSU0NTREVUICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfV0hCQUJTVEFUX1NFVEZDQ0RFVCAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX1dIQkFCU1RBVF9DTFJGQ0NERVQgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19XSEJBQlNUQVRfU0VURkNTREVUICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0FTQ19BU0NfV0hCQUJTVEFUX0NMUkZDU0RFVCAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqQVNDIENsb2NrIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BU0NfQVNDX0NMQyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQVNDKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DTENfUk1DICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DTENfRElTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfQVNDX0FTQ19DTENfRElTUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgRE1BIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgICgweEJGMTA4MDAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKkRNQSBSWCBDaGFubmVsIDAgQ29tbWFuZCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhDQ1IwICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDgwMCkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYQ0NSMF9MQkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhDQ1IwX0hQRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzApCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYQ0NSMF9JTklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYQ0NSMF9PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9SWENDUjBfSFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKkRNQSBSWCBDaGFubmVsIDEgQ29tbWFuZCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhDQ1IxICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDgwNCkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYQ0NSMV9MQkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhDQ1IxX0hQRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzApCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYQ0NSMV9JTklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYQ0NSMV9PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9SWENDUjFfSFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKkRNQSBSZWNlaXZlIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYSVNSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRE1BKyAweDA4MDgpKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9SWElTUl9SREVSUnggKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYSVNSX0NNRENQVHggKHZhbHVlKSAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgNikKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhJU1JfRU9QeCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCA0KQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9SWElTUl9DUFR4ICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYSVNSX0hMRHggKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipETUEgUmVjZWl2ZSBJbnRlcnJ1cHQgTWFzayBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhJTVIgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDgwQykpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYSU1SX1JERVJSeCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhJTVJfQ01EQ1BUeCAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9SWElNUl9FT1B4ICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYSU1SX0NQVHggKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMikKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhJTVJfSExEeCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkRNQSBGaXJzdCBSZWNlaXZlIERlc2NyaXB0b3IgQWRkci4gZm9yIFJ4IENoYW5uZWwgMAoqKiovCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYRlJEQTAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRE1BKyAweDA4MTApKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9SWEZSREEwX1JYRlJEQSAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqRE1BIEZpcnN0IFJlY2VpdmUgRGVzY3JpcHRvciBBZGRyLiBmb3IgUnggQ2hhbm5lbCAxCioqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhGUkRBMSAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDgxNCkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYRlJEQTFfUlhGUkRBICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDI4KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipETUEgUmVjZWl2ZSBDaGFubmVsIFBvbGxpbmcgVGltZSoqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhQT0xMICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDgxOCkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1JYUE9MTF9CU1oxICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9SWFBPTExfQlNaMCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyOCkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfUlhQT0xMX1JYUE9MTFRJTUUgKHZhbHVlKSAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipETUEgVFggQ2hhbm5lbCAwIENvbW1hbmQgUmVnaXN0ZXIgKFZvaWNlIFBvcnQpKioqLwojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWENDUjAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RNQSsgMHgwODgwKSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IwX0xCRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWENDUjBfSFBFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMCkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IwX0hSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IwX09GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYQ0NSMF9JTklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqRE1BIFRYIENoYW5uZWwgMSBDb21tYW5kIFJlZ2lzdGVyIChNYW5nbXQgUG9ydCkqKiovCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYQ0NSMSAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRE1BKyAweDA4ODQpKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWENDUjFfTEJFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYQ0NSMV9IUEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWENDUjFfSFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWENDUjFfT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IxX0lOSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipETUEgVFggQ2hhbm5lbCAyIENvbW1hbmQgUmVnaXN0ZXIgKFNTQyBQb3J0KSoqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IyICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDg4OCkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYQ0NSMl9MQkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IyX0hQRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzApCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYQ0NSMl9IQkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyOSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IyX0hSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhDQ1IyX09GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYQ0NSMl9JTklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqRE1BIEZpcnN0IFJlY2VpdmUgRGVzY3JpcHRvciBBZGRyLiBmb3IgVHggQ2hhbm5lbCAwCioqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhGUkRBMCAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDhBMCkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYRlJEQTBfVFhGUkRBICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDI4KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipETUEgRmlyc3QgUmVjZWl2ZSBEZXNjcmlwdG9yIEFkZHIuIGZvciBUeCBDaGFubmVsIDEKKioqLwojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWEZSREExICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RNQSsgMHgwOEE0KSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhGUkRBMV9UWEZSREEgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMjgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkRNQSBGaXJzdCBSZWNlaXZlIERlc2NyaXB0b3IgQWRkci4gZm9yIFR4IENoYW5uZWwgMgoqKiovCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYRlJEQTIgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRE1BKyAweDA4QTgpKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWEZSREEyX1RYRlJEQSAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqRE1BIFRyYW5zbWl0IENoYW5uZWwgQXJiaXRyYXRpb24gUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYV0dUICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRE1BKyAweDA4QzApKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWFdHVF9UWDJQUiAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYV0dUX1RYMVBSSSAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMikKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhXR1RfVFgwUFJJICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkRNQSBUcmFuc21pdCBDaGFubmVsIFBvbGxpbmcgVGltZSoqKi8KI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhQT0xMICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ETUErIDB4MDhDNCkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYUE9MTF9CU1oyICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWFBPTExfQlNaMSAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyOCkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhQT0xMX0JTWjAgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjYpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYUE9MTF9UWFBPTExUSU1FICh2YWx1ZSkgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqRE1BIFRyYW5zbWl0IEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYSVNSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRE1BKyAweDA4QzgpKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWElTUl9SREVSUnggKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWElTUl9ITER4ICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDkpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYSVNSX0NQVHggKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgNikKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhJU1JfRU9QeCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWElTUl9DTURDUFR4ICh2YWx1ZSkgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqRE1BIFRyYW5zbWl0IEludGVycnVwdCBNYXNrIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWElNUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RNQSsgMHgwOENDKSkKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhJTVJfUkRFUlJ4ICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAxMikKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhJTVJfSExEeCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCA5KQojZGVmaW5lIElOQ0FfSVBfRE1BX0RNQV9UWElNUl9DUFR4ICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9ETUFfRE1BX1RYSU1SX0VPUHggKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMykKI2RlZmluZSBJTkNBX0lQX0RNQV9ETUFfVFhJTVJfQ01EQ1BUeCAodmFsdWUpICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgRGVidWcgcmVnaXN0ZXIgYWRkcmVzcyBhbmQgYml0cyAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9EZWJ1ZyAgICAgICAgICAgICAgICAgICAgICAgICgweEJGMTA2MDAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKk1DRCBCcmVhayBCdXMgU3dpdGNoIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfRGVidWdfTUNEX0JCUyAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfRGVidWcrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9EZWJ1Z19NQ0RfQkJTX0JUUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTkpCiNkZWZpbmUgSU5DQV9JUF9EZWJ1Z19NQ0RfQkJTX0JUUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTgpCiNkZWZpbmUgSU5DQV9JUF9EZWJ1Z19NQ0RfQkJTX0JTUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTcpCiNkZWZpbmUgSU5DQV9JUF9EZWJ1Z19NQ0RfQkJTX0JTUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9EZWJ1Z19NQ0RfQkJTX0JUNUVOICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX0RlYnVnX01DRF9CQlNfQlQ0RU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE0KQojZGVmaW5lIElOQ0FfSVBfRGVidWdfTUNEX0JCU19CVDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMykKI2RlZmluZSBJTkNBX0lQX0RlYnVnX01DRF9CQlNfQlQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTIpCiNkZWZpbmUgSU5DQV9JUF9EZWJ1Z19NQ0RfQkJTX0JTNUVOICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQojZGVmaW5lIElOQ0FfSVBfRGVidWdfTUNEX0JCU19CUzRFTiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX0RlYnVnX01DRF9CQlNfQlM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKI2RlZmluZSBJTkNBX0lQX0RlYnVnX01DRF9CQlNfQlM0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKCi8qKipNQ0QgTXVsdGlwbGV4ZXIgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RlYnVnX01DRF9NQ1IgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RlYnVnKyAweDAwMDgpKQojZGVmaW5lIElOQ0FfSVBfRGVidWdfTUNEX01DUl9NVVg1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9EZWJ1Z19NQ0RfTUNSX01VWDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0RlYnVnX01DRF9NQ1JfTVVYMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgVFNGIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9UU0YgICAgICAgICAgICAgICAgICAgICAgICAgICgweEI4MDAwOTAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKlRTRiBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICgwMDAwSCkqKiovCiNkZWZpbmUgSU5DQV9JUF9UU0ZfVFNGX0NPTkYgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9UU0YrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfVFNGX0NPTkZfUFdNRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfVFNGX0NPTkZfTEVERU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfVFNGX0NPTkZfS0VZRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqS2V5IHNjYW4gQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoMDAwNEgpKioqLwojZGVmaW5lIElOQ0FfSVBfVFNGX0tFWV9DT05GICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfVFNGKyAweDAwMDQpKQojZGVmaW5lIElOQ0FfSVBfVFNGX0tFWV9DT05GX1NMICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlNjYW4gUmVnaXN0ZXIgTGluZSAwIGFuZCAxICgwMDA4SCkqKiovCiNkZWZpbmUgSU5DQV9JUF9UU0ZfU1JFRzAxICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfVFNGKyAweDAwMDgpKQojZGVmaW5lIElOQ0FfSVBfVFNGX1NSRUcwMV9SRVMxeCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgMTIpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX1RTRl9TUkVHMDFfUkVTMHggKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDEzKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipTY2FuIFJlZ2lzdGVyIExpbmUgMiBhbmQgMyAoMDAwQ0gpKioqLwojZGVmaW5lIElOQ0FfSVBfVFNGX1NSRUcyMyAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1RTRisgMHgwMDBDKSkKI2RlZmluZSBJTkNBX0lQX1RTRl9TUkVHMjNfUkVTM3ggKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDEwKSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfU1JFRzIzX1JFUzJ4ICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAxMSkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqU2NhbiBSZWdpc3RlciBMaW5lIDQsIDUgYW5kIDYgKDAwMTBIKSoqKi8KI2RlZmluZSBJTkNBX0lQX1RTRl9TUkVHNDU2ICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9UU0YrIDB4MDAxMCkpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfU1JFRzQ1Nl9SRVM2eCAodmFsdWUpICAgICAgICAgICAgICAoKCgoIDEgPDwgNykgLSAxKSAmICh2YWx1ZSkpIDw8IDI0KQojZGVmaW5lIElOQ0FfSVBfVFNGX1NSRUc0NTZfUkVTNXggKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX1RTRl9TUkVHNDU2X1JFUzR4ICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA5KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipTY2FuIFJlZ2lzdGVyIExpbmUgNyB0byAxMiAoMDAxNEgpKioqLwojZGVmaW5lIElOQ0FfSVBfVFNGX1NSRUc3dG8xMiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1RTRisgMHgwMDE0KSkKI2RlZmluZSBJTkNBX0lQX1RTRl9TUkVHN3RvMTJfUkVTMTJ4ICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjgpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfU1JFRzd0bzEyX1JFUzExeCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjQpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfU1JFRzd0bzEyX1JFUzEweCAodmFsdWUpICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9UU0ZfU1JFRzd0bzEyX1JFUzl4ICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA0KSAtIDEpICYgKHZhbHVlKSkgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfU1JFRzd0bzEyX1JFUzh4ICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCA1KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX1RTRl9TUkVHN3RvMTJfUkVTN3ggKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDYpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkxFRE1VWCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICgwMDE4SCkqKiovCiNkZWZpbmUgSU5DQV9JUF9UU0ZfTEVETVVYX0NPTkYgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfVFNGKyAweDAwMTgpKQojZGVmaW5lIElOQ0FfSVBfVFNGX0xFRE1VWF9DT05GX0VUTDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjUpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfTEVETVVYX0NPTkZfRVNUQTEgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI0KQojZGVmaW5lIElOQ0FfSVBfVFNGX0xFRE1VWF9DT05GX0VEUFgxICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMykKI2RlZmluZSBJTkNBX0lQX1RTRl9MRURNVVhfQ09ORl9FQUNUMSAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjIpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfTEVETVVYX0NPTkZfRVNQRDEgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIxKQojZGVmaW5lIElOQ0FfSVBfVFNGX0xFRE1VWF9DT05GX0VUTDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9UU0ZfTEVETVVYX0NPTkZfRVNUQTAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE5KQojZGVmaW5lIElOQ0FfSVBfVFNGX0xFRE1VWF9DT05GX0VEUFgwICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxOCkKI2RlZmluZSBJTkNBX0lQX1RTRl9MRURNVVhfQ09ORl9FQUNUMCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTcpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfTEVETVVYX0NPTkZfRVNQRDAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfVFNGX0xFRE1VWF9DT05GX0lOViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfTEVETVVYX0NPTkZfTkNPTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKkxFRCBSZWdpc3RlciAoMDAxQ0gpKioqLwojZGVmaW5lIElOQ0FfSVBfVFNGX0xFRF9SRUcgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1RTRisgMHgwMDFDKSkKI2RlZmluZSBJTkNBX0lQX1RTRl9MRURfUkVHX0x4eSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAyNCkgLSAxKSAmICh2YWx1ZSkpIDw8IDApCgovKioqUHVsc2UgV2lkdGggTW9kdWxhdG9yIDEgYW5kIDIgUmVnaXN0ZXIgKDAwMjBIKSoqKi8KI2RlZmluZSBJTkNBX0lQX1RTRl9QV00xMiAgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9UU0YrIDB4MDAyMCkpCiNkZWZpbmUgSU5DQV9JUF9UU0ZfUFdNMTJfUFcyUFcxICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IE5hTikgLSAxKSAmICh2YWx1ZSkpIDw8IE5hTikKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogIE1vZHVsZSAgICAgIDogIFBvcnRzIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojZGVmaW5lIElOQ0FfSVBfUG9ydHMgICAgICAgICAgICAgICAgICAgICAgICAoMHhCODAwMEEwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipQb3J0IDEgRGF0YSBPdXRwdXQgUmVnaXN0ZXIgKDAwMjBIKSoqKi8KI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AxX09VVCAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwMjApKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDFfT1VUX1AodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKlBvcnQgMiBEYXRhIE91dHB1dCBSZWdpc3RlciAoMDA0MEgpKioqLwojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfT1VUICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUG9ydHMrIDB4MDA0MCkpCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMl9PVVRfUCh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqUG9ydCAxIERhdGEgSW5wdXQgUmVnaXN0ZXIgKDAwMjRIKSoqKi8KI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AxX0lOICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDFfSU5fUCh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqUG9ydCAyIERhdGEgSW5wdXQgUmVnaXN0ZXIgKDAwNDRIKSoqKi8KI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AyX0lOICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwNDQpKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfSU5fUCh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqUG9ydCAxIERpcmVjdGlvbiBSZWdpc3RlciAoMDAyOEgpKioqLwojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDFfRElSICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUG9ydHMrIDB4MDAyOCkpCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMV9ESVJfUG9ydDFQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AxX0RJUl9Qb3J0MlBuICh2YWx1ZSkgICAgICAgICAgKCgoKCAxIDw8IDE2KSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipQb3J0IDIgRGlyZWN0aW9uIFJlZ2lzdGVyICgwMDQ4SCkqKiovCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMl9ESVIgICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Qb3J0cysgMHgwMDQ4KSkKI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AyX0RJUl9Qb3J0MVAodmFsdWUpICAgICAgICAgKDEgPDwgdmFsdWUpCgojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfRElSX1BvcnQyUG4gKHZhbHVlKSAgICAgICAgICAoKCgoIDEgPDwgMTYpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKlBvcnQgMCBBbHRlcm5hdGUgRnVuY3Rpb24gU2VsZWN0IFJlZ2lzdGVyIDAgKDAwMEMgSCkKKioqLwojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDBfQUxUU0VMICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUG9ydHMrIDB4MDAwQykpCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMF9BTFRTRUxfUG9ydDBQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipQb3J0IDEgQWx0ZXJuYXRlIEZ1bmN0aW9uIFNlbGVjdCBSZWdpc3RlciAwICgwMDJDIEgpCioqKi8KI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AxX0FMVFNFTCAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwMkMpKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDFfQUxUU0VMX1BvcnQxUCh2YWx1ZSkgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMV9BTFRTRUxfUG9ydDJQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipQb3J0IDIgQWx0ZXJuYXRlIEZ1bmN0aW9uIFNlbGVjdCBSZWdpc3RlciAwICgwMDRDIEgpCioqKi8KI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AyX0FMVFNFTCAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwNEMpKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfQUxUU0VMX1BvcnQxUCh2YWx1ZSkgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMl9BTFRTRUxfUG9ydDJQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipQb3J0IDAgSW5wdXQgU2NobWl0dC1UcmlnZ2VyIE9mZiBSZWdpc3RlciAoMDAxMCBIKQoqKiovCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMF9TVE9GRiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDBfU1RPRkZfUG9ydDBQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipQb3J0IDEgSW5wdXQgU2NobWl0dC1UcmlnZ2VyIE9mZiBSZWdpc3RlciAoMDAzMCBIKQoqKiovCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMV9TVE9GRiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwMzApKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDFfU1RPRkZfUG9ydDFQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AxX1NUT0ZGX1BvcnQyUCh2YWx1ZSkgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqUG9ydCAyIElucHV0IFNjaG1pdHQtVHJpZ2dlciBPZmYgUmVnaXN0ZXIgKDAwNTAgSCkKKioqLwojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfU1RPRkYgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Qb3J0cysgMHgwMDUwKSkKI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AyX1NUT0ZGX1BvcnQxUCh2YWx1ZSkgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMl9TVE9GRl9Qb3J0MlAodmFsdWUpICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKlBvcnQgMiBPcGVuIERyYWluIENvbnRyb2wgUmVnaXN0ZXIgKDAwNTRIKSoqKi8KI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AyX09EICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX1BvcnRzKyAweDAwNTQpKQojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfT0RfUG9ydDJQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipQb3J0IDAgUHVsbCBVcCBEZXZpY2UgRW5hYmxlIFJlZ2lzdGVyICgwMDE4IEgpKioqLwojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDBfUFVERU4gICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9Qb3J0cysgMHgwMDE4KSkKI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AwX1BVREVOX1BvcnQwUCh2YWx1ZSkgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqUG9ydCAyIFB1bGwgVXAgRGV2aWNlIEVuYWJsZSBSZWdpc3RlciAoMDA1OCBIKSoqKi8KI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AyX1BVREVOICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUG9ydHMrIDB4MDA1OCkpCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMl9QVURFTl9Qb3J0MlAodmFsdWUpICAgICAgICAgKDEgPDwgdmFsdWUpCgojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfUFVERU5fUG9ydDJQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipQb3J0IDAgUHVsbCBVcC9QdWxsIERvd24gU2VsZWN0IFJlZ2lzdGVyICgwMDFDIEgpKioqLwojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDBfUFVEU0VMICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUG9ydHMrIDB4MDAxQykpCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMF9QVURTRUxfUG9ydDBQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipQb3J0IDIgUHVsbCBVcC9QdWxsIERvd24gU2VsZWN0IFJlZ2lzdGVyICgwMDVDIEgpKioqLwojZGVmaW5lIElOQ0FfSVBfUG9ydHNfUDJfUFVEU0VMICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfUG9ydHMrIDB4MDA1QykpCiNkZWZpbmUgSU5DQV9JUF9Qb3J0c19QMl9QVURTRUxfUG9ydDJQKHZhbHVlKSAgICAgICAgICgxIDw8IHZhbHVlKQoKI2RlZmluZSBJTkNBX0lQX1BvcnRzX1AyX1BVRFNFTF9Qb3J0MlAodmFsdWUpICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgREVTLzNERVMgcmVnaXN0ZXIgYWRkcmVzcyBhbmQgYml0cyAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX0RFU18zREVTICAgICAgICAgICAgICAgICAgICAoMHhCODAwMDgwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipERVMgSW5wdXQgRGF0YSBIaWdoIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0lIUiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSUhSX0lIKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipERVMgSW5wdXQgRGF0YSBMb3cgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSUxSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9ERVNfM0RFUysgMHgwMDA0KSkKI2RlZmluZSBJTkNBX0lQX0RFU18zREVTX0RFU19JTFJfSUwodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkRFUyBLZXkgIzEgSGlnaCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RFU18zREVTX0RFU19LMUhSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAwOCkpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSzFIUl9LMUgodmFsdWUpICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqREVTIEtleSAjMSBMb3cgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSzFMUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RFU18zREVTKyAweDAwMEMpKQojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0sxTFJfSzFMKHZhbHVlKSAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkRFUyBLZXkgIzIgSGlnaCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RFU18zREVTX0RFU19LMkhSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAxMCkpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSzJIUl9LMkgodmFsdWUpICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqREVTIEtleSAjMiBMb3cgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSzJMUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RFU18zREVTKyAweDAwMTQpKQojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0syTFJfSzJMKHZhbHVlKSAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkRFUyBLZXkgIzMgSGlnaCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RFU18zREVTX0RFU19LM0hSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAxOCkpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSzNIUl9LM0godmFsdWUpICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqREVTIEtleSAjMyBMb3cgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSzNMUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RFU18zREVTKyAweDAwMUMpKQojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0szTFJfSzNMKHZhbHVlKSAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkRFUyBJbml0aWFsaXphdGlvbiBWZWN0b3IgSGlnaCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0RFU18zREVTX0RFU19JVkhSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAyMCkpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSVZIUl9JVkgodmFsdWUpICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqREVTIEluaXRpYWxpemF0aW9uIFZlY3RvciBMb3cgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfSVZMUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0RFU18zREVTKyAweDAwMjQpKQojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0lWTFJfSVZMKHZhbHVlKSAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkRFUyBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0NPTlRST0xSICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAyOCkpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfQ09OVFJPTFJfS1JFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfQ09OVFJPTFJfREFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfQ09OVFJPTFJfRih2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfQ09OVFJPTFJfTyh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfQ09OVFJPTFJfR08gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0NPTlRST0xSX1NUUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfQ09OVFJPTFJfSUVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX0RFU18zREVTX0RFU19DT05UUk9MUl9CVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0NPTlRST0xSX1NNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0RFU18zREVTX0RFU19DT05UUk9MUl9FX0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX0NPTlRST0xSX00odmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkRFUyBPdXRwdXQgRGF0YSBIaWdoIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX09IUiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAyQykpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfT0hSX09IKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipERVMgT3V0cHV0IERhdGEgTG93IFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfREVTXzNERVNfREVTX09MUiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfREVTXzNERVMrIDB4MDAzMCkpCiNkZWZpbmUgSU5DQV9JUF9ERVNfM0RFU19ERVNfT0xSX09MKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogIE1vZHVsZSAgICAgIDogIEFFUyByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojZGVmaW5lIElOQ0FfSVBfQUVTICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhCODAwMDg4MCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipBRVMgSW5wdXQgRGF0YSAzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JRDNSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JRDNSX0kodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBJbnB1dCBEYXRhIDIgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0lEMlIgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BRVMrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0lEMlJfSSh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqQUVTIElucHV0IERhdGEgMSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSUQxUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FFUysgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSUQxUl9JKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipBRVMgSW5wdXQgRGF0YSAwIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JRDBSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JRDBSX0kodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBPdXRwdXQgRGF0YSAzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDNSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDNSX08odmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBPdXRwdXQgRGF0YSAyIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDJSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDJSX08odmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBPdXRwdXQgRGF0YSAxIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDFSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDFSX08odmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBPdXRwdXQgRGF0YSAwIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDBSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19PRDBSX08odmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBLZXkgNyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSzdSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BRVMrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0s3Ul9LKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipBRVMgS2V5IDYgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0s2UiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19LNlJfSyh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqQUVTIEtleSA1IFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19LNVIgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FFUysgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSzVSX0sodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBLZXkgNCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSzRSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BRVMrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0s0Ul9LKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipBRVMgS2V5IDMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0szUiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19LM1JfSyh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqQUVTIEtleSAyIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19LMlIgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FFUysgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSzJSX0sodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBLZXkgMSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSzFSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BRVMrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0sxUl9LKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipBRVMgS2V5IDAgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0swUiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19LMFJfSyh2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqQUVTIEluaXRpYWxpemF0aW9uIFZlY3RvciAzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JVjNSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JVjNSX0lWKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipBRVMgSW5pdGlhbGl6YXRpb24gVmVjdG9yIDIgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0lWMlIgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9BRVMrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0lWMlJfSVYodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkFFUyBJbml0aWFsaXphdGlvbiBWZWN0b3IgMSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSVYxUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FFUysgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfSVYxUl9JVih2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqQUVTIEluaXRpYWxpemF0aW9uIFZlY3RvciAwIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JVjBSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQUVTKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19JVjBSX0lWICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMyKSAtIDEpICYodmFsdWUpKSA8PCAwKQoKLyoqKkFFUyBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19DT05UUk9MUiAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0FFUysgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfQ09OVFJPTFJfS1JFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0NPTlRST0xSX0RBVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19DT05UUk9MUl9QTksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNSkKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfQ09OVFJPTFJfRih2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0NPTlRST0xSX08odmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19DT05UUk9MUl9HTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0NPTlRST0xSX1NUUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0NPTlRST0xSX0lFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0NPTlRST0xSX0JVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9BRVNfQUVTX0NPTlRST0xSX1NNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfQ09OVFJPTFJfRV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0FFU19BRVNfQ09OVFJPTFJfS1YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQojZGVmaW5lIElOQ0FfSVBfQUVTX0FFU19DT05UUk9MUl9LKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogIE1vZHVsZSAgICAgIDogIEmyQyByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojZGVmaW5lIElOQ0FfSVBfSUlDICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhCODAwMDcwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipJskMgUG9ydCBJbnB1dCBTZWxlY3QgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1BJU0VMICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUlDKyAweDAwMDQpKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19QSVNFTF9TREFJUyh2YWx1ZSkgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1BJU0VMX1NDTElTKHZhbHVlKSAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipJskMgQ2xvY2sgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfQ0xDICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JSUMrIDB4MDAwMCkpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX0NMQ19STUMgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX0NMQ19ESVNTICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX0NMQ19ESVNSICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqSbJDIFN5c3RlbSBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMCAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lJQysgMHgwMDEwKSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzBfV01FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzBfQ0kgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDI2KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMF9TVFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzBfSUdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjQpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX1RSWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIzKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMF9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzBfQUNLRElTICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjEpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX0JVTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIwKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMF9NT0QgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDE4KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMF9SU0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNykKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzBfTTEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX1JNRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX0NPICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMF9JUlFFICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX0lSUVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzBfSVJRRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMF9CQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX0xSQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX1NMQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8wX0FMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzBfQURSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipJskMgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUlDKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMV9STSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgMjQpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX1RSWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIzKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMV9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzFfQUNLRElTICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjEpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX0JVTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIwKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMV9NT0QgKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDE4KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMV9SU0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNykKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzFfTTEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX1JNRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTUpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX0NPICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMV9JUlFFICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX0lSUVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzFfSVJRRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA1KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMV9CQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX0xSQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX1NMQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8xX0FMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzFfQURSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKCi8qKipJskMgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8yICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUlDKyAweDAwMTApKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMl9XTUVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMl9DSSAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMjYpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8yX1NUUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI1KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMl9JR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNCkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzJfVFJYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjMpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8yX0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIyKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMl9BQ0tESVMgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzJfQlVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8yX01PRCAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMTgpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8yX1JTQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE3KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMl9NMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzJfV00gKHZhbHVlKSAgICAgICAgICAgICAgICAoKCgoIDEgPDwgOCkgLSAxKSAmICh2YWx1ZSkpIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8yX0lSUUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzJfSVJRUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA2KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMl9JUlFEICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1NZU0NPTl8yX0JCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzJfTFJCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzJfU0xBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfU1lTQ09OXzJfQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19TWVNDT05fMl9BRFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQoKLyoqKkmyQyBXcml0ZSBIYXJkd2FyZSBNb2RpZmllZCBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlcgoqKiovCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTiAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lJQysgMHgwMDIwKSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfV0hCU1lTQ09OX0NMUldNRU4gICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMzEpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9TRVRXTUVOICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMwKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19XSEJTWVNDT05fU0VUU1RQICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjYpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9DTFJTVFAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfV0hCU1lTQ09OX1NFVFRSWCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI0KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19XSEJTWVNDT05fQ0xSVFJYICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjMpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9TRVRBQ0tESVMgICAgICAgICAgICAgICAgICAoMSA8PCAyMikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfV0hCU1lTQ09OX0NMUkFDS0RJUyAgICAgICAgICAgICAgICAgICgxIDw8IDIxKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19XSEJTWVNDT05fU0VUQlVNICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9DTFJCVU0gICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxOSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfV0hCU1lTQ09OX1NFVFJTQyAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE3KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19XSEJTWVNDT05fQ0xSUlNDICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9TRVRSTUVOICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE1KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19XSEJTWVNDT05fQ0xSUk1FTiAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNCkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfV0hCU1lTQ09OX1NFVElSUUUgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTApCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9TRVRJUlFQICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDkpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9TRVRJUlFEICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9DTFJJUlFFICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9DTFJJUlFQICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDYpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9DTFJJUlFEICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1dIQlNZU0NPTl9TRVRBTCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfV0hCU1lTQ09OX0NMUkFMICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQoKLyoqKkmyQyBCdXMgQ29udHJvbCBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfQlVTQ09OXzAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JSUMrIDB4MDAxNCkpCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX0JVU0NPTl8wX0JSUE1PRCAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19CVVNDT05fMF9QUkVESVYgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMikgLSAxKSAmICh2YWx1ZSkpIDw8IDI5KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19CVVNDT05fMF9JQ0E5XzAgKHZhbHVlKSAgICAgICAgICAgICAoKCgoIDEgPDwgMTApIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfQlVTQ09OXzBfQlJQICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19CVVNDT05fMF9TQ0xFTih2YWx1ZSkgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX0JVU0NPTl8wX1NEQUVOKHZhbHVlKSAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipJskMgQnVzIENvbnRyb2wgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX0JVU0NPTl8xICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUlDKyAweDAwMTQpKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19CVVNDT05fMV9CUlBNT0QgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfQlVTQ09OXzFfUFJFRElWICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAyOSkKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfQlVTQ09OXzFfSUNBN18xICh2YWx1ZSkgICAgICAgICAgICAgKCgoKCAxIDw8IDcpIC0gMSkgJiAodmFsdWUpKSA8PCAxNykKI2RlZmluZSBJTkNBX0lQX0lJQ19JSUNfQlVTQ09OXzFfQlJQICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCA4KQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19CVVNDT05fMV9TQ0xFTih2YWx1ZSkgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX0JVU0NPTl8xX1NEQUVOKHZhbHVlKSAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipJskMgUmVjZWl2ZSBUcmFuc21pdCBCdWZmZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JSUNfSUlDX1JUQiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUlDKyAweDAwMTgpKQojZGVmaW5lIElOQ0FfSVBfSUlDX0lJQ19SVEJfUlRCKHZhbHVlKSAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgRkIgcmVnaXN0ZXIgYWRkcmVzcyBhbmQgYml0cyAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX0ZCICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhCRjg4MDAwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipGQiBBY2Nlc3MgRXJyb3IgQ2F1c2UgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9GQl9GQl9FUlJDQVVTRSAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9GQisgMHgwMTAwKSkKI2RlZmluZSBJTkNBX0lQX0ZCX0ZCX0VSUkNBVVNFX0VSUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMxKQojZGVmaW5lIElOQ0FfSVBfRkJfRkJfRVJSQ0FVU0VfUE9SVCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX0ZCX0ZCX0VSUkNBVVNFX0NBVVNFICh2YWx1ZSkgICAgICAgICAgICAgICgoKCggMSA8PCAyKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKipGQiBBY2Nlc3MgRXJyb3IgQWRkcmVzcyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0ZCX0ZCX0VSUkFERFIgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0ZCKyAweDAxMDgpKQojZGVmaW5lIElOQ0FfSVBfRkJfRkJfRVJSQUREUl9BRERSCgovKioqRkIgQ29uZmlndXJhdGlvbiBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0ZCX0ZCX0NGRyAgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0ZCKyAweDA4MDApKQojZGVmaW5lIElOQ0FfSVBfRkJfRkJfQ0ZHX1NWTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDApCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBNb2R1bGUgICAgICA6ICBTUkFNIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2RlZmluZSBJTkNBX0lQX1NSQU0gICAgICAgICAgICAgICAgICAgICAgICAgKDB4QkY5ODAwMDApCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgovKioqU1JBTSBTaXplIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfU1JBTV9TUkFNX1NJWkUgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9TUkFNKyAweDA4MDApKQojZGVmaW5lIElOQ0FfSVBfU1JBTV9TUkFNX1NJWkVfU0laRSAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDIzKSAtIDEpICYgKHZhbHVlKSkgPDwgMCkKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogIE1vZHVsZSAgICAgIDogIEJJVSByZWdpc3RlciBhZGRyZXNzIGFuZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojZGVmaW5lIElOQ0FfSVBfQklVICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhCRkE4MDAwMCkKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKipCSVUgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9CSVVfQklVX0lEICAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQklVKyAweDAwMDApKQojZGVmaW5lIElOQ0FfSVBfQklVX0JJVV9JRF9BUkNIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDE2KQojZGVmaW5lIElOQ0FfSVBfQklVX0JJVV9JRF9JRCAodmFsdWUpICAgICAgICAgICAgICAgICgoKCggMSA8PCA4KSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0JJVV9CSVVfSURfUkVWICh2YWx1ZSkgICAgICAgICAgICAgICAgKCgoKCAxIDw8IDgpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkJJVSBBY2Nlc3MgRXJyb3IgQ2F1c2UgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9CSVVfQklVX0VSUkNBVVNFICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfQklVKyAweDAxMDApKQojZGVmaW5lIElOQ0FfSVBfQklVX0JJVV9FUlJDQVVTRV9FUlIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKI2RlZmluZSBJTkNBX0lQX0JJVV9CSVVfRVJSQ0FVU0VfUE9SVCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDQpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX0JJVV9CSVVfRVJSQ0FVU0VfQ0FVU0UgKHZhbHVlKSAgICAgICAgICAgICAgKCgoKCAxIDw8IDIpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQoKLyoqKkJJVSBBY2Nlc3MgRXJyb3IgQWRkcmVzcyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0JJVV9CSVVfRVJSQUREUiAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9CSVUrIDB4MDEwOCkpCiNkZWZpbmUgSU5DQV9JUF9CSVVfQklVX0VSUkFERFJfQUREUgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgTW9kdWxlICAgICAgOiAgSUNVIHJlZ2lzdGVyIGFkZHJlc3MgYW5kIGJpdHMgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNkZWZpbmUgSU5DQV9JUF9JQ1UgICAgICAgICAgICAgICAgICAgICAgICAgICgweEJGMTAxMDAwKQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLyoqKklNMCBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSUNVX0lNMF9JU1IgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lDVSsgMHgwMDAwKSkKI2RlZmluZSBJTkNBX0lQX0lDVV9JTTBfSVNSX0lSKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipJTTEgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0lDVV9JTTFfSVNSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JQ1UrIDB4MDIwMCkpCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0xX0lTUl9JUih2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqSU0yIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0yX0lTUiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUNVKyAweDA0MDApKQojZGVmaW5lIElOQ0FfSVBfSUNVX0lNMl9JU1JfSVIodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKklNMCBJbnRlcnJ1cHQgRW5hYmxlIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSUNVX0lNMF9JRVIgICAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lDVSsgMHgwMDA4KSkKI2RlZmluZSBJTkNBX0lQX0lDVV9JTTBfSUVSX0lSKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipJTTEgSW50ZXJydXB0IEVuYWJsZSBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0lDVV9JTTFfSUVSICAgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JQ1UrIDB4MDIwOCkpCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0xX0lFUl9JUih2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqSU0yIEludGVycnVwdCBFbmFibGUgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0yX0lFUiAgICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUNVKyAweDA0MDgpKQojZGVmaW5lIElOQ0FfSVBfSUNVX0lNMl9JRVJfSVIodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKklNMCBJbnRlcnJ1cHQgT3V0cHV0IFN0YXR1cyBSZWdpc3RlcioqKi8KI2RlZmluZSBJTkNBX0lQX0lDVV9JTTBfSU9TUiAgICAgICAgICAgICAgICAgICAgKCh2b2xhdGlsZSB1MzIqKShJTkNBX0lQX0lDVSsgMHgwMDEwKSkKI2RlZmluZSBJTkNBX0lQX0lDVV9JTTBfSU9TUl9JUih2YWx1ZSkgICAgICAgICAgICAgICAoMSA8PCB2YWx1ZSkKCgovKioqSU0xIEludGVycnVwdCBPdXRwdXQgU3RhdHVzIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSUNVX0lNMV9JT1NSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUNVKyAweDAyMTApKQojZGVmaW5lIElOQ0FfSVBfSUNVX0lNMV9JT1NSX0lSKHZhbHVlKSAgICAgICAgICAgICAgICgxIDw8IHZhbHVlKQoKCi8qKipJTTIgSW50ZXJydXB0IE91dHB1dCBTdGF0dXMgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0yX0lPU1IgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JQ1UrIDB4MDQxMCkpCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0yX0lPU1JfSVIodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKklNMCBJbnRlcnJ1cHQgUmVxdWVzdCBTZXQgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0wX0lSU1IgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JQ1UrIDB4MDAxOCkpCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0wX0lSU1JfSVIodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKklNMSBJbnRlcnJ1cHQgUmVxdWVzdCBTZXQgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0xX0lSU1IgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JQ1UrIDB4MDIxOCkpCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0xX0lSU1JfSVIodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKklNMiBJbnRlcnJ1cHQgUmVxdWVzdCBTZXQgUmVnaXN0ZXIqKiovCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0yX0lSU1IgICAgICAgICAgICAgICAgICAgICgodm9sYXRpbGUgdTMyKikoSU5DQV9JUF9JQ1UrIDB4MDQxOCkpCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSU0yX0lSU1JfSVIodmFsdWUpICAgICAgICAgICAgICAgKDEgPDwgdmFsdWUpCgoKLyoqKkV4dGVybmFsIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyKioqLwojZGVmaW5lIElOQ0FfSVBfSUNVX0lDVV9FSUNSICAgICAgICAgICAgICAgICAgICAoKHZvbGF0aWxlIHUzMiopKElOQ0FfSVBfSUNVKyAweDBCMDApKQojZGVmaW5lIElOQ0FfSVBfSUNVX0lDVV9FSUNSX0VJSTUgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgMjApCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSUNVX0VJQ1JfRUlJNCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAxNikKI2RlZmluZSBJTkNBX0lQX0lDVV9JQ1VfRUlDUl9FSUkzICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDEyKQojZGVmaW5lIElOQ0FfSVBfSUNVX0lDVV9FSUNSX0VJSTIgKHZhbHVlKSAgICAgICAgICAgICAgICgoKCggMSA8PCAzKSAtIDEpICYgKHZhbHVlKSkgPDwgOCkKI2RlZmluZSBJTkNBX0lQX0lDVV9JQ1VfRUlDUl9FSUkxICh2YWx1ZSkgICAgICAgICAgICAgICAoKCgoIDEgPDwgMykgLSAxKSAmICh2YWx1ZSkpIDw8IDQpCiNkZWZpbmUgSU5DQV9JUF9JQ1VfSUNVX0VJQ1JfRUlJMCAodmFsdWUpICAgICAgICAgICAgICAgKCgoKCAxIDw8IDMpIC0gMSkgJiAodmFsdWUpKSA8PCAwKQo=