ZGlmZiAtLWdpdCBhL3NyYy9kcml2ZXJzL01ha2VmaWxlLmluYyBiL3NyYy9kcml2ZXJzL01ha2VmaWxlLmluYwppbmRleCAyMWE2OThhLi41ZjZkYWRmIDEwMDY0NAotLS0gYS9zcmMvZHJpdmVycy9NYWtlZmlsZS5pbmMKKysrIGIvc3JjL2RyaXZlcnMvTWFrZWZpbGUuaW5jCkBAIC0yNiwzICsyNiw0IEBACiBzdWJkaXJzLXkgKz0gc2lsCiBzdWJkaXJzLXkgKz0gdHJpZGVudAogc3ViZGlycy15ICs9IGljcworc3ViZGlycy0kKENPTkZJR19BUkNIX1g4NikgKz0gcGM4MApkaWZmIC0tZ2l0IGEvc3JjL2RyaXZlcnMvcGM4MC9NYWtlZmlsZS5pbmMgYi9zcmMvZHJpdmVycy9wYzgwL01ha2VmaWxlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2EyMWJmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2RyaXZlcnMvcGM4MC9NYWtlZmlsZS5pbmMKQEAgLTAsMCArMSwxNiBAQAorcmFtc3RhZ2UteSArPSBtYzE0NjgxOHJ0Yy5jCityYW1zdGFnZS15ICs9IGlzYS1kbWEuYworcmFtc3RhZ2UteSArPSBpODI1NC5jCityYW1zdGFnZS15ICs9IGk4MjU5LmMKK3JhbXN0YWdlLSQoQ09ORklHX1VERUxBWV9JTykgKz0gdWRlbGF5X2lvLmMKK3JhbXN0YWdlLXkgKz0ga2V5Ym9hcmQuYworcm9tc3RhZ2UtJChDT05GSUdfVFBNKSArPSB0cG0uYworCityb21zdGFnZS0kKENPTkZJR19VU0VfT1BUSU9OX1RBQkxFKSArPSBtYzE0NjgxOHJ0Y19lYXJseS5jCitzdWJkaXJzLXkgKz0gdmdhCisKK2NiZnMtZmlsZXMtJChDT05GSUdfSEFWRV9DTU9TX0RFRkFVTFQpICs9IGNtb3MuZGVmYXVsdAorY21vcy5kZWZhdWx0LWZpbGUgPSAkKENPTkZJR19DTU9TX0RFRkFVTFRfRklMRSkKK2Ntb3MuZGVmYXVsdC10eXBlID0gMHhhYQorCitzbW0teSArPSBtYzE0NjgxOHJ0Yy5jCmRpZmYgLS1naXQgYS9zcmMvZHJpdmVycy9wYzgwL2k4MjU0LmMgYi9zcmMvZHJpdmVycy9wYzgwL2k4MjU0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1MjE2ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9kcml2ZXJzL3BjODAvaTgyNTQuYwpAQCAtMCwwICsxLDU1IEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGNvcmVib290IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IGNvcmVzeXN0ZW1zIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxIFVTQQorICovCisKKyNpbmNsdWRlIDxhcmNoL2lvLmg+CisjaW5jbHVkZSA8cGM4MC9pODI1NC5oPgorI2luY2x1ZGUgPGNvbnNvbGUvY29uc29sZS5oPgorCisvKiBJbml0aWFsaXplIGk4MjU0IHRpbWVycyAqLworCit2b2lkIHNldHVwX2k4MjU0KHZvaWQpCit7CisJLyogVGltZXIgMCAodGFrZW4gZnJvbSBiaW9zZW11KSAqLworCW91dGIoVElNRVIwX1NFTHxXT1JEX0FDQ0VTU3xNT0RFM3xCSU5BUllfQ09VTlQsIFRJTUVSX01PREVfUE9SVCk7CisJb3V0YigweDAwLCBUSU1FUjBfUE9SVCk7CisJb3V0YigweDAwLCBUSU1FUjBfUE9SVCk7CisKKwkvKiBUaW1lciAxICovCisJb3V0YihUSU1FUjFfU0VMfExPQllURV9BQ0NFU1N8TU9ERTN8QklOQVJZX0NPVU5ULCBUSU1FUl9NT0RFX1BPUlQpOworCW91dGIoMHgxMiwgVElNRVIxX1BPUlQpOworfQorCisjaWYgZGVmaW5lZChDT05GSUdfVURFTEFZX1RJTUVSMikgJiYgIENPTkZJR19VREVMQVlfVElNRVIyCitzdGF0aWMgdm9pZCBsb2FkX3RpbWVyMih1bnNpZ25lZCBpbnQgdGlja3MpCit7CisgICAgICAgIC8qIFNldCB1cCB0aGUgdGltZXIgZ2F0ZSwgdHVybiBvZmYgdGhlIHNwZWFrZXIgKi8KKyAgICAgICAgb3V0YigoaW5iKFBQQ19QT1JUQikgJiB+UFBDQl9TUEtSKSB8IFBQQ0JfVDJHQVRFLCBQUENfUE9SVEIpOworICAgICAgICBvdXRiKFRJTUVSMl9TRUx8V09SRF9BQ0NFU1N8TU9ERTB8QklOQVJZX0NPVU5ULCBUSU1FUl9NT0RFX1BPUlQpOworICAgICAgICBvdXRiKHRpY2tzICYgMHhGRiwgVElNRVIyX1BPUlQpOworICAgICAgICBvdXRiKHRpY2tzID4+IDgsIFRJTUVSMl9QT1JUKTsKK30KKworCit2b2lkIHVkZWxheShpbnQgdXNlY3MpCit7CisgICAgICAgIGxvYWRfdGltZXIyKCh1c2VjcypUSUNLU19QRVJfTVMpLzEwMDApOworICAgICAgICB3aGlsZSAoKGluYihQUENfUE9SVEIpICYgUFBDQl9UMk9VVCkgPT0gMCkKKyAgICAgICAgICAgICAgICA7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9kcml2ZXJzL3BjODAvaTgyNTkuYyBiL3NyYy9kcml2ZXJzL3BjODAvaTgyNTkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Njk4ODc1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2RyaXZlcnMvcGM4MC9pODI1OS5jCkBAIC0wLDAgKzEsMTQxIEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGNvcmVib290IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IGNvcmVzeXN0ZW1zIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxIFVTQQorICovCisKKyNpbmNsdWRlIDxhcmNoL2lvLmg+CisjaW5jbHVkZSA8cGM4MC9pODI1OS5oPgorI2luY2x1ZGUgPGNvbnNvbGUvY29uc29sZS5oPgorCisjZGVmaW5lIE1BU1RFUl9QSUNfSUNXMQkJMHgyMAorI2RlZmluZSBTTEFWRV9QSUNfSUNXMQkJMHhhMAorI2RlZmluZSAgIElDV19TRUxFQ1QJCSgxIDw8IDQpCisjZGVmaW5lICAgT0NXX1NFTEVDVAkJKDAgPDwgNCkKKyNkZWZpbmUgICBBREkJCQkoMSA8PCAyKQorI2RlZmluZSAgIFNOR0wJCQkoMSA8PCAxKQorI2RlZmluZSAgIElDNAkJCSgxIDw8IDApCisKKyNkZWZpbmUgTUFTVEVSX1BJQ19JQ1cyCQkweDIxCisjZGVmaW5lIFNMQVZFX1BJQ19JQ1cyCQkweGExCisjZGVmaW5lICAgSU5UX1ZFQ1RPUl9NQVNURVIJMHgyMAorI2RlZmluZSAgIElSUTAJCQkweDAwCisjZGVmaW5lICAgSVJRMQkJCTB4MDEKKyNkZWZpbmUgICBJTlRfVkVDVE9SX1NMQVZFCTB4MjgKKyNkZWZpbmUgICBJUlE4CQkJMHgwMAorI2RlZmluZSAgIElSUTkJCQkweDAxCisKKyNkZWZpbmUgTUFTVEVSX1BJQ19JQ1czCQkweDIxCisjZGVmaW5lICAgQ0FTQ0FERURfUElDCQkoMSA8PCAyKQorCisjZGVmaW5lIE1BU1RFUl9QSUNfSUNXNAkJMHgyMQorI2RlZmluZSBTTEFWRV9QSUNfSUNXNAkJMHhhMQorI2RlZmluZSAgIE1JQ1JPUFJPQ0VTU09SX01PREUJKDEgPDwgMCkKKworI2RlZmluZSBTTEFWRV9QSUNfSUNXMwkJMHhhMQorI2RlZmluZSAgICBTTEFWRV9JRAkJMHgwMgorCisjZGVmaW5lIE1BU1RFUl9QSUNfT0NXMSAJMHgyMQorI2RlZmluZSBTTEFWRV9QSUNfT0NXMQkJMHhhMQorI2RlZmluZSAgICBJUlEyCQkJKDEgPDwgMikKKyNkZWZpbmUgICAgQUxMX0lSUVMJCTB4ZmYKKworI2RlZmluZSBFTENSMQkJCTB4NGQwCisjZGVmaW5lIEVMQ1IyCQkJMHg0ZDEKKwordm9pZCBzZXR1cF9pODI1OSh2b2lkKQoreworCS8qIEEgd3JpdGUgdG8gSUNXMSBzdGFydHMgdGhlIEludGVycnVwdCBDb250cm9sbGVyIEluaXRpYWxpemF0aW9uCisJICogU2VxdWVuY2UuIFRoaXMgaW1wbGljaXRseSBjYXVzZXMgdGhlIGZvbGxvd2luZyB0byBoYXBwZW46CisJICogICAtIEludGVycnVwdCBNYXNrIHJlZ2lzdGVyIGlzIGNsZWFyZWQKKwkgKiAgIC0gUHJpb3JpdHkgNyBpcyBhc3NpZ25lZCB0byBJUlE3IGlucHV0CisJICogICAtIFNsYXZlIG1vZGUgYWRkcmVzcyBpcyBzZXQgdG8gNworCSAqICAgLSBTcGVjaWFsIG1hc2sgbW9kZSBpcyBjbGVhcmVkCisJICoKKwkgKiBXZSBzZW5kIHRoZSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSB0byBib3RoIHRoZSBtYXN0ZXIgYW5kCisJICogc2xhdmUgaTgyNTkgY29udHJvbGxlci4KKwkgKi8KKwlvdXRiKElDV19TRUxFQ1R8SUM0LCBNQVNURVJfUElDX0lDVzEpOworCW91dGIoSUNXX1NFTEVDVHxJQzQsIFNMQVZFX1BJQ19JQ1cxKTsKKworCS8qIE5vdyB0aGUgaW50ZXJydXB0IGNvbnRyb2xsZXIgZXhwZWN0cyB1cyB0byB3cml0ZSB0byBJQ1cyLiAqLworCW91dGIoSU5UX1ZFQ1RPUl9NQVNURVIgfCBJUlEwLCBNQVNURVJfUElDX0lDVzIpOworCW91dGIoSU5UX1ZFQ1RPUl9TTEFWRSAgfCBJUlE4LCBTTEFWRV9QSUNfSUNXMik7CisKKwkvKiBOb3cgdGhlIGludGVycnVwdCBjb250cm9sbGVyIGV4cGVjdHMgdXMgdG8gd3JpdGUgdG8gSUNXMy4KKwkgKgorCSAqIFRoZSBub3JtYWwgc2NlbmFyaW8gaXMgdG8gc2V0IHVwIGNhc2NhZGluZyBvbiBJUlEyIG9uIHRoZSBtYXN0ZXIKKwkgKiBpODI1OSBhbmQgYXNzaWduIHRoZSBzbGF2ZSBJRCAyIHRvIHRoZSBzbGF2ZSBpODI1OS4KKwkgKi8KKwlvdXRiKENBU0NBREVEX1BJQywgTUFTVEVSX1BJQ19JQ1czKTsKKwlvdXRiKFNMQVZFX0lELCBTTEFWRV9QSUNfSUNXMyk7CisKKwkvKiBOb3cgdGhlIGludGVycnVwdCBjb250cm9sbGVyIGV4cGVjdHMgdXMgdG8gd3JpdGUgdG8gSUNXNC4KKwkgKgorCSAqIFdlIHN3aXRjaCBib3RoIGk4MjU5IHRvIG1pY3JvcHJvY2Vzc29yIG1vZGUgYmVjYXVzZSB0aGV5J3JlCisJICogb3BlcmF0aW5nIGFzIHBhcnQgb2YgYW4geDg2IGFyY2hpdGVjdHVyZSBiYXNlZCBjaGlwc2V0CisJICovCisJb3V0YihNSUNST1BST0NFU1NPUl9NT0RFLCBNQVNURVJfUElDX0lDVzIpOworCW91dGIoTUlDUk9QUk9DRVNTT1JfTU9ERSwgU0xBVkVfUElDX0lDVzIpOworCisJLyogTm93IGNsZWFyIHRoZSBpbnRlcnJ1cHRzIHRocm91Z2ggT0NXMS4KKwkgKiBGaXJzdCB3ZSBtYXNrIG9mZiBhbGwgaW50ZXJydXB0cyBvbiB0aGUgc2xhdmUgaW50ZXJydXB0IGNvbnRyb2xsZXIKKwkgKiB0aGVuIHdlIG1hc2sgb2ZmIGFsbCBpbnRlcnJ1cHRzIGJ1dCBpbnRlcnJ1cHQgMiBvbiB0aGUgbWFzdGVyCisJICogY29udHJvbGxlci4gVGhpcyB3YXkgdGhlIGNhc2NhZGluZyBzdGF5cyBhbGlmZS4KKwkgKi8KKwlvdXRiKEFMTF9JUlFTLCBTTEFWRV9QSUNfT0NXMSk7CisJb3V0YihBTExfSVJRUyAmIH5JUlEyLCBNQVNURVJfUElDX09DVzEpOworfQorCisvKioKKyAqIEBicmllZiBDb25maWd1cmUgSVJRIHRyaWdnZXJpbmcgaW4gdGhlIGk4MjU5IGNvbXBhdGlibGUgSW50ZXJydXB0IENvbnRyb2xsZXIuCisgKgorICogU3dpdGNoIGEgY2VydGFpbiBpbnRlcnJ1cHQgdG8gYmUgbGV2ZWwgLyBlZGdlIHRyaWdnZXJlZC4KKyAqCisgKiBAcGFyYW0gaW50X251bSBsZWdhY3kgaW50ZXJydXB0IG51bWJlciAoMy03LCA5LTE1KQorICogQHBhcmFtIGlzX2xldmVsX3RyaWdnZXJlZCAxIGZvciBsZXZlbCB0cmlnZ2VyZWQgaW50ZXJydXB0LCAwIGZvciBlZGdlCisgKiAgICAgICAgdHJpZ2dlcmVkIGludGVycnVwdAorICovCit2b2lkIGk4MjU5X2NvbmZpZ3VyZV9pcnFfdHJpZ2dlcihpbnQgaW50X251bSwgaW50IGlzX2xldmVsX3RyaWdnZXJlZCkKK3sKKwl1MTYgaW50X2JpdHMgPSBpbmIoRUxDUjEpIHwgKCgodTE2KWluYihFTENSMikpIDw8IDgpOworCisJcHJpbnRrKEJJT1NfU1BFVywgIiVzOiBjdXJyZW50IGludGVycnVwdHMgYXJlIDB4JXhcbiIsIF9fZnVuY19fLCBpbnRfYml0cyk7CisJaWYgKGlzX2xldmVsX3RyaWdnZXJlZCkKKwkJaW50X2JpdHMgfD0gKDEgPDwgaW50X251bSk7CisJZWxzZQorCQlpbnRfYml0cyAmPSB+KDEgPDwgaW50X251bSk7CisKKwkvKiBXcml0ZSBuZXcgdmFsdWVzICovCisJcHJpbnRrKEJJT1NfU1BFVywgIiVzOiB0cnkgdG8gc2V0IGludGVycnVwdHMgMHgleFxuIiwgX19mdW5jX18sIGludF9iaXRzKTsKKwlvdXRiKCh1OCkoaW50X2JpdHMgJiAweGZmKSwgRUxDUjEpOworCW91dGIoKHU4KShpbnRfYml0cyA+PiA4KSwgRUxDUjIpOworCisjaWZkZWYgUEFSQU5PSURfSVJRX1RSSUdHRVJTCisJLyogVHJ5IHJlYWRpbmcgYmFjayB0aGUgbmV3IHZhbHVlcy4gVGhpcyBzZWVtcyBsaWtlIGFuIGVycm9yIGJ1dCBpcyBub3QgLi4uICovCisJaWYgKGluYihFTENSMSkgIT0gKGludF9iaXRzICYgMHhmZikpIHsKKwkJcHJpbnRrKEJJT1NfRVJSLCAiJXM6IGxvd2VyIG9yZGVyIGJpdHMgYXJlIHdyb25nOiB3YW50IDB4JXgsIGdvdCAweCV4XG4iLAorCQkJCV9fZnVuY19fLCAoaW50X2JpdHMgJiAweGZmKSwgaW5iKEVMQ1IxKSk7CisJfQorCisJaWYgKGluYihFTENSMikgIT0gKGludF9iaXRzID4+IDgpKSB7CisJCXByaW50ayhCSU9TX0VSUiwgIiVzOiBoaWdoZXIgb3JkZXIgYml0cyBhcmUgd3Jvbmc6IHdhbnQgMHgleCwgZ290IDB4JXhcbiIsCisJCQkJX19mdW5jX18sIChpbnRfYml0cz4+OCksIGluYihFTENSMikpOworCX0KKyNlbmRpZgorfQorCisKZGlmZiAtLWdpdCBhL3NyYy9kcml2ZXJzL3BjODAvaXNhLWRtYS5jIGIvc3JjL2RyaXZlcnMvcGM4MC9pc2EtZG1hLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0ZjEyNQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9kcml2ZXJzL3BjODAvaXNhLWRtYS5jCkBAIC0wLDAgKzEsNDQgQEAKKyNpbmNsdWRlIDxhcmNoL2lvLmg+CisjaW5jbHVkZSA8cGM4MC9pc2EtZG1hLmg+CisKKy8qIERNQSBjb250cm9sbGVyIHJlZ2lzdGVycyAqLworI2RlZmluZSBETUExX0NNRF9SRUcJCTB4MDgJLyogY29tbWFuZCByZWdpc3RlciAodykgKi8KKyNkZWZpbmUgRE1BMV9TVEFUX1JFRwkJMHgwOAkvKiBzdGF0dXMgcmVnaXN0ZXIgKHIpICovCisjZGVmaW5lIERNQTFfUkVRX1JFRyAgICAgICAgICAgIDB4MDkgICAgLyogcmVxdWVzdCByZWdpc3RlciAodykgKi8KKyNkZWZpbmUgRE1BMV9NQVNLX1JFRwkJMHgwQQkvKiBzaW5nbGUtY2hhbm5lbCBtYXNrICh3KSAqLworI2RlZmluZSBETUExX01PREVfUkVHCQkweDBCCS8qIG1vZGUgcmVnaXN0ZXIgKHcpICovCisjZGVmaW5lIERNQTFfQ0xFQVJfRkZfUkVHCTB4MEMJLyogY2xlYXIgcG9pbnRlciBmbGlwLWZsb3AgKHcpICovCisjZGVmaW5lIERNQTFfVEVNUF9SRUcgICAgICAgICAgIDB4MEQgICAgLyogVGVtcG9yYXJ5IFJlZ2lzdGVyIChyKSAqLworI2RlZmluZSBETUExX1JFU0VUX1JFRwkJMHgwRAkvKiBNYXN0ZXIgQ2xlYXIgKHcpICovCisjZGVmaW5lIERNQTFfQ0xSX01BU0tfUkVHICAgICAgIDB4MEUgICAgLyogQ2xlYXIgTWFzayAqLworI2RlZmluZSBETUExX01BU0tfQUxMX1JFRyAgICAgICAweDBGICAgIC8qIGFsbC1jaGFubmVscyBtYXNrICh3KSAqLworCisjZGVmaW5lIERNQTJfQ01EX1JFRwkJMHhEMAkvKiBjb21tYW5kIHJlZ2lzdGVyICh3KSAqLworI2RlZmluZSBETUEyX1NUQVRfUkVHCQkweEQwCS8qIHN0YXR1cyByZWdpc3RlciAocikgKi8KKyNkZWZpbmUgRE1BMl9SRVFfUkVHICAgICAgICAgICAgMHhEMiAgICAvKiByZXF1ZXN0IHJlZ2lzdGVyICh3KSAqLworI2RlZmluZSBETUEyX01BU0tfUkVHCQkweEQ0CS8qIHNpbmdsZS1jaGFubmVsIG1hc2sgKHcpICovCisjZGVmaW5lIERNQTJfTU9ERV9SRUcJCTB4RDYJLyogbW9kZSByZWdpc3RlciAodykgKi8KKyNkZWZpbmUgRE1BMl9DTEVBUl9GRl9SRUcJMHhEOAkvKiBjbGVhciBwb2ludGVyIGZsaXAtZmxvcCAodykgKi8KKyNkZWZpbmUgRE1BMl9URU1QX1JFRyAgICAgICAgICAgMHhEQSAgICAvKiBUZW1wb3JhcnkgUmVnaXN0ZXIgKHIpICovCisjZGVmaW5lIERNQTJfUkVTRVRfUkVHCQkweERBCS8qIE1hc3RlciBDbGVhciAodykgKi8KKyNkZWZpbmUgRE1BMl9DTFJfTUFTS19SRUcgICAgICAgMHhEQyAgICAvKiBDbGVhciBNYXNrICovCisjZGVmaW5lIERNQTJfTUFTS19BTExfUkVHICAgICAgIDB4REUgICAgLyogYWxsLWNoYW5uZWxzIG1hc2sgKHcpICovCisKKyNkZWZpbmUgRE1BX01PREVfUkVBRAkweDQ0CS8qIEkvTyB0byBtZW1vcnksIG5vIGF1dG9pbml0LCBpbmNyZW1lbnQsIHNpbmdsZSBtb2RlICovCisjZGVmaW5lIERNQV9NT0RFX1dSSVRFCTB4NDgJLyogbWVtb3J5IHRvIEkvTywgbm8gYXV0b2luaXQsIGluY3JlbWVudCwgc2luZ2xlIG1vZGUgKi8KKyNkZWZpbmUgRE1BX01PREVfQ0FTQ0FERSAweEMwICAgLyogcGFzcyB0aHJ1IERSRVEtPkhSUSwgREFDSzwtSExEQSBvbmx5ICovCisKKyNkZWZpbmUgRE1BX0FVVE9JTklUCTB4MTAKKworCit2b2lkIGlzYV9kbWFfaW5pdCh2b2lkKQoreworCS8qIHNsYXZlIGF0IDB4MDAgLSAweDBmICovCisJLyogbWFzdGVyIGF0IDB4YzAgLSAweGRmICovCisJLyogMHg4MCAtIDB4OGYgRE1BIHBhZ2UgcmVnaXN0ZXJzICovCisJLyogRE1BOiAweDAwLCAweDAyLCAweDQsIDB4MDYgYmFzZSBhZGRyZXNzIGZvciBETUEgY2hhbm5lbCAqLworCW91dGIoMCwgRE1BMV9SRVNFVF9SRUcpOworCW91dGIoMCwgRE1BMl9SRVNFVF9SRUcpOworCW91dGIoRE1BX01PREVfQ0FTQ0FERSwgRE1BMl9NT0RFX1JFRyk7CisJb3V0YigwLCBETUEyX01BU0tfUkVHKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9kcml2ZXJzL3BjODAva2V5Ym9hcmQuYyBiL3NyYy9kcml2ZXJzL3BjODAva2V5Ym9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGE2NjQzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2RyaXZlcnMvcGM4MC9rZXlib2FyZC5jCkBAIC0wLDAgKzEsMzA2IEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGNvcmVib290IHByb2plY3QuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IGNvcmVzeXN0ZW1zIEdtYkgKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMgT2xsaWUgTG8gPG9sbGllbG9AaG90bWFpbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSBVU0EKKyAqLworCisKKyNpbmNsdWRlIDxjb25zb2xlL2NvbnNvbGUuaD4KKyNpbmNsdWRlIDxwYzgwL2tleWJvYXJkLmg+CisjaW5jbHVkZSA8ZGV2aWNlL2RldmljZS5oPgorI2luY2x1ZGUgPGFyY2gvaW8uaD4KKyNpbmNsdWRlIDxkZWxheS5oPgorCisjZGVmaW5lIEtCRF9EQVRBCTB4NjAKKyNkZWZpbmUgS0JEX0NPTU1BTkQJMHg2NAorI2RlZmluZSBLQkRfU1RBVFVTCTB4NjQKKyNkZWZpbmUgICBLQkRfSUJGCSgxIDw8IDEpIC8vIDE6IGlucHV0IGJ1ZmZlciBmdWxsIChkYXRhIHJlYWR5IGZvciBlYykKKyNkZWZpbmUgICBLQkRfT0JGCSgxIDw8IDApIC8vIDE6IG91dHB1dCBidWZmZXIgZnVsbCAoZGF0YSByZWFkeSBmb3IgaG9zdCkKKworLy8gS2V5Ym9hcmQgQ29udHJvbGxlciBDb21tYW5kcworI2RlZmluZSBLQkNfQ01EX1JFQURfQ09NTUFORAkweDIwIC8vIFJlYWQgY29tbWFuZCBieXRlCisjZGVmaW5lIEtCQ19DTURfV1JJVEVfQ09NTUFORAkweDYwIC8vIFdyaXRlIGNvbW1hbmQgYnl0ZQorI2RlZmluZSBLQkNfQ01EX1NFTEZfVEVTVAkweEFBIC8vIENvbnRyb2xsZXIgc2VsZi10ZXN0CisjZGVmaW5lIEtCQ19DTURfS0JEX1RFU1QJMHhBQiAvLyBLZXlib2FyZCBJbnRlcmZhY2UgdGVzdAorCisvKiBUaGUgS2V5Ym9hcmQgY29udHJvbGxlciBjb21tYW5kIGJ5dGUKKyAqICBCSVQJfCBEZXNjcmlwdGlvbgorICogIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogICA3ICB8IHJlc2VydmVkLCBtdXN0IGJlIHplcm8KKyAqICAgNiAgfCBYVCBUcmFuc2xhdGlvbiwgKDEgPSBvbiwgMCA9IG9mZikKKyAqICAgNSAgfCBEaXNhYmxlIE1vdXNlIFBvcnQgKDEgPSBkaXNhYmxlLCAwID0gZW5hYmxlKQorICogICA0ICB8IERpc2FibGUgS2V5Ym9hcmQgUG9ydCAoMSA9IGRpc2FibGUsIDAgPSBlbmFibGUpCisgKiAgIDMgIHwgcmVzZXJ2ZWQsIG11c3QgYmUgemVybworICogICAyICB8IFN5c3RlbSBGbGFnICgxID0gc2VsZi10ZXN0IHBhc3NlZC4gRE8gTk9UIFNFVCBUTyBaRVJPKQorICogICAxICB8IE1vdXNlIFBvcnQgSW50ZXJydXB0cyAoMSA9IGVuYWJsZSwgMCA9IGRpc2FibGUpCisgKiAgIDAgIHwgS2V5Ym9hcmQgUG9ydCBJbnRlcnJ1cHRzICgxID0gZW5hYmxlLCAwID0gZGlzYWJsZSkKKyAqLworCisvLyBLZXlib2FyZCBDb250cm9sbGVyIFJlcGxpZXMKKyNkZWZpbmUgS0JDX1JFUExZX1NFTEZURVNUX09LCTB4NTUgLy8gY29udHJvbGxlciBzZWxmLXRlc3Qgc3VjY2VlZGVkCisKKy8vCisvLyBLZXlib2FyZCBSZXBsaWVzCisvLworI2RlZmluZSBLQkRfUkVQTFlfUE9SCQkweEFBICAgIC8vIFBvd2VyIG9uIHJlc2V0CisjZGVmaW5lIEtCRF9SRVBMWV9BQ0sJCTB4RkEgICAgLy8gQ29tbWFuZCBBQ0sKKyNkZWZpbmUgS0JEX1JFUExZX1JFU0VORAkweEZFICAgIC8vIENvbW1hbmQgTkFDSywgc2VuZCBjb21tYW5kIGFnYWluCisKKy8qIFdhaXQgNDAwbXMgZm9yIGtleWJvYXJkIGNvbnRyb2xsZXIgYW5zd2VycyAqLworI2RlZmluZSBLQkNfVElNRU9VVF9JTl9NUyA0MDAKKworc3RhdGljIGludCBrYmNfaW5wdXRfYnVmZmVyX2VtcHR5KHZvaWQpCit7CisJdTMyIHRpbWVvdXQ7CisJZm9yKHRpbWVvdXQgPSBLQkNfVElNRU9VVF9JTl9NUzsgdGltZW91dCAmJiAoaW5iKEtCRF9TVEFUVVMpICYgS0JEX0lCRik7IHRpbWVvdXQtLSkgeworCQltZGVsYXkoMSk7CisJfQorCisJaWYgKCF0aW1lb3V0KSB7CisJCXByaW50ayhCSU9TX1dBUk5JTkcsICJVbmV4cGVjdGVkIEtleWJvYXJkIGNvbnRyb2xsZXIgaW5wdXQgYnVmZmVyIGZ1bGxcbiIpOworCX0KKwlyZXR1cm4gISF0aW1lb3V0OworfQorCisKK3N0YXRpYyBpbnQga2JjX291dHB1dF9idWZmZXJfZnVsbCh2b2lkKQoreworCXUzMiB0aW1lb3V0OworCWZvcih0aW1lb3V0ID0gS0JDX1RJTUVPVVRfSU5fTVM7IHRpbWVvdXQgJiYgKChpbmIoS0JEX1NUQVRVUykgJiBLQkRfT0JGKSA9PSAwKTsgdGltZW91dC0tKSB7CisJCW1kZWxheSgxKTsKKwl9CisKKwlpZiAoIXRpbWVvdXQpIHsKKwkJcHJpbnRrKEJJT1NfSU5GTywgIktleWJvYXJkIGNvbnRyb2xsZXIgb3V0cHV0IGJ1ZmZlciByZXN1bHQgdGltZW91dFxuIik7CisJfQorCXJldHVybiAhIXRpbWVvdXQ7Cit9CisKKworc3RhdGljIGludCBrYmNfY2xlYW51cF9idWZmZXJzKHZvaWQpCit7CisJdTMyIHRpbWVvdXQ7CisJZm9yKHRpbWVvdXQgPSBLQkNfVElNRU9VVF9JTl9NUzsgdGltZW91dCAmJiAoaW5iKEtCRF9TVEFUVVMpICYgKEtCRF9PQkYgfCBLQkRfSUJGKSk7IHRpbWVvdXQtLSkgeworCQltZGVsYXkoMSk7CisJCWluYihLQkRfREFUQSk7CisJfQorCisJaWYgKCF0aW1lb3V0KSB7CisJCXByaW50ayhCSU9TX0VSUiwgIkNvdWxkbid0IGNsZWFudXAgdGhlIGtleWJvYXJkIGNvbnRyb2xsZXIgYnVmZmVyc1xuIik7CisJCXByaW50ayhCSU9TX0VSUiwgIlN0YXR1cyAoMHgleCk6IDB4JXgsIEJ1ZmZlciAoMHgleCk6IDB4JXhcbiIsCisJCQkJS0JEX1NUQVRVUywgaW5iKEtCRF9TVEFUVVMpLCBLQkRfREFUQSwgaW5iKEtCRF9EQVRBKSk7CisJfQorCisJcmV0dXJuICEhdGltZW91dDsKK30KKworc3RhdGljIGludCBrYmNfc2VsZl90ZXN0KHZvaWQpCit7CisJdTggc2VsZl90ZXN0OworCisJLyogQ2xlYW4gdXAgYW55IGp1bmsgdGhhdCBtaWdodCBoYXZlIGJlZW4gaW4gdGhlIEtCQy4KKwkgKiBCb3RoIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVycyBtdXN0IGJlIGVtcHR5LgorCSAqLworCWlmICgha2JjX2NsZWFudXBfYnVmZmVycygpKQorCQlyZXR1cm4gMDsKKworCS8qIHJlc2V0L3NlbGYgdGVzdCA4MDQyIC0gc2VuZCBjbWQgMHhBQSAqLworCW91dGIoS0JDX0NNRF9TRUxGX1RFU1QsIEtCRF9DT01NQU5EKTsKKworCWlmICgha2JjX291dHB1dF9idWZmZXJfZnVsbCgpKSB7CisJCS8qIFRoZXJlIHByb2JhYmx5IGlzIG5vIGtleWJvYXJkIGNvbnRyb2xsZXIuICovCisJCXByaW50ayhCSU9TX0VSUiwgIkNvdWxkIG5vdCByZXNldCBrZXlib2FyZCBjb250cm9sbGVyLlxuIik7CisJCXJldHVybiAwOworCX0KKworCS8qIHJlYWQgc2VsZi10ZXN0IHJlc3VsdCwgMHg1NSBpcyByZXR1cm5lZCBpbiB0aGUgb3V0cHV0IGJ1ZmZlciAqLworCXNlbGZfdGVzdCA9IGluYihLQkRfREFUQSk7CisKKwlpZiAoc2VsZl90ZXN0ICE9IDB4NTUpIHsKKwkJcHJpbnRrKEJJT1NfRVJSLCAiS2V5Ym9hcmQgQ29udHJvbGxlciBzZWxmLXRlc3QgZmFpbGVkOiAweCV4XG4iLAorCQkJCXNlbGZfdGVzdCk7CisJCXJldHVybiAwOworCX0KKworCS8qIGVuc3VyZSB0aGUgYnVmZmVycyBhcmUgZW1wdHkgKi8KKwlrYmNfY2xlYW51cF9idWZmZXJzKCk7CisKKwkvKiBrZXlib2FyZCBpbnRlcmZhY2UgdGVzdCAqLworCW91dGIoS0JDX0NNRF9LQkRfVEVTVCwgS0JEX0NPTU1BTkQpOworCisJaWYgKCFrYmNfb3V0cHV0X2J1ZmZlcl9mdWxsKCkpIHsKKwkJcHJpbnRrKEJJT1NfRVJSLCAiS2V5Ym9hcmQgSW50ZXJmYWNlIHRlc3QgdGltZWQgb3V0LlxuIik7CisJCXJldHVybiAwOworCX0KKworCS8qIHJlYWQgdGVzdCByZXN1bHQsIDB4MDAgc2hvdWxkIGJlIHJldHVybmVkIGluIGNhc2Ugb2Ygbm8gZmFpbHVyZXMgKi8KKwlzZWxmX3Rlc3QgPSBpbmIoS0JEX0RBVEEpOworCisJaWYgKHNlbGZfdGVzdCAhPSAweDAwKSB7CisJCXByaW50ayhCSU9TX0VSUiwgIktleWJvYXJkIEludGVyZmFjZSB0ZXN0IGZhaWxlZDogMHgleFxuIiwKKwkJCQlzZWxmX3Rlc3QpOworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHU4IHNlbmRfa2V5Ym9hcmQodTggY29tbWFuZCkKK3sKKwl1OCByZWd2YWwgPSAwOworCXU4IHJlc2VuZCA9IDEwOworCisJZG8geworCQlpZiAoIWtiY19pbnB1dF9idWZmZXJfZW1wdHkoKSkgcmV0dXJuIDA7CisJCW91dGIoY29tbWFuZCwgS0JEX0RBVEEpOworCQkvKiB0aGUgcmVzZXQgY29tbWFuZCB0YWtlcyBtdWNoIGxvbmdlciB0aGVuIG5vcm1hbCBjb21tYW5kcyBhbmQKKwkJICogZXZlbiB3b3JzZSwgc29tZSBrZXlib2FyZHMgZG8gc2VuZCB0aGUgQUNLIF9hZnRlcl8gZG9pbmcgdGhlCisJCSAqIHJlc2V0ICovCisJCWlmIChjb21tYW5kID09IDB4RkYpIHsKKwkJCXU4IHJldHJpZXM7CisJCQlmb3IgKHJldHJpZXMgPSA5OyByZXRyaWVzICYmICFrYmNfb3V0cHV0X2J1ZmZlcl9mdWxsKCk7IHJldHJpZXMtLSkKKwkJCQk7CisJCX0KKwkJaWYgKCFrYmNfb3V0cHV0X2J1ZmZlcl9mdWxsKCkpIHsKKwkJCXByaW50ayhCSU9TX0VSUiwgIkNvdWxkIG5vdCBzZW5kIGtleWJvYXJkIGNvbW1hbmQgJTAyeFxuIiwKKwkJCQkJY29tbWFuZCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlyZWd2YWwgPSBpbmIoS0JEX0RBVEEpOworCQktLXJlc2VuZDsKKwl9IHdoaWxlIChyZWd2YWwgPT0gS0JEX1JFUExZX1JFU0VORCAmJiByZXNlbmQgPiAwKTsKKworCXJldHVybiByZWd2YWw7Cit9CisKK3ZvaWQgcGNfa2V5Ym9hcmRfaW5pdChzdHJ1Y3QgcGNfa2V5Ym9hcmQgKmtleWJvYXJkKQoreworCXU4IHJldHJpZXM7CisJdTggcmVndmFsOworCWlmICghQ09ORklHX0RSSVZFUlNfUFMyX0tFWUJPQVJEKQorCQlyZXR1cm47CisJcHJpbnRrKEJJT1NfREVCVUcsICJLZXlib2FyZCBpbml0Li4uXG4iKTsKKworCS8qIFJ1biBhIGtleWJvYXJkIGNvbnRyb2xsZXIgc2VsZi10ZXN0ICovCisJaWYgKCFrYmNfc2VsZl90ZXN0KCkpCisJCXJldHVybjsKKworCS8qIEVuYWJsZSBrZXlib2FyZCBpbnRlcmZhY2UgLSBObyBJUlEgKi8KKwlpZiAoIWtiY19pbnB1dF9idWZmZXJfZW1wdHkoKSkgcmV0dXJuOworCW91dGIoMHg2MCwgS0JEX0NPTU1BTkQpOworCWlmICgha2JjX2lucHV0X2J1ZmZlcl9lbXB0eSgpKSByZXR1cm47CisJb3V0YigweDIwLCBLQkRfREFUQSk7CS8qIHNlbmQgY21kOiBlbmFibGUga2V5Ym9hcmQgKi8KKwlpZiAoIWtiY19pbnB1dF9idWZmZXJfZW1wdHkoKSkgeworCQlwcmludGsoQklPU19JTkZPLCAiVGltZW91dCB3aGlsZSBlbmFibGluZyBrZXlib2FyZFxuIik7CisJCXJldHVybjsKKwl9CisKKwkvKiBjbGVhbiB1cCBhbnkganVuayB0aGF0IG1pZ2h0IGhhdmUgYmVlbiBpbiB0aGUga2V5Ym9hcmQgKi8KKwlpZiAoIWtiY19jbGVhbnVwX2J1ZmZlcnMoKSkgcmV0dXJuOworCisJLyogcmVzZXQga2V5Ym9hcmQgYW5kIHNlbGYgdGVzdCAoa2V5Ym9hcmQgc2lkZSkgKi8KKwlyZWd2YWwgPSBzZW5kX2tleWJvYXJkKDB4RkYpOworCWlmIChyZWd2YWwgPT0gS0JEX1JFUExZX1JFU0VORCkgeworCQkvKiBrZWVwcyBzZW5kaW5nIFJFU0VORHMsIHByb2JhYmx5IG5vIGtleWJvYXJkLiAqLworCQlwcmludGsoQklPU19JTkZPLCAiTm8gUFMvMiBrZXlib2FyZCBkZXRlY3RlZC5cbiIpOworCQlyZXR1cm47CisJfQorCisJaWYgKHJlZ3ZhbCAhPSBLQkRfUkVQTFlfQUNLKSB7CisJCXByaW50ayhCSU9TX0VSUiwgIktleWJvYXJkIHJlc2V0IGZhaWxlZCBBQ0s6IDB4JXhcbiIsIHJlZ3ZhbCk7CisJCXJldHVybjsKKwl9CisKKwkvKiB0aGUgcmVzZXQgY29tbWFuZCB0YWtlcyBzb21lIHRpbWUsIHNvIHdhaXQgYSBsaXR0bGUgbG9uZ2VyICovCisJZm9yIChyZXRyaWVzID0gOTsgcmV0cmllcyAmJiAha2JjX291dHB1dF9idWZmZXJfZnVsbCgpOyByZXRyaWVzLS0pCisJCTsKKworCWlmICgha2JjX291dHB1dF9idWZmZXJfZnVsbCgpKSB7CisJCXByaW50ayhCSU9TX0VSUiwgIlRpbWVvdXQgd2FpdGluZyBmb3Iga2V5Ym9hcmQgYWZ0ZXIgcmVzZXQuXG4iKTsKKwkJcmV0dXJuOworCX0KKworCXJlZ3ZhbCA9IGluYihLQkRfREFUQSk7CisJaWYgKHJlZ3ZhbCAhPSAweEFBKSB7CisJCXByaW50ayhCSU9TX0VSUiwgIktleWJvYXJkIHJlc2V0IHNlbGZ0ZXN0IGZhaWxlZDogMHgleFxuIiwgcmVndmFsKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogVGhlIGZvbGxvd2luZyBzZXQgc2NhbmNvZGUgc3R1ZmYgaXMgd2hhdCBub3JtYWwgQklPUyBkby4gSXQgY291bGQgYmUKKwkgKiBhcmd1ZWQgdGhhdCBjb3JlYm9vdCBzaG91bGRuJ3Qgc2V0IHRoZSBzY2FuIGNvZGUuLi4uLgorCSAqLworCisJLyogZGlzYWJsZSB0aGUga2V5Ym9hcmQgKi8KKwlyZWd2YWwgPSBzZW5kX2tleWJvYXJkKDB4RjUpOworCWlmIChyZWd2YWwgIT0gS0JEX1JFUExZX0FDSykgeworCQlwcmludGsoQklPU19FUlIsICJLZXlib2FyZCBkaXNhYmxlIGZhaWxlZCBBQ0s6IDB4JXhcbiIsIHJlZ3ZhbCk7CisJCXJldHVybjsKKwl9CisKKwkvKiBTZXQgc2NhbmNvZGUgY29tbWFuZCAqLworCXJlZ3ZhbCA9IHNlbmRfa2V5Ym9hcmQoMHhGMCk7CisJaWYgKHJlZ3ZhbCAhPSBLQkRfUkVQTFlfQUNLKSB7CisJCXByaW50ayhCSU9TX0VSUiwgIktleWJvYXJkIHNldCBzY2FuY29kZSBjbWQgZmFpbGVkIEFDSzogMHgleFxuIiwgcmVndmFsKTsKKwkJcmV0dXJuOworCX0KKwkvKiBTZXQgc2NhbmNvZGUgbW9kZSAyICovCisJcmVndmFsID0gc2VuZF9rZXlib2FyZCgweDAyKTsKKwlpZiAocmVndmFsICE9IEtCRF9SRVBMWV9BQ0spIHsKKwkJcHJpbnRrKEJJT1NfRVJSLCAiS2V5Ym9hcmQgc2V0IHNjYW5jb2RlIG1vZGUgZmFpbGVkIEFDSzogMHgleFxuIiwgcmVndmFsKTsKKwkJcmV0dXJuOworCX0KKworCS8qIEFsbCBpcyB3ZWxsIC0gZW5hYmxlIGtleWJvYXJkIGludGVyZmFjZSAqLworCWlmICgha2JjX2lucHV0X2J1ZmZlcl9lbXB0eSgpKSByZXR1cm47CisJb3V0YigweDYwLCBLQkRfQ09NTUFORCk7CisJaWYgKCFrYmNfaW5wdXRfYnVmZmVyX2VtcHR5KCkpIHJldHVybjsKKwlvdXRiKDB4NjUsIEtCRF9EQVRBKTsJLyogc2VuZCBjbWQ6IGVuYWJsZSBrZXlib2FyZCBhbmQgSVJRIDEgKi8KKwlpZiAoIWtiY19pbnB1dF9idWZmZXJfZW1wdHkoKSkgeworCQlwcmludGsoQklPU19FUlIsICJUaW1lb3V0IGR1cmluZyBrZXlib2FyZCBlbmFibGVcbiIpOworCQlyZXR1cm47CisJfQorCisJLyogZW5hYmxlIHRoZSBrZXlib2FyZCAqLworCXJlZ3ZhbCA9IHNlbmRfa2V5Ym9hcmQoMHhGNCk7CisJaWYgKHJlZ3ZhbCAhPSBLQkRfUkVQTFlfQUNLKSB7CisJCXByaW50ayhCSU9TX0VSUiwgIktleWJvYXJkIGVuYWJsZSBmYWlsZWQgQUNLOiAweCV4XG4iLCByZWd2YWwpOworCQlyZXR1cm47CisJfQorfQorCisvKgorICogU3VwcG9ydCBQUy8yIG1vZGUgLSAgb2RkYmFsbCBTSU9zKEtCQykgbmVlZCB0aGlzIHNldHVwCisgKiBOb3Qgd2VsbCBkb2N1bWVudGVkLiBHb29nbGUgLSAweGNiIGtleWJvYXJkIGNvbnRyb2xsZXIKKyAqIFRoaXMgaXMgY2FsbGVkIGJlZm9yZSBwY19rZXlib2FyZF9pbml0KCkuCisgKi8KK3ZvaWQgc2V0X2tiY19wczJfbW9kZSh2b2lkKQoreworCS8qIFJ1biBhIGtleWJvYXJkIGNvbnRyb2xsZXIgc2VsZi10ZXN0ICovCisJaWYgKCFrYmNfc2VsZl90ZXN0KCkpCisJCXJldHVybjsKKworCS8qIFN1cHBvcnQgUFMvMiBtb2RlICovCisJaWYgKCFrYmNfaW5wdXRfYnVmZmVyX2VtcHR5KCkpIHJldHVybjsKKwlvdXRiKDB4Y2IsIEtCRF9DT01NQU5EKTsKKworCWlmICgha2JjX2lucHV0X2J1ZmZlcl9lbXB0eSgpKSByZXR1cm47CisJb3V0YigweDAxLCBLQkRfREFUQSk7CisKKwlrYmNfY2xlYW51cF9idWZmZXJzKCk7Cit9CmRpZmYgLS1naXQgYS9zcmMvZHJpdmVycy9wYzgwL21jMTQ2ODE4cnRjLmMgYi9zcmMvZHJpdmVycy9wYzgwL21jMTQ2ODE4cnRjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTlkNjcwZAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9kcml2ZXJzL3BjODAvbWMxNDY4MThydGMuYwpAQCAtMCwwICsxLDM0MCBAQAorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPGNvbnNvbGUvY29uc29sZS5oPgorI2luY2x1ZGUgPHBjODAvbWMxNDY4MThydGMuaD4KKyNpbmNsdWRlIDxib290L2NvcmVib290X3RhYmxlcy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2lmIENPTkZJR19VU0VfT1BUSU9OX1RBQkxFCisjaW5jbHVkZSAib3B0aW9uX3RhYmxlLmgiCisjaW5jbHVkZSA8Y2Jmcy5oPgorI2VuZGlmCisKKy8qIGNvbnRyb2wgcmVnaXN0ZXJzIC0gTW90byBuYW1lcworICovCisjZGVmaW5lIFJUQ19SRUdfQQkJMTAKKyNkZWZpbmUgUlRDX1JFR19CCQkxMQorI2RlZmluZSBSVENfUkVHX0MJCTEyCisjZGVmaW5lIFJUQ19SRUdfRAkJMTMKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogcmVnaXN0ZXIgZGV0YWlscworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19GUkVRX1NFTEVDVAlSVENfUkVHX0EKKworLyogdXBkYXRlLWluLXByb2dyZXNzICAtIHNldCB0byAiMSIgMjQ0IG1pY3Jvc2VjcyBiZWZvcmUgUlRDIGdvZXMgb2ZmIHRoZSBidXMsCisgKiByZXNldCBhZnRlciB1cGRhdGUgKG1heSB0YWtlIDEuOTg0bXMgQCAzMjc2OEh6IFJlZkNsb2NrKSBpcyBjb21wbGV0ZSwKKyAqIHRvdGFsbGluZyB0byBhIG1heCBoaWdoIGludGVydmFsIG9mIDIuMjI4IG1zLgorICovCisjIGRlZmluZSBSVENfVUlQCQkweDgwCisjIGRlZmluZSBSVENfRElWX0NUTAkJMHg3MAorICAgLyogZGl2aWRlciBjb250cm9sOiByZWZjbG9jayB2YWx1ZXMgNC4xOTQgLyAxLjA0OSBNSHogLyAzMi43Njgga0h6ICovCisjICBkZWZpbmUgUlRDX1JFRl9DTENLXzRNSFoJMHgwMAorIyAgZGVmaW5lIFJUQ19SRUZfQ0xDS18xTUhaCTB4MTAKKyMgIGRlZmluZSBSVENfUkVGX0NMQ0tfMzJLSFoJMHgyMAorICAgLyogMiB2YWx1ZXMgZm9yIGRpdmlkZXIgc3RhZ2UgcmVzZXQsIG90aGVycyBmb3IgInRlc3RpbmcgcHVycG9zZXMgb25seSIgKi8KKyMgIGRlZmluZSBSVENfRElWX1JFU0VUMQkweDYwCisjICBkZWZpbmUgUlRDX0RJVl9SRVNFVDIJMHg3MAorICAvKiBQZXJpb2RpYyBpbnRyLiAvIFNxdWFyZSB3YXZlIHJhdGUgc2VsZWN0LiAwPW5vbmUsIDE9MzIuOGtIeiwuLi4gMTU9Mkh6ICovCisjIGRlZmluZSBSVENfUkFURV9TRUxFQ1QgCTB4MEYKKyMgIGRlZmluZSBSVENfUkFURV9OT05FCQkweDAwCisjICBkZWZpbmUgUlRDX1JBVEVfMzI3ODZIWgkweDAxCisjICBkZWZpbmUgUlRDX1JBVEVfMTYzODRIWgkweDAyCisjICBkZWZpbmUgUlRDX1JBVEVfODE5MkhaCTB4MDMKKyMgIGRlZmluZSBSVENfUkFURV80MDk2SFoJMHgwNAorIyAgZGVmaW5lIFJUQ19SQVRFXzIwNDhIWgkweDA1CisjICBkZWZpbmUgUlRDX1JBVEVfMTAyNEhaCTB4MDYKKyMgIGRlZmluZSBSVENfUkFURV81MTJIWgkweDA3CisjICBkZWZpbmUgUlRDX1JBVEVfMjU2SFoJMHgwOAorIyAgZGVmaW5lIFJUQ19SQVRFXzEyOEhaCTB4MDkKKyMgIGRlZmluZSBSVENfUkFURV82NEhaCQkweDBhCisjICBkZWZpbmUgUlRDX1JBVEVfMzJIWgkJMHgwYgorIyAgZGVmaW5lIFJUQ19SQVRFXzE2SFoJCTB4MGMKKyMgIGRlZmluZSBSVENfUkFURV84SFoJCTB4MGQKKyMgIGRlZmluZSBSVENfUkFURV80SFoJCTB4MGUKKyMgIGRlZmluZSBSVENfUkFURV8ySFoJCTB4MGYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19DT05UUk9MCVJUQ19SRUdfQgorIyBkZWZpbmUgUlRDX1NFVCAweDgwCQkvKiBkaXNhYmxlIHVwZGF0ZXMgZm9yIGNsb2NrIHNldHRpbmcgKi8KKyMgZGVmaW5lIFJUQ19QSUUgMHg0MAkJLyogcGVyaW9kaWMgaW50ZXJydXB0IGVuYWJsZSAqLworIyBkZWZpbmUgUlRDX0FJRSAweDIwCQkvKiBhbGFybSBpbnRlcnJ1cHQgZW5hYmxlICovCisjIGRlZmluZSBSVENfVUlFIDB4MTAJCS8qIHVwZGF0ZS1maW5pc2hlZCBpbnRlcnJ1cHQgZW5hYmxlICovCisjIGRlZmluZSBSVENfU1FXRSAweDA4CQkvKiBlbmFibGUgc3F1YXJlLXdhdmUgb3V0cHV0ICovCisjIGRlZmluZSBSVENfRE1fQklOQVJZIDB4MDQJLyogYWxsIHRpbWUvZGF0ZSB2YWx1ZXMgYXJlIEJDRCBpZiBjbGVhciAqLworIyBkZWZpbmUgUlRDXzI0SCAweDAyCQkvKiAyNCBob3VyIG1vZGUgLSBlbHNlIGhvdXJzIGJpdCA3IG1lYW5zIHBtICovCisjIGRlZmluZSBSVENfRFNUX0VOIDB4MDEJLyogYXV0byBzd2l0Y2ggRFNUIC0gd29ya3MgZi4gVVNBIG9ubHkgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19JTlRSX0ZMQUdTCVJUQ19SRUdfQworLyogY2F1dGlvbiAtIGNsZWFyZWQgYnkgcmVhZCAqLworIyBkZWZpbmUgUlRDX0lSUUYgMHg4MAkJLyogYW55IG9mIHRoZSBmb2xsb3dpbmcgMyBpcyBhY3RpdmUgKi8KKyMgZGVmaW5lIFJUQ19QRiAweDQwCisjIGRlZmluZSBSVENfQUYgMHgyMAorIyBkZWZpbmUgUlRDX1VGIDB4MTAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19WQUxJRAlSVENfUkVHX0QKKyMgZGVmaW5lIFJUQ19WUlQgMHg4MAkJLyogdmFsaWQgUkFNIGFuZCB0aW1lICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIENPTkZJR19VU0VfT1BUSU9OX1RBQkxFCitzdGF0aWMgaW50IHJ0Y19jaGVja3N1bV92YWxpZChpbnQgcmFuZ2Vfc3RhcnQsIGludCByYW5nZV9lbmQsIGludCBja3NfbG9jKQoreworCWludCBpOworCXUxNiBzdW0sIG9sZF9zdW07CisJc3VtID0gMDsKKwlmb3IoaSA9IHJhbmdlX3N0YXJ0OyBpIDw9IHJhbmdlX2VuZDsgaSsrKSB7CisJCXN1bSArPSBjbW9zX3JlYWQoaSk7CisJfQorCW9sZF9zdW0gPSAoKGNtb3NfcmVhZChja3NfbG9jKTw8OCkgfCBjbW9zX3JlYWQoY2tzX2xvYysxKSkmMHgwZmZmZjsKKwlyZXR1cm4gc3VtID09IG9sZF9zdW07Cit9CisKK3N0YXRpYyB2b2lkIHJ0Y19zZXRfY2hlY2tzdW0oaW50IHJhbmdlX3N0YXJ0LCBpbnQgcmFuZ2VfZW5kLCBpbnQgY2tzX2xvYykKK3sKKwlpbnQgaTsKKwl1MTYgc3VtOworCXN1bSA9IDA7CisJZm9yKGkgPSByYW5nZV9zdGFydDsgaSA8PSByYW5nZV9lbmQ7IGkrKykgeworCQlzdW0gKz0gY21vc19yZWFkKGkpOworCX0KKwljbW9zX3dyaXRlKCgoc3VtID4+IDgpICYgMHgwZmYpLCBja3NfbG9jKTsKKwljbW9zX3dyaXRlKCgoc3VtID4+IDApICYgMHgwZmYpLCBja3NfbG9jKzEpOworfQorI2VuZGlmCisKKyNpZiBDT05GSUdfQVJDSF9YODYKKyNkZWZpbmUgUlRDX0NPTlRST0xfREVGQVVMVCAoUlRDXzI0SCkKKyNkZWZpbmUgUlRDX0ZSRVFfU0VMRUNUX0RFRkFVTFQgKFJUQ19SRUZfQ0xDS18zMktIWiB8IFJUQ19SQVRFXzEwMjRIWikKKyNlbHNlCisjaWYgQ09ORklHX0FSQ0hfQUxQSEEKKyNkZWZpbmUgUlRDX0NPTlRST0xfREVGQVVMVCAoUlRDX1NRV0UgfCBSVENfMjRIKQorI2RlZmluZSBSVENfRlJFUV9TRUxFQ1RfREVGQVVMVCAoUlRDX1JFRl9DTENLXzMyS0haIHwgUlRDX1JBVEVfMTAyNEhaKQorI2VuZGlmCisjZW5kaWYKKwordm9pZCBydGNfaW5pdChpbnQgaW52YWxpZCkKK3sKKyNpZiBDT05GSUdfVVNFX09QVElPTl9UQUJMRQorCXVuc2lnbmVkIGNoYXIgeDsKKwlpbnQgY21vc19pbnZhbGlkLCBjaGVja3N1bV9pbnZhbGlkOworI2VuZGlmCisKKwlwcmludGsoQklPU19ERUJVRywgIlJUQyBJbml0XG4iKTsKKworI2lmIENPTkZJR19VU0VfT1BUSU9OX1RBQkxFCisJLyogU2VlIGlmIHRoZXJlIGhhcyBiZWVuIGEgQ01PUyBwb3dlciBwcm9ibGVtLiAqLworCXggPSBjbW9zX3JlYWQoUlRDX1ZBTElEKTsKKwljbW9zX2ludmFsaWQgPSAhKHggJiBSVENfVlJUKTsKKworCS8qIFNlZSBpZiB0aGVyZSBpcyBhIENNT1MgY2hlY2tzdW0gZXJyb3IgKi8KKwljaGVja3N1bV9pbnZhbGlkID0gIXJ0Y19jaGVja3N1bV92YWxpZChQQ19DS1NfUkFOR0VfU1RBUlQsCisJCQlQQ19DS1NfUkFOR0VfRU5ELFBDX0NLU19MT0MpOworCisjZGVmaW5lIENMRUFSX0NNT1MgMAorCWlmIChpbnZhbGlkIHx8IGNtb3NfaW52YWxpZCB8fCBjaGVja3N1bV9pbnZhbGlkKSB7CisJCXByaW50ayhCSU9TX1dBUk5JTkcsICJSVEM6JXMlcyVzJXNcbiIsCisJCQlpbnZhbGlkPyIgQ2xlYXIgcmVxdWVzdGVkIjoiIiwKKwkJCWNtb3NfaW52YWxpZD8iIFBvd2VyIFByb2JsZW0iOiIiLAorCQkJY2hlY2tzdW1faW52YWxpZD8iIENoZWNrc3VtIGludmFsaWQiOiIiLAorCQkJQ0xFQVJfQ01PUz8iIHplcm9pbmcgY21vcyI6IiIpOworI2lmIENMRUFSX0NNT1MKKwkJY21vc193cml0ZSgwLCAweDAxKTsKKwkJY21vc193cml0ZSgwLCAweDAzKTsKKwkJY21vc193cml0ZSgwLCAweDA1KTsKKwkJZm9yKGkgPSAxMDsgaSA8IDQ4OyBpKyspIHsKKwkJCWNtb3Nfd3JpdGUoMCwgaSk7CisJCX0KKworCQlpZiAoY21vc19pbnZhbGlkKSB7CisJCQkvKiBOb3cgc2V0dXAgYSBkZWZhdWx0IGRhdGUgb2YgU2F0IDEgSmFudWFyeSAyMDAwICovCisJCQljbW9zX3dyaXRlKDAsIDB4MDApOyAvKiBzZWNvbmRzICovCisJCQljbW9zX3dyaXRlKDAsIDB4MDIpOyAvKiBtaW51dGVzICovCisJCQljbW9zX3dyaXRlKDEsIDB4MDQpOyAvKiBob3VycyAqLworCQkJY21vc193cml0ZSg3LCAweDA2KTsgLyogZGF5IG9mIHdlZWsgKi8KKwkJCWNtb3Nfd3JpdGUoMSwgMHgwNyk7IC8qIGRheSBvZiBtb250aCAqLworCQkJY21vc193cml0ZSgxLCAweDA4KTsgLyogbW9udGggKi8KKwkJCWNtb3Nfd3JpdGUoMCwgMHgwOSk7IC8qIHllYXIgKi8KKwkJfQorI2VuZGlmCisJfQorI2VuZGlmCisKKwkvKiBTZXR1cCB0aGUgcmVhbCB0aW1lIGNsb2NrICovCisJY21vc193cml0ZShSVENfQ09OVFJPTF9ERUZBVUxULCBSVENfQ09OVFJPTCk7CisJLyogU2V0dXAgdGhlIGZyZXF1ZW5jeSBpdCBvcGVyYXRlcyBhdCAqLworCWNtb3Nfd3JpdGUoUlRDX0ZSRVFfU0VMRUNUX0RFRkFVTFQsIFJUQ19GUkVRX1NFTEVDVCk7CisKKyNpZiBDT05GSUdfVVNFX09QVElPTl9UQUJMRQorCS8qIFNlZSBpZiB0aGVyZSBpcyBhIExCIENNT1MgY2hlY2tzdW0gZXJyb3IgKi8KKwljaGVja3N1bV9pbnZhbGlkID0gIXJ0Y19jaGVja3N1bV92YWxpZChMQl9DS1NfUkFOR0VfU1RBUlQsCisJCQlMQl9DS1NfUkFOR0VfRU5ELExCX0NLU19MT0MpOworCWlmKGNoZWNrc3VtX2ludmFsaWQpCisJCXByaW50ayhCSU9TX0RFQlVHLCAiUlRDOiBjb3JlYm9vdCBjaGVja3N1bSBpbnZhbGlkXG4iKTsKKworCS8qIE1ha2UgY2VydGFpbiB3ZSBoYXZlIGEgdmFsaWQgY2hlY2tzdW0gKi8KKwlydGNfc2V0X2NoZWNrc3VtKFBDX0NLU19SQU5HRV9TVEFSVCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFBDX0NLU19SQU5HRV9FTkQsUENfQ0tTX0xPQyk7CisjZW5kaWYKKworCS8qIENsZWFyIGFueSBwZW5kaW5nIGludGVycnVwdHMgKi8KKwkodm9pZCkgY21vc19yZWFkKFJUQ19JTlRSX0ZMQUdTKTsKK30KKworCisjaWYgQ09ORklHX1VTRV9PUFRJT05fVEFCTEUKKy8qIFRoaXMgcm91dGluZSByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgcmVxdWVzdGVkIGJpdHMKKwlpbnB1dCBiaXQgPSBiaXQgY291bnQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjbW9zIGltYWdlCisJICAgICAgbGVuZ3RoID0gbnVtYmVyIG9mIGJpdHMgdG8gaW5jbHVkZSBpbiB0aGUgdmFsdWUKKwkgICAgICByZXQgPSBhIGNoYXJhY3RlciBwb2ludGVyIHRvIHdoZXJlIHRoZSB2YWx1ZSBpcyB0byBiZSByZXR1cm5lZAorCW91dHB1dCB0aGUgdmFsdWUgcGxhY2VkIGluIHJldAorCSAgICAgIHJldHVybnMgMCA9IHN1Y2Nlc3NmdWwsIC0xID0gYW4gZXJyb3Igb2NjdXJyZWQKKyovCitzdGF0aWMgaW50IGdldF9jbW9zX3ZhbHVlKHVuc2lnbmVkIGxvbmcgYml0LCB1bnNpZ25lZCBsb25nIGxlbmd0aCwgdm9pZCAqdnJldCkKK3sKKwl1bnNpZ25lZCBjaGFyICpyZXQ7CisJdW5zaWduZWQgbG9uZyBieXRlLGJ5dGVfYml0OworCXVuc2lnbmVkIGxvbmcgaTsKKwl1bnNpZ25lZCBjaGFyIHVjaGFyOworCisJLyogVGhlIHRhYmxlIGlzIGNoZWNrZWQgd2hlbiBpdCBpcyBidWlsdCB0byBlbnN1cmUgYWxsCisJCXZhbHVlcyBhcmUgdmFsaWQuICovCisJcmV0ID0gdnJldDsKKwlieXRlPWJpdC84OwkvKiBmaW5kIHRoZSBieXRlIHdoZXJlIHRoZSBkYXRhIHN0YXJ0cyAqLworCWJ5dGVfYml0PWJpdCU4OyAvKiBmaW5kIHRoZSBiaXQgaW4gdGhlIGJ5dGUgd2hlcmUgdGhlIGRhdGEgc3RhcnRzICovCisJaWYobGVuZ3RoPDkpIHsJLyogb25lIGJ5dGUgb3IgbGVzcyAqLworCQl1Y2hhciA9IGNtb3NfcmVhZChieXRlKTsgLyogbG9hZCB0aGUgYnl0ZSAqLworCQl1Y2hhciA+Pj0gYnl0ZV9iaXQ7CS8qIHNoaWZ0IHRoZSBiaXRzIHRvIGJ5dGUgYWxpZ24gKi8KKwkJLyogY2xlYXIgdW5zcGVjaWZpZWQgYml0cyAqLworCQlyZXRbMF0gPSB1Y2hhciAmICgoMSA8PCBsZW5ndGgpIC0xKTsKKwl9CisJZWxzZSB7CS8qIG1vcmUgdGhhdCBvbmUgYnl0ZSBzbyB0cmFuc2ZlciB0aGUgd2hvbGUgYnl0ZXMgKi8KKwkJZm9yKGk9MDtsZW5ndGg7aSsrLGxlbmd0aC09OCxieXRlKyspIHsKKwkJCS8qIGxvYWQgdGhlIGJ5dGUgKi8KKwkJCXJldFtpXT1jbW9zX3JlYWQoYnl0ZSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCBnZXRfb3B0aW9uKHZvaWQgKmRlc3QsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGNtb3Nfb3B0aW9uX3RhYmxlICpjdDsKKwlzdHJ1Y3QgY21vc19lbnRyaWVzICpjZTsKKwlzaXplX3QgbmFtZWxlbjsKKwlpbnQgZm91bmQ9MDsKKworCS8qIEZpZ3VyZSBvdXQgaG93IGxvbmcgbmFtZSBpcyAqLworCW5hbWVsZW4gPSBzdHJubGVuKG5hbWUsIENNT1NfTUFYX05BTUVfTEVOR1RIKTsKKworCS8qIGZpbmQgdGhlIHJlcXVlc3RlZCBlbnRyeSByZWNvcmQgKi8KKwljdD1jYmZzX2ZpbmRfZmlsZSgiY21vc19sYXlvdXQuYmluIiwgQ0JGU19DT01QT05FTlRfQ01PU19MQVlPVVQpOworCWlmICghY3QpIHsKKwkJcHJpbnRrKEJJT1NfRVJSLCAiUlRDOiBjbW9zX2xheW91dC5iaW4gY291bGQgbm90IGJlIGZvdW5kLiAiCisJCQkJCQkiT3B0aW9ucyBhcmUgZGlzYWJsZWRcbiIpOworCQlyZXR1cm4oLTIpOworCX0KKwljZT0oc3RydWN0IGNtb3NfZW50cmllcyopKCh1bnNpZ25lZCBjaGFyICopY3QgKyBjdC0+aGVhZGVyX2xlbmd0aCk7CisJZm9yKDtjZS0+dGFnPT1MQl9UQUdfT1BUSU9OOworCQljZT0oc3RydWN0IGNtb3NfZW50cmllcyopKCh1bnNpZ25lZCBjaGFyICopY2UgKyBjZS0+c2l6ZSkpIHsKKwkJaWYgKG1lbWNtcChjZS0+bmFtZSwgbmFtZSwgbmFtZWxlbikgPT0gMCkgeworCQkJZm91bmQ9MTsKKwkJCWJyZWFrOworCQl9CisJfQorCWlmKCFmb3VuZCkgeworCQlwcmludGsoQklPU19ERUJVRywgIldBUk5JTkc6IE5vIENNT1Mgb3B0aW9uICclcycuXG4iLCBuYW1lKTsKKwkJcmV0dXJuKC0yKTsKKwl9CisKKwlpZihnZXRfY21vc192YWx1ZShjZS0+Yml0LCBjZS0+bGVuZ3RoLCBkZXN0KSkKKwkJcmV0dXJuKC0zKTsKKwlpZighcnRjX2NoZWNrc3VtX3ZhbGlkKExCX0NLU19SQU5HRV9TVEFSVCwKKwkJCUxCX0NLU19SQU5HRV9FTkQsTEJfQ0tTX0xPQykpCisJCXJldHVybigtNCk7CisJcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50IHNldF9jbW9zX3ZhbHVlKHVuc2lnbmVkIGxvbmcgYml0LCB1bnNpZ25lZCBsb25nIGxlbmd0aCwgdm9pZCAqdnJldCkKK3sKKwl1bnNpZ25lZCBjaGFyICpyZXQ7CisJdW5zaWduZWQgbG9uZyBieXRlLGJ5dGVfYml0OworCXVuc2lnbmVkIGxvbmcgaTsKKwl1bnNpZ25lZCBjaGFyIHVjaGFyLCBtYXNrOworCXVuc2lnbmVkIGludCBjaGtzdW1fdXBkYXRlX25lZWRlZCA9IDA7CisKKwlyZXQgPSB2cmV0OworCWJ5dGUgPSBiaXQgLyA4OwkJCS8qIGZpbmQgdGhlIGJ5dGUgd2hlcmUgdGhlIGRhdGEgc3RhcnRzICovCisJYnl0ZV9iaXQgPSBiaXQgJSA4OwkJLyogZmluZCB0aGUgYml0IGluIHRoZSBieXRlIHdoZXJlIHRoZSBkYXRhIHN0YXJ0cyAqLworCWlmKGxlbmd0aCA8PSA4KSB7CQkvKiBvbmUgYnl0ZSBvciBsZXNzICovCisJCW1hc2sgPSAoMSA8PCBsZW5ndGgpIC0gMTsKKwkJbWFzayA8PD0gYnl0ZV9iaXQ7CisKKwkJdWNoYXIgPSBjbW9zX3JlYWQoYnl0ZSk7CisJCXVjaGFyICY9IH5tYXNrOworCQl1Y2hhciB8PSAocmV0WzBdIDw8IGJ5dGVfYml0KTsKKwkJY21vc193cml0ZSh1Y2hhciwgYnl0ZSk7CisJCWlmIChieXRlID49IExCX0NLU19SQU5HRV9TVEFSVCAmJiBieXRlIDw9IExCX0NLU19SQU5HRV9FTkQpCisJCQljaGtzdW1fdXBkYXRlX25lZWRlZCA9IDE7CisJfSBlbHNlIHsJCQkvKiBtb3JlIHRoYXQgb25lIGJ5dGUgc28gdHJhbnNmZXIgdGhlIHdob2xlIGJ5dGVzICovCisJCWlmIChieXRlX2JpdCB8fCBsZW5ndGggJSA4KQorCQkJcmV0dXJuIC0xOworCisJCWZvcihpPTA7IGxlbmd0aDsgaSsrLCBsZW5ndGgtPTgsIGJ5dGUrKykKKwkJCWNtb3Nfd3JpdGUocmV0W2ldLCBieXRlKTsKKwkJCWlmIChieXRlID49IExCX0NLU19SQU5HRV9TVEFSVCAmJiBieXRlIDw9IExCX0NLU19SQU5HRV9FTkQpCisJCQkJY2hrc3VtX3VwZGF0ZV9uZWVkZWQgPSAxOworCX0KKworCWlmIChjaGtzdW1fdXBkYXRlX25lZWRlZCkgeworCQlydGNfc2V0X2NoZWNrc3VtKExCX0NLU19SQU5HRV9TVEFSVCwKKwkJCUxCX0NLU19SQU5HRV9FTkQsTEJfQ0tTX0xPQyk7CisJfQorCXJldHVybiAwOworfQorCisKK2ludCBzZXRfb3B0aW9uKGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlKQoreworCXN0cnVjdCBjbW9zX29wdGlvbl90YWJsZSAqY3Q7CisJc3RydWN0IGNtb3NfZW50cmllcyAqY2U7CisJdW5zaWduZWQgbG9uZyBsZW5ndGg7CisJc2l6ZV90IG5hbWVsZW47CisJaW50IGZvdW5kPTA7CisKKwkvKiBGaWd1cmUgb3V0IGhvdyBsb25nIG5hbWUgaXMgKi8KKwluYW1lbGVuID0gc3RybmxlbihuYW1lLCBDTU9TX01BWF9OQU1FX0xFTkdUSCk7CisKKwkvKiBmaW5kIHRoZSByZXF1ZXN0ZWQgZW50cnkgcmVjb3JkICovCisJY3Q9Y2Jmc19maW5kX2ZpbGUoImNtb3NfbGF5b3V0LmJpbiIsIENCRlNfQ09NUE9ORU5UX0NNT1NfTEFZT1VUKTsKKwlpZiAoIWN0KSB7CisJCXByaW50ayhCSU9TX0VSUiwgImNtb3NfbGF5b3V0LmJpbiBjb3VsZCBub3QgYmUgZm91bmQuIE9wdGlvbnMgYXJlIGRpc2FibGVkXG4iKTsKKwkJcmV0dXJuKC0yKTsKKwl9CisJY2U9KHN0cnVjdCBjbW9zX2VudHJpZXMqKSgodW5zaWduZWQgY2hhciAqKWN0ICsgY3QtPmhlYWRlcl9sZW5ndGgpOworCWZvcig7Y2UtPnRhZz09TEJfVEFHX09QVElPTjsKKwkJY2U9KHN0cnVjdCBjbW9zX2VudHJpZXMqKSgodW5zaWduZWQgY2hhciAqKWNlICsgY2UtPnNpemUpKSB7CisJCWlmIChtZW1jbXAoY2UtPm5hbWUsIG5hbWUsIG5hbWVsZW4pID09IDApIHsKKwkJCWZvdW5kPTE7CisJCQlicmVhazsKKwkJfQorCX0KKwlpZighZm91bmQpIHsKKwkJcHJpbnRrKEJJT1NfREVCVUcsICJXQVJOSU5HOiBObyBDTU9TIG9wdGlvbiAnJXMnLlxuIiwgbmFtZSk7CisJCXJldHVybigtMik7CisJfQorCisJbGVuZ3RoID0gY2UtPmxlbmd0aDsKKwlpZiAoY2UtPmNvbmZpZyA9PSAncycpIHsKKwkJbGVuZ3RoID0gTUFYKHN0cmxlbigoY29uc3QgY2hhciAqKXZhbHVlKSAqIDgsIGNlLT5sZW5ndGggLSA4KTsKKwkJLyogbWFrZSBzdXJlIHRoZSBzdHJpbmcgaXMgbnVsbCB0ZXJtaW5hdGVkICovCisJCWlmICgoc2V0X2Ntb3NfdmFsdWUoY2UtPmJpdCArIGNlLT5sZW5ndGggLSA4LCA4LCAmKHU4W10pezB9KSkpCisJCQlyZXR1cm4gKC0zKTsKKwl9CisKKwlpZiAoKHNldF9jbW9zX3ZhbHVlKGNlLT5iaXQsIGxlbmd0aCwgdmFsdWUpKSkKKwkJcmV0dXJuICgtMyk7CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfVVNFX09QVElPTl9UQUJMRSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2RyaXZlcnMvcGM4MC9tYzE0NjgxOHJ0Y19lYXJseS5jIGIvc3JjL2RyaXZlcnMvcGM4MC9tYzE0NjgxOHJ0Y19lYXJseS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NTJmMjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvZHJpdmVycy9wYzgwL21jMTQ2ODE4cnRjX2Vhcmx5LmMKQEAgLTAsMCArMSwxMDQgQEAKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxwYzgwL21jMTQ2ODE4cnRjLmg+CisjaW5jbHVkZSA8ZmFsbGJhY2suaD4KKyNpZiBDT05GSUdfVVNFX09QVElPTl9UQUJMRQorI2luY2x1ZGUgIm9wdGlvbl90YWJsZS5oIgorI2VuZGlmCisKKyNpZm5kZWYgQ09ORklHX01BWF9SRUJPT1RfQ05UCisjZXJyb3IgIkNPTkZJR19NQVhfUkVCT09UX0NOVCBub3QgZGVmaW5lZCIKKyNlbmRpZgorI2lmICBDT05GSUdfTUFYX1JFQk9PVF9DTlQgPiAxNQorI2Vycm9yICJDT05GSUdfTUFYX1JFQk9PVF9DTlQgdG9vIGhpZ2giCisjZW5kaWYKKworc3RhdGljIGludCBjbW9zX2Vycm9yKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciByZWdfZDsKKwkvKiBTZWUgaWYgdGhlIGNtb3MgZXJyb3IgY29uZGl0aW9uIGhhcyBiZWVuIGZsYWdnZWQgKi8KKwlyZWdfZCA9IGNtb3NfcmVhZChSVENfUkVHX0QpOworCXJldHVybiAocmVnX2QgJiBSVENfVlJUKSA9PSAwOworfQorCitzdGF0aWMgaW50IGNtb3NfY2hrc3VtX3ZhbGlkKHZvaWQpCit7CisjaWYgQ09ORklHX1VTRV9PUFRJT05fVEFCTEUKKwl1bnNpZ25lZCBjaGFyIGFkZHI7CisJdTE2IHN1bSwgb2xkX3N1bTsKKwlzdW0gPSAwOworCS8qIENvbXB1dGUgdGhlIGNtb3MgY2hlY2tzdW0gKi8KKwlmb3IoYWRkciA9IExCX0NLU19SQU5HRV9TVEFSVDsgYWRkciA8PSBMQl9DS1NfUkFOR0VfRU5EOyBhZGRyKyspIHsKKwkJc3VtICs9IGNtb3NfcmVhZChhZGRyKTsKKwl9CisKKwkvKiBSZWFkIHRoZSBzdG9yZWQgY2hlY2tzdW0gKi8KKwlvbGRfc3VtID0gY21vc19yZWFkKExCX0NLU19MT0MpIDw8IDg7CisJb2xkX3N1bSB8PSAgY21vc19yZWFkKExCX0NLU19MT0MrMSk7CisKKwlyZXR1cm4gc3VtID09IG9sZF9zdW07CisjZWxzZQorCXJldHVybiAwOworI2VuZGlmCit9CisKKworc3RhdGljIGlubGluZSBpbnQgbGFzdF9ib290X25vcm1hbCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgYnl0ZTsKKwlieXRlID0gY21vc19yZWFkKFJUQ19CT09UX0JZVEUpOworCXJldHVybiAoYnl0ZSAmICgxIDw8IDEpKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgZG9fbm9ybWFsX2Jvb3Qodm9pZCkKK3sKKwl1bnNpZ25lZCBjaGFyIGJ5dGU7CisKKwlpZiAoY21vc19lcnJvcigpIHx8ICFjbW9zX2Noa3N1bV92YWxpZCgpKSB7CisJCS8qIFRoZXJlIGFyZSBubyBpbXBvc3NpYmxlIHZhbHVlcywgbm8gY2hlY2tzdW1zIHNvIGp1c3QKKwkJICogdHJ1c3Qgd2hhdGV2ZXIgdmFsdWUgd2UgaGF2ZSBpbiB0aGUgdGhlIGNtb3MsCisJCSAqIGJ1dCBjbGVhciB0aGUgZmFsbGJhY2sgYml0LgorCQkgKi8KKwkJYnl0ZSA9IGNtb3NfcmVhZChSVENfQk9PVF9CWVRFKTsKKwkJYnl0ZSAmPSAweDBjOworCQlieXRlIHw9IENPTkZJR19NQVhfUkVCT09UX0NOVCA8PCA0OworCQljbW9zX3dyaXRlKGJ5dGUsIFJUQ19CT09UX0JZVEUpOworCX0KKworCS8qIFRoZSBSVENfQk9PVF9CWVRFIGlzIG5vdyBvLmsuIHNlZSB3aGVyZSB0byBnby4gKi8KKwlieXRlID0gY21vc19yZWFkKFJUQ19CT09UX0JZVEUpOworCisJLyogQXJlIHdlIGluIG5vcm1hbCBtb2RlPyAqLworCWlmIChieXRlICYgMSkgeworCQlieXRlICY9IDB4MGY7IC8qIHllcywgY2xlYXIgdGhlIGJvb3QgY291bnQgKi8KKwl9CisKKwkvKiBQcm9wZXJseSBzZXQgdGhlIGxhc3QgYm9vdCBmbGFnICovCisJYnl0ZSAmPSAweGZjOworCWlmICgoYnl0ZSA+PiA0KSA8IENPTkZJR19NQVhfUkVCT09UX0NOVCkgeworCQlieXRlIHw9ICgxPDwxKTsKKwl9CisKKwkvKiBBcmUgd2UgYWxyZWFkeSBhdCB0aGUgbWF4IGNvdW50PyAqLworCWlmICgoYnl0ZSA+PiA0KSA8IENPTkZJR19NQVhfUkVCT09UX0NOVCkgeworCQlieXRlICs9IDEgPDwgNDsgLyogTm8sIGFkZCAxIHRvIHRoZSBjb3VudCAqLworCX0KKwllbHNlIHsKKwkJYnl0ZSAmPSAweGZjOwkvKiBZZXMsIHB1dCBpbiBmYWxsYmFjayBtb2RlICovCisJfQorCisJLyogU2F2ZSB0aGUgYm9vdCBieXRlICovCisJY21vc193cml0ZShieXRlLCBSVENfQk9PVF9CWVRFKTsKKworCXJldHVybiAoYnl0ZSAmICgxPDwxKSk7Cit9CisKK3Vuc2lnbmVkIHJlYWRfb3B0aW9uX2xvd2xldmVsKHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBzaXplLCB1bnNpZ25lZCBkZWYpCit7CisjaWYgQ09ORklHX1VTRV9PUFRJT05fVEFCTEUKKwl1bnNpZ25lZCBieXRlOworCWJ5dGUgPSBjbW9zX3JlYWQoc3RhcnQvOCk7CisJcmV0dXJuIChieXRlID4+IChzdGFydCAmIDdVKSkgJiAoKDFVIDw8IHNpemUpIC0gMVUpOworI2Vsc2UKKwlyZXR1cm4gZGVmOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9zcmMvZHJpdmVycy9wYzgwL3RwbS5jIGIvc3JjL2RyaXZlcnMvcGM4MC90cG0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2UxZWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2RyaXZlcnMvcGM4MC90cG0uYwpAQCAtMCwwICsxLDU0OCBAQAorLyoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBjb3JlYm9vdCBwcm9qZWN0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBUaGUgQ2hyb21pdW0gT1MgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworLyoKKyAqIFRoZSBjb2RlIGluIHRoaXMgZmlsZSBoYXMgYmVlbiBoZWF2aWx5IGJhc2VkIG9uIHRoZSBhcnRpY2xlICJXcml0aW5nIGEgVFBNCisgKiBEZXZpY2UgRHJpdmVyIiBwdWJsaXNoZWQgb24gaHR0cDovL3B0Z21lZGlhLnBlYXJzb25jbWcuY29tIGFuZCB0aGUKKyAqIHN1Ym1pc3Npb24gYnkgU3RlZmFuIEJlcmdlciBvbiBRZW11LWRldmVsIG1haWxpbmcgbGlzdC4KKyAqCisgKiBPbmUgcHJpbmNpcGFsIGRpZmZlcmVuY2UgaXMgdGhhdCBpbiB0aGUgc2ltcGxlc3QgY29uZmlnIHRoZSBvdGhlciB0aGFuIDAKKyAqIFRQTSBsb2NhbGl0aWVzIGRvIG5vdCBnZXQgbWFwcGVkIGJ5IHNvbWUgZGV2aWNlcyAoZm9yIGluc3RhbmNlLCBieQorICogSW5maW5lb24gc2xiOTYzNSksIHNvIHRoaXMgZHJpdmVyIHByb3ZpZGVzIGFjY2VzcyB0byBsb2NhbGl0eSAwIG9ubHkuCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGRlbGF5Lmg+CisjaW5jbHVkZSA8YXJjaC9pby5oPgorI2luY2x1ZGUgPGFyY2gvYnl0ZW9yZGVyLmg+CisjaW5jbHVkZSA8Y29uc29sZS9jb25zb2xlLmg+CisjaW5jbHVkZSA8cGM4MC90cG0uaD4KKyNpbmNsdWRlIDxjcHUveDg2L2Nhci5oPgorCisjZGVmaW5lIFBSRUZJWCAibHBjX3RwbTogIgorCisvKiBjb3JlYm9vdCB3cmFwcGVyIGZvciBUUE0gZHJpdmVyIChzdGFydCkgKi8KKyNkZWZpbmUJVFBNX0RFQlVHKGZtdCwgYXJncy4uLikJCVwKKwlpZiAoQ09ORklHX0RFQlVHX1RQTSkgewkJXAorCQlwcmludGsoQklPU19ERUJVRywgUFJFRklYKTsJCVwKKwkJcHJpbnRrKEJJT1NfREVCVUcsIGZtdCAsICMjYXJncyk7CVwKKwl9CisjZGVmaW5lIHByaW50Zih4Li4uKSBwcmludGsoQklPU19FUlIsIHgpCisKKyNkZWZpbmUgbWluKGEsYikgTUlOKGEsYikKKyNkZWZpbmUgbWF4KGEsYikgTUFYKGEsYikKKyNkZWZpbmUgcmVhZGIoX2EpICgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikgKF9hKSkKKyNkZWZpbmUgd3JpdGViKF92LCBfYSkgKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKSAoX2EpID0gKF92KSkKKyNkZWZpbmUgcmVhZGwoX2EpICgqKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKikgKF9hKSkKKyNkZWZpbmUgd3JpdGVsKF92LCBfYSkgKCoodm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqKSAoX2EpID0gKF92KSkKKy8qIGNvcmVib290IHdyYXBwZXIgZm9yIFRQTSBkcml2ZXIgKGVuZCkgKi8KKworI2lmbmRlZiBDT05GSUdfVFBNX1RJU19CQVNFX0FERFJFU1MKKy8qIEJhc2UgVFBNIGFkZHJlc3Mgc3RhbmRhcmQgZm9yIHg4NiBzeXN0ZW1zICovCisjZGVmaW5lIENPTkZJR19UUE1fVElTX0JBU0VfQUREUkVTUyAgICAgICAgMHhmZWQ0MDAwMAorI2VuZGlmCisKKy8qIHRoZSBtYWNybyBhY2NlcHRzIHRoZSBsb2NhbGl0eSB2YWx1ZSwgYnV0IG9ubHkgbG9jYWxpdHkgMCBpcyBvcGVyYXRpb25hbCAqLworI2RlZmluZSBUSVNfUkVHKExPQ0FMSVRZLCBSRUcpIFwKKyAgICAodm9pZCAqKShDT05GSUdfVFBNX1RJU19CQVNFX0FERFJFU1MgKyAoTE9DQUxJVFkgPDwgMTIpICsgUkVHKQorCisvKiBoYXJkd2FyZSByZWdpc3RlcnMnIG9mZnNldHMgKi8KKyNkZWZpbmUgVElTX1JFR19BQ0NFU1MgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBUSVNfUkVHX0lOVF9FTkFCTEUgICAgICAgICAgICAgMHg4CisjZGVmaW5lIFRJU19SRUdfSU5UX1ZFQ1RPUiAgICAgICAgICAgICAweGMKKyNkZWZpbmUgVElTX1JFR19JTlRfU1RBVFVTICAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgVElTX1JFR19JTlRGX0NBUEFCSUxJVFkgICAgICAgIDB4MTQKKyNkZWZpbmUgVElTX1JFR19TVFMgICAgICAgICAgICAgICAgICAgIDB4MTgKKyNkZWZpbmUgVElTX1JFR19EQVRBX0ZJRk8gICAgICAgICAgICAgIDB4MjQKKyNkZWZpbmUgVElTX1JFR19ESURfVklEICAgICAgICAgICAgICAgIDB4ZjAwCisjZGVmaW5lIFRJU19SRUdfUklEICAgICAgICAgICAgICAgICAgICAweGYwNAorCisvKiBTb21lIHJlZ2lzdGVycycgYml0IGZpZWxkIGRlZmluaXRpb25zICovCisjZGVmaW5lIFRJU19TVFNfVkFMSUQgICAgICAgICAgICAgICAgICAoMSA8PCA3KSAvKiAweDgwICovCisjZGVmaW5lIFRJU19TVFNfQ09NTUFORF9SRUFEWSAgICAgICAgICAoMSA8PCA2KSAvKiAweDQwICovCisjZGVmaW5lIFRJU19TVFNfVFBNX0dPICAgICAgICAgICAgICAgICAoMSA8PCA1KSAvKiAweDIwICovCisjZGVmaW5lIFRJU19TVFNfREFUQV9BVkFJTEFCTEUgICAgICAgICAoMSA8PCA0KSAvKiAweDEwICovCisjZGVmaW5lIFRJU19TVFNfRVhQRUNUICAgICAgICAgICAgICAgICAoMSA8PCAzKSAvKiAweDA4ICovCisjZGVmaW5lIFRJU19TVFNfUkVTUE9OU0VfUkVUUlkgICAgICAgICAoMSA8PCAxKSAvKiAweDAyICovCisKKyNkZWZpbmUgVElTX0FDQ0VTU19UUE1fUkVHX1ZBTElEX1NUUyAgICgxIDw8IDcpIC8qIDB4ODAgKi8KKyNkZWZpbmUgVElTX0FDQ0VTU19BQ1RJVkVfTE9DQUxJVFkgICAgICgxIDw8IDUpIC8qIDB4MjAgKi8KKyNkZWZpbmUgVElTX0FDQ0VTU19CRUVOX1NFSVpFRCAgICAgICAgICgxIDw8IDQpIC8qIDB4MTAgKi8KKyNkZWZpbmUgVElTX0FDQ0VTU19TRUlaRSAgICAgICAgICAgICAgICgxIDw8IDMpIC8qIDB4MDggKi8KKyNkZWZpbmUgVElTX0FDQ0VTU19QRU5ESU5HX1JFUVVFU1QgICAgICgxIDw8IDIpIC8qIDB4MDQgKi8KKyNkZWZpbmUgVElTX0FDQ0VTU19SRVFVRVNUX1VTRSAgICAgICAgICgxIDw8IDEpIC8qIDB4MDIgKi8KKyNkZWZpbmUgVElTX0FDQ0VTU19UUE1fRVNUQUJMSVNITUVOVCAgICgxIDw8IDApIC8qIDB4MDEgKi8KKworI2RlZmluZSBUSVNfU1RTX0JVUlNUX0NPVU5UX01BU0sgICAgICAgKDB4ZmZmZikKKyNkZWZpbmUgVElTX1NUU19CVVJTVF9DT1VOVF9TSElGVCAgICAgICg4KQorCisvKgorICogRXJyb3IgdmFsdWUgcmV0dXJuZWQgaWYgYSB0cG0gcmVnaXN0ZXIgZG9lcyBub3QgZW50ZXIgdGhlIGV4cGVjdGVkIHN0YXRlCisgKiBhZnRlciBjb250aW51b3VzIHBvbGxpbmcuIE5vIGFjdHVhbCBUUE0gcmVnaXN0ZXIgcmVhZGluZyBldmVyIHJldHVybnMgfjAsCisgKiBzbyB0aGlzIHZhbHVlIGlzIGEgc2FmZSBlcnJvciBpbmRpY2F0aW9uIHRvIGJlIG1peGVkIHdpdGggcG9zc2libGUgc3RhdHVzCisgKiByZWdpc3RlciB2YWx1ZXMuCisgKi8KKyNkZWZpbmUgVFBNX1RJTUVPVVRfRVJSCQkJKH4wKQorCisvKiBFcnJvciB2YWx1ZSByZXR1cm5lZCBvbiB2YXJpb3VzIFRQTSBkcml2ZXIgZXJyb3JzICovCisjZGVmaW5lIFRQTV9EUklWRVJfRVJSCQkofjApCisKKyAvKiAxIHNlY29uZCBpcyBwbGVudHkgZm9yIGFueXRoaW5nIFRQTSBkb2VzLiovCisjZGVmaW5lIE1BWF9ERUxBWV9VUwkoMTAwMCAqIDEwMDApCisKKy8qIFJldHJpZXZlIGJ1cnN0IGNvdW50IHZhbHVlIG91dCBvZiB0aGUgc3RhdHVzIHJlZ2lzdGVyIGNvbnRlbnRzLiAqLworI2RlZmluZSBCVVJTVF9DT1VOVChzdGF0dXMpICgodTE2KSgoKHN0YXR1cykgPj4gVElTX1NUU19CVVJTVF9DT1VOVF9TSElGVCkgJiBcCisJCQkJICAgVElTX1NUU19CVVJTVF9DT1VOVF9NQVNLKSkKKworLyoKKyAqIFN0cnVjdHVyZXMgZGVmaW5lZCBiZWxvdyBhbGxvdyBjcmVhdGluZyBkZXNjcmlwdGlvbnMgb2YgVFBNIHZlbmRvci9kZXZpY2UKKyAqIElEIGluZm9ybWF0aW9uIGZvciBydW4gdGltZSBkaXNjb3ZlcnkuIFRoZSBvbmx5IGRldmljZSB0aGUgc3lzdGVtIGtub3dzCisgKiBhYm91dCBhdCB0aGlzIHRpbWUgaXMgSW5maW5lb24gc2xiOTYzNQorICovCitzdHJ1Y3QgZGV2aWNlX25hbWUgeworCXUxNiBkZXZfaWQ7CisJY29uc3QgY2hhciAqIGNvbnN0IGRldl9uYW1lOworfTsKKworc3RydWN0IHZlbmRvcl9uYW1lIHsKKwl1MTYgdmVuZG9yX2lkOworCWNvbnN0IGNoYXIgKiB2ZW5kb3JfbmFtZTsKKwljb25zdCBzdHJ1Y3QgZGV2aWNlX25hbWUqIGRldl9uYW1lczsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2aWNlX25hbWUgaW5maW5lb25fZGV2aWNlc1tdID0geworCXsweGIsICJTTEI5NjM1IFRUIDEuMiJ9LAorCXswfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB2ZW5kb3JfbmFtZSB2ZW5kb3JfbmFtZXNbXSA9IHsKKwl7MHgxNWQxLCAiSW5maW5lb24iLCBpbmZpbmVvbl9kZXZpY2VzfSwKK307CisKKy8qCisgKiBDYWNoZWQgdmVuZG9yL2RldmljZSBJRCBwYWlyIHRvIGluZGljYXRlIHRoYXQgdGhlIGRldmljZSBoYXMgYmVlbiBhbHJlYWR5CisgKiBkaXNjb3ZlcmVkCisgKi8KK3N0YXRpYyB1MzIgdmVuZG9yX2Rldl9pZCBDQVJfR0xPQkFMOworCitzdGF0aWMgaW50IGlzX2J5dGVfcmVnKHUzMiByZWcpCit7CisJLyoKKwkgKiBUaGVzZSBUUE0gcmVnaXN0ZXJzIGFyZSA4IGJpdHMgd2lkZSBhbmQgYXMgc3VjaCByZXF1aXJlIGJ5dGUgYWNjZXNzCisJICogb24gd3JpdGVzIGFuZCB0cnVuY2F0ZWQgdmFsdWUgb24gcmVhZHMuCisJICovCisJcmV0dXJuICgocmVnID09IFRJU19SRUdfQUNDRVNTKQl8fAorCQkocmVnID09IFRJU19SRUdfSU5UX1ZFQ1RPUikgfHwKKwkJKHJlZyA9PSBUSVNfUkVHX0RBVEFfRklGTykpOworfQorCisvKiBUUE0gYWNjZXNzIGZ1bmN0aW9ucyBhcmUgY2FydmVkIG91dCB0byBtYWtlIHRyYWNpbmcgZWFzaWVyLiAqLworc3RhdGljIHUzMiB0cG1fcmVhZChpbnQgbG9jYWxpdHksIHUzMiByZWcpCit7CisJdTMyIHZhbHVlOworCS8qCisJICogRGF0YSBGSUZPIHJlZ2lzdGVyIG11c3QgYmUgcmVhZCBhbmQgd3JpdHRlbiBpbiBieXRlIGFjY2VzcyBtb2RlLAorCSAqIG90aGVyd2lzZSB0aGUgRklGTyB2YWx1ZXMgYXJlIHJldHVybmVkIDQgYnl0ZXMgYXQgYSB0aW1lLgorCSAqLworCWlmIChpc19ieXRlX3JlZyhyZWcpKQorCQl2YWx1ZSA9IHJlYWRiKFRJU19SRUcobG9jYWxpdHksIHJlZykpOworCWVsc2UKKwkJdmFsdWUgPSByZWFkbChUSVNfUkVHKGxvY2FsaXR5LCByZWcpKTsKKworCVRQTV9ERUJVRygiUmVhZCByZWcgMHgleCByZXR1cm5zIDB4JXhcbiIsIHJlZywgdmFsdWUpOworCXJldHVybiB2YWx1ZTsKK30KKworc3RhdGljIHZvaWQgdHBtX3dyaXRlKHUzMiB2YWx1ZSwgaW50IGxvY2FsaXR5LCAgdTMyIHJlZykKK3sKKwlUUE1fREVCVUcoIldyaXRlIHJlZyAweCV4IHdpdGggMHgleFxuIiwgcmVnLCB2YWx1ZSk7CisKKwlpZiAoaXNfYnl0ZV9yZWcocmVnKSkKKwkJd3JpdGViKHZhbHVlICYgMHhmZiwgVElTX1JFRyhsb2NhbGl0eSwgcmVnKSk7CisJZWxzZQorCQl3cml0ZWwodmFsdWUsIFRJU19SRUcobG9jYWxpdHksIHJlZykpOworfQorCisvKgorICogdGlzX3dhaXRfcmVnKCkKKyAqCisgKiBXYWl0IGZvciBhdCBsZWFzdCBhIHNlY29uZCBmb3IgYSByZWdpc3RlciB0byBjaGFuZ2UgaXRzIHN0YXRlIHRvIG1hdGNoIHRoZQorICogZXhwZWN0ZWQgc3RhdGUuIE5vcm1hbGx5IHRoZSB0cmFuc2l0aW9uIGhhcHBlbnMgd2l0aGluIG1pY3Jvc2Vjb25kcy4KKyAqCisgKiBAcmVnIC0gdGhlIFRQTSByZWdpc3RlciBvZmZzZXQKKyAqIEBsb2NhbGl0eSAtIGxvY2FsaXR5CisgKiBAbWFzayAtIGJpdG1hc2sgZm9yIHRoZSBiaXRmaWVsZChzKSB0byB3YXRjaAorICogQGV4cGVjdGVkIC0gdmFsdWUgdGhlIGZpZWxkKHMpIGFyZSBzdXBwb3NlZCB0byBiZSBzZXQgdG8KKyAqCisgKiBSZXR1cm5zIHRoZSByZWdpc3RlciBjb250ZW50cyBpbiBjYXNlIHRoZSBleHBlY3RlZCB2YWx1ZSB3YXMgZm91bmQgaW4gdGhlCisgKiBhcHByb3ByaWF0ZSByZWdpc3RlciBiaXRzLCBvciBUUE1fVElNRU9VVF9FUlIgb24gdGltZW91dC4KKyAqLworc3RhdGljIHUzMiB0aXNfd2FpdF9yZWcodTggcmVnLCB1OCBsb2NhbGl0eSwgdTggbWFzaywgdTggZXhwZWN0ZWQpCit7CisJdTMyIHRpbWVfdXMgPSBNQVhfREVMQVlfVVM7CisJd2hpbGUgKHRpbWVfdXMgPiAwKSB7CisJCXUzMiB2YWx1ZSA9IHRwbV9yZWFkKGxvY2FsaXR5LCByZWcpOworCQlpZiAoKHZhbHVlICYgbWFzaykgPT0gZXhwZWN0ZWQpCisJCQlyZXR1cm4gdmFsdWU7CisJCXVkZWxheSgxKTsgLyogMSB1cyAqLworCQl0aW1lX3VzLS07CisJfQorCXJldHVybiBUUE1fVElNRU9VVF9FUlI7Cit9CisKKy8qCisgKiBQcm9iZSB0aGUgVFBNIGRldmljZSBhbmQgdHJ5IGRldGVybWluaW5nIGl0cyBtYW51ZmFjdHVyZXIvZGV2aWNlIG5hbWUuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MgKHRoZSBkZXZpY2UgaXMgZm91bmQgb3Igd2FzIGZvdW5kIGR1cmluZyBhbiBlYXJsaWVyCisgKiBpbnZvY2F0aW9uKSBvciBUUE1fRFJJVkVSX0VSUiBpZiB0aGUgZGV2aWNlIGlzIG5vdCBmb3VuZC4KKyAqLworc3RhdGljIHUzMiB0aXNfcHJvYmUodm9pZCkKK3sKKwl1MzIgZGlkdmlkID0gdHBtX3JlYWQoMCwgVElTX1JFR19ESURfVklEKTsKKwlpbnQgaTsKKwljb25zdCBjaGFyICpkZXZpY2VfbmFtZSA9ICJ1bmtub3duIjsKKwljb25zdCBjaGFyICp2ZW5kb3JfbmFtZSA9IGRldmljZV9uYW1lOworCXUxNiB2aWQsIGRpZDsKKworCWlmICh2ZW5kb3JfZGV2X2lkKQorCQlyZXR1cm4gMDsgIC8qIEFscmVhZHkgcHJvYmVkLiAqLworCisJaWYgKCFkaWR2aWQgfHwgKGRpZHZpZCA9PSAweGZmZmZmZmZmKSkgeworCQlwcmludGYoIiVzOiBObyBUUE0gZGV2aWNlIGZvdW5kXG4iLCBfX0ZVTkNUSU9OX18pOworCQlyZXR1cm4gVFBNX0RSSVZFUl9FUlI7CisJfQorCisJdmVuZG9yX2Rldl9pZCA9IGRpZHZpZDsKKworCXZpZCA9IGRpZHZpZCAmIDB4ZmZmZjsKKwlkaWQgPSAoZGlkdmlkID4+IDE2KSAmIDB4ZmZmZjsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh2ZW5kb3JfbmFtZXMpOyBpKyspIHsKKwkJaW50IGogPSAwOworCQl1MTYga25vd25fZGlkOworCQlpZiAodmlkID09IHZlbmRvcl9uYW1lc1tpXS52ZW5kb3JfaWQpIHsKKwkJCXZlbmRvcl9uYW1lID0gdmVuZG9yX25hbWVzW2ldLnZlbmRvcl9uYW1lOworCQl9CisJCXdoaWxlICgoa25vd25fZGlkID0gdmVuZG9yX25hbWVzW2ldLmRldl9uYW1lc1tqXS5kZXZfaWQpICE9IDApIHsKKwkJCWlmIChrbm93bl9kaWQgPT0gZGlkKSB7CisJCQkJZGV2aWNlX25hbWUgPQorCQkJCQl2ZW5kb3JfbmFtZXNbaV0uZGV2X25hbWVzW2pdLmRldl9uYW1lOworCQkJCWJyZWFrOworCQkJfQorCQkJaisrOworCQl9CisJCWJyZWFrOworCX0KKwkvKiB0aGlzIHdpbGwgaGF2ZSB0byBiZSBjb252ZXJ0ZWQgaW50byBkZWJ1ZyBwcmludG91dCAqLworCVRQTV9ERUJVRygiRm91bmQgVFBNICVzIGJ5ICVzXG4iLCBkZXZpY2VfbmFtZSwgdmVuZG9yX25hbWUpOworCXJldHVybiAwOworfQorCisvKgorICogdGlzX3NlbmRkYXRhKCkKKyAqCisgKiBzZW5kIHRoZSBwYXNzZWQgaW4gZGF0YSB0byB0aGUgVFBNIGRldmljZS4KKyAqCisgKiBAZGF0YSAtIGFkZHJlc3Mgb2YgdGhlIGRhdGEgdG8gc2VuZCwgYnl0ZSBieSBieXRlCisgKiBAbGVuIC0gbGVuZ3RoIG9mIHRoZSBkYXRhIHRvIHNlbmQKKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgVFBNX0RSSVZFUl9FUlIgb24gZXJyb3IgKGluIGNhc2UgdGhlIGRldmljZSBkb2VzCisgKiBub3QgYWNjZXB0IHRoZSBlbnRpcmUgY29tbWFuZCkuCisgKi8KK3N0YXRpYyB1MzIgdGlzX3NlbmRkYXRhKGNvbnN0IHU4ICogY29uc3QgZGF0YSwgdTMyIGxlbikKK3sKKwl1MzIgb2Zmc2V0ID0gMDsKKwl1MTYgYnVyc3QgPSAwOworCXUzMiBtYXhfY3ljbGVzID0gMDsKKwl1OCBsb2NhbGl0eSA9IDA7CisJdTMyIHZhbHVlOworCisJdmFsdWUgPSB0aXNfd2FpdF9yZWcoVElTX1JFR19TVFMsIGxvY2FsaXR5LCBUSVNfU1RTX0NPTU1BTkRfUkVBRFksCisJCQkgICAgIFRJU19TVFNfQ09NTUFORF9SRUFEWSk7CisJaWYgKHZhbHVlID09IFRQTV9USU1FT1VUX0VSUikgeworCQlwcmludGYoIiVzOiVkIC0gZmFpbGVkIHRvIGdldCAnY29tbWFuZF9yZWFkeScgc3RhdHVzXG4iLAorCQkgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsKKwkJcmV0dXJuIFRQTV9EUklWRVJfRVJSOworCX0KKwlidXJzdCA9IEJVUlNUX0NPVU5UKHZhbHVlKTsKKworCXdoaWxlICgxKSB7CisJCXVuc2lnbmVkIGNvdW50OworCisJCS8qIFdhaXQgdGlsbCB0aGUgZGV2aWNlIGlzIHJlYWR5IHRvIGFjY2VwdCBtb3JlIGRhdGEuICovCisJCXdoaWxlICghYnVyc3QpIHsKKwkJCWlmIChtYXhfY3ljbGVzKysgPT0gTUFYX0RFTEFZX1VTKSB7CisJCQkJcHJpbnRmKCIlczolZCBmYWlsZWQgdG8gZmVlZCAlZCBieXRlcyBvZiAlZFxuIiwKKwkJCQkgICAgICAgX19GSUxFX18sIF9fTElORV9fLCBsZW4gLSBvZmZzZXQsIGxlbik7CisJCQkJcmV0dXJuIFRQTV9EUklWRVJfRVJSOworCQkJfQorCQkJdWRlbGF5KDEpOworCQkJYnVyc3QgPSBCVVJTVF9DT1VOVCh0cG1fcmVhZChsb2NhbGl0eSwgVElTX1JFR19TVFMpKTsKKwkJfQorCisJCW1heF9jeWNsZXMgPSAwOworCisJCS8qCisJCSAqIENhbGN1bGF0ZSBudW1iZXIgb2YgYnl0ZXMgdGhlIFRQTSBpcyByZWFkeSB0byBhY2NlcHQgaW4gb25lCisJCSAqIHNob3QuCisJCSAqCisJCSAqIFdlIHdhbnQgdG8gc2VuZCB0aGUgbGFzdCBieXRlIG91dHNpZGUgb2YgdGhlIGxvb3AgKGhlbmNlCisJCSAqIHRoZSAtMSBiZWxvdykgdG8gbWFrZSBzdXJlIHRoYXQgdGhlICdleHBlY3RlZCcgc3RhdHVzIGJpdAorCQkgKiBjaGFuZ2VzIHRvIHplcm8gZXhhY3RseSBhZnRlciB0aGUgbGFzdCBieXRlIGlzIGZlZCBpbnRvIHRoZQorCQkgKiBGSUZPLgorCQkgKi8KKwkJY291bnQgPSBtaW4oYnVyc3QsIGxlbiAtIG9mZnNldCAtIDEpOworCQl3aGlsZSAoY291bnQtLSkKKwkJCXRwbV93cml0ZShkYXRhW29mZnNldCsrXSwgbG9jYWxpdHksIFRJU19SRUdfREFUQV9GSUZPKTsKKworCQl2YWx1ZSA9IHRpc193YWl0X3JlZyhUSVNfUkVHX1NUUywgbG9jYWxpdHksCisJCQkJICAgICBUSVNfU1RTX1ZBTElELCBUSVNfU1RTX1ZBTElEKTsKKworCQlpZiAoKHZhbHVlID09IFRQTV9USU1FT1VUX0VSUikgfHwgISh2YWx1ZSAmIFRJU19TVFNfRVhQRUNUKSkgeworCQkJcHJpbnRmKCIlczolZCBUUE0gY29tbWFuZCBmZWVkIG92ZXJmbG93XG4iLAorCQkJICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisJCQlyZXR1cm4gVFBNX0RSSVZFUl9FUlI7CisJCX0KKworCQlidXJzdCA9IEJVUlNUX0NPVU5UKHZhbHVlKTsKKwkJaWYgKChvZmZzZXQgPT0gKGxlbiAtIDEpKSAmJiBidXJzdCkKKwkJCS8qCisJCQkgKiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gc2VuZCB0aGUgbGFzdCBieXRlIHRvIHRoZQorCQkJICogZGV2aWNlLCBzbyBidXJzdCBzaXplIG11c3QgYmUgbm9uemVybyBiZWZvcmUgd2UKKwkJCSAqIGJyZWFrIG91dC4KKwkJCSAqLworCQkJYnJlYWs7CisJfQorCisJLyogU2VuZCB0aGUgbGFzdCBieXRlLiAqLworCXRwbV93cml0ZShkYXRhW29mZnNldCsrXSwgbG9jYWxpdHksIFRJU19SRUdfREFUQV9GSUZPKTsKKworCS8qCisJICogVmVyaWZ5IHRoYXQgVFBNIGRvZXMgbm90IGV4cGVjdCBhbnkgbW9yZSBkYXRhIGFzIHBhcnQgb2YgdGhpcworCSAqIGNvbW1hbmQuCisJICovCisJdmFsdWUgPSB0aXNfd2FpdF9yZWcoVElTX1JFR19TVFMsIGxvY2FsaXR5LAorCQkJICAgICBUSVNfU1RTX1ZBTElELCBUSVNfU1RTX1ZBTElEKTsKKwlpZiAoKHZhbHVlID09IFRQTV9USU1FT1VUX0VSUikgfHwgKHZhbHVlICYgVElTX1NUU19FWFBFQ1QpKSB7CisJCXByaW50ZigiJXM6JWQgdW5leHBlY3RlZCBUUE0gc3RhdHVzIDB4JXhcbiIsCisJCSAgICAgICBfX0ZJTEVfXywgX19MSU5FX18sIHZhbHVlKTsKKwkJcmV0dXJuIFRQTV9EUklWRVJfRVJSOworCX0KKworCS8qIE9LLCBzaXR0aW5nIHByZXR0eSwgbGV0J3Mgc3RhcnQgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLiAqLworCXRwbV93cml0ZShUSVNfU1RTX1RQTV9HTywgbG9jYWxpdHksIFRJU19SRUdfU1RTKTsKKworCXJldHVybiAwOworfQorCisvKgorICogdGlzX3JlYWRyZXNwb25zZSgpCisgKgorICogcmVhZCB0aGUgVFBNIGRldmljZSByZXNwb25zZSBhZnRlciBhIGNvbW1hbmQgd2FzIGlzc3VlZC4KKyAqCisgKiBAYnVmZmVyIC0gYWRkcmVzcyB3aGVyZSB0byByZWFkIHRoZSByZXNwb25zZSwgYnl0ZSBieSBieXRlLgorICogQGxlbiAtIHBvaW50ZXIgdG8gdGhlIHNpemUgb2YgYnVmZmVyCisgKgorICogT24gc3VjY2VzcyBzdG9yZXMgdGhlIG51bWJlciBvZiByZWNlaXZlZCBieXRlcyB0byBsZW4gYW5kIHJldHVybnMgMC4gT24KKyAqIGVycm9ycyAobWlzZm9ybWF0dGVkIFRQTSBkYXRhIG9yIHN5bmNocm9uaXphdGlvbiBwcm9ibGVtcykgcmV0dXJucworICogVFBNX0RSSVZFUl9FUlIuCisgKi8KK3N0YXRpYyB1MzIgdGlzX3JlYWRyZXNwb25zZSh1OCAqYnVmZmVyLCBzaXplX3QgKmxlbikKK3sKKwl1MTYgYnVyc3RfY291bnQ7CisJdTMyIHN0YXR1czsKKwl1MzIgb2Zmc2V0ID0gMDsKKwl1OCBsb2NhbGl0eSA9IDA7CisJY29uc3QgdTMyIGhhc19kYXRhID0gVElTX1NUU19EQVRBX0FWQUlMQUJMRSB8IFRJU19TVFNfVkFMSUQ7CisJdTMyIGV4cGVjdGVkX2NvdW50ID0gKmxlbjsKKwlpbnQgbWF4X2N5Y2xlcyA9IDA7CisKKwkvKiBXYWl0IGZvciB0aGUgVFBNIHRvIHByb2Nlc3MgdGhlIGNvbW1hbmQgKi8KKwlzdGF0dXMgPSB0aXNfd2FpdF9yZWcoVElTX1JFR19TVFMsIGxvY2FsaXR5LCBoYXNfZGF0YSwgaGFzX2RhdGEpOworCWlmIChzdGF0dXMgPT0gVFBNX1RJTUVPVVRfRVJSKSB7CisJCXByaW50ZigiJXM6JWQgZmFpbGVkIHByb2Nlc3NpbmcgY29tbWFuZFxuIiwKKwkJICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisJCXJldHVybiBUUE1fRFJJVkVSX0VSUjsKKwl9CisKKwlkbyB7CisJCXdoaWxlICgoYnVyc3RfY291bnQgPSBCVVJTVF9DT1VOVChzdGF0dXMpKSA9PSAwKSB7CisJCQlpZiAobWF4X2N5Y2xlcysrID09IE1BWF9ERUxBWV9VUykgeworCQkJCXByaW50ZigiJXM6JWQgVFBNIHN0dWNrIG9uIHJlYWRcbiIsCisJCQkJICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisJCQkJcmV0dXJuIFRQTV9EUklWRVJfRVJSOworCQkJfQorCQkJdWRlbGF5KDEpOworCQkJc3RhdHVzID0gdHBtX3JlYWQobG9jYWxpdHksIFRJU19SRUdfU1RTKTsKKwkJfQorCisJCW1heF9jeWNsZXMgPSAwOworCisJCXdoaWxlIChidXJzdF9jb3VudC0tICYmIChvZmZzZXQgPCBleHBlY3RlZF9jb3VudCkpIHsKKwkJCWJ1ZmZlcltvZmZzZXQrK10gPSAodTgpIHRwbV9yZWFkKGxvY2FsaXR5LAorCQkJCQkJCSBUSVNfUkVHX0RBVEFfRklGTyk7CisJCQlpZiAob2Zmc2V0ID09IDYpIHsKKwkJCQkvKgorCQkJCSAqIFdlIGdvdCB0aGUgZmlyc3Qgc2l4IGJ5dGVzIG9mIHRoZSByZXBseSwKKwkJCQkgKiBsZXQncyBmaWd1cmUgb3V0IGhvdyBtYW55IGJ5dGVzIHRvIGV4cGVjdAorCQkJCSAqIHRvdGFsIC0gaXQgaXMgc3RvcmVkIGFzIGEgNCBieXRlIG51bWJlciBpbgorCQkJCSAqIG5ldHdvcmsgb3JkZXIsIHN0YXJ0aW5nIHdpdGggb2Zmc2V0IDIgaW50bworCQkJCSAqIHRoZSBib2R5IG9mIHRoZSByZXBseS4KKwkJCQkgKi8KKwkJCQl1MzIgcmVhbF9sZW5ndGg7CisJCQkJbWVtY3B5KCZyZWFsX2xlbmd0aCwKKwkJCQkgICAgICAgYnVmZmVyICsgMiwKKwkJCQkgICAgICAgc2l6ZW9mKHJlYWxfbGVuZ3RoKSk7CisJCQkJZXhwZWN0ZWRfY291bnQgPSBiZTMyX3RvX2NwdShyZWFsX2xlbmd0aCk7CisKKwkJCQlpZiAoKGV4cGVjdGVkX2NvdW50IDwgb2Zmc2V0KSB8fAorCQkJCSAgICAoZXhwZWN0ZWRfY291bnQgPiAqbGVuKSkgeworCQkJCQlwcmludGYoIiVzOiVkIGJhZCByZXNwb25zZSBzaXplICVkXG4iLAorCQkJCQkgICAgICAgX19GSUxFX18sIF9fTElORV9fLAorCQkJCQkgICAgICAgZXhwZWN0ZWRfY291bnQpOworCQkJCQlyZXR1cm4gVFBNX0RSSVZFUl9FUlI7CisJCQkJfQorCQkJfQorCQl9CisKKwkJLyogV2FpdCBmb3IgdGhlIG5leHQgcG9ydGlvbiAqLworCQlzdGF0dXMgPSB0aXNfd2FpdF9yZWcoVElTX1JFR19TVFMsIGxvY2FsaXR5LAorCQkJCSAgICAgIFRJU19TVFNfVkFMSUQsIFRJU19TVFNfVkFMSUQpOworCQlpZiAoc3RhdHVzID09IFRQTV9USU1FT1VUX0VSUikgeworCQkJcHJpbnRmKCIlczolZCBmYWlsZWQgdG8gcmVhZCByZXNwb25zZVxuIiwKKwkJCSAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCQkJcmV0dXJuIFRQTV9EUklWRVJfRVJSOworCQl9CisKKwkJaWYgKG9mZnNldCA9PSBleHBlY3RlZF9jb3VudCkKKwkJCWJyZWFrOwkvKiBXZSBnb3QgYWxsIHdlIG5lZWQgKi8KKworCX0gd2hpbGUgKChzdGF0dXMgJiBoYXNfZGF0YSkgPT0gaGFzX2RhdGEpOworCisJLyoKKwkgKiBNYWtlIHN1cmUgd2UgaW5kZWVkIHJlYWQgYWxsIHRoZXJlIHdhcy4gVGhlIFRJU19TVFNfVkFMSUQgYml0IGlzCisJICoga25vd24gdG8gYmUgc2V0LgorCSAqLworCWlmIChzdGF0dXMgJiBUSVNfU1RTX0RBVEFfQVZBSUxBQkxFKSB7CisJCXByaW50ZigiJXM6JWQgd3JvbmcgcmVjZWl2ZSBzdGF0dXMgJXhcbiIsCisJCSAgICAgICBfX0ZJTEVfXywgX19MSU5FX18sIHN0YXR1cyk7CisJCXJldHVybiBUUE1fRFJJVkVSX0VSUjsKKwl9CisKKwkvKiBUZWxsIHRoZSBUUE0gdGhhdCB3ZSBhcmUgZG9uZS4gKi8KKwl0cG1fd3JpdGUoVElTX1NUU19DT01NQU5EX1JFQURZLCBsb2NhbGl0eSwgVElTX1JFR19TVFMpOworCisJKmxlbiA9IG9mZnNldDsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIHRpc19pbml0KCkKKyAqCisgKiBJbml0aWFsaXplIHRoZSBUUE0gZGV2aWNlLiBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBUUE1fRFJJVkVSX0VSUiBvbgorICogZmFpbHVyZSAoaW4gY2FzZSBkZXZpY2UgcHJvYmluZyBkaWQgbm90IHN1Y2NlZWQpLgorICovCitpbnQgdGlzX2luaXQodm9pZCkKK3sKKwlpZiAodGlzX3Byb2JlKCkpCisJCXJldHVybiBUUE1fRFJJVkVSX0VSUjsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIHRpc19vcGVuKCkKKyAqCisgKiBSZXF1ZXN0cyBhY2Nlc3MgdG8gbG9jYWxpdHkgMCBmb3IgdGhlIGNhbGxlci4gQWZ0ZXIgYWxsIGNvbW1hbmRzIGhhdmUgYmVlbgorICogY29tcGxldGVkIHRoZSBjYWxsZXIgaXMgc3VwcG9zZWQgdG8gY2FsbCB0aXNfY2xvc2UoKS4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgVFBNX0RSSVZFUl9FUlIgb24gZmFpbHVyZS4KKyAqLworaW50IHRpc19vcGVuKHZvaWQpCit7CisJdTggbG9jYWxpdHkgPSAwOyAvKiB3ZSB1c2UgbG9jYWxpdHkgemVybyBmb3IgZXZlcnl0aGluZyAqLworCisJaWYgKHRpc19jbG9zZSgpKQorCQlyZXR1cm4gVFBNX0RSSVZFUl9FUlI7CisKKwkvKiBub3cgcmVxdWVzdCBhY2Nlc3MgdG8gbG9jYWxpdHkgKi8KKwl0cG1fd3JpdGUoVElTX0FDQ0VTU19SRVFVRVNUX1VTRSwgbG9jYWxpdHksIFRJU19SRUdfQUNDRVNTKTsKKworCS8qIGRpZCB3ZSBnZXQgYSBsb2NrPyAqLworCWlmICh0aXNfd2FpdF9yZWcoVElTX1JFR19BQ0NFU1MsIGxvY2FsaXR5LAorCQkJIFRJU19BQ0NFU1NfQUNUSVZFX0xPQ0FMSVRZLAorCQkJIFRJU19BQ0NFU1NfQUNUSVZFX0xPQ0FMSVRZKSA9PSBUUE1fVElNRU9VVF9FUlIpIHsKKwkJcHJpbnRmKCIlczolZCAtIGZhaWxlZCB0byBsb2NrIGxvY2FsaXR5ICVkXG4iLAorCQkgICAgICAgX19GSUxFX18sIF9fTElORV9fLCBsb2NhbGl0eSk7CisJCXJldHVybiBUUE1fRFJJVkVSX0VSUjsKKwl9CisKKwl0cG1fd3JpdGUoVElTX1NUU19DT01NQU5EX1JFQURZLCBsb2NhbGl0eSwgVElTX1JFR19TVFMpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiB0aXNfY2xvc2UoKQorICoKKyAqIHRlcm1pbmF0ZSB0aGUgY3VycmVjdCBzZXNzaW9uIHdpdGggdGhlIFRQTSBieSByZWxlYXNpbmcgdGhlIGxvY2tlZAorICogbG9jYWxpdHkuIFJldHVybnMgMCBvbiBzdWNjZXNzIG9mIFRQTV9EUklWRVJfRVJSIG9uIGZhaWx1cmUgKGluIGNhc2UgbG9jaworICogcmVtb3ZhbCBkaWQgbm90IHN1Y2NlZWQpLgorICovCitpbnQgdGlzX2Nsb3NlKHZvaWQpCit7CisJdTggbG9jYWxpdHkgPSAwOworCWlmICh0cG1fcmVhZChsb2NhbGl0eSwgVElTX1JFR19BQ0NFU1MpICYKKwkgICAgVElTX0FDQ0VTU19BQ1RJVkVfTE9DQUxJVFkpIHsKKwkJdHBtX3dyaXRlKFRJU19BQ0NFU1NfQUNUSVZFX0xPQ0FMSVRZLCBsb2NhbGl0eSwgVElTX1JFR19BQ0NFU1MpOworCisJCWlmICh0aXNfd2FpdF9yZWcoVElTX1JFR19BQ0NFU1MsIGxvY2FsaXR5LAorCQkJCSBUSVNfQUNDRVNTX0FDVElWRV9MT0NBTElUWSwgMCkgPT0KKwkJICAgIFRQTV9USU1FT1VUX0VSUikgeworCQkJcHJpbnRmKCIlczolZCAtIGZhaWxlZCB0byByZWxlYXNlIGxvY2FsaXR5ICVkXG4iLAorCQkJICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXywgbG9jYWxpdHkpOworCQkJcmV0dXJuIFRQTV9EUklWRVJfRVJSOworCQl9CisJfQorCXJldHVybiAwOworfQorCisvKgorICogdGlzX3NlbmRyZWN2KCkKKyAqCisgKiBTZW5kIHRoZSByZXF1ZXN0ZWQgZGF0YSB0byB0aGUgVFBNIGFuZCB0aGVuIHRyeSB0byBnZXQgaXRzIHJlc3BvbnNlCisgKgorICogQHNlbmRidWYgLSBidWZmZXIgb2YgdGhlIGRhdGEgdG8gc2VuZAorICogQHNlbmRfc2l6ZSBzaXplIG9mIHRoZSBkYXRhIHRvIHNlbmQKKyAqIEByZWN2YnVmIC0gbWVtb3J5IHRvIHNhdmUgdGhlIHJlc3BvbnNlIHRvCisgKiBAcmVjdl9sZW4gLSBwb2ludGVyIHRvIHRoZSBzaXplIG9mIHRoZSByZXNwb25zZSBidWZmZXIKKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcyAoYW5kIHBsYWNlcyB0aGUgbnVtYmVyIG9mIHJlc3BvbnNlIGJ5dGVzIGF0IHJlY3ZfbGVuKQorICogb3IgVFBNX0RSSVZFUl9FUlIgb24gZmFpbHVyZS4KKyAqLworaW50IHRpc19zZW5kcmVjdihjb25zdCB1aW50OF90ICpzZW5kYnVmLCBzaXplX3Qgc2VuZF9zaXplLAorCQkgdWludDhfdCAqcmVjdmJ1Ziwgc2l6ZV90ICpyZWN2X2xlbikKK3sKKwlpZiAodGlzX3NlbmRkYXRhKHNlbmRidWYsIHNlbmRfc2l6ZSkpIHsKKwkJcHJpbnRmKCIlczolZCBmYWlsZWQgc2VuZGluZyBkYXRhIHRvIFRQTVxuIiwKKwkJICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisJCXJldHVybiBUUE1fRFJJVkVSX0VSUjsKKwl9CisKKwlyZXR1cm4gdGlzX3JlYWRyZXNwb25zZShyZWN2YnVmLCByZWN2X2xlbik7Cit9CmRpZmYgLS1naXQgYS9zcmMvZHJpdmVycy9wYzgwL3VkZWxheV9pby5jIGIvc3JjL2RyaXZlcnMvcGM4MC91ZGVsYXlfaW8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2YzZjczCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2RyaXZlcnMvcGM4MC91ZGVsYXlfaW8uYwpAQCAtMCwwICsxLDEwIEBACisjaW5jbHVkZSA8YXJjaC9pby5oPgorI2luY2x1ZGUgPGRlbGF5Lmg+CisKK3ZvaWQgdWRlbGF5KHVuc2lnbmVkIHVzZWNzKQoreworCWludCBpOworCWZvcihpID0gMDsgaSA8IHVzZWNzOyBpKyspCisJCWluYigweDgwKTsKK30KKwpkaWZmIC0tZ2l0IGEvc3JjL2RyaXZlcnMvcGM4MC92Z2EvTWFrZWZpbGUuaW5jIGIvc3JjL2RyaXZlcnMvcGM4MC92Z2EvTWFrZWZpbGUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0YjcyNmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvZHJpdmVycy9wYzgwL3ZnYS9NYWtlZmlsZS5pbmMKQEAgLTAsMCArMSw0IEBACityYW1zdGFnZS0kKENPTkZJR19WR0EpICs9IHZnYV9pby5jCityYW1zdGFnZS0kKENPTkZJR19WR0EpICs9IHZnYV9wYWxldHRlLmMKK3JhbXN0YWdlLSQoQ09ORklHX1ZHQSkgKz0gdmdhX2ZvbnRfOHgxNi5jCityYW1zdGFnZS0kKENPTkZJR19WR0EpICs9IHZnYS5jCmRpZmYgLS1naXQgYS9zcmMvZHJpdmVycy9wYzgwL3ZnYS92Z2EuYyBiL3NyYy9kcml2ZXJzL3BjODAvdmdhL3ZnYS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNjQwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvZHJpdmVycy9wYzgwL3ZnYS92Z2EuYwpAQCAtMCwwICsxLDMyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgIDIwMDctMjAwOSAgTHVjIFZlcmhhZWdlbiA8bGlidkBza3luZXQuYmU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKKyAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcgorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgorICogbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKKyAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MQorICogRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworI2luY2x1ZGUgPHBjODAvdmdhLmg+CisjaW5jbHVkZSA8cGM4MC92Z2FfaW8uaD4KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgInZnYS5oIgorCisvKgorICogcGNpIGlvIGVuYWJsZSBzaG91bGQndmUgaGFwcGVuZWQgYmVmb3JlCisgKi8KK3ZvaWQKK3ZnYV9pb19pbml0KHZvaWQpCit7CisJdmdhX2VuYWJsZV9tYXNrKDB4MDEsIDB4MDEpOworCisJLyogY3IgaW8gaXMgYXQgMHgzRDQvMHgzRDUgKi8KKwl2Z2FfbWlzY19tYXNrKDB4MDEsIDB4MDEpOworCisJLyogY2xlYXIgY3IwLTcgcHJvdGVjdGlvbiAqLworCXZnYV9jcl9tYXNrKDB4MTEsIDB4MDAsIDB4ODApOworfQorCisvKgorICoKKyAqLworc3RhdGljIHZvaWQKK3ZnYV9mYl9pbml0KHZvaWQpCit7CisJdmdhX3NyX3dyaXRlKDB4MDIsIDB4MDMpOworCXZnYV9zcl93cml0ZSgweDAzLCAweDAwKTsKKwl2Z2Ffc3Jfd3JpdGUoMHgwNCwgMHgwMik7IC8qIGFjY2VzcyBhbGwgMjU2a0IgKi8KKworCXZnYV9ncl93cml0ZSgweDAwLCAweDAwKTsKKwl2Z2FfZ3Jfd3JpdGUoMHgwMSwgMHgwMCk7CisJdmdhX2dyX3dyaXRlKDB4MDIsIDB4MDApOworCXZnYV9ncl93cml0ZSgweDAzLCAweDAwKTsKKwl2Z2FfZ3Jfd3JpdGUoMHgwNCwgMHgwMCk7CisJdmdhX2dyX3dyaXRlKDB4MDUsIDB4MTApOworCXZnYV9ncl93cml0ZSgweDA2LCAweDBFKTsgLyogbWFwIGF0IDB4QjgwMDAgKi8KKwl2Z2FfZ3Jfd3JpdGUoMHgwNywgMHgwMCk7CisJdmdhX2dyX3dyaXRlKDB4MDgsIDB4RkYpOworCisJLyogby9lIGVuYWJsZTogcmFtIGVuYWJsZSAqLworCXZnYV9taXNjX21hc2soMHgyMiwgMHgyMik7Cit9CisKKy8qCisgKgorICovCitzdGF0aWMgdm9pZAordmdhX2ZiX2NsZWFyKHZvaWQpCit7CisJbWVtc2V0KCh2b2lkICopVkdBX0ZCLCAweDAwLCAweDgwMDApOworfQorCisvKgorICoKKyAqLworc3RhdGljIHZvaWQKK3ZnYV9wYWxldHRlX2luaXQodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKworCS8qIHNldCB1cCBhdHRyaWJ1dGUgcmVnaXN0ZXJzICovCisJZm9yIChpID0gMDsgaSA8IDB4MTA7IGkrKykKKwkJdmdhX2FyX3dyaXRlKGksIGkpOworCisJdmdhX2FyX3dyaXRlKDB4MTAsIDB4MGMpOworCXZnYV9hcl93cml0ZSgweDExLCAweDAwKTsKKwl2Z2FfYXJfd3JpdGUoMHgxMiwgMHgwRik7CisJdmdhX2FyX3dyaXRlKDB4MTMsIDB4MDgpOworCXZnYV9hcl93cml0ZSgweDE0LCAweDAwKTsKKworCXZnYV9wYWxldHRlX2Rpc2FibGUoKTsKKworCS8qIGxvYWQgYWN0dWFsIHBhbGV0dGUgKi8KKwl2Z2FfZGFjX21hc2tfd3JpdGUoMHhGRik7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDA7IGkrKykgeworCQl2Z2FfZGFjX3dyaXRlX2FkZHJlc3MoaSk7CisJCXZnYV9kYWNfZGF0YV93cml0ZShkZWZhdWx0X3ZnYV9wYWxldHRlW2ldLnJlZCk7CisJCXZnYV9kYWNfZGF0YV93cml0ZShkZWZhdWx0X3ZnYV9wYWxldHRlW2ldLmdyZWVuKTsKKwkJdmdhX2RhY19kYXRhX3dyaXRlKGRlZmF1bHRfdmdhX3BhbGV0dGVbaV0uYmx1ZSk7CisJfQorfQorCisvKgorICoKKyAqLworc3RhdGljIHZvaWQKK3ZnYV9tb2RlX3NldChpbnQgaGRpc3BsYXksIGludCBoYmxhbmtzdGFydCwgaW50IGhzeW5jc3RhcnQsIGludCBoc3luY2VuZCwKKwkgICAgIGludCBoYmxhbmtlbmQsIGludCBodG90YWwsIGludCB2ZGlzcGxheSwgaW50IHZibGFua3N0YXJ0LAorCSAgICAgaW50IHZzeW5jc3RhcnQsIGludCB2c3luY2VuZCwgaW50IHZibGFua2VuZCwgaW50IHZ0b3RhbCwKKwkgICAgIGludCBzdHJpZGUpCit7CisJLyogaHRvdGFsOiAyMDgwICovCisJaHRvdGFsIC89IDg7CisJaHRvdGFsIC09IDU7CisJdmdhX2NyX3dyaXRlKDB4MDAsIGh0b3RhbCk7CisKKwkvKiBoZGlzcGxheTogMjA0OCAqLworCWhkaXNwbGF5IC89IDg7CisJaGRpc3BsYXkgLT0gMTsKKwl2Z2FfY3Jfd3JpdGUoMHgwMSwgaGRpc3BsYXkpOworCisJLyogaGJsYW5rc3RhcnQ6IDIwNDggKi8KKwloYmxhbmtzdGFydCAvPSA4OworCWhibGFua3N0YXJ0IC09IDE7CisJdmdhX2NyX3dyaXRlKDB4MDIsIGhibGFua3N0YXJ0KTsKKworCS8qIGhibGFua2VuZDogaGJsYW5rc3RhcnQgKyA1MTIgKi8KKwloYmxhbmtlbmQgLz0gODsKKwloYmxhbmtlbmQgLT0gMTsKKwl2Z2FfY3JfbWFzaygweDAzLCBoYmxhbmtlbmQsIDB4MUYpOworCXZnYV9jcl9tYXNrKDB4MDUsIGhibGFua2VuZCA8PCAyLCAweDgwKTsKKworCS8qIGhzeW5jc3RhcnQ6IDI1NSAqIDg6IDIwNDAgKi8KKwl2Z2FfY3Jfd3JpdGUoMHgwNCwgaHN5bmNzdGFydCAvIDgpOworCisJLyogaHN5bmNlbmQ6IGhzeW5jc3RhcnQgKyAyNTUgKi8KKwl2Z2FfY3JfbWFzaygweDA1LCBoc3luY2VuZCAvIDgsIDB4MUYpOworCisJLyogdnRvdGFsOiAxMDI1ICovCisJdnRvdGFsIC09IDI7CisJdmdhX2NyX3dyaXRlKDB4MDYsIHZ0b3RhbCk7CisJdmdhX2NyX21hc2soMHgwNywgdnRvdGFsID4+IDgsIDB4MDEpOworCXZnYV9jcl9tYXNrKDB4MDcsIHZ0b3RhbCA+PiA0LCAweDIwKTsKKworCS8qIHZkaXNwbGF5OiAxMDI0ICovCisJdmRpc3BsYXkgLT0gMTsKKwl2Z2FfY3Jfd3JpdGUoMHgxMiwgdmRpc3BsYXkpOworCXZnYV9jcl9tYXNrKDB4MDcsIHZkaXNwbGF5ID4+IDcsIDB4MDIpOworCXZnYV9jcl9tYXNrKDB4MDcsIHZkaXNwbGF5ID4+IDMsIDB4NDApOworCisJLyogdmJsYW5rc3RhcnQ6IDEwMjQgKi8KKwl2YmxhbmtzdGFydCAtPSAxOworCXZnYV9jcl93cml0ZSgweDE1LCB2YmxhbmtzdGFydCk7CisJdmdhX2NyX21hc2soMHgwNywgdmJsYW5rc3RhcnQgPj4gNSwgMHgwOCk7CisJdmdhX2NyX21hc2soMHgwOSwgdmJsYW5rc3RhcnQgPj4gNCwgMHgyMCk7CisKKwkvKiB2YmxhbmtlbmQ6IHZibGFua3N0YXJ0ICsgMjU2ICovCisJdmJsYW5rZW5kIC09IDE7CisJdmdhX2NyX3dyaXRlKDB4MTYsIHZibGFua2VuZCk7CisKKwkvKiB2c3luY3N0YXJ0OiAxMDIzICovCisJdmdhX2NyX3dyaXRlKDB4MTAsIHZzeW5jc3RhcnQpOworCXZnYV9jcl9tYXNrKDB4MDcsIHZzeW5jc3RhcnQgPj4gNiwgMHgwNCk7CisJdmdhX2NyX21hc2soMHgwNywgdnN5bmNzdGFydCA+PiAyLCAweDgwKTsKKworCS8qIHZzeW5jZW5kOiB2c3luY3N0YXJ0ICsgMTYgKi8KKwl2Z2FfY3JfbWFzaygweDExLCB2c3luY2VuZCwgMHgwRik7CisKKwkvKiBzdHJpZGUgKi8KKwl2Z2FfY3Jfd3JpdGUoMHgxMywgc3RyaWRlIC8gOCk7CisKKwkvKiBsaW5lIGNvbXBhcmUgKi8KKwl2Z2FfY3Jfd3JpdGUoMHgxOCwgMHhGRik7CisJdmdhX2NyX21hc2soMHgwNywgMHgxMCwgMHgxMCk7CisJdmdhX2NyX21hc2soMHgwOSwgMHg0MCwgMHg0MCk7CisKKwl2Z2FfbWlzY19tYXNrKDB4NDQsIDB4Q0MpOyAvKiBzZXQgdXAgY2xvY2s6IDI3bWh6IGFuZCBoL3ZzeW5jICovCisKKwl2Z2FfY3JfbWFzaygweDA5LCAweDAwLCAweDgwKTsgLyogZGlzYWJsZSBkb3VibGVzY2FuICovCit9CisKK3N0YXRpYyB2b2lkCit2Z2FfZm9udF84eDE2X2xvYWQodm9pZCkKK3sKKwl1bnNpZ25lZCBjaGFyICpwOworCWludCBpLCBqOworCXVuc2lnbmVkIGNoYXIgc3IyLCBzcjQsIGdyNSwgZ3I2OworCisjZGVmaW5lIGhlaWdodCAxNgorI2RlZmluZSBjb3VudCAyNTYKKworCXNyMiA9IHZnYV9zcl9yZWFkKDB4MDIpOworCXNyNCA9IHZnYV9zcl9yZWFkKDB4MDQpOworCWdyNSA9IHZnYV9ncl9yZWFkKDB4MDUpOworCWdyNiA9IHZnYV9ncl9yZWFkKDB4MDYpOworCisJLyogZGlzYWJsZSBvZGQvZXZlbiAqLworCXZnYV9zcl9tYXNrKDB4MDQsIDB4MDQsIDB4MDQpOworCXZnYV9ncl9tYXNrKDB4MDUsIDB4MDAsIDB4MTApOworCXZnYV9ncl9tYXNrKDB4MDYsIDB4MDAsIDB4MDIpOworCisJLyogcGxhbmUgMiAqLworCXZnYV9zcl93cml0ZSgweDAyLCAweDA0KTsKKwlwID0gKHVuc2lnbmVkIGNoYXIgKikgVkdBX0ZCOworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCWZvciAoaiA9IDA7IGogPCAzMjsgaisrKSB7CisJCQlpZiAoaiA8IGhlaWdodCkKKwkJCQkqcCA9IHZnYV9mb250Xzh4MTZbaV1bal07CisJCQllbHNlCisJCQkJKnAgPSAweDAwOworCQkJcCsrOworCQl9CisJfQorCisJdmdhX2dyX3dyaXRlKDB4MDYsIGdyNik7CisJdmdhX2dyX3dyaXRlKDB4MDUsIGdyNSk7CisJdmdhX3NyX3dyaXRlKDB4MDQsIHNyNCk7CisJdmdhX3NyX3dyaXRlKDB4MDIsIHNyMik7CisKKwkvKiBzZXQgdXAgZm9udCBzaXplICovCisJdmdhX2NyX21hc2soMHgwOSwgMTYgLSAxLCAweDFGKTsKK30KKworLyoKKyAqCisgKi8KK3ZvaWQKK3ZnYV9jdXJzb3JfZW5hYmxlKGludCBlbmFibGUpCit7CisJaWYgKGVuYWJsZSkKKwkJdmdhX2NyX21hc2soMHgwQSwgMHgwMCwgMHgyMCk7CisJZWxzZQorCQl2Z2FfY3JfbWFzaygweDBBLCAweDIwLCAweDIwKTsKK30KKworLyoKKyAqCisgKi8KK3ZvaWQKK3ZnYV9jdXJzb3JfcmVzZXQodm9pZCkKK3sKKwl2Z2FfY3Jfd3JpdGUoMHgwQSwgMHgyRSk7CisJdmdhX2NyX3dyaXRlKDB4MEIsIDB4MEUpOworCXZnYV9jcl93cml0ZSgweDBFLCAweDAwKTsKKwl2Z2FfY3Jfd3JpdGUoMHgwRiwgMHgwMCk7Cit9CisKKy8qCisgKgorICovCit2b2lkCit2Z2FfY3Vyc29yX3NldCh1bnNpZ25lZCBpbnQgbGluZSwgdW5zaWduZWQgaW50IGNoYXJhY3RlcikKK3sKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gKDgwICogbGluZSArIGNoYXJhY3RlcikgJiAweEZGRkY7CisKKwl2Z2FfY3Jfd3JpdGUoMHgwQSwgMHgwRSk7CisJdmdhX2NyX3dyaXRlKDB4MEIsIDB4MEUpOworCXZnYV9jcl93cml0ZSgweDBFLCBvZmZzZXQgPj4gOCk7CisJdmdhX2NyX3dyaXRlKDB4MEYsIG9mZnNldCAmIDB4RkYpOworfQorCisvKgorICoKKyAqLwordm9pZAordmdhX2ZyYW1lX3NldCh1bnNpZ25lZCBpbnQgbGluZSwgdW5zaWduZWQgaW50IGNoYXJhY3RlcikKK3sKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gKDgwICogbGluZSArIGNoYXJhY3RlcikgJiAweEZGRkY7CisKKwl2Z2FfY3Jfd3JpdGUoMHgwQywgb2Zmc2V0ID4+IDgpOworCXZnYV9jcl93cml0ZSgweDBELCBvZmZzZXQgJiAweEZGKTsKK30KKworLyoKKyAqIHNpbXBseSBmaWxscyBhIGxpbmUgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5nLgorICovCit2b2lkCit2Z2FfbGluZV93cml0ZSh1bnNpZ25lZCBpbnQgbGluZSwgY29uc3QgY2hhciAqc3RyaW5nKQoreworCXVuc2lnbmVkIHNob3J0ICpwID0gKHVuc2lnbmVkIHNob3J0ICopIFZHQV9GQiArICg4MCAqIGxpbmUpOworCWludCBpLCBsZW4gPSBzdHJsZW4oc3RyaW5nKTsKKworCWZvciAoaSA9IDA7IGkgPCA4MDsgaSsrKSB7CisJCWlmIChpIDwgbGVuKQorCQkJcFtpXSA9IDB4MEYwMCB8IHN0cmluZ1tpXTsKKwkJZWxzZQorCQkJcFtpXSA9IDB4MEYwMDsKKwl9Cit9CisKKy8qCisgKiBzZXQgdXAgZXZlcnl0aGluZyB0byBnZXQgYSBiYXNpYyA4MHgyNSB0ZXh0bW9kZS4KKyAqLwordm9pZAordmdhX3RleHRtb2RlX2luaXQodm9pZCkKK3sKKwl2Z2Ffc3Jfd3JpdGUoMHgwMCwgMHgwMSk7IC8qIGNsZWFyIHJlc2V0ICovCisJdmdhX3NyX3dyaXRlKDB4MDEsIDB4MDApOworCisJLyogc2V0IHVwIGNyICovCisJdmdhX2NyX21hc2soMHgwMywgMHg4MCwgMHhFMCk7CisJdmdhX2NyX21hc2soMHgwNSwgMHgwMCwgMHg2MCk7CisKKwl2Z2FfY3Jfd3JpdGUoMHgwOCwgMHgwMCk7CisKKwl2Z2FfY3Jfd3JpdGUoMHgxNCwgMHgwMCk7IC8qICovCisKKwl2Z2FfY3Jfd3JpdGUoMHgxNywgMHgyMyk7CisKKwl2Z2FfcGFsZXR0ZV9pbml0KCk7CisKKwl2Z2FfbW9kZV9zZXQoNjQwLCA2NDgsIDY4MCwgNzc2LCA3OTIsIDgwMCwKKwkJICAgICA0MDAsIDQwNywgNDEyLCA0MTQsIDQ0MiwgNDQ5LCAzMjApOworCisJdmdhX2N1cnNvcl9yZXNldCgpOworCXZnYV9mcmFtZV9zZXQoMCwgMCk7CisKKwl2Z2FfZmJfaW5pdCgpOworCXZnYV9mYl9jbGVhcigpOworCXZnYV9mb250Xzh4MTZfbG9hZCgpOworCisJdmdhX3NyX21hc2soMHgwMCwgMHgwMiwgMHgwMik7IC8qIHRha2UgdXMgb3V0IG9mIHJlc2V0ICovCisJdmdhX2NyX21hc2soMHgxNywgMHg4MCwgMHg4MCk7IC8qIHN5bmMhICovCit9CmRpZmYgLS1naXQgYS9zcmMvZHJpdmVycy9wYzgwL3ZnYS92Z2EuaCBiL3NyYy9kcml2ZXJzL3BjODAvdmdhL3ZnYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNmU3NTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvZHJpdmVycy9wYzgwL3ZnYS92Z2EuaApAQCAtMCwwICsxLDE3IEBACisjaWZuZGVmIF9WR0FfSAorI2RlZmluZSBfVkdBX0gKKworLyoKKyAqIEJhc2ljIHBhbGV0dGUuCisgKi8KK3N0cnVjdCBwYWxldHRlIHsKKyAgICAgICAgdW5zaWduZWQgY2hhciByZWQ7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgZ3JlZW47CisgICAgICAgIHVuc2lnbmVkIGNoYXIgYmx1ZTsKK307CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgcGFsZXR0ZSBkZWZhdWx0X3ZnYV9wYWxldHRlWzB4MTAwXTsKKworZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgdmdhX2ZvbnRfOHgxNlsyNTZdWzE2XTsKKworI2VuZGlmIC8qIF9WR0FfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2RyaXZlcnMvcGM4MC92Z2EvdmdhX2ZvbnRfOHgxNi5jIGIvc3JjL2RyaXZlcnMvcGM4MC92Z2EvdmdhX2ZvbnRfOHgxNi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5OGJiZWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvZHJpdmVycy9wYzgwL3ZnYS92Z2FfZm9udF84eDE2LmMKQEAgLTAsMCArMSw0MzgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAgMjAwNy0yMDA5ICBMdWMgVmVyaGFlZ2VuIDxsaWJ2QHNreW5ldC5iZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAorICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgKiBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAorICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxCisgKiBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisjaW5jbHVkZSAidmdhLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICBGb250IGZpbGUgZ2VuZXJhdGVkIGJ5IGNwaTJmbnQgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK2NvbnN0IHVuc2lnbmVkIGNoYXIKK3ZnYV9mb250Xzh4MTZbMjU2XVsxNl0gPSB7CisJeyAvKiAwIDB4MDAgJ15AJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMSAweDAxICdeQScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHg4MSwgLyogMTAwMDAwMDEgKi8KKwkJMHhhNSwgLyogMTAxMDAxMDEgKi8KKwkJMHg4MSwgLyogMTAwMDAwMDEgKi8KKwkJMHg4MSwgLyogMTAwMDAwMDEgKi8KKwkJMHhiZCwgLyogMTAxMTExMDEgKi8KKwkJMHg5OSwgLyogMTAwMTEwMDEgKi8KKwkJMHg4MSwgLyogMTAwMDAwMDEgKi8KKwkJMHg4MSwgLyogMTAwMDAwMDEgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIgMHgwMiAnXkInICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZGIsIC8qIDExMDExMDExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4YzMsIC8qIDExMDAwMDExICovCisJCTB4ZTcsIC8qIDExMTAwMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAzIDB4MDMgJ15DJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDEwLCAvKiAwMDAxMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNCAweDA0ICdeRCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxMCwgLyogMDAwMTAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHgxMCwgLyogMDAwMTAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDUgMHgwNSAnXkUnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4ZTcsIC8qIDExMTAwMTExICovCisJCTB4ZTcsIC8qIDExMTAwMTExICovCisJCTB4ZTcsIC8qIDExMTAwMTExICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA2IDB4MDYgJ15GJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNyAweDA3ICdeRycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDggMHgwOCAnXkgnICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZTcsIC8qIDExMTAwMTExICovCisJCTB4YzMsIC8qIDExMDAwMDExICovCisJCTB4YzMsIC8qIDExMDAwMDExICovCisJCTB4ZTcsIC8qIDExMTAwMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJfSwgeyAvKiA5IDB4MDkgJ15JJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDQyLCAvKiAwMTAwMDAxMCAqLworCQkweDQyLCAvKiAwMTAwMDAxMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTAgMHgwYSAnXkonICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4YzMsIC8qIDExMDAwMDExICovCisJCTB4OTksIC8qIDEwMDExMDAxICovCisJCTB4YmQsIC8qIDEwMTExMTAxICovCisJCTB4YmQsIC8qIDEwMTExMTAxICovCisJCTB4OTksIC8qIDEwMDExMDAxICovCisJCTB4YzMsIC8qIDExMDAwMDExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJfSwgeyAvKiAxMSAweDBiICdeSycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxZSwgLyogMDAwMTExMTAgKi8KKwkJMHgwZSwgLyogMDAwMDExMTAgKi8KKwkJMHgxYSwgLyogMDAwMTEwMTAgKi8KKwkJMHgzMiwgLyogMDAxMTAwMTAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEyIDB4MGMgJ15MJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTMgMHgwZCAnXk0nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4M2YsIC8qIDAwMTExMTExICovCisJCTB4MzMsIC8qIDAwMTEwMDExICovCisJCTB4M2YsIC8qIDAwMTExMTExICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4NzAsIC8qIDAxMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZTAsIC8qIDExMTAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNCAweDBlICdeTicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3ZiwgLyogMDExMTExMTEgKi8KKwkJMHg2MywgLyogMDExMDAwMTEgKi8KKwkJMHg3ZiwgLyogMDExMTExMTEgKi8KKwkJMHg2MywgLyogMDExMDAwMTEgKi8KKwkJMHg2MywgLyogMDExMDAwMTEgKi8KKwkJMHg2MywgLyogMDExMDAwMTEgKi8KKwkJMHg2MywgLyogMDExMDAwMTEgKi8KKwkJMHg2NywgLyogMDExMDAxMTEgKi8KKwkJMHhlNywgLyogMTExMDAxMTEgKi8KKwkJMHhlNiwgLyogMTExMDAxMTAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE1IDB4MGYgJ15PJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGRiLCAvKiAxMTAxMTAxMSAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweGU3LCAvKiAxMTEwMDExMSAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweGRiLCAvKiAxMTAxMTAxMSAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTYgMHgxMCAnXlAnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ODAsIC8qIDEwMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4ZTAsIC8qIDExMTAwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjgsIC8qIDExMTExMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4ZjgsIC8qIDExMTExMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZTAsIC8qIDExMTAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4ODAsIC8qIDEwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNyAweDExICdeUScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMiwgLyogMDAwMDAwMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwZSwgLyogMDAwMDExMTAgKi8KKwkJMHgxZSwgLyogMDAwMTExMTAgKi8KKwkJMHgzZSwgLyogMDAxMTExMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgzZSwgLyogMDAxMTExMTAgKi8KKwkJMHgxZSwgLyogMDAwMTExMTAgKi8KKwkJMHgwZSwgLyogMDAwMDExMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwMiwgLyogMDAwMDAwMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE4IDB4MTIgJ15SJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTkgMHgxMyAnXlMnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMCAweDE0ICdeVCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3ZiwgLyogMDExMTExMTEgKi8KKwkJMHhkYiwgLyogMTEwMTEwMTEgKi8KKwkJMHhkYiwgLyogMTEwMTEwMTEgKi8KKwkJMHhkYiwgLyogMTEwMTEwMTEgKi8KKwkJMHg3YiwgLyogMDExMTEwMTEgKi8KKwkJMHgxYiwgLyogMDAwMTEwMTEgKi8KKwkJMHgxYiwgLyogMDAwMTEwMTEgKi8KKwkJMHgxYiwgLyogMDAwMTEwMTEgKi8KKwkJMHgxYiwgLyogMDAwMTEwMTEgKi8KKwkJMHgxYiwgLyogMDAwMTEwMTEgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIxIDB4MTUgJ15VJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjIgMHgxNiAnXlYnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMyAweDE3ICdeVycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDI0IDB4MTggJ15YJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjUgMHgxOSAnXlknICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyNiAweDFhICdeWicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDI3IDB4MWIgJ15bJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjggMHgxYyAnXlwnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyOSAweDFkICdeXScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgyOCwgLyogMDAxMDEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgyOCwgLyogMDAxMDEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDMwIDB4MWUgJ15eJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDEwLCAvKiAwMDAxMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMzEgMHgxZiAnXl8nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MTAsIC8qIDAwMDEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAzMiAweDIwICcgJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMzMgMHgyMSAnIScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDM0IDB4MjIgJyInICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4MjQsIC8qIDAwMTAwMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAzNSAweDIzICcjJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMzYgMHgyNCAnJCcgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjMiwgLyogMTEwMDAwMTAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHg4NiwgLyogMTAwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDM3IDB4MjUgJyUnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzIsIC8qIDExMDAwMDEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ODYsIC8qIDEwMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAzOCAweDI2ICcmJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweGRjLCAvKiAxMTAxMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMzkgMHgyNyAnJycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDQwIDB4MjggJygnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA0MSAweDI5ICcpJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNDIgMHgyYSAnKicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDQzIDB4MmIgJysnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA0NCAweDJjICcsJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNDUgMHgyZCAnLScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDQ2IDB4MmUgJy4nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA0NyAweDJmICcvJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAyLCAvKiAwMDAwMDAxMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweDgwLCAvKiAxMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNDggMHgzMCAnMCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhkNiwgLyogMTEwMTAxMTAgKi8KKwkJMHhkNiwgLyogMTEwMTAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDQ5IDB4MzEgJzEnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA1MCAweDMyICcyJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNTEgMHgzMyAnMycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDUyIDB4MzQgJzQnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MWMsIC8qIDAwMDExMTAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MWUsIC8qIDAwMDExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA1MyAweDM1ICc1JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGZjLCAvKiAxMTExMTEwMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNTQgMHgzNiAnNicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhmYywgLyogMTExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDU1IDB4MzcgJzcnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA1NiAweDM4ICc4JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNTcgMHgzOSAnOScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDU4IDB4M2EgJzonICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA1OSAweDNiICc7JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNjAgMHgzYyAnPCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDYxIDB4M2QgJz0nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA2MiAweDNlICc+JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNjMgMHgzZiAnPycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDY0IDB4NDAgJ0AnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ZGUsIC8qIDExMDExMTEwICovCisJCTB4ZGUsIC8qIDExMDExMTEwICovCisJCTB4ZGUsIC8qIDExMDExMTEwICovCisJCTB4ZGMsIC8qIDExMDExMTAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA2NSAweDQxICdBJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDEwLCAvKiAwMDAxMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNjYgMHg0MiAnQicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmYywgLyogMTExMTExMDAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHhmYywgLyogMTExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDY3IDB4NDMgJ0MnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4YzIsIC8qIDExMDAwMDEwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzIsIC8qIDExMDAwMDEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA2OCAweDQ0ICdEJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNjkgMHg0NSAnRScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2MiwgLyogMDExMDAwMTAgKi8KKwkJMHg2OCwgLyogMDExMDEwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHg2OCwgLyogMDExMDEwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHg2MiwgLyogMDExMDAwMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDcwIDB4NDYgJ0YnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjIsIC8qIDAxMTAwMDEwICovCisJCTB4NjgsIC8qIDAxMTAxMDAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4NjgsIC8qIDAxMTAxMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA3MSAweDQ3ICdHJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweGMyLCAvKiAxMTAwMDAxMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGRlLCAvKiAxMTAxMTExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNhLCAvKiAwMDExMTAxMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNzIgMHg0OCAnSCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDczIDB4NDkgJ0knICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA3NCAweDRhICdKJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDFlLCAvKiAwMDAxMTExMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc4LCAvKiAwMTExMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNzUgMHg0YiAnSycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhlNiwgLyogMTExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHhlNiwgLyogMTExMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDc2IDB4NGMgJ0wnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjIsIC8qIDAxMTAwMDEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA3NyAweDRkICdNJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGVlLCAvKiAxMTEwMTExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGQ2LCAvKiAxMTAxMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogNzggMHg0ZSAnTicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhlNiwgLyogMTExMDAxMTAgKi8KKwkJMHhmNiwgLyogMTExMTAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHhkZSwgLyogMTEwMTExMTAgKi8KKwkJMHhjZSwgLyogMTEwMDExMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDc5IDB4NGYgJ08nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA4MCAweDUwICdQJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZjLCAvKiAxMTExMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweGYwLCAvKiAxMTExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogODEgMHg1MSAnUScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhkNiwgLyogMTEwMTAxMTAgKi8KKwkJMHhkZSwgLyogMTEwMTExMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwZSwgLyogMDAwMDExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDgyIDB4NTIgJ1InICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmMsIC8qIDExMTExMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4ZTYsIC8qIDExMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA4MyAweDUzICdTJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogODQgMHg1NCAnVCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHg1YSwgLyogMDEwMTEwMTAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDg1IDB4NTUgJ1UnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA4NiAweDU2ICdWJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDEwLCAvKiAwMDAxMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogODcgMHg1NyAnVycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhkNiwgLyogMTEwMTAxMTAgKi8KKwkJMHhkNiwgLyogMTEwMTAxMTAgKi8KKwkJMHhkNiwgLyogMTEwMTAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHhlZSwgLyogMTExMDExMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDg4IDB4NTggJ1gnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA4OSAweDU5ICdZJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogOTAgMHg1YSAnWicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg4NiwgLyogMTAwMDAxMTAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhjMiwgLyogMTEwMDAwMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDkxIDB4NWIgJ1snICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA5MiAweDVjICdcJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDgwLCAvKiAxMDAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGUwLCAvKiAxMTEwMDAwMCAqLworCQkweDcwLCAvKiAwMTExMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDFjLCAvKiAwMDAxMTEwMCAqLworCQkweDBlLCAvKiAwMDAwMTExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDAyLCAvKiAwMDAwMDAxMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogOTMgMHg1ZCAnXScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDk0IDB4NWUgJ14nICovCisJCTB4MTAsIC8qIDAwMDEwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA5NSAweDVmICdfJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogOTYgMHg2MCAnYCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDk3IDB4NjEgJ2EnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiA5OCAweDYyICdiJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGUwLCAvKiAxMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDc4LCAvKiAwMTExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogOTkgMHg2MyAnYycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEwMCAweDY0ICdkJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDFjLCAvKiAwMDAxMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTAxIDB4NjUgJ2UnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMDIgMHg2NiAnZicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxYywgLyogMDAwMTExMDAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzMiwgLyogMDAxMTAwMTAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEwMyAweDY3ICdnJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc4LCAvKiAwMTExMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTA0IDB4NjggJ2gnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZTAsIC8qIDExMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4ZTYsIC8qIDExMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMDUgMHg2OSAnaScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEwNiAweDZhICdqJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDBlLCAvKiAwMDAwMTExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTA3IDB4NmIgJ2snICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZTAsIC8qIDExMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4ZTYsIC8qIDExMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMDggMHg2YyAnbCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEwOSAweDZkICdtJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGVjLCAvKiAxMTEwMTEwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGQ2LCAvKiAxMTAxMDExMCAqLworCQkweGQ2LCAvKiAxMTAxMDExMCAqLworCQkweGQ2LCAvKiAxMTAxMDExMCAqLworCQkweGQ2LCAvKiAxMTAxMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTEwIDB4NmUgJ24nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZGMsIC8qIDExMDExMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMTEgMHg2ZiAnbycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDExMiAweDcwICdwJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGRjLCAvKiAxMTAxMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweGYwLCAvKiAxMTExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTEzIDB4NzEgJ3EnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MWUsIC8qIDAwMDExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMTQgMHg3MiAncicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhkYywgLyogMTEwMTExMDAgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhmMCwgLyogMTExMTAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDExNSAweDczICdzJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTE2IDB4NzQgJ3QnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTAsIC8qIDAwMDEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4ZmMsIC8qIDExMTExMTAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MWMsIC8qIDAwMDExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMTcgMHg3NSAndScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDExOCAweDc2ICd2JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTE5IDB4NzcgJ3cnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ZDYsIC8qIDExMDEwMTEwICovCisJCTB4ZDYsIC8qIDExMDEwMTEwICovCisJCTB4ZDYsIC8qIDExMDEwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMjAgMHg3OCAneCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEyMSAweDc5ICd5JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTIyIDB4N2EgJ3onICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMjMgMHg3YiAneycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwZSwgLyogMDAwMDExMTAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHg3MCwgLyogMDExMTAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwZSwgLyogMDAwMDExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEyNCAweDdjICd8JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTI1IDB4N2QgJ30nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NzAsIC8qIDAxMTEwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MGUsIC8qIDAwMDAxMTEwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4NzAsIC8qIDAxMTEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMjYgMHg3ZSAnficgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHhkYywgLyogMTEwMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEyNyAweDdmICd/JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDEwLCAvKiAwMDAxMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTI4IDB4ODAgJ4AnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4YzIsIC8qIDExMDAwMDEwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzIsIC8qIDExMDAwMDEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4NzAsIC8qIDAxMTEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMjkgMHg4MSAngScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEzMCAweDgyICeCJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTMxIDB4ODMgJ4MnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTAsIC8qIDAwMDEwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMzIgMHg4NCAnhCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEzMyAweDg1ICeFJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDc4LCAvKiAwMTExMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTM0IDB4ODYgJ4YnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMzUgMHg4NyAnhycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHg3MCwgLyogMDExMTAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEzNiAweDg4ICeIJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDEwLCAvKiAwMDAxMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTM3IDB4ODkgJ4knICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxMzggMHg4YSAniicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDEzOSAweDhiICeLJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTQwIDB4OGMgJ4wnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNDEgMHg4ZCAnjScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzYywgLyogMDAxMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE0MiAweDhlICeOJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDEwLCAvKiAwMDAxMDAwMCAqLworCQkweDM4LCAvKiAwMDExMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTQzIDB4OGYgJ48nICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MTAsIC8qIDAwMDEwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNDQgMHg5MCAnkCcgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2MiwgLyogMDExMDAwMTAgKi8KKwkJMHg2OCwgLyogMDExMDEwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHg2OCwgLyogMDExMDEwMDAgKi8KKwkJMHg2MiwgLyogMDExMDAwMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE0NSAweDkxICeRJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGVjLCAvKiAxMTEwMTEwMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweDZlLCAvKiAwMTEwMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTQ2IDB4OTIgJ5InICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4M2UsIC8qIDAwMTExMTEwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2UsIC8qIDExMDAxMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNDcgMHg5MyAnkycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxMCwgLyogMDAwMTAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE0OCAweDk0ICeUJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTQ5IDB4OTUgJ5UnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNTAgMHg5NiAnlicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE1MSAweDk3ICeXJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTUyIDB4OTggJ5gnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4NzgsIC8qIDAxMTExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNTMgMHg5OSAnmScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE1NCAweDlhICeaJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTU1IDB4OWIgJ5snICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNTYgMHg5YyAnnCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHg2NCwgLyogMDExMDAxMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhmMCwgLyogMTExMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhlNiwgLyogMTExMDAxMTAgKi8KKwkJMHhmYywgLyogMTExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE1NyAweDlkICedJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTU4IDB4OWUgJ54nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZjgsIC8qIDExMTExMDAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4ZjgsIC8qIDExMTExMDAwICovCisJCTB4YzQsIC8qIDExMDAwMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4ZGUsIC8qIDExMDExMTEwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4Y2MsIC8qIDExMDAxMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNTkgMHg5ZiAnnycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwZSwgLyogMDAwMDExMTAgKi8KKwkJMHgxYiwgLyogMDAwMTEwMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHhkOCwgLyogMTEwMTEwMDAgKi8KKwkJMHg3MCwgLyogMDExMTAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE2MCAweGEwICegJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDc4LCAvKiAwMTExMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTYxIDB4YTEgJ6EnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNjIgMHhhMiAnoicgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE2MyAweGEzICejJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweGNjLCAvKiAxMTAwMTEwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTY0IDB4YTQgJ6QnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4ZGMsIC8qIDExMDExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZGMsIC8qIDExMDExMTAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNjUgMHhhNSAnpScgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHhkYywgLyogMTEwMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhlNiwgLyogMTExMDAxMTAgKi8KKwkJMHhmNiwgLyogMTExMTAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHhkZSwgLyogMTEwMTExMTAgKi8KKwkJMHhjZSwgLyogMTEwMDExMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE2NiAweGE2ICemJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDNlLCAvKiAwMDExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTY3IDB4YTcgJ6cnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNjggMHhhOCAnqCcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg3YywgLyogMDExMTExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE2OSAweGE5ICepJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTcwIDB4YWEgJ6onICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNzEgMHhhYiAnqycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhlMCwgLyogMTExMDAwMDAgKi8KKwkJMHg2MiwgLyogMDExMDAwMTAgKi8KKwkJMHg2NiwgLyogMDExMDAxMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhkYywgLyogMTEwMTExMDAgKi8KKwkJMHg4NiwgLyogMTAwMDAxMTAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzZSwgLyogMDAxMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE3MiAweGFjICesJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweGUwLCAvKiAxMTEwMDAwMCAqLworCQkweDYyLCAvKiAwMTEwMDAxMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweGNlLCAvKiAxMTAwMTExMCAqLworCQkweDlhLCAvKiAxMDAxMTAxMCAqLworCQkweDNmLCAvKiAwMDExMTExMSAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTczIDB4YWQgJ60nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxNzQgMHhhZSAnricgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHhkOCwgLyogMTEwMTEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE3NSAweGFmICevJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDZjLCAvKiAwMTEwMTEwMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTc2IDB4YjAgJ7AnICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJCTB4MTEsIC8qIDAwMDEwMDAxICovCisJCTB4NDQsIC8qIDAxMDAwMTAwICovCisJfSwgeyAvKiAxNzcgMHhiMSAnsScgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwkJMHg1NSwgLyogMDEwMTAxMDEgKi8KKwkJMHhhYSwgLyogMTAxMDEwMTAgKi8KKwl9LCB7IC8qIDE3OCAweGIyICeyJyAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCQkweGRkLCAvKiAxMTAxMTEwMSAqLworCQkweDc3LCAvKiAwMTExMDExMSAqLworCX0sIHsgLyogMTc5IDB4YjMgJ7MnICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJfSwgeyAvKiAxODAgMHhiNCAntCcgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHhmOCwgLyogMTExMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwl9LCB7IC8qIDE4MSAweGI1ICe1JyAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCX0sIHsgLyogMTgyIDB4YjYgJ7YnICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4ZjYsIC8qIDExMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJfSwgeyAvKiAxODMgMHhiNyAntycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwl9LCB7IC8qIDE4NCAweGI4ICe4JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCX0sIHsgLyogMTg1IDB4YjkgJ7knICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4ZjYsIC8qIDExMTEwMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4ZjYsIC8qIDExMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJfSwgeyAvKiAxODYgMHhiYSAnuicgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwl9LCB7IC8qIDE4NyAweGJiICe7JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweDA2LCAvKiAwMDAwMDExMCAqLworCQkweGY2LCAvKiAxMTExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCX0sIHsgLyogMTg4IDB4YmMgJ7wnICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4ZjYsIC8qIDExMTEwMTEwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAxODkgMHhiZCAnvScgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE5MCAweGJlICe+JyAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTkxIDB4YmYgJ78nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZjgsIC8qIDExMTExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJfSwgeyAvKiAxOTIgMHhjMCAnwCcgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxZiwgLyogMDAwMTExMTEgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDE5MyAweGMxICfBJyAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTk0IDB4YzIgJ8InICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJfSwgeyAvKiAxOTUgMHhjMyAnwycgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxZiwgLyogMDAwMTExMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwl9LCB7IC8qIDE5NiAweGM0ICfEJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMTk3IDB4YzUgJ8UnICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJfSwgeyAvKiAxOTggMHhjNiAnxicgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxZiwgLyogMDAwMTExMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxZiwgLyogMDAwMTExMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwl9LCB7IC8qIDE5OSAweGM3ICfHJyAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM3LCAvKiAwMDExMDExMSAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCX0sIHsgLyogMjAwIDB4YzggJ8gnICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzcsIC8qIDAwMTEwMTExICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4M2YsIC8qIDAwMTExMTExICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMDEgMHhjOSAnyScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzZiwgLyogMDAxMTExMTEgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzNywgLyogMDAxMTAxMTEgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwl9LCB7IC8qIDIwMiAweGNhICfKJyAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweGY3LCAvKiAxMTExMDExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjAzIDB4Y2IgJ8snICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZjcsIC8qIDExMTEwMTExICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJfSwgeyAvKiAyMDQgMHhjYyAnzCcgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNywgLyogMDAxMTAxMTEgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgzNywgLyogMDAxMTAxMTEgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwl9LCB7IC8qIDIwNSAweGNkICfNJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjA2IDB4Y2UgJ84nICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4ZjcsIC8qIDExMTEwMTExICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZjcsIC8qIDExMTEwMTExICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJfSwgeyAvKiAyMDcgMHhjZiAnzycgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIwOCAweGQwICfQJyAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjA5IDB4ZDEgJ9EnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJfSwgeyAvKiAyMTAgMHhkMiAn0icgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwl9LCB7IC8qIDIxMSAweGQzICfTJyAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDNmLCAvKiAwMDExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjEyIDB4ZDQgJ9QnICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MWYsIC8qIDAwMDExMTExICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MWYsIC8qIDAwMDExMTExICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMTMgMHhkNSAn1ScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxZiwgLyogMDAwMTExMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxZiwgLyogMDAwMTExMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwl9LCB7IC8qIDIxNCAweGQ2ICfWJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDNmLCAvKiAwMDExMTExMSAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCQkweDM2LCAvKiAwMDExMDExMCAqLworCX0sIHsgLyogMjE1IDB4ZDcgJ9cnICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4ZmYsIC8qIDExMTExMTExICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJCTB4MzYsIC8qIDAwMTEwMTEwICovCisJfSwgeyAvKiAyMTYgMHhkOCAn2CcgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwl9LCB7IC8qIDIxNyAweGQ5ICfZJyAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweGY4LCAvKiAxMTExMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjE4IDB4ZGEgJ9onICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MWYsIC8qIDAwMDExMTExICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJfSwgeyAvKiAyMTkgMHhkYiAn2ycgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwkJMHhmZiwgLyogMTExMTExMTEgKi8KKwl9LCB7IC8qIDIyMCAweGRjICfcJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCX0sIHsgLyogMjIxIDB4ZGQgJ90nICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJCTB4ZjAsIC8qIDExMTEwMDAwICovCisJfSwgeyAvKiAyMjIgMHhkZSAn3icgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwkJMHgwZiwgLyogMDAwMDExMTEgKi8KKwl9LCB7IC8qIDIyMyAweGRmICffJyAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweGZmLCAvKiAxMTExMTExMSAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjI0IDB4ZTAgJ+AnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4ZGMsIC8qIDExMDExMTAwICovCisJCTB4ZDgsIC8qIDExMDExMDAwICovCisJCTB4ZDgsIC8qIDExMDExMDAwICovCisJCTB4ZDgsIC8qIDExMDExMDAwICovCisJCTB4ZGMsIC8qIDExMDExMTAwICovCisJCTB4NzYsIC8qIDAxMTEwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMjUgMHhlMSAn4ScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3OCwgLyogMDExMTEwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhkOCwgLyogMTEwMTEwMDAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjYywgLyogMTEwMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIyNiAweGUyICfiJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweGZlLCAvKiAxMTExMTExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGM2LCAvKiAxMTAwMDExMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweGMwLCAvKiAxMTAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjI3IDB4ZTMgJ+MnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMjggMHhlNCAn5CcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIyOSAweGU1ICflJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweGQ4LCAvKiAxMTAxMTAwMCAqLworCQkweDcwLCAvKiAwMTExMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjMwIDB4ZTYgJ+YnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4NjYsIC8qIDAxMTAwMTEwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4NjAsIC8qIDAxMTAwMDAwICovCisJCTB4YzAsIC8qIDExMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMzEgMHhlNyAn5ycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3NiwgLyogMDExMTAxMTAgKi8KKwkJMHhkYywgLyogMTEwMTExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIzMiAweGU4ICfoJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjMzIDB4ZTkgJ+knICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4ZmUsIC8qIDExMTExMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMzQgMHhlYSAn6icgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgzOCwgLyogMDAxMTEwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHhjNiwgLyogMTEwMDAxMTAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHhlZSwgLyogMTExMDExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIzNSAweGViICfrJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDFlLCAvKiAwMDAxMTExMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDNlLCAvKiAwMDExMTExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjM2IDB4ZWMgJ+wnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4ZGIsIC8qIDExMDExMDExICovCisJCTB4ZGIsIC8qIDExMDExMDExICovCisJCTB4ZGIsIC8qIDExMDExMDExICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyMzcgMHhlZCAn7ScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMywgLyogMDAwMDAwMTEgKi8KKwkJMHgwNiwgLyogMDAwMDAxMTAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHhkYiwgLyogMTEwMTEwMTEgKi8KKwkJMHhkYiwgLyogMTEwMTEwMTEgKi8KKwkJMHhmMywgLyogMTExMTAwMTEgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHhjMCwgLyogMTEwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDIzOCAweGVlICfuJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDFjLCAvKiAwMDAxMTEwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDdjLCAvKiAwMTExMTEwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDYwLCAvKiAwMTEwMDAwMCAqLworCQkweDMwLCAvKiAwMDExMDAwMCAqLworCQkweDFjLCAvKiAwMDAxMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjM5IDB4ZWYgJ+8nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2MsIC8qIDAxMTExMTAwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4YzYsIC8qIDExMDAwMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyNDAgMHhmMCAn8CcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHhmZSwgLyogMTExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDI0MSAweGYxICfxJyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjQyIDB4ZjIgJ/InICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MDYsIC8qIDAwMDAwMTEwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MzAsIC8qIDAwMTEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyNDMgMHhmMyAn8ycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHg2MCwgLyogMDExMDAwMDAgKi8KKwkJMHgzMCwgLyogMDAxMTAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwYywgLyogMDAwMDExMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDI0NCAweGY0ICf0JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDBlLCAvKiAwMDAwMTExMCAqLworCQkweDFiLCAvKiAwMDAxMTAxMSAqLworCQkweDFiLCAvKiAwMDAxMTAxMSAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCX0sIHsgLyogMjQ1IDB4ZjUgJ/UnICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4MTgsIC8qIDAwMDExMDAwICovCisJCTB4ZDgsIC8qIDExMDExMDAwICovCisJCTB4ZDgsIC8qIDExMDExMDAwICovCisJCTB4ZDgsIC8qIDExMDExMDAwICovCisJCTB4NzAsIC8qIDAxMTEwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyNDYgMHhmNiAn9icgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg3ZSwgLyogMDExMTExMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDI0NyAweGY3ICf3JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweGRjLCAvKiAxMTAxMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDc2LCAvKiAwMTExMDExMCAqLworCQkweGRjLCAvKiAxMTAxMTEwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjQ4IDB4ZjggJ/gnICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4MzgsIC8qIDAwMTExMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyNDkgMHhmOSAn+ScgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgxOCwgLyogMDAwMTEwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDI1MCAweGZhICf6JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjUxIDB4ZmIgJ/snICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MGYsIC8qIDAwMDAxMTExICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4MGMsIC8qIDAwMDAxMTAwICovCisJCTB4ZWMsIC8qIDExMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4NmMsIC8qIDAxMTAxMTAwICovCisJCTB4M2MsIC8qIDAwMTExMTAwICovCisJCTB4MWMsIC8qIDAwMDExMTAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyNTIgMHhmYyAn/CcgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHg2YywgLyogMDExMDExMDAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgzNiwgLyogMDAxMTAxMTAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LCB7IC8qIDI1MyAweGZkICf9JyAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDNjLCAvKiAwMDExMTEwMCAqLworCQkweDY2LCAvKiAwMTEwMDExMCAqLworCQkweDBjLCAvKiAwMDAwMTEwMCAqLworCQkweDE4LCAvKiAwMDAxMTAwMCAqLworCQkweDMyLCAvKiAwMDExMDAxMCAqLworCQkweDdlLCAvKiAwMTExMTExMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCQkweDAwLCAvKiAwMDAwMDAwMCAqLworCX0sIHsgLyogMjU0IDB4ZmUgJ/4nICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4N2UsIC8qIDAxMTExMTEwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJCTB4MDAsIC8qIDAwMDAwMDAwICovCisJfSwgeyAvKiAyNTUgMHhmZiAn/ycgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwkJMHgwMCwgLyogMDAwMDAwMDAgKi8KKwl9LAorfTsKZGlmZiAtLWdpdCBhL3NyYy9kcml2ZXJzL3BjODAvdmdhL3ZnYV9pby5jIGIvc3JjL2RyaXZlcnMvcGM4MC92Z2EvdmdhX2lvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMxMjg3YQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9kcml2ZXJzL3BjODAvdmdhL3ZnYV9pby5jCkBAIC0wLDAgKzEsMjc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAgMjAwNy0yMDA5ICBMdWMgVmVyaGFlZ2VuIDxsaWJ2QHNreW5ldC5iZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAorICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgKiBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAorICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxCisgKiBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisvKgorICogQWxsIElPIG5lY2Vzc2FyeSB0byBwb2tlIFZHQSByZWdpc3RlcnMuCisgKi8KKyNpbmNsdWRlIDxwYzgwL3ZnYV9pby5oPgorCisjaW5jbHVkZSA8YXJjaC9pby5oPgorCisjZGVmaW5lIFZHQV9DUl9JTkRFWCAgICAgICAgICAweDNENAorI2RlZmluZSBWR0FfQ1JfVkFMVUUgICAgICAgICAgMHgzRDUKKworI2RlZmluZSBWR0FfU1JfSU5ERVggICAgICAgICAgMHgzQzQKKyNkZWZpbmUgVkdBX1NSX1ZBTFVFICAgICAgICAgIDB4M0M1CisKKyNkZWZpbmUgVkdBX0dSX0lOREVYICAgICAgICAgIDB4M0NFCisjZGVmaW5lIFZHQV9HUl9WQUxVRSAgICAgICAgICAweDNDRgorCisjZGVmaW5lIFZHQV9BUl9JTkRFWCAgICAgICAgICAweDNDMAorI2RlZmluZSBWR0FfQVJfVkFMVUVfUkVBRCAgICAgMHgzQzEKKyNkZWZpbmUgVkdBX0FSX1ZBTFVFX1dSSVRFICAgIFZHQV9BUl9JTkRFWAorCisjZGVmaW5lIFZHQV9NSVNDX1dSSVRFICAgICAgICAweDNDMgorI2RlZmluZSBWR0FfTUlTQ19SRUFEICAgICAgICAgMHgzQ0MKKworI2RlZmluZSBWR0FfRU5BQkxFICAgICAgICAgICAgMHgzQzMKKyNkZWZpbmUgVkdBX1NUQVQxICAgICAgICAgICAgIDB4M0RBCisKKyNkZWZpbmUgVkdBX0RBQ19NQVNLICAgICAgICAgIDB4M0M2CisjZGVmaW5lIFZHQV9EQUNfUkVBRF9BRERSRVNTICAweDNDNworI2RlZmluZSBWR0FfREFDX1dSSVRFX0FERFJFU1MgMHgzQzgKKyNkZWZpbmUgVkdBX0RBQ19EQVRBICAgICAgICAgIDB4M0M5CisKKy8qCisgKiBWR0EgZW5hYmxlLiBQb2tlIHRoaXMgdG8gaGF2ZSB0aGUgUENJIElPIGVuYWJsZWQgZGV2aWNlIGFjY2VwdCBWR0EgSU8uCisgKi8KK3Vuc2lnbmVkIGNoYXIKK3ZnYV9lbmFibGVfcmVhZCh2b2lkKQoreworCXJldHVybiBpbmIoVkdBX0VOQUJMRSk7Cit9CisKK3ZvaWQKK3ZnYV9lbmFibGVfd3JpdGUodW5zaWduZWQgY2hhciB2YWx1ZSkKK3sKKwlvdXRiKHZhbHVlLCBWR0FfRU5BQkxFKTsKK30KKwordm9pZAordmdhX2VuYWJsZV9tYXNrKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHVuc2lnbmVkIGNoYXIgbWFzaykKK3sKKwl1bnNpZ25lZCBjaGFyIHRtcDsKKworCXRtcCA9IHZnYV9lbmFibGVfcmVhZCgpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gKHZhbHVlICYgbWFzayk7CisJdmdhX2VuYWJsZV93cml0ZSh0bXApOworfQorCisvKgorICogTWlzY2VsbGFuZW91cyByZWdpc3Rlci4KKyAqLwordW5zaWduZWQgY2hhcgordmdhX21pc2NfcmVhZCh2b2lkKQoreworCXJldHVybiBpbmIoVkdBX01JU0NfUkVBRCk7Cit9CisKK3ZvaWQKK3ZnYV9taXNjX3dyaXRlKHVuc2lnbmVkIGNoYXIgdmFsdWUpCit7CisJb3V0Yih2YWx1ZSwgVkdBX01JU0NfV1JJVEUpOworfQorCit2b2lkCit2Z2FfbWlzY19tYXNrKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHVuc2lnbmVkIGNoYXIgbWFzaykKK3sKKwl1bnNpZ25lZCBjaGFyIHRtcDsKKworCXRtcCA9IHZnYV9taXNjX3JlYWQoKTsKKwl0bXAgJj0gfm1hc2s7CisJdG1wIHw9ICh2YWx1ZSAmIG1hc2spOworCXZnYV9taXNjX3dyaXRlKHRtcCk7Cit9CisKKy8qCisgKiBTZXF1ZW5jZXIgcmVnaXN0ZXJzLgorICovCit1bnNpZ25lZCBjaGFyCit2Z2Ffc3JfcmVhZCh1bnNpZ25lZCBjaGFyIGluZGV4KQoreworCW91dGIoaW5kZXgsIFZHQV9TUl9JTkRFWCk7CisJcmV0dXJuIChpbmIoVkdBX1NSX1ZBTFVFKSk7Cit9CisKK3ZvaWQKK3ZnYV9zcl93cml0ZSh1bnNpZ25lZCBjaGFyIGluZGV4LCB1bnNpZ25lZCBjaGFyIHZhbHVlKQoreworCW91dGIoaW5kZXgsIFZHQV9TUl9JTkRFWCk7CisJb3V0Yih2YWx1ZSwgVkdBX1NSX1ZBTFVFKTsKK30KKwordm9pZAordmdhX3NyX21hc2sodW5zaWduZWQgY2hhciBpbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSwgdW5zaWduZWQgY2hhciBtYXNrKQoreworCXVuc2lnbmVkIGNoYXIgdG1wOworCisJdG1wID0gdmdhX3NyX3JlYWQoaW5kZXgpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gKHZhbHVlICYgbWFzayk7CisJdmdhX3NyX3dyaXRlKGluZGV4LCB0bXApOworfQorCisvKgorICogQ1JUQyByZWdpc3RlcnMuCisgKi8KK3Vuc2lnbmVkIGNoYXIKK3ZnYV9jcl9yZWFkKHVuc2lnbmVkIGNoYXIgaW5kZXgpCit7CisJb3V0YihpbmRleCwgVkdBX0NSX0lOREVYKTsKKwlyZXR1cm4gKGluYihWR0FfQ1JfVkFMVUUpKTsKK30KKwordm9pZAordmdhX2NyX3dyaXRlKHVuc2lnbmVkIGNoYXIgaW5kZXgsIHVuc2lnbmVkIGNoYXIgdmFsdWUpCit7CisJb3V0YihpbmRleCwgVkdBX0NSX0lOREVYKTsKKwlvdXRiKHZhbHVlLCBWR0FfQ1JfVkFMVUUpOworfQorCit2b2lkCit2Z2FfY3JfbWFzayh1bnNpZ25lZCBjaGFyIGluZGV4LCB1bnNpZ25lZCBjaGFyIHZhbHVlLCB1bnNpZ25lZCBjaGFyIG1hc2spCit7CisJdW5zaWduZWQgY2hhciB0bXA7CisKKwl0bXAgPSB2Z2FfY3JfcmVhZChpbmRleCk7CisJdG1wICY9IH5tYXNrOworCXRtcCB8PSAodmFsdWUgJiBtYXNrKTsKKwl2Z2FfY3Jfd3JpdGUoaW5kZXgsIHRtcCk7Cit9CisKKy8qCisgKiBBdHRyaWJ1dGUgcmVnaXN0ZXJzLgorICovCit1bnNpZ25lZCBjaGFyCit2Z2FfYXJfcmVhZCh1bnNpZ25lZCBjaGFyIGluZGV4KQoreworCXVuc2lnbmVkIGNoYXIgcmV0OworCisJKHZvaWQpIGluYihWR0FfU1RBVDEpOworCW91dGIoaW5kZXgsIFZHQV9BUl9JTkRFWCk7CisJcmV0ID0gaW5iKFZHQV9BUl9WQUxVRV9SRUFEKTsKKwkodm9pZCkgaW5iKFZHQV9TVEFUMSk7CisKKwlyZXR1cm4gcmV0OworfQorCit2b2lkCit2Z2FfYXJfd3JpdGUodW5zaWduZWQgY2hhciBpbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSkKK3sKKwkodm9pZCkgaW5iKFZHQV9TVEFUMSk7CisJb3V0YihpbmRleCwgVkdBX0FSX0lOREVYKTsKKwlvdXRiKHZhbHVlLCBWR0FfQVJfVkFMVUVfV1JJVEUpOworCSh2b2lkKSBpbmIoVkdBX1NUQVQxKTsKK30KKwordm9pZAordmdhX2FyX21hc2sodW5zaWduZWQgY2hhciBpbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSwgdW5zaWduZWQgY2hhciBtYXNrKQoreworCXVuc2lnbmVkIGNoYXIgdG1wOworCisJdG1wID0gdmdhX2FyX3JlYWQoaW5kZXgpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gKHZhbHVlICYgbWFzayk7CisJdmdhX2FyX3dyaXRlKGluZGV4LCB0bXApOworfQorCisvKgorICogR3JhcGhpY3MgcmVnaXN0ZXJzLgorICovCit1bnNpZ25lZCBjaGFyCit2Z2FfZ3JfcmVhZCh1bnNpZ25lZCBjaGFyIGluZGV4KQoreworCW91dGIoaW5kZXgsIFZHQV9HUl9JTkRFWCk7CisJcmV0dXJuIChpbmIoVkdBX0dSX1ZBTFVFKSk7Cit9CisKK3ZvaWQKK3ZnYV9ncl93cml0ZSh1bnNpZ25lZCBjaGFyIGluZGV4LCB1bnNpZ25lZCBjaGFyIHZhbHVlKQoreworCW91dGIoaW5kZXgsIFZHQV9HUl9JTkRFWCk7CisJb3V0Yih2YWx1ZSwgVkdBX0dSX1ZBTFVFKTsKK30KKwordm9pZAordmdhX2dyX21hc2sodW5zaWduZWQgY2hhciBpbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSwgdW5zaWduZWQgY2hhciBtYXNrKQoreworCXVuc2lnbmVkIGNoYXIgdG1wOworCisJdG1wID0gdmdhX2dyX3JlYWQoaW5kZXgpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gKHZhbHVlICYgbWFzayk7CisJdmdhX2dyX3dyaXRlKGluZGV4LCB0bXApOworfQorCisvKgorICogREFDIGZ1bmN0aW9ucy4KKyAqLwordm9pZAordmdhX3BhbGV0dGVfZW5hYmxlKHZvaWQpCit7CisJKHZvaWQpIGluYihWR0FfU1RBVDEpOworCW91dGIoMHgwMCwgVkdBX0FSX0lOREVYKTsKKwkodm9pZCkgaW5iKFZHQV9TVEFUMSk7Cit9CisKK3ZvaWQKK3ZnYV9wYWxldHRlX2Rpc2FibGUodm9pZCkKK3sKKwkodm9pZCkgaW5iKFZHQV9TVEFUMSk7CisJb3V0YigweDIwLCBWR0FfQVJfSU5ERVgpOworCSh2b2lkKSBpbmIoVkdBX1NUQVQxKTsKK30KKwordW5zaWduZWQgY2hhcgordmdhX2RhY19tYXNrX3JlYWQodm9pZCkKK3sKKwlyZXR1cm4gaW5iKFZHQV9EQUNfTUFTSyk7Cit9CisKK3ZvaWQKK3ZnYV9kYWNfbWFza193cml0ZSh1bnNpZ25lZCBjaGFyIG1hc2spCit7CisJb3V0YihtYXNrLCBWR0FfREFDX01BU0spOworfQorCit2b2lkCit2Z2FfZGFjX3JlYWRfYWRkcmVzcyh1bnNpZ25lZCBjaGFyIGFkZHJlc3MpCit7CisJb3V0YihhZGRyZXNzLCBWR0FfREFDX1JFQURfQUREUkVTUyk7Cit9CisKK3ZvaWQKK3ZnYV9kYWNfd3JpdGVfYWRkcmVzcyh1bnNpZ25lZCBjaGFyIGFkZHJlc3MpCit7CisJb3V0YihhZGRyZXNzLCBWR0FfREFDX1dSSVRFX0FERFJFU1MpOworfQorCit1bnNpZ25lZCBjaGFyCit2Z2FfZGFjX2RhdGFfcmVhZCh2b2lkKQoreworCXJldHVybiBpbmIoVkdBX0RBQ19EQVRBKTsKK30KKwordm9pZAordmdhX2RhY19kYXRhX3dyaXRlKHVuc2lnbmVkIGNoYXIgZGF0YSkKK3sKKwlvdXRiKGRhdGEsIFZHQV9EQUNfREFUQSk7Cit9CmRpZmYgLS1naXQgYS9zcmMvZHJpdmVycy9wYzgwL3ZnYS92Z2FfcGFsZXR0ZS5jIGIvc3JjL2RyaXZlcnMvcGM4MC92Z2EvdmdhX3BhbGV0dGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjY5NzI4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2RyaXZlcnMvcGM4MC92Z2EvdmdhX3BhbGV0dGUuYwpAQCAtMCwwICsxLDI3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgIDIwMDctMjAwOSAgTHVjIFZlcmhhZWdlbiA8bGlidkBza3luZXQuYmU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKKyAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcgorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgorICogbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKKyAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MQorICogRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworI2luY2x1ZGUgInZnYS5oIgorCisvKgorICogQmFzaWMgcGFsZXR0ZS4KKyAqLworY29uc3Qgc3RydWN0IHBhbGV0dGUKK2RlZmF1bHRfdmdhX3BhbGV0dGVbMHgxMDBdID0geworICAgICAgICB7IDB4MDAsIDB4MDAsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4MDAsIDB4MkF9LAorICAgICAgICB7IDB4MDAsIDB4MkEsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4MkEsIDB4MkF9LAorICAgICAgICB7IDB4MkEsIDB4MDAsIDB4MDB9LAorICAgICAgICB7IDB4MkEsIDB4MDAsIDB4MkF9LAorICAgICAgICB7IDB4MkEsIDB4MTUsIDB4MDB9LAorICAgICAgICB7IDB4MkEsIDB4MkEsIDB4MkF9LAorICAgICAgICB7IDB4MTUsIDB4MTUsIDB4MTV9LAorICAgICAgICB7IDB4MTUsIDB4MTUsIDB4M0Z9LAorICAgICAgICB7IDB4MTUsIDB4M0YsIDB4MTV9LAorICAgICAgICB7IDB4MTUsIDB4M0YsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4MTUsIDB4MTV9LAorICAgICAgICB7IDB4M0YsIDB4MTUsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4M0YsIDB4MTV9LAorICAgICAgICB7IDB4M0YsIDB4M0YsIDB4M0Z9LAorICAgICAgICB7IDB4MDAsIDB4MDAsIDB4MDB9LAorICAgICAgICB7IDB4MDUsIDB4MDUsIDB4MDV9LAorICAgICAgICB7IDB4MDgsIDB4MDgsIDB4MDh9LAorICAgICAgICB7IDB4MEIsIDB4MEIsIDB4MEJ9LAorICAgICAgICB7IDB4MEUsIDB4MEUsIDB4MEV9LAorICAgICAgICB7IDB4MTEsIDB4MTEsIDB4MTF9LAorICAgICAgICB7IDB4MTYsIDB4MTYsIDB4MTZ9LAorICAgICAgICB7IDB4MTgsIDB4MTgsIDB4MTh9LAorICAgICAgICB7IDB4MUMsIDB4MUMsIDB4MUN9LAorICAgICAgICB7IDB4MjAsIDB4MjAsIDB4MjB9LAorICAgICAgICB7IDB4MjQsIDB4MjQsIDB4MjR9LAorICAgICAgICB7IDB4MjgsIDB4MjgsIDB4Mjh9LAorICAgICAgICB7IDB4MkQsIDB4MkQsIDB4MkR9LAorICAgICAgICB7IDB4MzIsIDB4MzIsIDB4MzJ9LAorICAgICAgICB7IDB4MzgsIDB4MzgsIDB4Mzh9LAorICAgICAgICB7IDB4M0YsIDB4M0YsIDB4M0Z9LAorICAgICAgICB7IDB4MDAsIDB4MDAsIDB4M0Z9LAorICAgICAgICB7IDB4MjAsIDB4MDAsIDB4M0Z9LAorICAgICAgICB7IDB4MUYsIDB4MDAsIDB4M0Z9LAorICAgICAgICB7IDB4MkYsIDB4MDAsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4MDAsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4MDAsIDB4MkZ9LAorICAgICAgICB7IDB4M0YsIDB4MDAsIDB4MUZ9LAorICAgICAgICB7IDB4M0YsIDB4MDAsIDB4MjB9LAorICAgICAgICB7IDB4M0YsIDB4MDAsIDB4MDB9LAorICAgICAgICB7IDB4M0YsIDB4MjAsIDB4MDB9LAorICAgICAgICB7IDB4M0YsIDB4MUYsIDB4MDB9LAorICAgICAgICB7IDB4M0YsIDB4MkYsIDB4MDB9LAorICAgICAgICB7IDB4M0YsIDB4M0YsIDB4MDB9LAorICAgICAgICB7IDB4MkYsIDB4M0YsIDB4MDB9LAorICAgICAgICB7IDB4MUYsIDB4M0YsIDB4MDB9LAorICAgICAgICB7IDB4MjAsIDB4M0YsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4M0YsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4M0YsIDB4MjB9LAorICAgICAgICB7IDB4MDAsIDB4M0YsIDB4MUZ9LAorICAgICAgICB7IDB4MDAsIDB4M0YsIDB4MkZ9LAorICAgICAgICB7IDB4MDAsIDB4M0YsIDB4M0Z9LAorICAgICAgICB7IDB4MDAsIDB4MkYsIDB4M0Z9LAorICAgICAgICB7IDB4MDAsIDB4MUYsIDB4M0Z9LAorICAgICAgICB7IDB4MDAsIDB4MjAsIDB4M0Z9LAorICAgICAgICB7IDB4MUYsIDB4MUYsIDB4M0Z9LAorICAgICAgICB7IDB4MjcsIDB4MUYsIDB4M0Z9LAorICAgICAgICB7IDB4MkYsIDB4MUYsIDB4M0Z9LAorICAgICAgICB7IDB4MzcsIDB4MUYsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4MUYsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4MUYsIDB4Mzd9LAorICAgICAgICB7IDB4M0YsIDB4MUYsIDB4MkZ9LAorICAgICAgICB7IDB4M0YsIDB4MUYsIDB4Mjd9LAorICAgICAgICB7IDB4M0YsIDB4MUYsIDB4MUZ9LAorICAgICAgICB7IDB4M0YsIDB4MjcsIDB4MUZ9LAorICAgICAgICB7IDB4M0YsIDB4MkYsIDB4MUZ9LAorICAgICAgICB7IDB4M0YsIDB4MzcsIDB4MUZ9LAorICAgICAgICB7IDB4M0YsIDB4M0YsIDB4MUZ9LAorICAgICAgICB7IDB4MzcsIDB4M0YsIDB4MUZ9LAorICAgICAgICB7IDB4MkYsIDB4M0YsIDB4MUZ9LAorICAgICAgICB7IDB4MjcsIDB4M0YsIDB4MUZ9LAorICAgICAgICB7IDB4MUYsIDB4M0YsIDB4MUZ9LAorICAgICAgICB7IDB4MUYsIDB4M0YsIDB4Mjd9LAorICAgICAgICB7IDB4MUYsIDB4M0YsIDB4MkZ9LAorICAgICAgICB7IDB4MUYsIDB4M0YsIDB4Mzd9LAorICAgICAgICB7IDB4MUYsIDB4M0YsIDB4M0Z9LAorICAgICAgICB7IDB4MUYsIDB4MzcsIDB4M0Z9LAorICAgICAgICB7IDB4MUYsIDB4MkYsIDB4M0Z9LAorICAgICAgICB7IDB4MUYsIDB4MjcsIDB4M0Z9LAorICAgICAgICB7IDB4MkQsIDB4MkQsIDB4M0Z9LAorICAgICAgICB7IDB4MzEsIDB4MkQsIDB4M0Z9LAorICAgICAgICB7IDB4MzYsIDB4MkQsIDB4M0Z9LAorICAgICAgICB7IDB4M0EsIDB4MkQsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4MkQsIDB4M0Z9LAorICAgICAgICB7IDB4M0YsIDB4MkQsIDB4M0F9LAorICAgICAgICB7IDB4M0YsIDB4MkQsIDB4MzZ9LAorICAgICAgICB7IDB4M0YsIDB4MkQsIDB4MzF9LAorICAgICAgICB7IDB4M0YsIDB4MkQsIDB4MkR9LAorICAgICAgICB7IDB4M0YsIDB4MzEsIDB4MkR9LAorICAgICAgICB7IDB4M0YsIDB4MzYsIDB4MkR9LAorICAgICAgICB7IDB4M0YsIDB4M0EsIDB4MkR9LAorICAgICAgICB7IDB4M0YsIDB4M0YsIDB4MkR9LAorICAgICAgICB7IDB4M0EsIDB4M0YsIDB4MkR9LAorICAgICAgICB7IDB4MzYsIDB4M0YsIDB4MkR9LAorICAgICAgICB7IDB4MzEsIDB4M0YsIDB4MkR9LAorICAgICAgICB7IDB4MkQsIDB4M0YsIDB4MkR9LAorICAgICAgICB7IDB4MkQsIDB4M0YsIDB4MzF9LAorICAgICAgICB7IDB4MkQsIDB4M0YsIDB4MzZ9LAorICAgICAgICB7IDB4MkQsIDB4M0YsIDB4M0F9LAorICAgICAgICB7IDB4MkQsIDB4M0YsIDB4M0Z9LAorICAgICAgICB7IDB4MkQsIDB4M0EsIDB4M0Z9LAorICAgICAgICB7IDB4MkQsIDB4MzYsIDB4M0Z9LAorICAgICAgICB7IDB4MkQsIDB4MzEsIDB4M0Z9LAorICAgICAgICB7IDB4MDAsIDB4MDAsIDB4MUN9LAorICAgICAgICB7IDB4MDcsIDB4MDAsIDB4MUN9LAorICAgICAgICB7IDB4MEUsIDB4MDAsIDB4MUN9LAorICAgICAgICB7IDB4MTUsIDB4MDAsIDB4MUN9LAorICAgICAgICB7IDB4MUMsIDB4MDAsIDB4MUN9LAorICAgICAgICB7IDB4MUMsIDB4MDAsIDB4MTV9LAorICAgICAgICB7IDB4MUMsIDB4MDAsIDB4MEV9LAorICAgICAgICB7IDB4MUMsIDB4MDAsIDB4MDd9LAorICAgICAgICB7IDB4MUMsIDB4MDAsIDB4MDB9LAorICAgICAgICB7IDB4MUMsIDB4MDcsIDB4MDB9LAorICAgICAgICB7IDB4MUMsIDB4MEUsIDB4MDB9LAorICAgICAgICB7IDB4MUMsIDB4MTUsIDB4MDB9LAorICAgICAgICB7IDB4MUMsIDB4MUMsIDB4MDB9LAorICAgICAgICB7IDB4MTUsIDB4MUMsIDB4MDB9LAorICAgICAgICB7IDB4MEUsIDB4MUMsIDB4MDB9LAorICAgICAgICB7IDB4MDcsIDB4MUMsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4MUMsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4MUMsIDB4MDd9LAorICAgICAgICB7IDB4MDAsIDB4MUMsIDB4MEV9LAorICAgICAgICB7IDB4MDAsIDB4MUMsIDB4MTV9LAorICAgICAgICB7IDB4MDAsIDB4MUMsIDB4MUN9LAorICAgICAgICB7IDB4MDAsIDB4MTUsIDB4MUN9LAorICAgICAgICB7IDB4MDAsIDB4MEUsIDB4MUN9LAorICAgICAgICB7IDB4MDAsIDB4MDcsIDB4MUN9LAorICAgICAgICB7IDB4MEUsIDB4MEUsIDB4MUN9LAorICAgICAgICB7IDB4MTEsIDB4MEUsIDB4MUN9LAorICAgICAgICB7IDB4MTUsIDB4MEUsIDB4MUN9LAorICAgICAgICB7IDB4MTgsIDB4MEUsIDB4MUN9LAorICAgICAgICB7IDB4MUMsIDB4MEUsIDB4MUN9LAorICAgICAgICB7IDB4MUMsIDB4MEUsIDB4MTh9LAorICAgICAgICB7IDB4MUMsIDB4MEUsIDB4MTV9LAorICAgICAgICB7IDB4MUMsIDB4MEUsIDB4MTF9LAorICAgICAgICB7IDB4MUMsIDB4MEUsIDB4MEV9LAorICAgICAgICB7IDB4MUMsIDB4MTEsIDB4MEV9LAorICAgICAgICB7IDB4MUMsIDB4MTUsIDB4MEV9LAorICAgICAgICB7IDB4MUMsIDB4MTgsIDB4MEV9LAorICAgICAgICB7IDB4MUMsIDB4MUMsIDB4MEV9LAorICAgICAgICB7IDB4MTgsIDB4MUMsIDB4MEV9LAorICAgICAgICB7IDB4MTUsIDB4MUMsIDB4MEV9LAorICAgICAgICB7IDB4MTEsIDB4MUMsIDB4MEV9LAorICAgICAgICB7IDB4MEUsIDB4MUMsIDB4MEV9LAorICAgICAgICB7IDB4MEUsIDB4MUMsIDB4MTF9LAorICAgICAgICB7IDB4MEUsIDB4MUMsIDB4MTV9LAorICAgICAgICB7IDB4MEUsIDB4MUMsIDB4MTh9LAorICAgICAgICB7IDB4MEUsIDB4MUMsIDB4MUN9LAorICAgICAgICB7IDB4MEUsIDB4MTgsIDB4MUN9LAorICAgICAgICB7IDB4MEUsIDB4MTUsIDB4MUN9LAorICAgICAgICB7IDB4MEUsIDB4MTEsIDB4MUN9LAorICAgICAgICB7IDB4MTYsIDB4MTYsIDB4MUN9LAorICAgICAgICB7IDB4MTYsIDB4MTYsIDB4MUN9LAorICAgICAgICB7IDB4MTgsIDB4MTYsIDB4MUN9LAorICAgICAgICB7IDB4MUEsIDB4MTYsIDB4MUN9LAorICAgICAgICB7IDB4MUMsIDB4MTYsIDB4MUN9LAorICAgICAgICB7IDB4MUMsIDB4MTYsIDB4MUF9LAorICAgICAgICB7IDB4MUMsIDB4MTYsIDB4MTh9LAorICAgICAgICB7IDB4MUMsIDB4MTYsIDB4MTZ9LAorICAgICAgICB7IDB4MUMsIDB4MTYsIDB4MTZ9LAorICAgICAgICB7IDB4MUMsIDB4MTYsIDB4MTZ9LAorICAgICAgICB7IDB4MUMsIDB4MTgsIDB4MTZ9LAorICAgICAgICB7IDB4MUMsIDB4MUEsIDB4MTZ9LAorICAgICAgICB7IDB4MUMsIDB4MUMsIDB4MTZ9LAorICAgICAgICB7IDB4MUEsIDB4MUMsIDB4MTZ9LAorICAgICAgICB7IDB4MTgsIDB4MUMsIDB4MTZ9LAorICAgICAgICB7IDB4MTYsIDB4MUMsIDB4MTZ9LAorICAgICAgICB7IDB4MTYsIDB4MUMsIDB4MTZ9LAorICAgICAgICB7IDB4MTYsIDB4MUMsIDB4MTZ9LAorICAgICAgICB7IDB4MTYsIDB4MUMsIDB4MTh9LAorICAgICAgICB7IDB4MTYsIDB4MUMsIDB4MUF9LAorICAgICAgICB7IDB4MTYsIDB4MUMsIDB4MUN9LAorICAgICAgICB7IDB4MTYsIDB4MUEsIDB4MUN9LAorICAgICAgICB7IDB4MTYsIDB4MTgsIDB4MUN9LAorICAgICAgICB7IDB4MTYsIDB4MTYsIDB4MUN9LAorICAgICAgICB7IDB4MDAsIDB4MDAsIDB4MjB9LAorICAgICAgICB7IDB4MDQsIDB4MDAsIDB4MjB9LAorICAgICAgICB7IDB4MDgsIDB4MDAsIDB4MjB9LAorICAgICAgICB7IDB4MEMsIDB4MDAsIDB4MjB9LAorICAgICAgICB7IDB4MjAsIDB4MDAsIDB4MjB9LAorICAgICAgICB7IDB4MjAsIDB4MDAsIDB4MEN9LAorICAgICAgICB7IDB4MjAsIDB4MDAsIDB4MDh9LAorICAgICAgICB7IDB4MjAsIDB4MDAsIDB4MDR9LAorICAgICAgICB7IDB4MjAsIDB4MDAsIDB4MDB9LAorICAgICAgICB7IDB4MjAsIDB4MDQsIDB4MDB9LAorICAgICAgICB7IDB4MjAsIDB4MDgsIDB4MDB9LAorICAgICAgICB7IDB4MjAsIDB4MEMsIDB4MDB9LAorICAgICAgICB7IDB4MjAsIDB4MjAsIDB4MDB9LAorICAgICAgICB7IDB4MEMsIDB4MjAsIDB4MDB9LAorICAgICAgICB7IDB4MDgsIDB4MjAsIDB4MDB9LAorICAgICAgICB7IDB4MDQsIDB4MjAsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4MjAsIDB4MDB9LAorICAgICAgICB7IDB4MDAsIDB4MjAsIDB4MDR9LAorICAgICAgICB7IDB4MDAsIDB4MjAsIDB4MDh9LAorICAgICAgICB7IDB4MDAsIDB4MjAsIDB4MEN9LAorICAgICAgICB7IDB4MDAsIDB4MjAsIDB4MjB9LAorICAgICAgICB7IDB4MDAsIDB4MEMsIDB4MjB9LAorICAgICAgICB7IDB4MDAsIDB4MDgsIDB4MjB9LAorICAgICAgICB7IDB4MDAsIDB4MDQsIDB4MjB9LAorICAgICAgICB7IDB4MDgsIDB4MDgsIDB4MjB9LAorICAgICAgICB7IDB4MEEsIDB4MDgsIDB4MjB9LAorICAgICAgICB7IDB4MEMsIDB4MDgsIDB4MjB9LAorICAgICAgICB7IDB4MEUsIDB4MDgsIDB4MjB9LAorICAgICAgICB7IDB4MjAsIDB4MDgsIDB4MjB9LAorICAgICAgICB7IDB4MjAsIDB4MDgsIDB4MEV9LAorICAgICAgICB7IDB4MjAsIDB4MDgsIDB4MEN9LAorICAgICAgICB7IDB4MjAsIDB4MDgsIDB4MEF9LAorICAgICAgICB7IDB4MjAsIDB4MDgsIDB4MDh9LAorICAgICAgICB7IDB4MjAsIDB4MEEsIDB4MDh9LAorICAgICAgICB7IDB4MjAsIDB4MEMsIDB4MDh9LAorICAgICAgICB7IDB4MjAsIDB4MEUsIDB4MDh9LAorICAgICAgICB7IDB4MjAsIDB4MjAsIDB4MDh9LAorICAgICAgICB7IDB4MEUsIDB4MjAsIDB4MDh9LAorICAgICAgICB7IDB4MEMsIDB4MjAsIDB4MDh9LAorICAgICAgICB7IDB4MEEsIDB4MjAsIDB4MDh9LAorICAgICAgICB7IDB4MDgsIDB4MjAsIDB4MDh9LAorICAgICAgICB7IDB4MDgsIDB4MjAsIDB4MEF9LAorICAgICAgICB7IDB4MDgsIDB4MjAsIDB4MEN9LAorICAgICAgICB7IDB4MDgsIDB4MjAsIDB4MEV9LAorICAgICAgICB7IDB4MDgsIDB4MjAsIDB4MjB9LAorICAgICAgICB7IDB4MDgsIDB4MEUsIDB4MjB9LAorICAgICAgICB7IDB4MDgsIDB4MEMsIDB4MjB9LAorICAgICAgICB7IDB4MDgsIDB4MEEsIDB4MjB9LAorICAgICAgICB7IDB4MEIsIDB4MEIsIDB4MjB9LAorICAgICAgICB7IDB4MEMsIDB4MEIsIDB4MjB9LAorICAgICAgICB7IDB4MEQsIDB4MEIsIDB4MjB9LAorICAgICAgICB7IDB4MEYsIDB4MEIsIDB4MjB9LAorICAgICAgICB7IDB4MjAsIDB4MEIsIDB4MjB9LAorICAgICAgICB7IDB4MjAsIDB4MEIsIDB4MEZ9LAorICAgICAgICB7IDB4MjAsIDB4MEIsIDB4MER9LAorICAgICAgICB7IDB4MjAsIDB4MEIsIDB4MEN9LAorICAgICAgICB7IDB4MjAsIDB4MEIsIDB4MEJ9LAorICAgICAgICB7IDB4MjAsIDB4MEMsIDB4MEJ9LAorICAgICAgICB7IDB4MjAsIDB4MEQsIDB4MEJ9LAorICAgICAgICB7IDB4MjAsIDB4MEYsIDB4MEJ9LAorICAgICAgICB7IDB4MjAsIDB4MjAsIDB4MEJ9LAorICAgICAgICB7IDB4MEYsIDB4MjAsIDB4MEJ9LAorICAgICAgICB7IDB4MEQsIDB4MjAsIDB4MEJ9LAorICAgICAgICB7IDB4MEMsIDB4MjAsIDB4MEJ9LAorICAgICAgICB7IDB4MEIsIDB4MjAsIDB4MEJ9LAorICAgICAgICB7IDB4MEIsIDB4MjAsIDB4MEN9LAorICAgICAgICB7IDB4MEIsIDB4MjAsIDB4MER9LAorICAgICAgICB7IDB4MEIsIDB4MjAsIDB4MEZ9LAorICAgICAgICB7IDB4MEIsIDB4MjAsIDB4MjB9LAorICAgICAgICB7IDB4MEIsIDB4MEYsIDB4MjB9LAorICAgICAgICB7IDB4MEIsIDB4MEQsIDB4MjB9LAorICAgICAgICB7IDB4MEIsIDB4MEMsIDB4MjB9LAorICAgICAgICAvKiBQYWQgd2l0aCBOVUxMICovCit9OworCg==