LyoKICogKEMpIENvcHlyaWdodCAyMDAzCiAqIERhdmlkIE38bGxlciBFTFNPRlQgQUcgU3dpdHplcmxhbmQuIGQubXVlbGxlckBlbHNvZnQuY2gKICoKICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICogcHJvamVjdC4KICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwogKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgogKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKICogTUEgMDIxMTEtMTMwNyBVU0EKICovCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIE5BTUUJICAgIDogczNjMjR4MC5oCiAqIFZlcnNpb24gIDogMzEuMy4yMDAzCiAqCiAqIGNvbW1vbiBzdHVmZiBmb3IgU0FNU1VORyBTM0MyNFgwIFNvQwogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2lmbmRlZiBfX1MzQzI0WDBfSF9fCiNkZWZpbmUgX19TM0MyNFgwX0hfXwoKdHlwZWRlZiB2b2xhdGlsZSB1OAlTM0MyNFgwX1JFRzg7CnR5cGVkZWYgdm9sYXRpbGUgdTE2CVMzQzI0WDBfUkVHMTY7CnR5cGVkZWYgdm9sYXRpbGUgdTMyCVMzQzI0WDBfUkVHMzI7CgovKiBNZW1vcnkgY29udHJvbGxlciAoc2VlIG1hbnVhbCBjaGFwdGVyIDUpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJQldTQ09OOwoJUzNDMjRYMF9SRUczMglCQU5LQ09OWzhdOwoJUzNDMjRYMF9SRUczMglSRUZSRVNIOwoJUzNDMjRYMF9SRUczMglCQU5LU0laRTsKCVMzQzI0WDBfUkVHMzIJTVJTUkI2OwoJUzNDMjRYMF9SRUczMglNUlNSQjc7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX01FTUNUTDsKCgovKiBVU0IgSE9TVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDEyKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUhjUmV2aXNpb247CglTM0MyNFgwX1JFRzMyCUhjQ29udHJvbDsKCVMzQzI0WDBfUkVHMzIJSGNDb21tb25TdGF0dXM7CglTM0MyNFgwX1JFRzMyCUhjSW50ZXJydXB0U3RhdHVzOwoJUzNDMjRYMF9SRUczMglIY0ludGVycnVwdEVuYWJsZTsKCVMzQzI0WDBfUkVHMzIJSGNJbnRlcnJ1cHREaXNhYmxlOwoJUzNDMjRYMF9SRUczMglIY0hDQ0E7CglTM0MyNFgwX1JFRzMyCUhjUGVyaW9kQ3V0dGVuZEVEOwoJUzNDMjRYMF9SRUczMglIY0NvbnRyb2xIZWFkRUQ7CglTM0MyNFgwX1JFRzMyCUhjQ29udHJvbEN1cnJlbnRFRDsKCVMzQzI0WDBfUkVHMzIJSGNCdWxrSGVhZEVEOwoJUzNDMjRYMF9SRUczMglIY0J1bGRDdXJyZW50RUQ7CglTM0MyNFgwX1JFRzMyCUhjRG9uZUhlYWQ7CglTM0MyNFgwX1JFRzMyCUhjUm1JbnRlcnZhbDsKCVMzQzI0WDBfUkVHMzIJSGNGbVJlbWFpbmluZzsKCVMzQzI0WDBfUkVHMzIJSGNGbU51bWJlcjsKCVMzQzI0WDBfUkVHMzIJSGNQZXJpb2RpY1N0YXJ0OwoJUzNDMjRYMF9SRUczMglIY0xTVGhyZXNob2xkOwoJUzNDMjRYMF9SRUczMglIY1JoRGVzY3JpcHRvckE7CglTM0MyNFgwX1JFRzMyCUhjUmhEZXNjcmlwdG9yQjsKCVMzQzI0WDBfUkVHMzIJSGNSaFN0YXR1czsKCVMzQzI0WDBfUkVHMzIJSGNSaFBvcnRTdGF0dXMxOwoJUzNDMjRYMF9SRUczMglIY1JoUG9ydFN0YXR1czI7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1VTQl9IT1NUOwoKCi8qIElOVEVSUlVQVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDE0KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVNSQ1BORDsKCVMzQzI0WDBfUkVHMzIJSU5UTU9EOwoJUzNDMjRYMF9SRUczMglJTlRNU0s7CglTM0MyNFgwX1JFRzMyCVBSSU9SSVRZOwoJUzNDMjRYMF9SRUczMglJTlRQTkQ7CglTM0MyNFgwX1JFRzMyCUlOVE9GRlNFVDsKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCVNVQlNSQ1BORDsKCVMzQzI0WDBfUkVHMzIJSU5UU1VCTVNLOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfSU5URVJSVVBUOwoKCi8qIERNQVMgKHNlZSBtYW51YWwgY2hhcHRlciA4KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCURJU1JDOwojaWZkZWYgQ09ORklHX1MzQzI0MTAKCVMzQzI0WDBfUkVHMzIJRElTUkNDOwojZW5kaWYKCVMzQzI0WDBfUkVHMzIJRElEU1Q7CiNpZmRlZiBDT05GSUdfUzNDMjQxMAoJUzNDMjRYMF9SRUczMglESURTVEM7CiNlbmRpZgoJUzNDMjRYMF9SRUczMglEQ09OOwoJUzNDMjRYMF9SRUczMglEU1RBVDsKCVMzQzI0WDBfUkVHMzIJRENTUkM7CglTM0MyNFgwX1JFRzMyCURDRFNUOwoJUzNDMjRYMF9SRUczMglETUFTS1RSSUc7CiNpZmRlZiBDT05GSUdfUzNDMjQwMAoJUzNDMjRYMF9SRUczMglyZXNbMV07CiNlbmRpZgojaWZkZWYgQ09ORklHX1MzQzI0MTAKCVMzQzI0WDBfUkVHMzIJcmVzWzddOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfRE1BOwoKdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9ETUEJZG1hWzRdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9ETUFTOwoKCi8qIENMT0NLICYgUE9XRVIgTUFOQUdFTUVOVCAoc2VlIFMzQzI0MDAgbWFudWFsIGNoYXB0ZXIgNikgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgIChzZWUgUzNDMjQxMCBtYW51YWwgY2hhcHRlciA3KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUxPQ0tUSU1FOwoJUzNDMjRYMF9SRUczMglNUExMQ09OOwoJUzNDMjRYMF9SRUczMglVUExMQ09OOwoJUzNDMjRYMF9SRUczMglDTEtDT047CglTM0MyNFgwX1JFRzMyCUNMS1NMT1c7CglTM0MyNFgwX1JFRzMyCUNMS0RJVk47Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0NMT0NLX1BPV0VSOwoKCi8qIExDRCBDT05UUk9MTEVSIChzZWUgbWFudWFsIGNoYXB0ZXIgMTUpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMTsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMjsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMzsKCVMzQzI0WDBfUkVHMzIJTENEQ09ONDsKCVMzQzI0WDBfUkVHMzIJTENEQ09ONTsKCVMzQzI0WDBfUkVHMzIJTENEU0FERFIxOwoJUzNDMjRYMF9SRUczMglMQ0RTQUREUjI7CglTM0MyNFgwX1JFRzMyCUxDRFNBRERSMzsKCVMzQzI0WDBfUkVHMzIJUkVETFVUOwoJUzNDMjRYMF9SRUczMglHUkVFTkxVVDsKCVMzQzI0WDBfUkVHMzIJQkxVRUxVVDsKCVMzQzI0WDBfUkVHMzIJcmVzWzhdOwoJUzNDMjRYMF9SRUczMglESVRITU9ERTsKCVMzQzI0WDBfUkVHMzIJVFBBTDsKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCUxDRElOVFBORDsKCVMzQzI0WDBfUkVHMzIJTENEU1JDUE5EOwoJUzNDMjRYMF9SRUczMglMQ0RJTlRNU0s7CglTM0MyNFgwX1JFRzMyCUxQQ1NFTDsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0xDRDsKCgovKiBOQU5EIEZMQVNIIChzZWUgUzNDMjQxMCBtYW51YWwgY2hhcHRlciA2KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCU5GQ09ORjsKCVMzQzI0WDBfUkVHMzIJTkZDTUQ7CglTM0MyNFgwX1JFRzMyCU5GQUREUjsKCVMzQzI0WDBfUkVHMzIJTkZEQVRBOwoJUzNDMjRYMF9SRUczMglORlNUQVQ7CglTM0MyNFgwX1JFRzMyCU5GRUNDOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQxMF9OQU5EOwoKCi8qIFVBUlQgKHNlZSBtYW51YWwgY2hhcHRlciAxMSkgKi8KdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglVTENPTjsKCVMzQzI0WDBfUkVHMzIJVUNPTjsKCVMzQzI0WDBfUkVHMzIJVUZDT047CglTM0MyNFgwX1JFRzMyCVVNQ09OOwoJUzNDMjRYMF9SRUczMglVVFJTVEFUOwoJUzNDMjRYMF9SRUczMglVRVJTVEFUOwoJUzNDMjRYMF9SRUczMglVRlNUQVQ7CglTM0MyNFgwX1JFRzMyCVVNU1RBVDsKI2lmZGVmIF9fQklHX0VORElBTgoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJVVRYSDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CVVSWEg7CiNlbHNlIC8qIExpdHRsZSBFbmRpYW4gKi8KCVMzQzI0WDBfUkVHOAlVVFhIOwoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJVVJYSDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwojZW5kaWYKCVMzQzI0WDBfUkVHMzIJVUJSRElWOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VQVJUOwoKCi8qIFBXTSBUSU1FUiAoc2VlIG1hbnVhbCBjaGFwdGVyIDEwKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVRDTlRCOwoJUzNDMjRYMF9SRUczMglUQ01QQjsKCVMzQzI0WDBfUkVHMzIJVENOVE87Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1RJTUVSOwoKdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglUQ0ZHMDsKCVMzQzI0WDBfUkVHMzIJVENGRzE7CglTM0MyNFgwX1JFRzMyCVRDT047CglTM0MyNFgwX1RJTUVSCWNoWzRdOwoJUzNDMjRYMF9SRUczMglUQ05UQjQ7CglTM0MyNFgwX1JFRzMyCVRDTlRPNDsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfVElNRVJTOwoKCi8qIFVTQiBERVZJQ0UgKHNlZSBtYW51YWwgY2hhcHRlciAxMykgKi8KdHlwZWRlZiBzdHJ1Y3QgewojaWZkZWYgX19CSUdfRU5ESUFOCglTM0MyNFgwX1JFRzgJcmVzWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0ZJRk9fUkVHOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CUVQX0ZJRk9fUkVHOwoJUzNDMjRYMF9SRUc4CXJlc1szXTsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1VTQl9ERVZfRklGT1M7Cgp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9DT047CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlFUF9ETUFfVU5JVDsKCVMzQzI0WDBfUkVHOAlyZXMzWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9GSUZPOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19MOwoJUzNDMjRYMF9SRUc4CXJlczVbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19NOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19IOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9DT047CglTM0MyNFgwX1JFRzgJcmVzMVszXTsKCVMzQzI0WDBfUkVHOAlFUF9ETUFfVU5JVDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9GSUZPOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19MOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19NOwoJUzNDMjRYMF9SRUc4CXJlczVbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19IOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CiNlbmRpZgp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VU0JfREVWX0RNQVM7Cgp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CUZVTkNfQUREUl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlQV1JfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJRVBfSU5UX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM0WzE1XTsKCVMzQzI0WDBfUkVHOAlVU0JfSU5UX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CUVQX0lOVF9FTl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzNlsxNV07CglTM0MyNFgwX1JFRzgJVVNCX0lOVF9FTl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlGUkFNRV9OVU0xX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUZSQU1FX05VTTJfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczlbM107CglTM0MyNFgwX1JFRzgJSU5ERVhfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEwWzddOwoJUzNDMjRYMF9SRUc4CU1BWFBfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczExWzNdOwoJUzNDMjRYMF9SRUc4CUVQMF9DU1JfSU5fQ1NSMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTJbM107CglTM0MyNFgwX1JFRzgJSU5fQ1NSMl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTNbN107CglTM0MyNFgwX1JFRzgJT1VUX0NTUjFfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczE0WzNdOwoJUzNDMjRYMF9SRUc4CU9VVF9DU1IyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNVszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQxX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQyX1JFRzsKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KCVMzQzI0WDBfUkVHOAlGVU5DX0FERFJfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJUFdSX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0lOVF9SRUc7CglTM0MyNFgwX1JFRzgJcmVzM1sxNV07CglTM0MyNFgwX1JFRzgJVVNCX0lOVF9SRUc7CglTM0MyNFgwX1JFRzgJcmVzNFszXTsKCVMzQzI0WDBfUkVHOAlFUF9JTlRfRU5fUkVHOwoJUzNDMjRYMF9SRUc4CXJlczVbMTVdOwoJUzNDMjRYMF9SRUc4CVVTQl9JTlRfRU5fUkVHOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJRlJBTUVfTlVNMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlGUkFNRV9OVU0yX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUlOREVYX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM5WzddOwoJUzNDMjRYMF9SRUc4CU1BWFBfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEwWzddOwoJUzNDMjRYMF9SRUc4CUVQMF9DU1JfSU5fQ1NSMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJSU5fQ1NSMl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTJbM107CglTM0MyNFgwX1JFRzgJT1VUX0NTUjFfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEzWzddOwoJUzNDMjRYMF9SRUc4CU9VVF9DU1IyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNFszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQxX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNVszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKI2VuZGlmIC8qICBfX0JJR19FTkRJQU4gKi8KCVMzQzI0WDBfVVNCX0RFVl9GSUZPUwlmaWZvWzVdOwoJUzNDMjRYMF9VU0JfREVWX0RNQVMJZG1hWzVdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VU0JfREVWSUNFOwoKCi8qIFdBVENIIERPRyBUSU1FUiAoc2VlIG1hbnVhbCBjaGFwdGVyIDE4KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVdUQ09OOwoJUzNDMjRYMF9SRUczMglXVERBVDsKCVMzQzI0WDBfUkVHMzIJV1RDTlQ7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1dBVENIRE9HOwoKCi8qIElJQyAoc2VlIG1hbnVhbCBjaGFwdGVyIDIwKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUlJQ0NPTjsKCVMzQzI0WDBfUkVHMzIJSUlDU1RBVDsKCVMzQzI0WDBfUkVHMzIJSUlDQUREOwoJUzNDMjRYMF9SRUczMglJSUNEUzsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfSTJDOwoKCi8qIElJUyAoc2VlIG1hbnVhbCBjaGFwdGVyIDIxKSAqLwp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHMTYJcmVzMTsKCVMzQzI0WDBfUkVHMTYJSUlTQ09OOwoJUzNDMjRYMF9SRUcxNglyZXMyOwoJUzNDMjRYMF9SRUcxNglJSVNNT0Q7CglTM0MyNFgwX1JFRzE2CXJlczM7CglTM0MyNFgwX1JFRzE2CUlJU1BTUjsKCVMzQzI0WDBfUkVHMTYJcmVzNDsKCVMzQzI0WDBfUkVHMTYJSUlTRkNPTjsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKCVMzQzI0WDBfUkVHMTYJSUlTRklGTzsKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KCVMzQzI0WDBfUkVHMTYJSUlTQ09OOwoJUzNDMjRYMF9SRUcxNglyZXMxOwoJUzNDMjRYMF9SRUcxNglJSVNNT0Q7CglTM0MyNFgwX1JFRzE2CXJlczI7CglTM0MyNFgwX1JFRzE2CUlJU1BTUjsKCVMzQzI0WDBfUkVHMTYJcmVzMzsKCVMzQzI0WDBfUkVHMTYJSUlTRkNPTjsKCVMzQzI0WDBfUkVHMTYJcmVzNDsKCVMzQzI0WDBfUkVHMTYJSUlTRklGTzsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0kyUzsKCgovKiBJL08gUE9SVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDkpICovCnR5cGVkZWYgc3RydWN0IHsKI2lmZGVmIENPTkZJR19TM0MyNDAwCglTM0MyNFgwX1JFRzMyCVBBQ09OOwoJUzNDMjRYMF9SRUczMglQQURBVDsKCQoJUzNDMjRYMF9SRUczMglQQkNPTjsKCVMzQzI0WDBfUkVHMzIJUEJEQVQ7CglTM0MyNFgwX1JFRzMyCVBCVVA7CgoJUzNDMjRYMF9SRUczMglQQ0NPTjsKCVMzQzI0WDBfUkVHMzIJUENEQVQ7CglTM0MyNFgwX1JFRzMyCVBDVVA7CgoJUzNDMjRYMF9SRUczMglQRENPTjsKCVMzQzI0WDBfUkVHMzIJUEREQVQ7CglTM0MyNFgwX1JFRzMyCVBEVVA7CgoJUzNDMjRYMF9SRUczMglQRUNPTjsKCVMzQzI0WDBfUkVHMzIJUEVEQVQ7CglTM0MyNFgwX1JFRzMyCVBFVVA7CgoJUzNDMjRYMF9SRUczMglQRkNPTjsKCVMzQzI0WDBfUkVHMzIJUEZEQVQ7CglTM0MyNFgwX1JFRzMyCVBGVVA7CgoJUzNDMjRYMF9SRUczMglQR0NPTjsKCVMzQzI0WDBfUkVHMzIJUEdEQVQ7CglTM0MyNFgwX1JFRzMyCVBHVVA7CgoJUzNDMjRYMF9SRUczMglPUEVOQ1I7CgoJUzNDMjRYMF9SRUczMglNSVNDQ1I7CglTM0MyNFgwX1JFRzMyCUVYVElOVDsKI2VuZGlmCiNpZmRlZiBDT05GSUdfUzNDMjQxMAoJUzNDMjRYMF9SRUczMglHUEFDT047CglTM0MyNFgwX1JFRzMyCUdQQURBVDsKCVMzQzI0WDBfUkVHMzIJcmVzMVsyXTsKCVMzQzI0WDBfUkVHMzIJR1BCQ09OOwoJUzNDMjRYMF9SRUczMglHUEJEQVQ7CglTM0MyNFgwX1JFRzMyCUdQQlVQOwoJUzNDMjRYMF9SRUczMglyZXMyOwoJUzNDMjRYMF9SRUczMglHUENDT047CglTM0MyNFgwX1JFRzMyCUdQQ0RBVDsKCVMzQzI0WDBfUkVHMzIJR1BDVVA7CglTM0MyNFgwX1JFRzMyCXJlczM7CglTM0MyNFgwX1JFRzMyCUdQRENPTjsKCVMzQzI0WDBfUkVHMzIJR1BEREFUOwoJUzNDMjRYMF9SRUczMglHUERVUDsKCVMzQzI0WDBfUkVHMzIJcmVzNDsKCVMzQzI0WDBfUkVHMzIJR1BFQ09OOwoJUzNDMjRYMF9SRUczMglHUEVEQVQ7CglTM0MyNFgwX1JFRzMyCUdQRVVQOwoJUzNDMjRYMF9SRUczMglyZXM1OwoJUzNDMjRYMF9SRUczMglHUEZDT047CglTM0MyNFgwX1JFRzMyCUdQRkRBVDsKCVMzQzI0WDBfUkVHMzIJR1BGVVA7CglTM0MyNFgwX1JFRzMyCXJlczY7CglTM0MyNFgwX1JFRzMyCUdQR0NPTjsKCVMzQzI0WDBfUkVHMzIJR1BHREFUOwoJUzNDMjRYMF9SRUczMglHUEdVUDsKCVMzQzI0WDBfUkVHMzIJcmVzNzsKCVMzQzI0WDBfUkVHMzIJR1BIQ09OOwoJUzNDMjRYMF9SRUczMglHUEhEQVQ7CglTM0MyNFgwX1JFRzMyCUdQSFVQOwoJUzNDMjRYMF9SRUczMglyZXM4OwoKCVMzQzI0WDBfUkVHMzIJTUlTQ0NSOwoJUzNDMjRYMF9SRUczMglEQ0xLQ09OOwoJUzNDMjRYMF9SRUczMglFWFRJTlQwOwoJUzNDMjRYMF9SRUczMglFWFRJTlQxOwoJUzNDMjRYMF9SRUczMglFWFRJTlQyOwoJUzNDMjRYMF9SRUczMglFSU5URkxUMDsKCVMzQzI0WDBfUkVHMzIJRUlOVEZMVDE7CglTM0MyNFgwX1JFRzMyCUVJTlRGTFQyOwoJUzNDMjRYMF9SRUczMglFSU5URkxUMzsKCVMzQzI0WDBfUkVHMzIJRUlOVE1BU0s7CglTM0MyNFgwX1JFRzMyCUVJTlRQRU5EOwoJUzNDMjRYMF9SRUczMglHU1RBVFVTMDsKCVMzQzI0WDBfUkVHMzIJR1NUQVRVUzE7CglTM0MyNFgwX1JFRzMyCUdTVEFUVVMyOwoJUzNDMjRYMF9SRUczMglHU1RBVFVTMzsKCVMzQzI0WDBfUkVHMzIJR1NUQVRVUzQ7CiNlbmRpZgp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9HUElPOwoKCi8qIFJUQyAoc2VlIG1hbnVhbCBjaGFwdGVyIDE3KSAqLwp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzY3XTsKCVMzQzI0WDBfUkVHOAlSVENDT047CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlUSUNOVDsKCVMzQzI0WDBfUkVHOAlyZXMzWzExXTsKCVMzQzI0WDBfUkVHOAlSVENBTE07CglTM0MyNFgwX1JFRzgJcmVzNFszXTsKCVMzQzI0WDBfUkVHOAlBTE1TRUM7CglTM0MyNFgwX1JFRzgJcmVzNVszXTsKCVMzQzI0WDBfUkVHOAlBTE1NSU47CglTM0MyNFgwX1JFRzgJcmVzNlszXTsKCVMzQzI0WDBfUkVHOAlBTE1IT1VSOwoJUzNDMjRYMF9SRUc4CXJlczdbM107CglTM0MyNFgwX1JFRzgJQUxNREFURTsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUFMTU1PTjsKCVMzQzI0WDBfUkVHOAlyZXM5WzNdOwoJUzNDMjRYMF9SRUc4CUFMTVlFQVI7CglTM0MyNFgwX1JFRzgJcmVzMTBbM107CglTM0MyNFgwX1JFRzgJUlRDUlNUOwoJUzNDMjRYMF9SRUc4CXJlczExWzNdOwoJUzNDMjRYMF9SRUc4CUJDRFNFQzsKCVMzQzI0WDBfUkVHOAlyZXMxMlszXTsKCVMzQzI0WDBfUkVHOAlCQ0RNSU47CglTM0MyNFgwX1JFRzgJcmVzMTNbM107CglTM0MyNFgwX1JFRzgJQkNESE9VUjsKCVMzQzI0WDBfUkVHOAlyZXMxNFszXTsKCVMzQzI0WDBfUkVHOAlCQ0REQVRFOwoJUzNDMjRYMF9SRUc4CXJlczE1WzNdOwoJUzNDMjRYMF9SRUc4CUJDRERBWTsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKCVMzQzI0WDBfUkVHOAlCQ0RNT047CglTM0MyNFgwX1JFRzgJcmVzMTdbM107CglTM0MyNFgwX1JFRzgJQkNEWUVBUjsKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KCVMzQzI0WDBfUkVHOAlyZXMwWzY0XTsKCVMzQzI0WDBfUkVHOAlSVENDT047CglTM0MyNFgwX1JFRzgJcmVzMVszXTsKCVMzQzI0WDBfUkVHOAlUSUNOVDsKCVMzQzI0WDBfUkVHOAlyZXMyWzExXTsKCVMzQzI0WDBfUkVHOAlSVENBTE07CglTM0MyNFgwX1JFRzgJcmVzM1szXTsKCVMzQzI0WDBfUkVHOAlBTE1TRUM7CglTM0MyNFgwX1JFRzgJcmVzNFszXTsKCVMzQzI0WDBfUkVHOAlBTE1NSU47CglTM0MyNFgwX1JFRzgJcmVzNVszXTsKCVMzQzI0WDBfUkVHOAlBTE1IT1VSOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJQUxNREFURTsKCVMzQzI0WDBfUkVHOAlyZXM3WzNdOwoJUzNDMjRYMF9SRUc4CUFMTU1PTjsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUFMTVlFQVI7CglTM0MyNFgwX1JFRzgJcmVzOVszXTsKCVMzQzI0WDBfUkVHOAlSVENSU1Q7CglTM0MyNFgwX1JFRzgJcmVzMTBbM107CglTM0MyNFgwX1JFRzgJQkNEU0VDOwoJUzNDMjRYMF9SRUc4CXJlczExWzNdOwoJUzNDMjRYMF9SRUc4CUJDRE1JTjsKCVMzQzI0WDBfUkVHOAlyZXMxMlszXTsKCVMzQzI0WDBfUkVHOAlCQ0RIT1VSOwoJUzNDMjRYMF9SRUc4CXJlczEzWzNdOwoJUzNDMjRYMF9SRUc4CUJDRERBVEU7CglTM0MyNFgwX1JFRzgJcmVzMTRbM107CglTM0MyNFgwX1JFRzgJQkNEREFZOwoJUzNDMjRYMF9SRUc4CXJlczE1WzNdOwoJUzNDMjRYMF9SRUc4CUJDRE1PTjsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKCVMzQzI0WDBfUkVHOAlCQ0RZRUFSOwoJUzNDMjRYMF9SRUc4CXJlczE3WzNdOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfUlRDOwoKCi8qIEFEQyAoc2VlIG1hbnVhbCBjaGFwdGVyIDE2KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUFEQ0NPTjsKCVMzQzI0WDBfUkVHMzIJQURDREFUOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQwMF9BREM7CgoKLyogQURDIChzZWUgbWFudWFsIGNoYXB0ZXIgMTYpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJQURDQ09OOwoJUzNDMjRYMF9SRUczMglBRENUU0M7CglTM0MyNFgwX1JFRzMyCUFEQ0RMWTsKCVMzQzI0WDBfUkVHMzIJQURDREFUMDsKCVMzQzI0WDBfUkVHMzIJQURDREFUMTsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0MTBfQURDOwoKCi8qIFNQSSAoc2VlIG1hbnVhbCBjaGFwdGVyIDIyKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVNQQ09OOwoJUzNDMjRYMF9SRUczMglTUFNUQTsKCVMzQzI0WDBfUkVHMzIJU1BQSU47CglTM0MyNFgwX1JFRzMyCVNQUFJFOwoJUzNDMjRYMF9SRUczMglTUFREQVQ7CglTM0MyNFgwX1JFRzMyCVNQUkRBVDsKCVMzQzI0WDBfUkVHMzIJcmVzWzJdOwp9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSBTM0MyNFgwX1NQSV9DSEFOTkVMOwoKdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9TUElfQ0hBTk5FTAljaFtTM0MyNFgwX1NQSV9DSEFOTkVMU107Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1NQSTsKCgovKiBNTUMgSU5URVJGQUNFIChzZWUgUzNDMjQwMCBtYW51YWwgY2hhcHRlciAxOSkgKi8KdHlwZWRlZiBzdHJ1Y3QgewojaWZkZWYgX19CSUdfRU5ESUFOCglTM0MyNFgwX1JFRzgJcmVzMVszXTsKCVMzQzI0WDBfUkVHOAlNTUNPTjsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CU1NQ1JSOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJTU1GQ09OOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzgJTU1TVEE7CglTM0MyNFgwX1JFRzE2CXJlczU7CglTM0MyNFgwX1JFRzE2CU1NRlNUQTsKCVMzQzI0WDBfUkVHOAlyZXM2WzNdOwoJUzNDMjRYMF9SRUc4CU1NUFJFOwoJUzNDMjRYMF9SRUcxNglyZXM3OwoJUzNDMjRYMF9SRUcxNglNTUxFTjsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CU1NQ1I3OwoJUzNDMjRYMF9SRUczMglNTVJTUFs0XTsKCVMzQzI0WDBfUkVHOAlyZXM5WzNdOwoJUzNDMjRYMF9SRUc4CU1NQ01EMDsKCVMzQzI0WDBfUkVHMzIJTU1DTUQxOwoJUzNDMjRYMF9SRUcxNglyZXMxMDsKCVMzQzI0WDBfUkVHMTYJTU1DUjE2OwoJUzNDMjRYMF9SRUc4CXJlczExWzNdOwoJUzNDMjRYMF9SRUc4CU1NREFUOwojZWxzZQoJUzNDMjRYMF9SRUc4CU1NQ09OOwoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJTU1DUlI7CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlNTUZDT047CglTM0MyNFgwX1JFRzgJcmVzM1szXTsKCVMzQzI0WDBfUkVHOAlNTVNUQTsKCVMzQzI0WDBfUkVHOAlyZXM0WzNdOwoJUzNDMjRYMF9SRUcxNglNTUZTVEE7CglTM0MyNFgwX1JFRzE2CXJlczU7CglTM0MyNFgwX1JFRzgJTU1QUkU7CglTM0MyNFgwX1JFRzgJcmVzNlszXTsKCVMzQzI0WDBfUkVHMTYJTU1MRU47CglTM0MyNFgwX1JFRzE2CXJlczc7CglTM0MyNFgwX1JFRzgJTU1DUjc7CglTM0MyNFgwX1JFRzgJcmVzOFszXTsKCVMzQzI0WDBfUkVHMzIJTU1SU1BbNF07CglTM0MyNFgwX1JFRzgJTU1DTUQwOwoJUzNDMjRYMF9SRUc4CXJlczlbM107CglTM0MyNFgwX1JFRzMyCU1NQ01EMTsKCVMzQzI0WDBfUkVHMTYJTU1DUjE2OwoJUzNDMjRYMF9SRUcxNglyZXMxMDsKCVMzQzI0WDBfUkVHOAlNTURBVDsKCVMzQzI0WDBfUkVHOAlyZXMxMVszXTsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNDAwX01NQzsKCgovKiBTRCBJTlRFUkZBQ0UgKHNlZSBTM0MyNDEwIG1hbnVhbCBjaGFwdGVyIDE5KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVNESUNPTjsKCVMzQzI0WDBfUkVHMzIJU0RJUFJFOwoJUzNDMjRYMF9SRUczMglTRElDQVJHOwoJUzNDMjRYMF9SRUczMglTRElDQ09OOwoJUzNDMjRYMF9SRUczMglTRElDU1RBOwoJUzNDMjRYMF9SRUczMglTRElSU1AwOwoJUzNDMjRYMF9SRUczMglTRElSU1AxOwoJUzNDMjRYMF9SRUczMglTRElSU1AyOwoJUzNDMjRYMF9SRUczMglTRElSU1AzOwoJUzNDMjRYMF9SRUczMglTRElEVElNRVI7CglTM0MyNFgwX1JFRzMyCVNESUJTSVpFOwoJUzNDMjRYMF9SRUczMglTRElEQ09OOwoJUzNDMjRYMF9SRUczMglTRElEQ05UOwoJUzNDMjRYMF9SRUczMglTRElEU1RBOwoJUzNDMjRYMF9SRUczMglTRElGU1RBOwojaWZkZWYgX19CSUdfRU5ESUFOCglTM0MyNFgwX1JFRzgJcmVzWzNdOwoJUzNDMjRYMF9SRUc4CVNESURBVDsKI2Vsc2UKCVMzQzI0WDBfUkVHOAlTRElEQVQ7CglTM0MyNFgwX1JFRzgJcmVzWzNdOwojZW5kaWYKCVMzQzI0WDBfUkVHMzIJU0RJSU1TSzsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0MTBfU0RJOwoKCiNpZiAwCi8qIE1lbW9yeSBjb250cm9sICovCiNkZWZpbmUgckJXU0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAwMCkKI2RlZmluZSByQkFOS0NPTjAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAwNCkKI2RlZmluZSByQkFOS0NPTjEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAwOCkKI2RlZmluZSByQkFOS0NPTjIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAwQykKI2RlZmluZSByQkFOS0NPTjMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAxMCkKI2RlZmluZSByQkFOS0NPTjQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAxNCkKI2RlZmluZSByQkFOS0NPTjUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAxOCkKI2RlZmluZSByQkFOS0NPTjYJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAxQykKI2RlZmluZSByQkFOS0NPTjcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAyMCkKI2RlZmluZSByUkVGUkVTSAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDI0KQojZGVmaW5lIHJCQU5LU0laRQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDI4KQojZGVmaW5lIHJNUlNSQjYJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMkMpCiNkZWZpbmUgck1SU1JCNwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAzMCkKCgovKiBVU0IgSE9TVCAqLwojZGVmaW5lIHJIY1JldmlzaW9uCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMDApCiNkZWZpbmUgckhjQ29udHJvbAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDA0KQojZGVmaW5lIHJIY0NvbW1vblN0YXR1cwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDA4KQojZGVmaW5lIHJIY0ludGVycnVwdFN0YXR1cwkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMEMpCiNkZWZpbmUgckhjSW50ZXJydXB0RW5hYmxlCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAxMCkKI2RlZmluZSBySGNJbnRlcnJ1cHREaXNhYmxlCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAxNCkKI2RlZmluZSBySGNIQ0NBCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDE4KQojZGVmaW5lIHJIY1BlcmlvZEN1dHRlbmRFRAkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMUMpCiNkZWZpbmUgckhjQ29udHJvbEhlYWRFRAkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMjApCiNkZWZpbmUgckhjQ29udHJvbEN1cnJlbnRFRAkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMjQpCiNkZWZpbmUgckhjQnVsa0hlYWRFRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDI4KQojZGVmaW5lIHJIY0J1bGRDdXJyZW50RUQJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDJDKQojZGVmaW5lIHJIY0RvbmVIZWFkCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMzApCiNkZWZpbmUgckhjUm1JbnRlcnZhbAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDM0KQojZGVmaW5lIHJIY0ZtUmVtYWluaW5nCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMzgpCiNkZWZpbmUgckhjRm1OdW1iZXIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAzQykKI2RlZmluZSBySGNQZXJpb2RpY1N0YXJ0CSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDA0MCkKI2RlZmluZSBySGNMU1RocmVzaG9sZAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDQ0KQojZGVmaW5lIHJIY1JoRGVzY3JpcHRvckEJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDQ4KQojZGVmaW5lIHJIY1JoRGVzY3JpcHRvckIJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDRDKQojZGVmaW5lIHJIY1JoU3RhdHVzCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwNTApCiNkZWZpbmUgckhjUmhQb3J0U3RhdHVzMQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwNTQpCiNkZWZpbmUgckhjUmhQb3J0U3RhdHVzMgkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwNTgpCgoKLyogSU5URVJSVVBUICovCiNkZWZpbmUgclNSQ1BORAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAwMCkKI2RlZmluZSBySU5UTU9ECQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDA0KQojZGVmaW5lIHJJTlRNU0sJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMDgpCiNkZWZpbmUgclBSSU9SSVRZCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMEMpCiNkZWZpbmUgcklOVFBORAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAxMCkKI2RlZmluZSBySU5UT0ZGU0VUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMTQpCiNkZWZpbmUgclNVQlNSQ1BORAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDE4KQojZGVmaW5lIHJJTlRTVUJNU0sJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAxQykKCgovKiBETUEgKi8KI2RlZmluZSByRElTUkMwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDAwKQojZGVmaW5lIHJESVNSQ0MwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMDQpCiNkZWZpbmUgckRJRFNUMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAwOCkKI2RlZmluZSByRElEU1RDMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDBDKQojZGVmaW5lIHJEQ09OMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAxMCkKI2RlZmluZSByRFNUQVQwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDE0KQojZGVmaW5lIHJEQ1NSQzAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMTgpCiNkZWZpbmUgckRDRFNUMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAxQykKI2RlZmluZSByRE1BU0tUUklHMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDIwKQojZGVmaW5lIHJESVNSQzEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNDApCiNkZWZpbmUgckRJU1JDQzEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA0NCkKI2RlZmluZSByRElEU1QxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDQ4KQojZGVmaW5lIHJESURTVEMxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNEMpCiNkZWZpbmUgckRDT04xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDUwKQojZGVmaW5lIHJEU1RBVDEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNTQpCiNkZWZpbmUgckRDU1JDMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA1OCkKI2RlZmluZSByRENEU1QxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDVDKQojZGVmaW5lIHJETUFTS1RSSUcxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNjApCiNkZWZpbmUgckRJU1JDMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA4MCkKI2RlZmluZSByRElTUkNDMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDg0KQojZGVmaW5lIHJESURTVDIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwODgpCiNkZWZpbmUgckRJRFNUQzIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA4QykKI2RlZmluZSByRENPTjIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwOTApCiNkZWZpbmUgckRTVEFUMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA5NCkKI2RlZmluZSByRENTUkMyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDk4KQojZGVmaW5lIHJEQ0RTVDIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwOUMpCiNkZWZpbmUgckRNQVNLVFJJRzIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBBMCkKI2RlZmluZSByRElTUkMzCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEMwKQojZGVmaW5lIHJESVNSQ0MzCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwQzQpCiNkZWZpbmUgckRJRFNUMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBDOCkKI2RlZmluZSByRElEU1RDMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMENDKQojZGVmaW5lIHJEQ09OMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBEMCkKI2RlZmluZSByRFNUQVQzCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEQ0KQojZGVmaW5lIHJEQ1NSQzMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwRDgpCiNkZWZpbmUgckRDRFNUMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBEQykKI2RlZmluZSByRE1BU0tUUklHMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEUwKQoKCi8qIENMT0NLICYgUE9XRVIgTUFOQUdFTUVOVCAqLwojZGVmaW5lIHJMT0NLVElNRQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRDMDAwMDAwKQojZGVmaW5lIHJNUExMQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEMwMDAwMDQpCiNkZWZpbmUgclVQTExDT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QzAwMDAwOCkKI2RlZmluZSByQ0xLQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRDMDAwMDBDKQojZGVmaW5lIHJDTEtTTE9XCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEMwMDAwMTApCiNkZWZpbmUgckNMS0RJVk4JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QzAwMDAxNCkKCgovKiBMQ0QgQ09OVFJPTExFUiAqLwojZGVmaW5lIHJMQ0RDT04xCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMDApCiNkZWZpbmUgckxDRENPTjIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAwNCkKI2RlZmluZSByTENEQ09OMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDA4KQojZGVmaW5lIHJMQ0RDT040CQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMEMpCiNkZWZpbmUgckxDRENPTjUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAxMCkKI2RlZmluZSByTENEU0FERFIxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMTQpCiNkZWZpbmUgckxDRFNBRERSMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDE4KQojZGVmaW5lIHJMQ0RTQUREUjMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAxQykKI2RlZmluZSByUkVETFVUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDIwKQojZGVmaW5lIHJHUkVFTkxVVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDI0KQojZGVmaW5lIHJCTFVFTFVUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMjgpCiNkZWZpbmUgckRJVEhNT0RFCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwNEMpCiNkZWZpbmUgclRQQUwJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwNTApCiNkZWZpbmUgckxDRElOVFBORAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDU0KQojZGVmaW5lIHJMQ0RTUkNQTkQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDA1OCkKI2RlZmluZSByTENESU5UTVNLCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwNUMpCgoKLyogTkFORCBGTEFTSCAqLwojZGVmaW5lIHJORkNPTkYJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEUwMDAwMDApCiNkZWZpbmUgck5GQ01ECQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRFMDAwMDA0KQojZGVmaW5lIHJORkFERFIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEUwMDAwMDgpCiNkZWZpbmUgck5GREFUQQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RTAwMDAwQykKI2RlZmluZSByTkZTVEFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRFMDAwMDEwKQojZGVmaW5lIHJORkVDQwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RTAwMDAxNCkKCgovKiBVQVJUICovCiNkZWZpbmUgclVMQ09OMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAwMCkKI2RlZmluZSByVUNPTjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMDQpCiNkZWZpbmUgclVGQ09OMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAwOCkKI2RlZmluZSByVU1DT04wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDBDKQojZGVmaW5lIHJVVFJTVEFUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDEwKQojZGVmaW5lIHJVRVJTVEFUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDE0KQojZGVmaW5lIHJVRlNUQVQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMTgpCiNkZWZpbmUgclVNU1RBVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAxQykKI2RlZmluZSByVUJSRElWMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDI4KQoKI2RlZmluZSByVUxDT04xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDAwKQojZGVmaW5lIHJVQ09OMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAwNCkKI2RlZmluZSByVUZDT04xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDA4KQojZGVmaW5lIHJVTUNPTjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMEMpCiNkZWZpbmUgclVUUlNUQVQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMTApCiNkZWZpbmUgclVFUlNUQVQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMTQpCiNkZWZpbmUgclVGU1RBVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAxOCkKI2RlZmluZSByVU1TVEFUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDFDKQojZGVmaW5lIHJVQlJESVYxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMjgpCgojZGVmaW5lIHJVTENPTjIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDgwMDApCiNkZWZpbmUgclVDT04yCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA4MDA0KQojZGVmaW5lIHJVRkNPTjIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDgwMDgpCiNkZWZpbmUgclVUUlNUQVQyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDgwMTApCiNkZWZpbmUgclVFUlNUQVQyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDgwMTQpCiNkZWZpbmUgclVGU1RBVDIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwODAxOCkKI2RlZmluZSByVUJSRElWMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA4MDI4KQoKI2lmZGVmIF9fQklHX0VORElBTgojZGVmaW5lIHJVVFhIMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDIzKQojZGVmaW5lIHJVUlhIMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDI3KQojZGVmaW5lIHJVVFhIMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDIzKQojZGVmaW5lIHJVUlhIMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDI3KQojZGVmaW5lIHJVVFhIMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDIzKQojZGVmaW5lIHJVUlhIMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDI3KQoKI2RlZmluZSBXclVUWEgwKGNoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjMpPSh1bnNpZ25lZCBjaGFyKShjaCkKI2RlZmluZSBSZFVSWEgwKCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDI3KQojZGVmaW5lIFdyVVRYSDEoY2gpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyMyk9KHVuc2lnbmVkIGNoYXIpKGNoKQojZGVmaW5lIFJkVVJYSDEoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjcpCiNkZWZpbmUgV3JVVFhIMihjaCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDIzKT0odW5zaWduZWQgY2hhcikoY2gpCiNkZWZpbmUgUmRVUlhIMigpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyNykKCiNkZWZpbmUgVVRYSDAJCQkoMHg1MDAwMDAyMCszKSAgLyogYnl0ZV9hY2Nlc3MgYWRkcmVzcyBieSBETUEgKi8KI2RlZmluZSBVUlhIMAkJCSgweDUwMDAwMDI0KzMpCiNkZWZpbmUgVVRYSDEJCQkoMHg1MDAwNDAyMCszKQojZGVmaW5lIFVSWEgxCQkJKDB4NTAwMDQwMjQrMykKI2RlZmluZSBVVFhIMgkJCSgweDUwMDA4MDIwKzMpCiNkZWZpbmUgVVJYSDIJCQkoMHg1MDAwODAyNCszKQoKI2Vsc2UgLyogTGl0dGxlIEVuZGlhbiAqLwojZGVmaW5lIHJVVFhIMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDIwKQojZGVmaW5lIHJVUlhIMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDI0KQojZGVmaW5lIHJVVFhIMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDIwKQojZGVmaW5lIHJVUlhIMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDI0KQojZGVmaW5lIHJVVFhIMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDIwKQojZGVmaW5lIHJVUlhIMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDI0KQoKI2RlZmluZSBXclVUWEgwKGNoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjApPSh1bnNpZ25lZCBjaGFyKShjaCkKI2RlZmluZSBSZFVSWEgwKCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDI0KQojZGVmaW5lIFdyVVRYSDEoY2gpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyMCk9KHVuc2lnbmVkIGNoYXIpKGNoKQojZGVmaW5lIFJkVVJYSDEoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjQpCiNkZWZpbmUgV3JVVFhIMihjaCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDIwKT0odW5zaWduZWQgY2hhcikoY2gpCiNkZWZpbmUgUmRVUlhIMigpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyNCkKCiNkZWZpbmUgVVRYSDAJCQkoMHg1MDAwMDAyMCkgICAgLyogYnl0ZV9hY2Nlc3MgYWRkcmVzcyBieSBETUEgKi8KI2RlZmluZSBVUlhIMAkJCSgweDUwMDAwMDI0KQojZGVmaW5lIFVUWEgxCQkJKDB4NTAwMDQwMjApCiNkZWZpbmUgVVJYSDEJCQkoMHg1MDAwNDAyNCkKI2RlZmluZSBVVFhIMgkJCSgweDUwMDA4MDIwKQojZGVmaW5lIFVSWEgyCQkJKDB4NTAwMDgwMjQpCiNlbmRpZgoKCi8qIFBXTSBUSU1FUiAqLwojZGVmaW5lIHJUQ0ZHMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAwMCkKI2RlZmluZSByVENGRzEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMDQpCiNkZWZpbmUgclRDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMDgpCiNkZWZpbmUgclRDTlRCMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAwQykKI2RlZmluZSByVENNUEIwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDEwKQojZGVmaW5lIHJUQ05UTzAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMTQpCiNkZWZpbmUgclRDTlRCMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAxOCkKI2RlZmluZSByVENNUEIxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDFDKQojZGVmaW5lIHJUQ05UTzEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMjApCiNkZWZpbmUgclRDTlRCMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAyNCkKI2RlZmluZSByVENNUEIyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDI4KQojZGVmaW5lIHJUQ05UTzIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMkMpCiNkZWZpbmUgclRDTlRCMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAzMCkKI2RlZmluZSByVENNUEIzCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDM0KQojZGVmaW5lIHJUQ05UTzMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMzgpCiNkZWZpbmUgclRDTlRCNAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAzQykKI2RlZmluZSByVENOVE80CQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDQwKQoKCi8qIFVTQiBERVZJQ0UgKi8KI2lmZGVmIF9fQklHX0VORElBTgojZGVmaW5lIHJGVU5DX0FERFJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE0MykKI2RlZmluZSByUFdSX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNDcpCiNkZWZpbmUgckVQX0lOVF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTRCKQojZGVmaW5lIHJVU0JfSU5UX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNUIpCiNkZWZpbmUgckVQX0lOVF9FTl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTVGKQojZGVmaW5lIHJVU0JfSU5UX0VOX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNkYpCiNkZWZpbmUgckZSQU1FX05VTTFfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE3MykKI2RlZmluZSByRlJBTUVfTlVNMl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTc3KQojZGVmaW5lIHJJTkRFWF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTdCKQojZGVmaW5lIHJNQVhQX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxODMpCiNkZWZpbmUgckVQMF9DU1IJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTg3KQojZGVmaW5lIHJJTl9DU1IxX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxODcpCiNkZWZpbmUgcklOX0NTUjJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4QikKI2RlZmluZSByT1VUX0NTUjFfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5MykKI2RlZmluZSByT1VUX0NTUjJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5NykKI2RlZmluZSByT1VUX0ZJRk9fQ05UMV9SRUcJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOUIpCiNkZWZpbmUgck9VVF9GSUZPX0NOVDJfUkVHCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTlGKQojZGVmaW5lIHJFUDBfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQzMpCiNkZWZpbmUgckVQMV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDNykKI2RlZmluZSByRVAyX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUNCKQojZGVmaW5lIHJFUDNfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQ0YpCiNkZWZpbmUgckVQNF9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFEMykKI2RlZmluZSByRVAxX0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjAzKQojZGVmaW5lIHJFUDFfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjA3KQojZGVmaW5lIHJFUDFfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjBCKQojZGVmaW5lIHJFUDFfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwRikKI2RlZmluZSByRVAxX0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMTMpCiNkZWZpbmUgckVQMV9ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjE3KQojZGVmaW5lIHJFUDJfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMUIpCiNkZWZpbmUgckVQMl9ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMUYpCiNkZWZpbmUgckVQMl9ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMjMpCiNkZWZpbmUgckVQMl9ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjI3KQojZGVmaW5lIHJFUDJfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyQikKI2RlZmluZSByRVAyX0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMkYpCiNkZWZpbmUgckVQM19ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0MykKI2RlZmluZSByRVAzX0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0NykKI2RlZmluZSByRVAzX0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0QikKI2RlZmluZSByRVAzX0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNEYpCiNkZWZpbmUgckVQM19ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjUzKQojZGVmaW5lIHJFUDNfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1NykKI2RlZmluZSByRVA0X0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjVCKQojZGVmaW5lIHJFUDRfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjVGKQojZGVmaW5lIHJFUDRfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjYzKQojZGVmaW5lIHJFUDRfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2NykKI2RlZmluZSByRVA0X0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNkIpCiNkZWZpbmUgckVQNF9ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjZGKQojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwojZGVmaW5lIHJGVU5DX0FERFJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE0MCkKI2RlZmluZSByUFdSX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNDQpCiNkZWZpbmUgckVQX0lOVF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTQ4KQojZGVmaW5lIHJVU0JfSU5UX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNTgpCiNkZWZpbmUgckVQX0lOVF9FTl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTVDKQojZGVmaW5lIHJVU0JfSU5UX0VOX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNkMpCiNkZWZpbmUgckZSQU1FX05VTTFfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE3MCkKI2RlZmluZSByRlJBTUVfTlVNMl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTc0KQojZGVmaW5lIHJJTkRFWF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTc4KQojZGVmaW5lIHJNQVhQX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxODApCiNkZWZpbmUgckVQMF9DU1IJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTg0KQojZGVmaW5lIHJJTl9DU1IxX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxODQpCiNkZWZpbmUgcklOX0NTUjJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4OCkKI2RlZmluZSByT1VUX0NTUjFfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5MCkKI2RlZmluZSByT1VUX0NTUjJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5NCkKI2RlZmluZSByT1VUX0ZJRk9fQ05UMV9SRUcJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOTgpCiNkZWZpbmUgck9VVF9GSUZPX0NOVDJfUkVHCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTlDKQojZGVmaW5lIHJFUDBfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQzApCiNkZWZpbmUgckVQMV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDNCkKI2RlZmluZSByRVAyX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUM4KQojZGVmaW5lIHJFUDNfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQ0MpCiNkZWZpbmUgckVQNF9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFEMCkKI2RlZmluZSByRVAxX0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjAwKQojZGVmaW5lIHJFUDFfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjA0KQojZGVmaW5lIHJFUDFfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjA4KQojZGVmaW5lIHJFUDFfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwQykKI2RlZmluZSByRVAxX0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMTApCiNkZWZpbmUgckVQMV9ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjE0KQojZGVmaW5lIHJFUDJfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMTgpCiNkZWZpbmUgckVQMl9ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMUMpCiNkZWZpbmUgckVQMl9ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMjApCiNkZWZpbmUgckVQMl9ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjI0KQojZGVmaW5lIHJFUDJfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyOCkKI2RlZmluZSByRVAyX0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMkMpCiNkZWZpbmUgckVQM19ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0MCkKI2RlZmluZSByRVAzX0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0NCkKI2RlZmluZSByRVAzX0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0OCkKI2RlZmluZSByRVAzX0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNEMpCiNkZWZpbmUgckVQM19ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjUwKQojZGVmaW5lIHJFUDNfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1NCkKI2RlZmluZSByRVA0X0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjU4KQojZGVmaW5lIHJFUDRfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjVDKQojZGVmaW5lIHJFUDRfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjYwKQojZGVmaW5lIHJFUDRfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2NCkKI2RlZmluZSByRVA0X0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNjgpCiNkZWZpbmUgckVQNF9ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjZDKQojZW5kaWYgLyogIF9fQklHX0VORElBTiAqLwoKCi8qIFdBVENIIERPRyBUSU1FUiAqLwojZGVmaW5lIHJXVENPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MzAwMDAwMCkKI2RlZmluZSByV1REQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTMwMDAwMDQpCiNkZWZpbmUgcldUQ05UCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUzMDAwMDA4KQoKCi8qIElJQyAqLwojZGVmaW5lIHJJSUNDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTQwMDAwMDApCiNkZWZpbmUgcklJQ1NUQVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NDAwMDAwNCkKI2RlZmluZSBySUlDQURECQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU0MDAwMDA4KQojZGVmaW5lIHJJSUNEUwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NDAwMDAwQykKCgovKiBJSVMgKi8KI2RlZmluZSBySUlTQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU1MDAwMDAwKQojZGVmaW5lIHJJSVNNT0QJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTUwMDAwMDQpCiNkZWZpbmUgcklJU1BTUgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NTAwMDAwOCkKI2RlZmluZSBySUlTRkNPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU1MDAwMDBDKQoKI2lmZGVmIF9fQklHX0VORElBTgojZGVmaW5lIElJU0ZJRgkJCSgodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgKikweDU1MDAwMDEyKQojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwojZGVmaW5lIElJU0ZJRgkJCSgodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgKikweDU1MDAwMDEwKQojZW5kaWYKCgovKiBJL08gUE9SVCAqLwojZGVmaW5lIHJHUEFDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMDApCiNkZWZpbmUgckdQQURBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAwNCkKCiNkZWZpbmUgckdQQkNPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAxMCkKI2RlZmluZSByR1BCREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDE0KQojZGVmaW5lIHJHUEJVUAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAxOCkKCiNkZWZpbmUgckdQQ0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAyMCkKI2RlZmluZSByR1BDREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDI0KQojZGVmaW5lIHJHUENVUAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAyOCkKCiNkZWZpbmUgckdQRENPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAzMCkKI2RlZmluZSByR1BEREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDM0KQojZGVmaW5lIHJHUERVUAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAzOCkKCiNkZWZpbmUgckdQRUNPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA0MCkKI2RlZmluZSByR1BFREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDQ0KQojZGVmaW5lIHJHUEVVUAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA0OCkKCiNkZWZpbmUgckdQRkNPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA1MCkKI2RlZmluZSByR1BGREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDU0KQojZGVmaW5lIHJHUEZVUAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA1OCkKCiNkZWZpbmUgckdQR0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA2MCkKI2RlZmluZSByR1BHREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDY0KQojZGVmaW5lIHJHUEdVUAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA2OCkKCiNkZWZpbmUgckdQSENPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA3MCkKI2RlZmluZSByR1BIREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDc0KQojZGVmaW5lIHJHUEhVUAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA3OCkKCiNkZWZpbmUgck1JU0NDUgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA4MCkKI2RlZmluZSByRENMS0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDg0KQojZGVmaW5lIHJFWFRJTlQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwODgpCiNkZWZpbmUgckVYVElOVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA4QykKI2RlZmluZSByRVhUSU5UMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDkwKQojZGVmaW5lIHJFSU5URkxUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDk0KQojZGVmaW5lIHJFSU5URkxUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDk4KQojZGVmaW5lIHJFSU5URkxUMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDlDKQojZGVmaW5lIHJFSU5URkxUMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMEEwKQojZGVmaW5lIHJFSU5UTUFTSwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMEE0KQojZGVmaW5lIHJFSU5UUEVORAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMEE4KQojZGVmaW5lIHJHU1RBVFVTMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMEFDKQojZGVmaW5lIHJHU1RBVFVTMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMEIwKQoKCi8qIFJUQyAqLwojaWZkZWYgX19CSUdfRU5ESUFOCiNkZWZpbmUgclJUQ0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDQzKQojZGVmaW5lIHJUSUNOVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDQ3KQojZGVmaW5lIHJSVENBTE0JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1MykKI2RlZmluZSByQUxNU0VDCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNTcpCiNkZWZpbmUgckFMTU1JTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDVCKQojZGVmaW5lIHJBTE1IT1VSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1RikKI2RlZmluZSByQUxNREFURQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNjMpCiNkZWZpbmUgckFMTU1PTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDY3KQojZGVmaW5lIHJBTE1ZRUFSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2QikKI2RlZmluZSByUlRDUlNUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNkYpCiNkZWZpbmUgckJDRFNFQwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDczKQojZGVmaW5lIHJCQ0RNSU4JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3NykKI2RlZmluZSByQkNESE9VUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwN0IpCiNkZWZpbmUgckJDRERBVEUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDdGKQojZGVmaW5lIHJCQ0REQVkJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA4MykKI2RlZmluZSByQkNETU9OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwODcpCiNkZWZpbmUgckJDRFlFQVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDhCKQojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwojZGVmaW5lIHJSVENDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA0MCkKI2RlZmluZSByVElDTlQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA0NCkKI2RlZmluZSByUlRDQUxNCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNTApCiNkZWZpbmUgckFMTVNFQwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDU0KQojZGVmaW5lIHJBTE1NSU4JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1OCkKI2RlZmluZSByQUxNSE9VUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNUMpCiNkZWZpbmUgckFMTURBVEUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDYwKQojZGVmaW5lIHJBTE1NT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2NCkKI2RlZmluZSByQUxNWUVBUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNjgpCiNkZWZpbmUgclJUQ1JTVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDZDKQojZGVmaW5lIHJCQ0RTRUMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3MCkKI2RlZmluZSByQkNETUlOCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNzQpCiNkZWZpbmUgckJDREhPVVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDc4KQojZGVmaW5lIHJCQ0REQVRFCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3QykKI2RlZmluZSByQkNEREFZCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwODApCiNkZWZpbmUgckJDRE1PTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDg0KQojZGVmaW5lIHJCQ0RZRUFSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA4OCkKI2VuZGlmCgoKLyogQURDICovCiNkZWZpbmUgckFEQ0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1ODAwMDAwMCkKI2RlZmluZSByQURDVFNDCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU4MDAwMDA0KQojZGVmaW5lIHJBRENETFkJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTgwMDAwMDgpCiNkZWZpbmUgckFEQ0RBVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1ODAwMDAwQykKI2RlZmluZSByQURDREFUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU4MDAwMDEwKQoKCi8qIFNQSSAqLwojZGVmaW5lIHJTUENPTjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMDApCiNkZWZpbmUgclNQU1RBMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAwNCkKI2RlZmluZSByU1BQSU4wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDA4KQojZGVmaW5lIHJTUFBSRTAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMEMpCiNkZWZpbmUgclNQVERBVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAxMCkKI2RlZmluZSByU1BSREFUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDE0KQojZGVmaW5lIHJTUENPTjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMjApCiNkZWZpbmUgclNQU1RBMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAyNCkKI2RlZmluZSByU1BQSU4xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDI4KQojZGVmaW5lIHJTUFBSRTEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMkMpCiNkZWZpbmUgclNQVERBVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAzMCkKI2RlZmluZSByU1BSREFUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDM0KQoKCi8qIFNEIElOVEVSRkFDRSAqLwojZGVmaW5lIHJTRElDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMDApCiNkZWZpbmUgclNESVBSRQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAwNCkKI2RlZmluZSByU0RJQ21kQXJnCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMDgpCiNkZWZpbmUgclNESUNtZENvbgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDBDKQojZGVmaW5lIHJTRElDbWRTdGEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAxMCkKI2RlZmluZSByU0RJUlNQMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDE0KQojZGVmaW5lIHJTRElSU1AxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMTgpCiNkZWZpbmUgclNESVJTUDIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAxQykKI2RlZmluZSByU0RJUlNQMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDIwKQojZGVmaW5lIHJTRElEVGltZXIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAyNCkKI2RlZmluZSByU0RJQlNpemUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAyOCkKI2RlZmluZSByU0RJRGF0Q29uCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMkMpCiNkZWZpbmUgclNESURhdENudAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDMwKQojZGVmaW5lIHJTRElEYXRTdGEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAzNCkKI2RlZmluZSByU0RJRlNUQQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDM4KQojaWZkZWYgX19CSUdfRU5ESUFOCiNkZWZpbmUgclNESURBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDVBMDAwMDNGKQojZWxzZQojZGVmaW5lIHJTRElEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1QTAwMDAzQykKI2VuZGlmCiNkZWZpbmUgclNESUludE1zawkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDQwKQoKI2VuZGlmCgojZW5kaWYgLypfX1MzQzI0WDBfSF9fKi8K