From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 7.0.1-0.11 Date: Mon, 29 Jun 2026 12:27:24 GMT Message-ID: <178273604488.1.16389297822312103878.rpms-gcc-88ff65fe514a@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 88ff65fe514a834d7741c689674dcdd5ac27968a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogODhmZjY1ZmU1MTRhODM0ZDc3NDFjNjg5Njc0ZGNkZDVh YzI3OTY4YQpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE3LTAzLTA4VDE5OjAyOjE4KzAxOjAwClN0YXRzICA6ICsyMDEwLy02IGluIDggZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2djYy9jLzg4ZmY2 NWZlNTE0YTgzNGQ3NzQxYzY4OTY3NGRjZGQ1YWMyNzk2OGE/YnJhbmNoPXJoZWwtZjQxLWJhc2UK CkxvZzoKNy4wLjEtMC4xMQoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9y ZQppbmRleCAyOWY0ZTM1Li5lYTdiMGQ1IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5n aXRpZ25vcmUKQEAgLTksMyArOSw0IEBACiAvZ2NjLTcuMC4xLTIwMTcwMjExLnRhci5iejIKIC9n Y2MtNy4wLjEtMjAxNzAyMTkudGFyLmJ6MgogL2djYy03LjAuMS0yMDE3MDIyNS50YXIuYnoyCisv Z2NjLTcuMC4xLTIwMTcwMzA4LnRhci5iejIKCmRpZmYgLS1naXQgYS9nY2Muc3BlYyBiL2djYy5z cGVjCmluZGV4IDdlNWFlZWYuLjI0MTM4NjggMTAwNjQ0Ci0tLSBhL2djYy5zcGVjCisrKyBiL2dj Yy5zcGVjCkBAIC0xLDEwICsxLDEwIEBACi0lZ2xvYmFsIERBVEUgMjAxNzAyMjUKLSVnbG9iYWwg U1ZOUkVWIDI0NTczNgorJWdsb2JhbCBEQVRFIDIwMTcwMzA4CislZ2xvYmFsIFNWTlJFViAyNDU5 ODEKICVnbG9iYWwgZ2NjX3ZlcnNpb24gNy4wLjEKICVnbG9iYWwgZ2NjX21ham9yIDcKICMgTm90 ZSwgZ2NjX3JlbGVhc2UgbXVzdCBiZSBpbnRlZ2VyLCBpZiB5b3Ugd2FudCB0byBhZGQgc3VmZml4 ZXMgdG8KICMgJXtyZWxlYXNlfSwgYXBwZW5kIHRoZW0gYWZ0ZXIgJXtnY2NfcmVsZWFzZX0gb24g UmVsZWFzZTogbGluZS4KLSVnbG9iYWwgZ2NjX3JlbGVhc2UgMC4xMAorJWdsb2JhbCBnY2NfcmVs ZWFzZSAwLjExCiAlZ2xvYmFsIG52cHR4X3Rvb2xzX2dpdHJldiBjMjgwNTBmNjAxOTNiM2I5NWEx ODg2NmE5NmYwMzMzNGU4NzRlNzhmCiAlZ2xvYmFsIG52cHR4X25ld2xpYl9naXRyZXYgYWFkYzhl YjBlYzQzYjdjZDBkZDJkZmI0ODRiYWU2M2M4YjA1ZWYyNAogJWdsb2JhbCBfdW5wYWNrYWdlZF9m aWxlc190ZXJtaW5hdGVfYnVpbGQgMApAQCAtMjMyLDYgKzIzMiwxMCBAQCBQYXRjaDg6IGdjYzct bm8tYWRkLW5lZWRlZC5wYXRjaAogUGF0Y2g5OiBnY2M3LWFhcmNoNjQtYXN5bmMtdW53LXRhYmxl cy5wYXRjaAogUGF0Y2gxMDogZ2NjNy1mb2ZmbG9hZC1kZWZhdWx0LnBhdGNoCiBQYXRjaDExOiBn Y2M3LVduby1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKK1BhdGNoMTI6IGdjYzctcHI3OTkzMi0xLnBh dGNoCitQYXRjaDEzOiBnY2M3LXByNzk5MzItMi5wYXRjaAorUGF0Y2gxNDogZ2NjNy1wcjc5OTQx LnBhdGNoCitQYXRjaDE1OiBnY2M3LXByNzk5NDQucGF0Y2gKIAogUGF0Y2gxMDAwOiBudnB0eC10 b29scy1uby1wdHhhcy5wYXRjaAogUGF0Y2gxMDAxOiBudnB0eC10b29scy1idWlsZC5wYXRjaApA QCAtODIwLDYgKzgyNCwxMCBAQCBwYWNrYWdlIG9yIHdoZW4gZGVidWdnaW5nIHRoaXMgcGFja2Fn ZS4KICVwYXRjaDkgLXAwIC1iIC5hYXJjaDY0LWFzeW5jLXVudy10YWJsZXN+CiAlcGF0Y2gxMCAt cDAgLWIgLmZvZmZsb2FkLWRlZmF1bHR+CiAlcGF0Y2gxMSAtcDAgLWIgLlduby1mb3JtYXQtc2Vj dXJpdHl+CislcGF0Y2gxMiAtcDAgLWIgLnByNzk5MzItMX4KKyVwYXRjaDEzIC1wMCAtYiAucHI3 OTkzMi0yfgorJXBhdGNoMTQgLXAwIC1iIC5wcjc5OTQxfgorJXBhdGNoMTUgLXAwIC1iIC5wcjc5 OTQ0fgogCiBjZCBudnB0eC10b29scy0le252cHR4X3Rvb2xzX2dpdHJldn0KICVwYXRjaDEwMDAg LXAxIC1iIC5udnB0eC10b29scy1uby1wdHhhc34KQEAgLTMyMzYsNiArMzI0NCwzNyBAQCBmaQog JWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyogV2VkIE1hciAgOCAyMDE3IEpha3ViIEplbGluZWsgPGph a3ViQHJlZGhhdC5jb20+IDcuMC4xLTAuMTEKKy0gdXBkYXRlIGZyb20gdGhlIHRydW5rCisgIC0g UFJzIGFkYS83OTkwMywgYWRhLzc5OTQ1LCBjKysvNDIwMDAsIGMrKy82NDU3NCwgYysrLzcwMjY2 LCBjKysvNzE1NjgsCisJYysrLzc5NDE0LCBjKysvNzk2ODEsIGMrKy83OTc0NiwgYysrLzc5Nzgy LCBjKysvNzk3OTEsIGMrKy83OTc5NiwKKwljKysvNzk4MjEsIGMrKy83OTgyMiwgYysrLzc5ODI1 LCBjLzc5NzU2LCBjLzc5NzU4LCBjLzc5ODM0LCBjLzc5ODM2LAorCWMvNzk4MzcsIGMvNzk4NDcs IGMvNzk4NTUsIGMvNzk5NDAsIGRlbWFuZ2xlci82NzI2NCwgZGVtYW5nbGVyLzcwOTA5LAorCWZv cnRyYW4vNTExMTksIGZvcnRyYW4vNzgzNzksIGZvcnRyYW4vNzk3MzksIGZvcnRyYW4vNzk4NDEs CisJZm9ydHJhbi83OTg5NCwgbGlic3RkYysrLzc5Nzg5LCBsaWJzdGRjKysvNzk3OTgsIGx0by83 ODE0MCwgbHRvLzc5NjI1LAorCWx0by83OTc2MCwgbWlkZGxlLWVuZC82ODI3MCwgbWlkZGxlLWVu ZC83OTY5MiwgbWlkZGxlLWVuZC83OTcyMSwKKwltaWRkbGUtZW5kLzc5NzMxLCBtaWRkbGUtZW5k Lzc5ODA1LCBtaWRkbGUtZW5kLzc5ODA5LAorCW1pZGRsZS1lbmQvNzk4MTgsIHJ0bC1vcHRpbWl6 YXRpb24vNzk1NzEsIHJ0bC1vcHRpbWl6YXRpb24vNzk1ODQsCisJcnRsLW9wdGltaXphdGlvbi83 OTc4MCwgcnRsLW9wdGltaXphdGlvbi83OTkwMSwgc2FuaXRpemUvNzk3ODMsCisJc2FuaXRpemVy Lzc5ODk3LCBzYW5pdGl6ZXIvNzk5MDQsIHRhcmdldC80Mzc2MywgdGFyZ2V0LzY4NzM5LAorCXRh cmdldC83OTM5NSwgdGFyZ2V0Lzc5NDM5LCB0YXJnZXQvNzk1MTQsIHRhcmdldC83OTU0NCwgdGFy Z2V0Lzc5NzI5LAorCXRhcmdldC83OTc0MiwgdGFyZ2V0Lzc5NzQ5LCB0YXJnZXQvNzk3NTIsIHRh cmdldC83OTc5MywgdGFyZ2V0Lzc5ODA3LAorCXRhcmdldC83OTgxMiwgdHJlZS1vcHRpbWl6YXRp b24vNDUzOTcsIHRyZWUtb3B0aW1pemF0aW9uLzY2NzY4LAorCXRyZWUtb3B0aW1pemF0aW9uLzc3 NTM2LCB0cmVlLW9wdGltaXphdGlvbi83OTM0NSwKKwl0cmVlLW9wdGltaXphdGlvbi83OTY5MCwg dHJlZS1vcHRpbWl6YXRpb24vNzk2OTEsCisJdHJlZS1vcHRpbWl6YXRpb24vNzk2OTksIHRyZWUt b3B0aW1pemF0aW9uLzc5NzIzLAorCXRyZWUtb3B0aW1pemF0aW9uLzc5NzMyLCB0cmVlLW9wdGlt aXphdGlvbi83OTczNCwKKwl0cmVlLW9wdGltaXphdGlvbi83OTczNywgdHJlZS1vcHRpbWl6YXRp b24vNzk3NDAsCisJdHJlZS1vcHRpbWl6YXRpb24vNzk3NzcsIHRyZWUtb3B0aW1pemF0aW9uLzc5 ODAzLAorCXRyZWUtb3B0aW1pemF0aW9uLzc5ODI0LCB0cmVlLW9wdGltaXphdGlvbi83OTg5NCwK Kwl0cmVlLW9wdGltaXphdGlvbi83OTkyMCwgdHJlZS1vcHRpbWl6YXRpb24vNzk5NDMsCisJdHJl ZS1vcHRpbWl6YXRpb24vNzk5NTUKKy0gZml4IDY0IGF2eDUxMnZsIGFuZCA2IGF2eDUxMmJ3IGlu dHJpbnNpY3MgdGhhdCB3ZXJlIG5vdCBhdmFpbGFibGUgd2l0aCAtTzAKKyAgKFBSIHRhcmdldC83 OTkzMikKKy0gdGVtcG9yYXJpbHkgZGlzYWJsZSBpbmNvcnJlY3QgZm9sZGluZyBvZiBBbHRpdmVj IHZtdWxbb2VddVtiaF0gaW50cmluc2ljcworICAoIzE0Mjk5NjEsIFBSIG1pZGRsZS1lbmQvNzk5 NDEpCistIGZpeCAtZnNhbml0aXplPWFkZHJlc3Mgd2l0aCBzb21lIGF0b21pYy9zeW5jIGJ1aWx0 aW5zIChQUiBzYW5pdGl6ZXIvNzk5NDQpCisKICogU2F0IEZlYiAyNSAyMDE3IEpha3ViIEplbGlu ZWsgPGpha3ViQHJlZGhhdC5jb20+IDcuMC4xLTAuMTAKIC0gdXBkYXRlIGZyb20gdGhlIHRydW5r CiAgIC0gUFJzIGMrKy8xNzcyOSwgYysrLzQxNzI3LCBjKysvNTAzMDgsIGMrKy82OTUyMywgYysr Lzc4MTM5LCBjKysvNzgyODIsCgpkaWZmIC0tZ2l0IGEvZ2NjNy1wcjc5OTMyLTEucGF0Y2ggYi9n Y2M3LXByNzk5MzItMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4y ZDgyMmY3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNy1wcjc5OTMyLTEucGF0Y2gKQEAgLTAsMCAr MSwxODEgQEAKKzIwMTctMDMtMDcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgor CisJUFIgdGFyZ2V0Lzc5OTMyCisJKiBjb25maWcvaTM4Ni9hdng1MTJid2ludHJpbi5oIChfbW01 MTJfcGFja3NfZXBpMzIsCisJX21tNTEyX21hc2t6X3BhY2tzX2VwaTMyLCBfbW01MTJfbWFza19w YWNrc19lcGkzMiwKKwlfbW01MTJfcGFja3VzX2VwaTMyLCBfbW01MTJfbWFza3pfcGFja3VzX2Vw aTMyLAorCV9tbTUxMl9tYXNrX3BhY2t1c19lcGkzMik6IE1vdmUgZGVmaW5pdGlvbnMgb3V0c2lk ZSBvZiBfX09QVElNSVpFX18KKwlndWFyZGVkIHNlY3Rpb24uCisKKwkqIGdjYy50YXJnZXQvaTM4 Ni9wcjc5OTMyLTEuYzogTmV3IHRlc3QuCisKKy0tLSBnY2MvY29uZmlnL2kzODYvYXZ4NTEyYndp bnRyaW4uaC5qagkyMDE3LTAxLTIzIDE4OjA5OjQ4LjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9j b25maWcvaTM4Ni9hdng1MTJid2ludHJpbi5oCTIwMTctMDMtMDcgMDc6NDc6MjguOTAwMDQ5ODQ5 ICswMTAwCitAQCAtMjY1Niw2ICsyNjU2LDcyIEBAIF9tbTUxMl9jbXBsZV9lcGkxNl9tYXNrIChf X201MTJpIF9fWCwgX18KKyAJCQkJCQkgIChfX21tYXNrMzIpIC0xKTsKKyB9CisgCisrZXh0ZXJu IF9faW5saW5lIF9fbTUxMmkKKytfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3 YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tNTEyX3BhY2tzX2VwaTMyIChfX201 MTJpIF9fQSwgX19tNTEyaSBfX0IpCisreworKyAgcmV0dXJuIChfX201MTJpKSBfX2J1aWx0aW5f aWEzMl9wYWNrc3NkdzUxMl9tYXNrICgoX192MTZzaSkgX19BLAorKwkJCQkJCSAgICAoX192MTZz aSkgX19CLAorKwkJCQkJCSAgICAoX192MzJoaSkKKysJCQkJCQkgICAgX21tNTEyX3NldHplcm9f c2k1MTIgKCksCisrCQkJCQkJICAgIChfX21tYXNrMzIpIC0xKTsKKyt9CisrCisrZXh0ZXJuIF9f aW5saW5lIF9fbTUxMmkKKytfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlz X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tNTEyX21hc2t6X3BhY2tzX2VwaTMyIChf X21tYXNrMzIgX19NLCBfX201MTJpIF9fQSwgX19tNTEyaSBfX0IpCisreworKyAgcmV0dXJuIChf X201MTJpKSBfX2J1aWx0aW5faWEzMl9wYWNrc3NkdzUxMl9tYXNrICgoX192MTZzaSkgX19BLAor KwkJCQkJCSAgICAoX192MTZzaSkgX19CLAorKwkJCQkJCSAgICAoX192MzJoaSkKKysJCQkJCQkg ICAgX21tNTEyX3NldHplcm9fc2k1MTIgKCksCisrCQkJCQkJICAgIF9fTSk7CisrfQorKworK2V4 dGVybiBfX2lubGluZSBfX201MTJpCisrX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBf X2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbTUxMl9tYXNrX3BhY2tzX2Vw aTMyIChfX201MTJpIF9fVywgX19tbWFzazMyIF9fTSwgX19tNTEyaSBfX0EsCisrCQkJIF9fbTUx MmkgX19CKQorK3sKKysgIHJldHVybiAoX19tNTEyaSkgX19idWlsdGluX2lhMzJfcGFja3NzZHc1 MTJfbWFzayAoKF9fdjE2c2kpIF9fQSwKKysJCQkJCQkgICAgKF9fdjE2c2kpIF9fQiwKKysJCQkJ CQkgICAgKF9fdjMyaGkpIF9fVywKKysJCQkJCQkgICAgX19NKTsKKyt9CisrCisrZXh0ZXJuIF9f aW5saW5lIF9fbTUxMmkKKytfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlz X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tNTEyX3BhY2t1c19lcGkzMiAoX19tNTEy aSBfX0EsIF9fbTUxMmkgX19CKQorK3sKKysgIHJldHVybiAoX19tNTEyaSkgX19idWlsdGluX2lh MzJfcGFja3VzZHc1MTJfbWFzayAoKF9fdjE2c2kpIF9fQSwKKysJCQkJCQkgICAgKF9fdjE2c2kp IF9fQiwKKysJCQkJCQkgICAgKF9fdjMyaGkpCisrCQkJCQkJICAgIF9tbTUxMl9zZXR6ZXJvX3Np NTEyICgpLAorKwkJCQkJCSAgICAoX19tbWFzazMyKSAtMSk7CisrfQorKworK2V4dGVybiBfX2lu bGluZSBfX201MTJpCisrX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19p bmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbTUxMl9tYXNrel9wYWNrdXNfZXBpMzIgKF9f bW1hc2szMiBfX00sIF9fbTUxMmkgX19BLCBfX201MTJpIF9fQikKKyt7CisrICByZXR1cm4gKF9f bTUxMmkpIF9fYnVpbHRpbl9pYTMyX3BhY2t1c2R3NTEyX21hc2sgKChfX3YxNnNpKSBfX0EsCisr CQkJCQkJICAgIChfX3YxNnNpKSBfX0IsCisrCQkJCQkJICAgIChfX3YzMmhpKQorKwkJCQkJCSAg ICBfbW01MTJfc2V0emVyb19zaTUxMiAoKSwKKysJCQkJCQkgICAgX19NKTsKKyt9CisrCisrZXh0 ZXJuIF9faW5saW5lIF9fbTUxMmkKKytfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9f YWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tNTEyX21hc2tfcGFja3VzX2Vw aTMyIChfX201MTJpIF9fVywgX19tbWFzazMyIF9fTSwgX19tNTEyaSBfX0EsCisrCQkJICBfX201 MTJpIF9fQikKKyt7CisrICByZXR1cm4gKF9fbTUxMmkpIF9fYnVpbHRpbl9pYTMyX3BhY2t1c2R3 NTEyX21hc2sgKChfX3YxNnNpKSBfX0EsCisrCQkJCQkJICAgIChfX3YxNnNpKSBfX0IsCisrCQkJ CQkJICAgIChfX3YzMmhpKSBfX1csCisrCQkJCQkJICAgIF9fTSk7CisrfQorKworICNpZmRlZiBf X09QVElNSVpFX18KKyBleHRlcm4gX19pbmxpbmUgX19tbWFzazMyCisgX19hdHRyaWJ1dGVfXyAo KF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorQEAg LTMwMTIsNzIgKzMwNzgsNiBAQCBfbW01MTJfY21wX2VwdThfbWFzayAoX19tNTEyaSBfX1gsIF9f bTUxCisgfQorIAorIGV4dGVybiBfX2lubGluZSBfX201MTJpCistX19hdHRyaWJ1dGVfXyAoKF9f Z251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTUx Ml9wYWNrc19lcGkzMiAoX19tNTEyaSBfX0EsIF9fbTUxMmkgX19CKQorLXsKKy0gIHJldHVybiAo X19tNTEyaSkgX19idWlsdGluX2lhMzJfcGFja3NzZHc1MTJfbWFzayAoKF9fdjE2c2kpIF9fQSwK Ky0JCQkJCQkgICAgKF9fdjE2c2kpIF9fQiwKKy0JCQkJCQkgICAgKF9fdjMyaGkpCistCQkJCQkJ ICAgIF9tbTUxMl9zZXR6ZXJvX3NpNTEyICgpLAorLQkJCQkJCSAgICAoX19tbWFzazMyKSAtMSk7 CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX201MTJpCistX19hdHRyaWJ1dGVfXyAoKF9fZ251 X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTUxMl9t YXNrel9wYWNrc19lcGkzMiAoX19tbWFzazMyIF9fTSwgX19tNTEyaSBfX0EsIF9fbTUxMmkgX19C KQorLXsKKy0gIHJldHVybiAoX19tNTEyaSkgX19idWlsdGluX2lhMzJfcGFja3NzZHc1MTJfbWFz ayAoKF9fdjE2c2kpIF9fQSwKKy0JCQkJCQkgICAgKF9fdjE2c2kpIF9fQiwKKy0JCQkJCQkgICAg KF9fdjMyaGkpCistCQkJCQkJICAgIF9tbTUxMl9zZXR6ZXJvX3NpNTEyICgpLAorLQkJCQkJCSAg ICBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tNTEyaQorLV9fYXR0cmlidXRlX18g KChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1f bW01MTJfbWFza19wYWNrc19lcGkzMiAoX19tNTEyaSBfX1csIF9fbW1hc2szMiBfX00sIF9fbTUx MmkgX19BLAorLQkJCSBfX201MTJpIF9fQikKKy17CistICByZXR1cm4gKF9fbTUxMmkpIF9fYnVp bHRpbl9pYTMyX3BhY2tzc2R3NTEyX21hc2sgKChfX3YxNnNpKSBfX0EsCistCQkJCQkJICAgIChf X3YxNnNpKSBfX0IsCistCQkJCQkJICAgIChfX3YzMmhpKSBfX1csCistCQkJCQkJICAgIF9fTSk7 CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX201MTJpCistX19hdHRyaWJ1dGVfXyAoKF9fZ251 X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTUxMl9w YWNrdXNfZXBpMzIgKF9fbTUxMmkgX19BLCBfX201MTJpIF9fQikKKy17CistICByZXR1cm4gKF9f bTUxMmkpIF9fYnVpbHRpbl9pYTMyX3BhY2t1c2R3NTEyX21hc2sgKChfX3YxNnNpKSBfX0EsCist CQkJCQkJICAgIChfX3YxNnNpKSBfX0IsCistCQkJCQkJICAgIChfX3YzMmhpKQorLQkJCQkJCSAg ICBfbW01MTJfc2V0emVyb19zaTUxMiAoKSwKKy0JCQkJCQkgICAgKF9fbW1hc2szMikgLTEpOwor LX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tNTEyaQorLV9fYXR0cmlidXRlX18gKChfX2dudV9p bmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW01MTJfbWFz a3pfcGFja3VzX2VwaTMyIChfX21tYXNrMzIgX19NLCBfX201MTJpIF9fQSwgX19tNTEyaSBfX0Ip CisteworLSAgcmV0dXJuIChfX201MTJpKSBfX2J1aWx0aW5faWEzMl9wYWNrdXNkdzUxMl9tYXNr ICgoX192MTZzaSkgX19BLAorLQkJCQkJCSAgICAoX192MTZzaSkgX19CLAorLQkJCQkJCSAgICAo X192MzJoaSkKKy0JCQkJCQkgICAgX21tNTEyX3NldHplcm9fc2k1MTIgKCksCistCQkJCQkJICAg IF9fTSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX201MTJpCistX19hdHRyaWJ1dGVfXyAo KF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9t bTUxMl9tYXNrX3BhY2t1c19lcGkzMiAoX19tNTEyaSBfX1csIF9fbW1hc2szMiBfX00sIF9fbTUx MmkgX19BLAorLQkJCSAgX19tNTEyaSBfX0IpCisteworLSAgcmV0dXJuIChfX201MTJpKSBfX2J1 aWx0aW5faWEzMl9wYWNrdXNkdzUxMl9tYXNrICgoX192MTZzaSkgX19BLAorLQkJCQkJCSAgICAo X192MTZzaSkgX19CLAorLQkJCQkJCSAgICAoX192MzJoaSkgX19XLAorLQkJCQkJCSAgICBfX00p OworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tNTEyaQorIF9fYXR0cmlidXRlX18gKChfX2du dV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKyBfbW01MTJf YnNsbGlfZXBpMTI4IChfX201MTJpIF9fQSwgY29uc3QgaW50IF9fTikKKyB7CistLS0gZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3OTkzMi0xLmMuamoJMjAxNy0wMy0wNyAwNzo1NDo0 NS4xODEzMzk0MTggKzAxMDAKKysrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjc5 OTMyLTEuYwkyMDE3LTAzLTA3IDA3OjU0OjI0LjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSwx OSBAQAorKy8qIFBSIHRhcmdldC83OTkzMiAqLworKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisr LyogeyBkZy1vcHRpb25zICItTzAgLW1hdng1MTJidyIgfSAqLworKworKyNpbmNsdWRlIDx4ODZp bnRyaW4uaD4KKysKKytfX201MTJpIGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgsIGk7CisrX19tbWFz azMyIG07CisrCisrdm9pZAorK2ZvbyAodm9pZCkKKyt7CisrICBkID0gX21tNTEyX3BhY2tzX2Vw aTMyIChhLCBiKTsKKysgIGUgPSBfbW01MTJfbWFza3pfcGFja3NfZXBpMzIgKG0sIGEsIGIpOwor KyAgZiA9IF9tbTUxMl9tYXNrX3BhY2tzX2VwaTMyIChjLCBtLCBhLCBiKTsKKysgIGcgPSBfbW01 MTJfcGFja3VzX2VwaTMyIChhLCBiKTsKKysgIGggPSBfbW01MTJfbWFza3pfcGFja3VzX2VwaTMy IChtLCBhLCBiKTsKKysgIGkgPSBfbW01MTJfbWFza19wYWNrdXNfZXBpMzIgKGMsIG0sIGEsIGIp OworK30KCmRpZmYgLS1naXQgYS9nY2M3LXByNzk5MzItMi5wYXRjaCBiL2djYzctcHI3OTkzMi0y LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZDNiN2IKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2M3LXByNzk5MzItMi5wYXRjaApAQCAtMCwwICsxLDEyODYgQEAKKzIw MTctMDMtMDcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJUFIgdGFyZ2V0 Lzc5OTMyCisJKiBjb25maWcvaTM4Ni9hdng1MTJ2bGludHJpbi5oIChfbW0yNTZfY21wZ2VfZXBp MzJfbWFzaywKKwlfbW0yNTZfY21wZ2VfZXBpNjRfbWFzaywgX21tMjU2X2NtcGdlX2VwdTMyX21h c2ssCisJX21tMjU2X2NtcGdlX2VwdTY0X21hc2ssIF9tbTI1Nl9jbXBsZV9lcGkzMl9tYXNrLAor CV9tbTI1Nl9jbXBsZV9lcGk2NF9tYXNrLCBfbW0yNTZfY21wbGVfZXB1MzJfbWFzaywKKwlfbW0y NTZfY21wbGVfZXB1NjRfbWFzaywgX21tMjU2X2NtcGx0X2VwaTMyX21hc2ssCisJX21tMjU2X2Nt cGx0X2VwaTY0X21hc2ssIF9tbTI1Nl9jbXBsdF9lcHUzMl9tYXNrLAorCV9tbTI1Nl9jbXBsdF9l cHU2NF9tYXNrLCBfbW0yNTZfY21wbmVxX2VwaTMyX21hc2ssCisJX21tMjU2X2NtcG5lcV9lcGk2 NF9tYXNrLCBfbW0yNTZfY21wbmVxX2VwdTMyX21hc2ssCisJX21tMjU2X2NtcG5lcV9lcHU2NF9t YXNrLCBfbW0yNTZfbWFza19jbXBnZV9lcGkzMl9tYXNrLAorCV9tbTI1Nl9tYXNrX2NtcGdlX2Vw aTY0X21hc2ssIF9tbTI1Nl9tYXNrX2NtcGdlX2VwdTMyX21hc2ssCisJX21tMjU2X21hc2tfY21w Z2VfZXB1NjRfbWFzaywgX21tMjU2X21hc2tfY21wbGVfZXBpMzJfbWFzaywKKwlfbW0yNTZfbWFz a19jbXBsZV9lcGk2NF9tYXNrLCBfbW0yNTZfbWFza19jbXBsZV9lcHUzMl9tYXNrLAorCV9tbTI1 Nl9tYXNrX2NtcGxlX2VwdTY0X21hc2ssIF9tbTI1Nl9tYXNrX2NtcGx0X2VwaTMyX21hc2ssCisJ X21tMjU2X21hc2tfY21wbHRfZXBpNjRfbWFzaywgX21tMjU2X21hc2tfY21wbHRfZXB1MzJfbWFz aywKKwlfbW0yNTZfbWFza19jbXBsdF9lcHU2NF9tYXNrLCBfbW0yNTZfbWFza19jbXBuZXFfZXBp MzJfbWFzaywKKwlfbW0yNTZfbWFza19jbXBuZXFfZXBpNjRfbWFzaywgX21tMjU2X21hc2tfY21w bmVxX2VwdTMyX21hc2ssCisJX21tMjU2X21hc2tfY21wbmVxX2VwdTY0X21hc2ssIF9tbV9jbXBn ZV9lcGkzMl9tYXNrLAorCV9tbV9jbXBnZV9lcGk2NF9tYXNrLCBfbW1fY21wZ2VfZXB1MzJfbWFz aywgX21tX2NtcGdlX2VwdTY0X21hc2ssCisJX21tX2NtcGxlX2VwaTMyX21hc2ssIF9tbV9jbXBs ZV9lcGk2NF9tYXNrLCBfbW1fY21wbGVfZXB1MzJfbWFzaywKKwlfbW1fY21wbGVfZXB1NjRfbWFz aywgX21tX2NtcGx0X2VwaTMyX21hc2ssIF9tbV9jbXBsdF9lcGk2NF9tYXNrLAorCV9tbV9jbXBs dF9lcHUzMl9tYXNrLCBfbW1fY21wbHRfZXB1NjRfbWFzaywgX21tX2NtcG5lcV9lcGkzMl9tYXNr LAorCV9tbV9jbXBuZXFfZXBpNjRfbWFzaywgX21tX2NtcG5lcV9lcHUzMl9tYXNrLCBfbW1fY21w bmVxX2VwdTY0X21hc2ssCisJX21tX21hc2tfY21wZ2VfZXBpMzJfbWFzaywgX21tX21hc2tfY21w Z2VfZXBpNjRfbWFzaywKKwlfbW1fbWFza19jbXBnZV9lcHUzMl9tYXNrLCBfbW1fbWFza19jbXBn ZV9lcHU2NF9tYXNrLAorCV9tbV9tYXNrX2NtcGxlX2VwaTMyX21hc2ssIF9tbV9tYXNrX2NtcGxl X2VwaTY0X21hc2ssCisJX21tX21hc2tfY21wbGVfZXB1MzJfbWFzaywgX21tX21hc2tfY21wbGVf ZXB1NjRfbWFzaywKKwlfbW1fbWFza19jbXBsdF9lcGkzMl9tYXNrLCBfbW1fbWFza19jbXBsdF9l cGk2NF9tYXNrLAorCV9tbV9tYXNrX2NtcGx0X2VwdTMyX21hc2ssIF9tbV9tYXNrX2NtcGx0X2Vw dTY0X21hc2ssCisJX21tX21hc2tfY21wbmVxX2VwaTMyX21hc2ssIF9tbV9tYXNrX2NtcG5lcV9l cGk2NF9tYXNrLAorCV9tbV9tYXNrX2NtcG5lcV9lcHUzMl9tYXNrLCBfbW1fbWFza19jbXBuZXFf ZXB1NjRfbWFzayk6IE1vdmUKKwlkZWZpbml0aW9ucyBvdXRzaWRlIG9mIF9fT1BUSU1JWkVfXyBn dWFyZGVkIHNlY3Rpb24uCisKKwkqIGdjYy50YXJnZXQvaTM4Ni9wcjc5OTMyLTIuYzogTmV3IHRl c3QuCisKKy0tLSBnY2MvY29uZmlnL2kzODYvYXZ4NTEydmxpbnRyaW4uaC5qagkyMDE3LTAxLTE3 IDE4OjQwOjU5LjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9jb25maWcvaTM4Ni9hdng1MTJ2bGlu dHJpbi5oCTIwMTctMDMtMDcgMDg6Mjc6MzEuMDcxNjQxMDQzICswMTAwCitAQCAtOTE3Miw2ICs5 MTcyLDU4MiBAQCBfbW0yNTZfbWFza19wZXJtdXRleHZhcl9lcGkzMiAoX19tMjU2aSBfCisgCQkJ CQkJICAgICBfX00pOworIH0KKyAKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0 cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lh bF9fKSkKKytfbW0yNTZfbWFza19jbXBuZXFfZXB1MzJfbWFzayAoX19tbWFzazggX19NLCBfX20y NTZpIF9fWCwgX19tMjU2aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGlu X2lhMzJfdWNtcGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAorKwkJCQkJCSAgKF9fdjhzaSkgX19Z LCA0LAorKwkJCQkJCSAgKF9fbW1hc2s4KSBfX00pOworK30KKysKKytleHRlcm4gX19pbmxpbmUg X19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5s aW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW0yNTZfY21wbmVxX2VwdTMyX21hc2sgKF9fbTI1 NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5f aWEzMl91Y21wZDI1Nl9tYXNrICgoX192OHNpKSBfX1gsCisrCQkJCQkJICAoX192OHNpKSBfX1ks IDQsCisrCQkJCQkJICAoX19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9f bW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGlu ZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tMjU2X21hc2tfY21wbHRfZXB1MzJfbWFzayAoX19t bWFzazggX19NLCBfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisreworKyAgcmV0dXJuIChfX21t YXNrOCkgX19idWlsdGluX2lhMzJfdWNtcGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAorKwkJCQkJ CSAgKF9fdjhzaSkgX19ZLCAxLAorKwkJCQkJCSAgKF9fbW1hc2s4KSBfX00pOworK30KKysKKytl eHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVf XywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW0yNTZfY21wbHRfZXB1 MzJfbWFzayAoX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFz azgpIF9fYnVpbHRpbl9pYTMyX3VjbXBkMjU2X21hc2sgKChfX3Y4c2kpIF9fWCwKKysJCQkJCQkg IChfX3Y4c2kpIF9fWSwgMSwKKysJCQkJCQkgIChfX21tYXNrOCkgLTEpOworK30KKysKKytleHRl cm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywg X19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW0yNTZfbWFza19jbXBnZV9l cHUzMl9tYXNrIChfX21tYXNrOCBfX00sIF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7Cisr ICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wZDI1Nl9tYXNrICgoX192OHNp KSBfX1gsCisrCQkJCQkJICAoX192OHNpKSBfX1ksIDUsCisrCQkJCQkJICAoX19tbWFzazgpIF9f TSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAo KF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19t bTI1Nl9jbXBnZV9lcHUzMl9tYXNrIChfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisreworKyAg cmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcGQyNTZfbWFzayAoKF9fdjhzaSkg X19YLAorKwkJCQkJCSAgKF9fdjhzaSkgX19ZLCA1LAorKwkJCQkJCSAgKF9fbW1hc2s4KSAtMSk7 CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9f Z251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbTI1 Nl9tYXNrX2NtcGxlX2VwdTMyX21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMjU2aSBfX1gsIF9fbTI1 NmkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBkMjU2 X21hc2sgKChfX3Y4c2kpIF9fWCwKKysJCQkJCQkgIChfX3Y4c2kpIF9fWSwgMiwKKysJCQkJCQkg IChfX21tYXNrOCkgX19NKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBf X2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlm aWNpYWxfXykpCisrX21tMjU2X2NtcGxlX2VwdTMyX21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZp IF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wZDI1Nl9t YXNrICgoX192OHNpKSBfX1gsCisrCQkJCQkJICAoX192OHNpKSBfX1ksIDIsCisrCQkJCQkJICAo X19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0 dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNp YWxfXykpCisrX21tMjU2X21hc2tfY21wbmVxX2VwdTY0X21hc2sgKF9fbW1hc2s4IF9fTSwgX19t MjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRp bl9pYTMyX3VjbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwKKysJCQkJCQkgIChfX3Y0ZGkpIF9f WSwgNCwKKysJCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5l IF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lu bGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tMjU2X2NtcG5lcV9lcHU2NF9tYXNrIChfX20y NTZpIF9fWCwgX19tMjU2aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGlu X2lhMzJfdWNtcHEyNTZfbWFzayAoKF9fdjRkaSkgX19YLAorKwkJCQkJCSAgKF9fdjRkaSkgX19Z LCA0LAorKwkJCQkJCSAgKF9fbW1hc2s4KSAtMSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBf X21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxp bmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbTI1Nl9tYXNrX2NtcGx0X2VwdTY0X21hc2sgKF9f bW1hc2s4IF9fTSwgX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysgIHJldHVybiAoX19t bWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwKKysJCQkJ CQkgIChfX3Y0ZGkpIF9fWSwgMSwKKysJCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKyt9CisrCisr ZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5l X18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tMjU2X2NtcGx0X2Vw dTY0X21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1h c2s4KSBfX2J1aWx0aW5faWEzMl91Y21wcTI1Nl9tYXNrICgoX192NGRpKSBfX1gsCisrCQkJCQkJ ICAoX192NGRpKSBfX1ksIDEsCisrCQkJCQkJICAoX19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0 ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18s IF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tMjU2X21hc2tfY21wZ2Vf ZXB1NjRfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisrewor KyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcHEyNTZfbWFzayAoKF9fdjRk aSkgX19YLAorKwkJCQkJCSAgKF9fdjRkaSkgX19ZLCA1LAorKwkJCQkJCSAgKF9fbW1hc2s4KSBf X00pOworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18g KChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytf bW0yNTZfY21wZ2VfZXB1NjRfbWFzayAoX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysg IHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBxMjU2X21hc2sgKChfX3Y0ZGkp IF9fWCwKKysJCQkJCQkgIChfX3Y0ZGkpIF9fWSwgNSwKKysJCQkJCQkgIChfX21tYXNrOCkgLTEp OworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChf X2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW0y NTZfbWFza19jbXBsZV9lcHU2NF9tYXNrIChfX21tYXNrOCBfX00sIF9fbTI1NmkgX19YLCBfX20y NTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wcTI1 Nl9tYXNrICgoX192NGRpKSBfX1gsCisrCQkJCQkJICAoX192NGRpKSBfX1ksIDIsCisrCQkJCQkJ ICAoX19tbWFzazgpIF9fTSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAg X19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRp ZmljaWFsX18pKQorK19tbTI1Nl9jbXBsZV9lcHU2NF9tYXNrIChfX20yNTZpIF9fWCwgX19tMjU2 aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcHEyNTZf bWFzayAoKF9fdjRkaSkgX19YLAorKwkJCQkJCSAgKF9fdjRkaSkgX19ZLCAyLAorKwkJCQkJCSAg KF9fbW1hc2s4KSAtMSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19h dHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmlj aWFsX18pKQorK19tbTI1Nl9tYXNrX2NtcG5lcV9lcGkzMl9tYXNrIChfX21tYXNrOCBfX00sIF9f bTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0 aW5faWEzMl9jbXBkMjU2X21hc2sgKChfX3Y4c2kpIF9fWCwKKysJCQkJCQkgKF9fdjhzaSkgX19Z LCA0LAorKwkJCQkJCSAoX19tbWFzazgpIF9fTSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBf X21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxp bmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbTI1Nl9jbXBuZXFfZXBpMzJfbWFzayAoX19tMjU2 aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9p YTMyX2NtcGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAorKwkJCQkJCSAoX192OHNpKSBfX1ksIDQs CisrCQkJCQkJIChfX21tYXNrOCkgLTEpOworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFz azgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18s IF9fYXJ0aWZpY2lhbF9fKSkKKytfbW0yNTZfbWFza19jbXBsdF9lcGkzMl9tYXNrIChfX21tYXNr OCBfX00sIF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4 KSBfX2J1aWx0aW5faWEzMl9jbXBkMjU2X21hc2sgKChfX3Y4c2kpIF9fWCwKKysJCQkJCQkgKF9f djhzaSkgX19ZLCAxLAorKwkJCQkJCSAoX19tbWFzazgpIF9fTSk7CisrfQorKworK2V4dGVybiBf X2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fs d2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbTI1Nl9jbXBsdF9lcGkzMl9tYXNr IChfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19i dWlsdGluX2lhMzJfY21wZDI1Nl9tYXNrICgoX192OHNpKSBfX1gsCisrCQkJCQkJIChfX3Y4c2kp IF9fWSwgMSwKKysJCQkJCQkgKF9fbW1hc2s4KSAtMSk7CisrfQorKworK2V4dGVybiBfX2lubGlu ZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19p bmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbTI1Nl9tYXNrX2NtcGdlX2VwaTMyX21hc2sg KF9fbW1hc2s4IF9fTSwgX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysgIHJldHVybiAo X19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAorKwkJ CQkJCSAoX192OHNpKSBfX1ksIDUsCisrCQkJCQkJIChfX21tYXNrOCkgX19NKTsKKyt9CisrCisr ZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5l X18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tMjU2X2NtcGdlX2Vw aTMyX21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1h c2s4KSBfX2J1aWx0aW5faWEzMl9jbXBkMjU2X21hc2sgKChfX3Y4c2kpIF9fWCwKKysJCQkJCQkg KF9fdjhzaSkgX19ZLCA1LAorKwkJCQkJCSAoX19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0ZXJu IF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9f YWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tMjU2X21hc2tfY21wbGVfZXBp MzJfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisreworKyAg cmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wZDI1Nl9tYXNrICgoX192OHNpKSBf X1gsCisrCQkJCQkJIChfX3Y4c2kpIF9fWSwgMiwKKysJCQkJCQkgKF9fbW1hc2s4KSBfX00pOwor K30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2du dV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW0yNTZf Y21wbGVfZXBpMzJfbWFzayAoX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysgIHJldHVy biAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAor KwkJCQkJCSAoX192OHNpKSBfX1ksIDIsCisrCQkJCQkJIChfX21tYXNrOCkgLTEpOworK30KKysK KytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxp bmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW0yNTZfbWFza19j bXBuZXFfZXBpNjRfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kp CisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wcTI1Nl9tYXNrICgo X192NGRpKSBfX1gsCisrCQkJCQkJIChfX3Y0ZGkpIF9fWSwgNCwKKysJCQkJCQkgKF9fbW1hc2s4 KSBfX00pOworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRl X18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkK KytfbW0yNTZfY21wbmVxX2VwaTY0X21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7 CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBxMjU2X21hc2sgKChfX3Y0 ZGkpIF9fWCwKKysJCQkJCQkgKF9fdjRkaSkgX19ZLCA0LAorKwkJCQkJCSAoX19tbWFzazgpIC0x KTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgo X19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21t MjU2X21hc2tfY21wbHRfZXBpNjRfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZpIF9fWCwgX19t MjU2aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wcTI1 Nl9tYXNrICgoX192NGRpKSBfX1gsCisrCQkJCQkJIChfX3Y0ZGkpIF9fWSwgMSwKKysJCQkJCQkg KF9fbW1hc2s4KSBfX00pOworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9f YXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZp Y2lhbF9fKSkKKytfbW0yNTZfY21wbHRfZXBpNjRfbWFzayAoX19tMjU2aSBfX1gsIF9fbTI1Nmkg X19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcHEyNTZfbWFz ayAoKF9fdjRkaSkgX19YLAorKwkJCQkJCSAoX192NGRpKSBfX1ksIDEsCisrCQkJCQkJIChfX21t YXNrOCkgLTEpOworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmli dXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9f KSkKKytfbW0yNTZfbWFza19jbXBnZV9lcGk2NF9tYXNrIChfX21tYXNrOCBfX00sIF9fbTI1Nmkg X19YLCBfX20yNTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEz Ml9jbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwKKysJCQkJCQkgKF9fdjRkaSkgX19ZLCA1LAor KwkJCQkJCSAoX19tbWFzazgpIF9fTSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNr OAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywg X19hcnRpZmljaWFsX18pKQorK19tbTI1Nl9jbXBnZV9lcGk2NF9tYXNrIChfX20yNTZpIF9fWCwg X19tMjU2aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21w cTI1Nl9tYXNrICgoX192NGRpKSBfX1gsCisrCQkJCQkJIChfX3Y0ZGkpIF9fWSwgNSwKKysJCQkJ CQkgKF9fbW1hc2s4KSAtMSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAg X19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRp ZmljaWFsX18pKQorK19tbTI1Nl9tYXNrX2NtcGxlX2VwaTY0X21hc2sgKF9fbW1hc2s4IF9fTSwg X19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVp bHRpbl9pYTMyX2NtcHEyNTZfbWFzayAoKF9fdjRkaSkgX19YLAorKwkJCQkJCSAoX192NGRpKSBf X1ksIDIsCisrCQkJCQkJIChfX21tYXNrOCkgX19NKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5l IF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lu bGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tMjU2X2NtcGxlX2VwaTY0X21hc2sgKF9fbTI1 NmkgX19YLCBfX20yNTZpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5f aWEzMl9jbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwKKysJCQkJCQkgKF9fdjRkaSkgX19ZLCAy LAorKwkJCQkJCSAoX19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1h c2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9f LCBfX2FydGlmaWNpYWxfXykpCisrX21tX21hc2tfY21wbmVxX2VwdTMyX21hc2sgKF9fbW1hc2s4 IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgp IF9fYnVpbHRpbl9pYTMyX3VjbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKysJCQkJCQkgIChf X3Y0c2kpIF9fWSwgNCwKKysJCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKyt9CisrCisrZXh0ZXJu IF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9f YWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX2NtcG5lcV9lcHUzMl9tYXNr IChfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19i dWlsdGluX2lhMzJfdWNtcGQxMjhfbWFzayAoKF9fdjRzaSkgX19YLAorKwkJCQkJCSAgKF9fdjRz aSkgX19ZLCA0LAorKwkJCQkJCSAgKF9fbW1hc2s4KSAtMSk7CisrfQorKworK2V4dGVybiBfX2lu bGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5 c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbV9tYXNrX2NtcGx0X2VwdTMyX21hc2sg KF9fbW1hc2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysgIHJldHVybiAo X19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKysJ CQkJCQkgIChfX3Y0c2kpIF9fWSwgMSwKKysJCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKyt9Cisr CisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5s aW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX2NtcGx0X2Vw dTMyX21hc2sgKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1h c2s4KSBfX2J1aWx0aW5faWEzMl91Y21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gsCisrCQkJCQkJ ICAoX192NHNpKSBfX1ksIDEsCisrCQkJCQkJICAoX19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0 ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18s IF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX21hc2tfY21wZ2VfZXB1 MzJfbWFzayAoX19tbWFzazggX19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisreworKyAg cmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcGQxMjhfbWFzayAoKF9fdjRzaSkg X19YLAorKwkJCQkJCSAgKF9fdjRzaSkgX19ZLCA1LAorKwkJCQkJCSAgKF9fbW1hc2s4KSBfX00p OworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChf X2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1f Y21wZ2VfZXB1MzJfbWFzayAoX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysgIHJldHVy biAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwK KysJCQkJCQkgIChfX3Y0c2kpIF9fWSwgNSwKKysJCQkJCQkgIChfX21tYXNrOCkgLTEpOworK30K KysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9p bmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1fbWFza19j bXBsZV9lcHUzMl9tYXNrIChfX21tYXNrOCBfX00sIF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkK Kyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wZDEyOF9tYXNrICgo X192NHNpKSBfX1gsCisrCQkJCQkJICAoX192NHNpKSBfX1ksIDIsCisrCQkJCQkJICAoX19tbWFz azgpIF9fTSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1 dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18p KQorK19tbV9jbXBsZV9lcHUzMl9tYXNrIChfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisrewor KyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcGQxMjhfbWFzayAoKF9fdjRz aSkgX19YLAorKwkJCQkJCSAgKF9fdjRzaSkgX19ZLCAyLAorKwkJCQkJCSAgKF9fbW1hc2s4KSAt MSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAo KF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19t bV9tYXNrX2NtcG5lcV9lcHU2NF9tYXNrIChfX21tYXNrOCBfX00sIF9fbTEyOGkgX19YLCBfX20x MjhpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wcTEy OF9tYXNrICgoX192MmRpKSBfX1gsCisrCQkJCQkJICAoX192MmRpKSBfX1ksIDQsCisrCQkJCQkJ ICAoX19tbWFzazgpIF9fTSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAg X19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRp ZmljaWFsX18pKQorK19tbV9jbXBuZXFfZXB1NjRfbWFzayAoX19tMTI4aSBfX1gsIF9fbTEyOGkg X19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBxMTI4X21h c2sgKChfX3YyZGkpIF9fWCwKKysJCQkJCQkgIChfX3YyZGkpIF9fWSwgNCwKKysJCQkJCQkgIChf X21tYXNrOCkgLTEpOworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0 cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lh bF9fKSkKKytfbW1fbWFza19jbXBsdF9lcHU2NF9tYXNrIChfX21tYXNrOCBfX00sIF9fbTEyOGkg X19YLCBfX20xMjhpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEz Ml91Y21wcTEyOF9tYXNrICgoX192MmRpKSBfX1gsCisrCQkJCQkJICAoX192MmRpKSBfX1ksIDEs CisrCQkJCQkJICAoX19tbWFzazgpIF9fTSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21t YXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVf XywgX19hcnRpZmljaWFsX18pKQorK19tbV9jbXBsdF9lcHU2NF9tYXNrIChfX20xMjhpIF9fWCwg X19tMTI4aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNt cHExMjhfbWFzayAoKF9fdjJkaSkgX19YLAorKwkJCQkJCSAgKF9fdjJkaSkgX19ZLCAxLAorKwkJ CQkJCSAgKF9fbW1hc2s4KSAtMSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAor KyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19h cnRpZmljaWFsX18pKQorK19tbV9tYXNrX2NtcGdlX2VwdTY0X21hc2sgKF9fbW1hc2s4IF9fTSwg X19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVp bHRpbl9pYTMyX3VjbXBxMTI4X21hc2sgKChfX3YyZGkpIF9fWCwKKysJCQkJCQkgIChfX3YyZGkp IF9fWSwgNSwKKysJCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKyt9CisrCisrZXh0ZXJuIF9faW5s aW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlz X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX2NtcGdlX2VwdTY0X21hc2sgKF9fbTEy OGkgX19YLCBfX20xMjhpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5f aWEzMl91Y21wcTEyOF9tYXNrICgoX192MmRpKSBfX1gsCisrCQkJCQkJICAoX192MmRpKSBfX1ks IDUsCisrCQkJCQkJICAoX19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9f bW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGlu ZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX21hc2tfY21wbGVfZXB1NjRfbWFzayAoX19tbWFz azggX19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisreworKyAgcmV0dXJuIChfX21tYXNr OCkgX19idWlsdGluX2lhMzJfdWNtcHExMjhfbWFzayAoKF9fdjJkaSkgX19YLAorKwkJCQkJCSAg KF9fdjJkaSkgX19ZLCAyLAorKwkJCQkJCSAgKF9fbW1hc2s4KSBfX00pOworK30KKysKKytleHRl cm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywg X19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1fY21wbGVfZXB1NjRfbWFz ayAoX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysgIHJldHVybiAoX19tbWFzazgpIF9f YnVpbHRpbl9pYTMyX3VjbXBxMTI4X21hc2sgKChfX3YyZGkpIF9fWCwKKysJCQkJCQkgIChfX3Yy ZGkpIF9fWSwgMiwKKysJCQkJCQkgIChfX21tYXNrOCkgLTEpOworK30KKysKKytleHRlcm4gX19p bmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdh eXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1fbWFza19jbXBuZXFfZXBpMzJfbWFz ayAoX19tbWFzazggX19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisreworKyAgcmV0dXJu IChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gsCisr CQkJCQkJIChfX3Y0c2kpIF9fWSwgNCwKKysJCQkJCQkgKF9fbW1hc2s4KSBfX00pOworK30KKysK KytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxp bmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1fY21wbmVxX2Vw aTMyX21hc2sgKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKyt7CisrICByZXR1cm4gKF9fbW1h c2s4KSBfX2J1aWx0aW5faWEzMl9jbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKysJCQkJCQkg KF9fdjRzaSkgX19ZLCA0LAorKwkJCQkJCSAoX19tbWFzazgpIC0xKTsKKyt9CisrCisrZXh0ZXJu IF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9f YWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX21hc2tfY21wbHRfZXBpMzJf bWFzayAoX19tbWFzazggX19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisreworKyAgcmV0 dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gs CisrCQkJCQkJIChfX3Y0c2kpIF9fWSwgMSwKKysJCQkJCQkgKF9fbW1hc2s4KSBfX00pOworK30K KysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9p bmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1fY21wbHRf ZXBpMzJfbWFzayAoX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysgIHJldHVybiAoX19t bWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcGQxMjhfbWFzayAoKF9fdjRzaSkgX19YLAorKwkJCQkJ CSAoX192NHNpKSBfX1ksIDEsCisrCQkJCQkJIChfX21tYXNrOCkgLTEpOworK30KKysKKytleHRl cm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywg X19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1fbWFza19jbXBnZV9lcGkz Ml9tYXNrIChfX21tYXNrOCBfX00sIF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKyt7CisrICBy ZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9f WCwKKysJCQkJCQkgKF9fdjRzaSkgX19ZLCA1LAorKwkJCQkJCSAoX19tbWFzazgpIF9fTSk7Cisr fQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251 X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbV9jbXBn ZV9lcGkzMl9tYXNrIChfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisreworKyAgcmV0dXJuIChf X21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gsCisrCQkJ CQkJIChfX3Y0c2kpIF9fWSwgNSwKKysJCQkJCQkgKF9fbW1hc2s4KSAtMSk7CisrfQorKworK2V4 dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9f LCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbV9tYXNrX2NtcGxlX2Vw aTMyX21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysg IHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcGQxMjhfbWFzayAoKF9fdjRzaSkg X19YLAorKwkJCQkJCSAoX192NHNpKSBfX1ksIDIsCisrCQkJCQkJIChfX21tYXNrOCkgX19NKTsK Kyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19n bnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX2Nt cGxlX2VwaTMyX21hc2sgKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKyt7CisrICByZXR1cm4g KF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKysJ CQkJCQkgKF9fdjRzaSkgX19ZLCAyLAorKwkJCQkJCSAoX19tbWFzazgpIC0xKTsKKyt9CisrCisr ZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5l X18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX21hc2tfY21wbmVx X2VwaTY0X21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sK KysgIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcHExMjhfbWFzayAoKF9fdjJk aSkgX19YLAorKwkJCQkJCSAoX192MmRpKSBfX1ksIDQsCisrCQkJCQkJIChfX21tYXNrOCkgX19N KTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgo X19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21t X2NtcG5lcV9lcGk2NF9tYXNrIChfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisreworKyAgcmV0 dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wcTEyOF9tYXNrICgoX192MmRpKSBfX1gs CisrCQkJCQkJIChfX3YyZGkpIF9fWSwgNCwKKysJCQkJCQkgKF9fbW1hc2s4KSAtMSk7CisrfQor KworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lu bGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorK19tbV9tYXNrX2Nt cGx0X2VwaTY0X21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQor K3sKKysgIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcHExMjhfbWFzayAoKF9f djJkaSkgX19YLAorKwkJCQkJCSAoX192MmRpKSBfX1ksIDEsCisrCQkJCQkJIChfX21tYXNrOCkg X19NKTsKKyt9CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9f ICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisr X21tX2NtcGx0X2VwaTY0X21hc2sgKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKyt7CisrICBy ZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBxMTI4X21hc2sgKChfX3YyZGkpIF9f WCwKKysJCQkJCQkgKF9fdjJkaSkgX19ZLCAxLAorKwkJCQkJCSAoX19tbWFzazgpIC0xKTsKKyt9 CisrCisrZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CisrICBfX2F0dHJpYnV0ZV9fICgoX19nbnVf aW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCisrX21tX21hc2tf Y21wZ2VfZXBpNjRfbWFzayAoX19tbWFzazggX19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kp CisreworKyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wcTEyOF9tYXNrICgo X192MmRpKSBfX1gsCisrCQkJCQkJIChfX3YyZGkpIF9fWSwgNSwKKysJCQkJCQkgKF9fbW1hc2s4 KSBfX00pOworK30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRl X18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkK KytfbW1fY21wZ2VfZXBpNjRfbWFzayAoX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorK3sKKysg IHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcHExMjhfbWFzayAoKF9fdjJkaSkg X19YLAorKwkJCQkJCSAoX192MmRpKSBfX1ksIDUsCisrCQkJCQkJIChfX21tYXNrOCkgLTEpOwor K30KKysKKytleHRlcm4gX19pbmxpbmUgX19tbWFzazgKKysgIF9fYXR0cmlidXRlX18gKChfX2du dV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKytfbW1fbWFz a19jbXBsZV9lcGk2NF9tYXNrIChfX21tYXNrOCBfX00sIF9fbTEyOGkgX19YLCBfX20xMjhpIF9f WSkKKyt7CisrICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBxMTI4X21hc2sg KChfX3YyZGkpIF9fWCwKKysJCQkJCQkgKF9fdjJkaSkgX19ZLCAyLAorKwkJCQkJCSAoX19tbWFz azgpIF9fTSk7CisrfQorKworK2V4dGVybiBfX2lubGluZSBfX21tYXNrOAorKyAgX19hdHRyaWJ1 dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18p KQorK19tbV9jbXBsZV9lcGk2NF9tYXNrIChfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisrewor KyAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wcTEyOF9tYXNrICgoX192MmRp KSBfX1gsCisrCQkJCQkJIChfX3YyZGkpIF9fWSwgMiwKKysJCQkJCQkgKF9fbW1hc2s4KSAtMSk7 CisrfQorKworICNpZmRlZiBfX09QVElNSVpFX18KKyBleHRlcm4gX19pbmxpbmUgX19tMjU2aQor IF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0 aWZpY2lhbF9fKSkKK0BAIC0xMTc4NCw1ODIgKzEyMzYwLDYgQEAgX21tMjU2X3Blcm11dGV4X3Bk IChfX20yNTZkIF9fWCwgY29uc3QgaQorIAkJCQkJCSAgKF9fbW1hc2s4KSAtMSk7CisgfQorIAor LWV4dGVybiBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGlu ZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9tYXNrX2Nt cG5lcV9lcHUzMl9tYXNrIChfX21tYXNrOCBfX00sIF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkK Ky17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wZDI1Nl9tYXNrICgo X192OHNpKSBfX1gsCistCQkJCQkJICAoX192OHNpKSBfX1ksIDQsCistCQkJCQkJICAoX19tbWFz azgpIF9fTSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1 dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18p KQorLV9tbTI1Nl9jbXBuZXFfZXB1MzJfbWFzayAoX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQor LXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBkMjU2X21hc2sgKChf X3Y4c2kpIF9fWCwKKy0JCQkJCQkgIChfX3Y4c2kpIF9fWSwgNCwKKy0JCQkJCQkgIChfX21tYXNr OCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRl X18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkK Ky1fbW0yNTZfbWFza19jbXBsdF9lcHUzMl9tYXNrIChfX21tYXNrOCBfX00sIF9fbTI1NmkgX19Y LCBfX20yNTZpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91 Y21wZDI1Nl9tYXNrICgoX192OHNpKSBfX1gsCistCQkJCQkJICAoX192OHNpKSBfX1ksIDEsCist CQkJCQkJICAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21tYXNr OAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywg X19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9jbXBsdF9lcHUzMl9tYXNrIChfX20yNTZpIF9fWCwg X19tMjU2aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNt cGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAorLQkJCQkJCSAgKF9fdjhzaSkgX19ZLCAxLAorLQkJ CQkJCSAgKF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21tYXNrOAor LSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19h cnRpZmljaWFsX18pKQorLV9tbTI1Nl9tYXNrX2NtcGdlX2VwdTMyX21hc2sgKF9fbW1hc2s4IF9f TSwgX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9f YnVpbHRpbl9pYTMyX3VjbXBkMjU2X21hc2sgKChfX3Y4c2kpIF9fWCwKKy0JCQkJCQkgIChfX3Y4 c2kpIF9fWSwgNSwKKy0JCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKy19CistCistZXh0ZXJuIF9f aW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3 YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tMjU2X2NtcGdlX2VwdTMyX21hc2sg KF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1 aWx0aW5faWEzMl91Y21wZDI1Nl9tYXNrICgoX192OHNpKSBfX1gsCistCQkJCQkJICAoX192OHNp KSBfX1ksIDUsCistCQkJCQkJICAoX19tbWFzazgpIC0xKTsKKy19CistCistZXh0ZXJuIF9faW5s aW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlz X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tMjU2X21hc2tfY21wbGVfZXB1MzJfbWFz ayAoX19tbWFzazggX19NLCBfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisteworLSAgcmV0dXJu IChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAor LQkJCQkJCSAgKF9fdjhzaSkgX19ZLCAyLAorLQkJCQkJCSAgKF9fbW1hc2s4KSBfX00pOworLX0K Ky0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9p bmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW0yNTZfY21w bGVfZXB1MzJfbWFzayAoX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorLXsKKy0gIHJldHVybiAo X19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBkMjU2X21hc2sgKChfX3Y4c2kpIF9fWCwKKy0J CQkJCQkgIChfX3Y4c2kpIF9fWSwgMiwKKy0JCQkJCQkgIChfX21tYXNrOCkgLTEpOworLX0KKy0K Ky1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxp bmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW0yNTZfbWFza19j bXBuZXFfZXB1NjRfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kp CisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcHEyNTZfbWFzayAo KF9fdjRkaSkgX19YLAorLQkJCQkJCSAgKF9fdjRkaSkgX19ZLCA0LAorLQkJCQkJCSAgKF9fbW1h c2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmli dXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9f KSkKKy1fbW0yNTZfY21wbmVxX2VwdTY0X21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkK Ky17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wcTI1Nl9tYXNrICgo X192NGRpKSBfX1gsCistCQkJCQkJICAoX192NGRpKSBfX1ksIDQsCistCQkJCQkJICAoX19tbWFz azgpIC0xKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0 ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykp CistX21tMjU2X21hc2tfY21wbHRfZXB1NjRfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZpIF9f WCwgX19tMjU2aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJf dWNtcHEyNTZfbWFzayAoKF9fdjRkaSkgX19YLAorLQkJCQkJCSAgKF9fdjRkaSkgX19ZLCAxLAor LQkJCQkJCSAgKF9fbW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFz azgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18s IF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW0yNTZfY21wbHRfZXB1NjRfbWFzayAoX19tMjU2aSBfX1gs IF9fbTI1NmkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3Vj bXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwKKy0JCQkJCQkgIChfX3Y0ZGkpIF9fWSwgMSwKKy0J CQkJCQkgIChfX21tYXNrOCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgK Ky0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9f YXJ0aWZpY2lhbF9fKSkKKy1fbW0yNTZfbWFza19jbXBnZV9lcHU2NF9tYXNrIChfX21tYXNrOCBf X00sIF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBf X2J1aWx0aW5faWEzMl91Y21wcTI1Nl9tYXNrICgoX192NGRpKSBfX1gsCistCQkJCQkJICAoX192 NGRpKSBfX1ksIDUsCistCQkJCQkJICAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVybiBf X2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fs d2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9jbXBnZV9lcHU2NF9tYXNr IChfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19i dWlsdGluX2lhMzJfdWNtcHEyNTZfbWFzayAoKF9fdjRkaSkgX19YLAorLQkJCQkJCSAgKF9fdjRk aSkgX19ZLCA1LAorLQkJCQkJCSAgKF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4dGVybiBfX2lu bGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5 c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9tYXNrX2NtcGxlX2VwdTY0X21h c2sgKF9fbW1hc2s4IF9fTSwgX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorLXsKKy0gIHJldHVy biAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwK Ky0JCQkJCQkgIChfX3Y0ZGkpIF9fWSwgMiwKKy0JCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKy19 CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVf aW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tMjU2X2Nt cGxlX2VwdTY0X21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKy17CistICByZXR1cm4g KF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wcTI1Nl9tYXNrICgoX192NGRpKSBfX1gsCist CQkJCQkJICAoX192NGRpKSBfX1ksIDIsCistCQkJCQkJICAoX19tbWFzazgpIC0xKTsKKy19Cist CistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5s aW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tMjU2X21hc2tf Y21wbmVxX2VwaTMyX21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMjU2aSBfX1gsIF9fbTI1NmkgX19Z KQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcGQyNTZfbWFzayAo KF9fdjhzaSkgX19YLAorLQkJCQkJCSAoX192OHNpKSBfX1ksIDQsCistCQkJCQkJIChfX21tYXNr OCkgX19NKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0 ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykp CistX21tMjU2X2NtcG5lcV9lcGkzMl9tYXNrIChfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCist eworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wZDI1Nl9tYXNrICgoX192 OHNpKSBfX1gsCistCQkJCQkJIChfX3Y4c2kpIF9fWSwgNCwKKy0JCQkJCQkgKF9fbW1hc2s4KSAt MSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAo KF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9t bTI1Nl9tYXNrX2NtcGx0X2VwaTMyX21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMjU2aSBfX1gsIF9f bTI1NmkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcGQy NTZfbWFzayAoKF9fdjhzaSkgX19YLAorLQkJCQkJCSAoX192OHNpKSBfX1ksIDEsCistCQkJCQkJ IChfX21tYXNrOCkgX19NKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBf X2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlm aWNpYWxfXykpCistX21tMjU2X2NtcGx0X2VwaTMyX21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZp IF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBkMjU2X21h c2sgKChfX3Y4c2kpIF9fWCwKKy0JCQkJCQkgKF9fdjhzaSkgX19ZLCAxLAorLQkJCQkJCSAoX19t bWFzazgpIC0xKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJp YnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxf XykpCistX21tMjU2X21hc2tfY21wZ2VfZXBpMzJfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZp IF9fWCwgX19tMjU2aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lh MzJfY21wZDI1Nl9tYXNrICgoX192OHNpKSBfX1gsCistCQkJCQkJIChfX3Y4c2kpIF9fWSwgNSwK Ky0JCQkJCQkgKF9fbW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFz azgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18s IF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW0yNTZfY21wZ2VfZXBpMzJfbWFzayAoX19tMjU2aSBfX1gs IF9fbTI1NmkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2Nt cGQyNTZfbWFzayAoKF9fdjhzaSkgX19YLAorLQkJCQkJCSAoX192OHNpKSBfX1ksIDUsCistCQkJ CQkJIChfX21tYXNrOCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0g IF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0 aWZpY2lhbF9fKSkKKy1fbW0yNTZfbWFza19jbXBsZV9lcGkzMl9tYXNrIChfX21tYXNrOCBfX00s IF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1 aWx0aW5faWEzMl9jbXBkMjU2X21hc2sgKChfX3Y4c2kpIF9fWCwKKy0JCQkJCQkgKF9fdjhzaSkg X19ZLCAyLAorLQkJCQkJCSAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVybiBfX2lubGlu ZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19p bmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9jbXBsZV9lcGkzMl9tYXNrIChfX20y NTZpIF9fWCwgX19tMjU2aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGlu X2lhMzJfY21wZDI1Nl9tYXNrICgoX192OHNpKSBfX1gsCistCQkJCQkJIChfX3Y4c2kpIF9fWSwg MiwKKy0JCQkJCQkgKF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21t YXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVf XywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9tYXNrX2NtcG5lcV9lcGk2NF9tYXNrIChfX21t YXNrOCBfX00sIF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1h c2s4KSBfX2J1aWx0aW5faWEzMl9jbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwKKy0JCQkJCQkg KF9fdjRkaSkgX19ZLCA0LAorLQkJCQkJCSAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVy biBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBf X2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9jbXBuZXFfZXBpNjRf bWFzayAoX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgp IF9fYnVpbHRpbl9pYTMyX2NtcHEyNTZfbWFzayAoKF9fdjRkaSkgX19YLAorLQkJCQkJCSAoX192 NGRpKSBfX1ksIDQsCistCQkJCQkJIChfX21tYXNrOCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19p bmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdh eXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW0yNTZfbWFza19jbXBsdF9lcGk2NF9t YXNrIChfX21tYXNrOCBfX00sIF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKy17CistICByZXR1 cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9fWCwK Ky0JCQkJCQkgKF9fdjRkaSkgX19ZLCAxLAorLQkJCQkJCSAoX19tbWFzazgpIF9fTSk7CistfQor LQorLWV4dGVybiBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lu bGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9jbXBs dF9lcGk2NF9tYXNrIChfX20yNTZpIF9fWCwgX19tMjU2aSBfX1kpCisteworLSAgcmV0dXJuIChf X21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wcTI1Nl9tYXNrICgoX192NGRpKSBfX1gsCistCQkJ CQkJIChfX3Y0ZGkpIF9fWSwgMSwKKy0JCQkJCQkgKF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4 dGVybiBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9f LCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbTI1Nl9tYXNrX2NtcGdl X2VwaTY0X21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQorLXsK Ky0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcHEyNTZfbWFzayAoKF9fdjRk aSkgX19YLAorLQkJCQkJCSAoX192NGRpKSBfX1ksIDUsCistCQkJCQkJIChfX21tYXNrOCkgX19N KTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgo X19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21t MjU2X2NtcGdlX2VwaTY0X21hc2sgKF9fbTI1NmkgX19YLCBfX20yNTZpIF9fWSkKKy17CistICBy ZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl9jbXBxMjU2X21hc2sgKChfX3Y0ZGkpIF9f WCwKKy0JCQkJCQkgKF9fdjRkaSkgX19ZLCA1LAorLQkJCQkJCSAoX19tbWFzazgpIC0xKTsKKy19 CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVf aW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tMjU2X21h c2tfY21wbGVfZXBpNjRfbWFzayAoX19tbWFzazggX19NLCBfX20yNTZpIF9fWCwgX19tMjU2aSBf X1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfY21wcTI1Nl9tYXNr ICgoX192NGRpKSBfX1gsCistCQkJCQkJIChfX3Y0ZGkpIF9fWSwgMiwKKy0JCQkJCQkgKF9fbW1h c2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmli dXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9f KSkKKy1fbW0yNTZfY21wbGVfZXBpNjRfbWFzayAoX19tMjU2aSBfX1gsIF9fbTI1NmkgX19ZKQor LXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcHEyNTZfbWFzayAoKF9f djRkaSkgX19YLAorLQkJCQkJCSAoX192NGRpKSBfX1ksIDIsCistCQkJCQkJIChfX21tYXNrOCkg LTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18g KChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1f bW1fbWFza19jbXBuZXFfZXB1MzJfbWFzayAoX19tbWFzazggX19NLCBfX20xMjhpIF9fWCwgX19t MTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcGQx MjhfbWFzayAoKF9fdjRzaSkgX19YLAorLQkJCQkJCSAgKF9fdjRzaSkgX19ZLCA0LAorLQkJCQkJ CSAgKF9fbW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0g IF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0 aWZpY2lhbF9fKSkKKy1fbW1fY21wbmVxX2VwdTMyX21hc2sgKF9fbTEyOGkgX19YLCBfX20xMjhp IF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wZDEyOF9t YXNrICgoX192NHNpKSBfX1gsCistCQkJCQkJICAoX192NHNpKSBfX1ksIDQsCistCQkJCQkJICAo X19tbWFzazgpIC0xKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0 dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNp YWxfXykpCistX21tX21hc2tfY21wbHRfZXB1MzJfbWFzayAoX19tbWFzazggX19NLCBfX20xMjhp IF9fWCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lh MzJfdWNtcGQxMjhfbWFzayAoKF9fdjRzaSkgX19YLAorLQkJCQkJCSAgKF9fdjRzaSkgX19ZLCAx LAorLQkJCQkJCSAgKF9fbW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19t bWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5l X18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW1fY21wbHRfZXB1MzJfbWFzayAoX19tMTI4aSBfX1gs IF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3Vj bXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKy0JCQkJCQkgIChfX3Y0c2kpIF9fWSwgMSwKKy0J CQkJCQkgIChfX21tYXNrOCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgK Ky0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9f YXJ0aWZpY2lhbF9fKSkKKy1fbW1fbWFza19jbXBnZV9lcHUzMl9tYXNrIChfX21tYXNrOCBfX00s IF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1 aWx0aW5faWEzMl91Y21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gsCistCQkJCQkJICAoX192NHNp KSBfX1ksIDUsCistCQkJCQkJICAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVybiBfX2lu bGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5 c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbV9jbXBnZV9lcHUzMl9tYXNrIChfX20x MjhpIF9fWCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGlu X2lhMzJfdWNtcGQxMjhfbWFzayAoKF9fdjRzaSkgX19YLAorLQkJCQkJCSAgKF9fdjRzaSkgX19Z LCA1LAorLQkJCQkJCSAgKF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBf X21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxp bmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbV9tYXNrX2NtcGxlX2VwdTMyX21hc2sgKF9fbW1h c2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFz azgpIF9fYnVpbHRpbl9pYTMyX3VjbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKy0JCQkJCQkg IChfX3Y0c2kpIF9fWSwgMiwKKy0JCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKy19CistCistZXh0 ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18s IF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tX2NtcGxlX2VwdTMyX21h c2sgKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBf X2J1aWx0aW5faWEzMl91Y21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gsCistCQkJCQkJICAoX192 NHNpKSBfX1ksIDIsCistCQkJCQkJICAoX19tbWFzazgpIC0xKTsKKy19CistCistZXh0ZXJuIF9f aW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3 YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tX21hc2tfY21wbmVxX2VwdTY0X21h c2sgKF9fbW1hc2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVy biAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBxMTI4X21hc2sgKChfX3YyZGkpIF9fWCwK Ky0JCQkJCQkgIChfX3YyZGkpIF9fWSwgNCwKKy0JCQkJCQkgIChfX21tYXNrOCkgX19NKTsKKy19 CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVf aW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tX2NtcG5l cV9lcHU2NF9tYXNrIChfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChf X21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcHExMjhfbWFzayAoKF9fdjJkaSkgX19YLAorLQkJ CQkJCSAgKF9fdjJkaSkgX19ZLCA0LAorLQkJCQkJCSAgKF9fbW1hc2s4KSAtMSk7CistfQorLQor LWV4dGVybiBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGlu ZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbV9tYXNrX2NtcGx0 X2VwdTY0X21hc2sgKF9fbW1hc2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorLXsK Ky0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBxMTI4X21hc2sgKChfX3Yy ZGkpIF9fWCwKKy0JCQkJCQkgIChfX3YyZGkpIF9fWSwgMSwKKy0JCQkJCQkgIChfX21tYXNrOCkg X19NKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9f ICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCist X21tX2NtcGx0X2VwdTY0X21hc2sgKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICBy ZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21wcTEyOF9tYXNrICgoX192MmRpKSBf X1gsCistCQkJCQkJICAoX192MmRpKSBfX1ksIDEsCistCQkJCQkJICAoX19tbWFzazgpIC0xKTsK Ky19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19n bnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tX21h c2tfY21wZ2VfZXB1NjRfbWFzayAoX19tbWFzazggX19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBf X1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcHExMjhfbWFz ayAoKF9fdjJkaSkgX19YLAorLQkJCQkJCSAgKF9fdjJkaSkgX19ZLCA1LAorLQkJCQkJCSAgKF9f bW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0 cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lh bF9fKSkKKy1fbW1fY21wZ2VfZXB1NjRfbWFzayAoX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQor LXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX3VjbXBxMTI4X21hc2sgKChf X3YyZGkpIF9fWCwKKy0JCQkJCQkgIChfX3YyZGkpIF9fWSwgNSwKKy0JCQkJCQkgIChfX21tYXNr OCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRl X18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkK Ky1fbW1fbWFza19jbXBsZV9lcHU2NF9tYXNrIChfX21tYXNrOCBfX00sIF9fbTEyOGkgX19YLCBf X20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEzMl91Y21w cTEyOF9tYXNrICgoX192MmRpKSBfX1gsCistCQkJCQkJICAoX192MmRpKSBfX1ksIDIsCistCQkJ CQkJICAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21tYXNrOAor LSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19h cnRpZmljaWFsX18pKQorLV9tbV9jbXBsZV9lcHU2NF9tYXNrIChfX20xMjhpIF9fWCwgX19tMTI4 aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJfdWNtcHExMjhf bWFzayAoKF9fdjJkaSkgX19YLAorLQkJCQkJCSAgKF9fdjJkaSkgX19ZLCAyLAorLQkJCQkJCSAg KF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21tYXNrOAorLSAgX19h dHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmlj aWFsX18pKQorLV9tbV9tYXNrX2NtcG5lcV9lcGkzMl9tYXNrIChfX21tYXNrOCBfX00sIF9fbTEy OGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5f aWEzMl9jbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKy0JCQkJCQkgKF9fdjRzaSkgX19ZLCA0 LAorLQkJCQkJCSAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21t YXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVf XywgX19hcnRpZmljaWFsX18pKQorLV9tbV9jbXBuZXFfZXBpMzJfbWFzayAoX19tMTI4aSBfX1gs IF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9pYTMyX2Nt cGQxMjhfbWFzayAoKF9fdjRzaSkgX19YLAorLQkJCQkJCSAoX192NHNpKSBfX1ksIDQsCistCQkJ CQkJIChfX21tYXNrOCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFzazgKKy0g IF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0 aWZpY2lhbF9fKSkKKy1fbW1fbWFza19jbXBsdF9lcGkzMl9tYXNrIChfX21tYXNrOCBfX00sIF9f bTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0 aW5faWEzMl9jbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKy0JCQkJCQkgKF9fdjRzaSkgX19Z LCAxLAorLQkJCQkJCSAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBf X21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxp bmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbV9jbXBsdF9lcGkzMl9tYXNrIChfX20xMjhpIF9f WCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19idWlsdGluX2lhMzJf Y21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gsCistCQkJCQkJIChfX3Y0c2kpIF9fWSwgMSwKKy0J CQkJCQkgKF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4dGVybiBfX2lubGluZSBfX21tYXNrOAor LSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19h cnRpZmljaWFsX18pKQorLV9tbV9tYXNrX2NtcGdlX2VwaTMyX21hc2sgKF9fbW1hc2s4IF9fTSwg X19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVp bHRpbl9pYTMyX2NtcGQxMjhfbWFzayAoKF9fdjRzaSkgX19YLAorLQkJCQkJCSAoX192NHNpKSBf X1ksIDUsCistCQkJCQkJIChfX21tYXNrOCkgX19NKTsKKy19CistCistZXh0ZXJuIF9faW5saW5l IF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lu bGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tX2NtcGdlX2VwaTMyX21hc2sgKF9fbTEyOGkg X19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0aW5faWEz Ml9jbXBkMTI4X21hc2sgKChfX3Y0c2kpIF9fWCwKKy0JCQkJCQkgKF9fdjRzaSkgX19ZLCA1LAor LQkJCQkJCSAoX19tbWFzazgpIC0xKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9fbW1hc2s4 CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBf X2FydGlmaWNpYWxfXykpCistX21tX21hc2tfY21wbGVfZXBpMzJfbWFzayAoX19tbWFzazggX19N LCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19i dWlsdGluX2lhMzJfY21wZDEyOF9tYXNrICgoX192NHNpKSBfX1gsCistCQkJCQkJIChfX3Y0c2kp IF9fWSwgMiwKKy0JCQkJCQkgKF9fbW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19pbmxp bmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNf aW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW1fY21wbGVfZXBpMzJfbWFzayAoX19tMTI4 aSBfX1gsIF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVpbHRpbl9p YTMyX2NtcGQxMjhfbWFzayAoKF9fdjRzaSkgX19YLAorLQkJCQkJCSAoX192NHNpKSBfX1ksIDIs CistCQkJCQkJIChfX21tYXNrOCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUgX19tbWFz azgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18s IF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW1fbWFza19jbXBuZXFfZXBpNjRfbWFzayAoX19tbWFzazgg X19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkg X19idWlsdGluX2lhMzJfY21wcTEyOF9tYXNrICgoX192MmRpKSBfX1gsCistCQkJCQkJIChfX3Yy ZGkpIF9fWSwgNCwKKy0JCQkJCQkgKF9fbW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4gX19p bmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdh eXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW1fY21wbmVxX2VwaTY0X21hc2sgKF9f bTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBfX2J1aWx0 aW5faWEzMl9jbXBxMTI4X21hc2sgKChfX3YyZGkpIF9fWCwKKy0JCQkJCQkgKF9fdjJkaSkgX19Z LCA0LAorLQkJCQkJCSAoX19tbWFzazgpIC0xKTsKKy19CistCistZXh0ZXJuIF9faW5saW5lIF9f bW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGlu ZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tX21hc2tfY21wbHRfZXBpNjRfbWFzayAoX19tbWFz azggX19NLCBfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNr OCkgX19idWlsdGluX2lhMzJfY21wcTEyOF9tYXNrICgoX192MmRpKSBfX1gsCistCQkJCQkJIChf X3YyZGkpIF9fWSwgMSwKKy0JCQkJCQkgKF9fbW1hc2s4KSBfX00pOworLX0KKy0KKy1leHRlcm4g X19pbmxpbmUgX19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19h bHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW1fY21wbHRfZXBpNjRfbWFzayAo X19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVybiAoX19tbWFzazgpIF9fYnVp bHRpbl9pYTMyX2NtcHExMjhfbWFzayAoKF9fdjJkaSkgX19YLAorLQkJCQkJCSAoX192MmRpKSBf X1ksIDEsCistCQkJCQkJIChfX21tYXNrOCkgLTEpOworLX0KKy0KKy1leHRlcm4gX19pbmxpbmUg X19tbWFzazgKKy0gIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5s aW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKKy1fbW1fbWFza19jbXBnZV9lcGk2NF9tYXNrIChfX21t YXNrOCBfX00sIF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1h c2s4KSBfX2J1aWx0aW5faWEzMl9jbXBxMTI4X21hc2sgKChfX3YyZGkpIF9fWCwKKy0JCQkJCQkg KF9fdjJkaSkgX19ZLCA1LAorLQkJCQkJCSAoX19tbWFzazgpIF9fTSk7CistfQorLQorLWV4dGVy biBfX2lubGluZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBf X2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbV9jbXBnZV9lcGk2NF9tYXNr IChfX20xMjhpIF9fWCwgX19tMTI4aSBfX1kpCisteworLSAgcmV0dXJuIChfX21tYXNrOCkgX19i dWlsdGluX2lhMzJfY21wcTEyOF9tYXNrICgoX192MmRpKSBfX1gsCistCQkJCQkJIChfX3YyZGkp IF9fWSwgNSwKKy0JCQkJCQkgKF9fbW1hc2s4KSAtMSk7CistfQorLQorLWV4dGVybiBfX2lubGlu ZSBfX21tYXNrOAorLSAgX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19p bmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorLV9tbV9tYXNrX2NtcGxlX2VwaTY0X21hc2sgKF9f bW1hc2s4IF9fTSwgX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKQorLXsKKy0gIHJldHVybiAoX19t bWFzazgpIF9fYnVpbHRpbl9pYTMyX2NtcHExMjhfbWFzayAoKF9fdjJkaSkgX19YLAorLQkJCQkJ CSAoX192MmRpKSBfX1ksIDIsCistCQkJCQkJIChfX21tYXNrOCkgX19NKTsKKy19CistCistZXh0 ZXJuIF9faW5saW5lIF9fbW1hc2s4CistICBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18s IF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCistX21tX2NtcGxlX2VwaTY0X21h c2sgKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkKKy17CistICByZXR1cm4gKF9fbW1hc2s4KSBf X2J1aWx0aW5faWEzMl9jbXBxMTI4X21hc2sgKChfX3YyZGkpIF9fWCwKKy0JCQkJCQkgKF9fdjJk aSkgX19ZLCAyLAorLQkJCQkJCSAoX19tbWFzazgpIC0xKTsKKy19CistCisgI2Vsc2UKKyAjZGVm aW5lIF9tbTI1Nl9wZXJtdXRleF9wZChYLCBNKQkJCQkJCVwKKyAgICgoX19tMjU2ZCkgX19idWls dGluX2lhMzJfcGVybWRmMjU2X21hc2sgKChfX3Y0ZGYpKF9fbTI1NmQpKFgpLCAoaW50KShNKSwJ XAorLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzk5MzItMi5jLmpqCTIwMTct MDMtMDcgMDg6Mzc6MTAuODM1OTkwNzMyICswMTAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHI3OTkzMi0yLmMJMjAxNy0wMy0wNyAwODozNjoxMy4wMDAwMDAwMDAgKzAxMDAK K0BAIC0wLDAgKzEsNzggQEAKKysvKiBQUiB0YXJnZXQvNzk5MzIgKi8KKysvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8wIC1tYXZ4NTEydmwiIH0gKi8KKysKKysj aW5jbHVkZSA8eDg2aW50cmluLmg+CisrCisrX19tMjU2aSBhLCBiOworK19fbTEyOGkgYywgZDsK KytfX21tYXNrMzIgZSwgZls2NF07CisrCisrdm9pZAorK2ZvbyAodm9pZCkKKyt7CisrICBmWzBd ID0gX21tMjU2X2NtcGdlX2VwaTMyX21hc2sgKGEsIGIpOworKyAgZlsxXSA9IF9tbTI1Nl9jbXBn ZV9lcGk2NF9tYXNrIChhLCBiKTsKKysgIGZbMl0gPSBfbW0yNTZfY21wZ2VfZXB1MzJfbWFzayAo YSwgYik7CisrICBmWzNdID0gX21tMjU2X2NtcGdlX2VwdTY0X21hc2sgKGEsIGIpOworKyAgZls0 XSA9IF9tbTI1Nl9jbXBsZV9lcGkzMl9tYXNrIChhLCBiKTsKKysgIGZbNV0gPSBfbW0yNTZfY21w bGVfZXBpNjRfbWFzayAoYSwgYik7CisrICBmWzZdID0gX21tMjU2X2NtcGxlX2VwdTMyX21hc2sg KGEsIGIpOworKyAgZls3XSA9IF9tbTI1Nl9jbXBsZV9lcHU2NF9tYXNrIChhLCBiKTsKKysgIGZb OF0gPSBfbW0yNTZfY21wbHRfZXBpMzJfbWFzayAoYSwgYik7CisrICBmWzldID0gX21tMjU2X2Nt cGx0X2VwaTY0X21hc2sgKGEsIGIpOworKyAgZlsxMF0gPSBfbW0yNTZfY21wbHRfZXB1MzJfbWFz ayAoYSwgYik7CisrICBmWzExXSA9IF9tbTI1Nl9jbXBsdF9lcHU2NF9tYXNrIChhLCBiKTsKKysg IGZbMTJdID0gX21tMjU2X2NtcG5lcV9lcGkzMl9tYXNrIChhLCBiKTsKKysgIGZbMTNdID0gX21t MjU2X2NtcG5lcV9lcGk2NF9tYXNrIChhLCBiKTsKKysgIGZbMTRdID0gX21tMjU2X2NtcG5lcV9l cHUzMl9tYXNrIChhLCBiKTsKKysgIGZbMTVdID0gX21tMjU2X2NtcG5lcV9lcHU2NF9tYXNrIChh LCBiKTsKKysgIGZbMTZdID0gX21tMjU2X21hc2tfY21wZ2VfZXBpMzJfbWFzayAoZSwgYSwgYik7 CisrICBmWzE3XSA9IF9tbTI1Nl9tYXNrX2NtcGdlX2VwaTY0X21hc2sgKGUsIGEsIGIpOworKyAg ZlsxOF0gPSBfbW0yNTZfbWFza19jbXBnZV9lcHUzMl9tYXNrIChlLCBhLCBiKTsKKysgIGZbMTld ID0gX21tMjU2X21hc2tfY21wZ2VfZXB1NjRfbWFzayAoZSwgYSwgYik7CisrICBmWzIwXSA9IF9t bTI1Nl9tYXNrX2NtcGxlX2VwaTMyX21hc2sgKGUsIGEsIGIpOworKyAgZlsyMV0gPSBfbW0yNTZf bWFza19jbXBsZV9lcGk2NF9tYXNrIChlLCBhLCBiKTsKKysgIGZbMjJdID0gX21tMjU2X21hc2tf Y21wbGVfZXB1MzJfbWFzayAoZSwgYSwgYik7CisrICBmWzIzXSA9IF9tbTI1Nl9tYXNrX2NtcGxl X2VwdTY0X21hc2sgKGUsIGEsIGIpOworKyAgZlsyNF0gPSBfbW0yNTZfbWFza19jbXBsdF9lcGkz Ml9tYXNrIChlLCBhLCBiKTsKKysgIGZbMjVdID0gX21tMjU2X21hc2tfY21wbHRfZXBpNjRfbWFz ayAoZSwgYSwgYik7CisrICBmWzI2XSA9IF9tbTI1Nl9tYXNrX2NtcGx0X2VwdTMyX21hc2sgKGUs IGEsIGIpOworKyAgZlsyN10gPSBfbW0yNTZfbWFza19jbXBsdF9lcHU2NF9tYXNrIChlLCBhLCBi KTsKKysgIGZbMjhdID0gX21tMjU2X21hc2tfY21wbmVxX2VwaTMyX21hc2sgKGUsIGEsIGIpOwor KyAgZlsyOV0gPSBfbW0yNTZfbWFza19jbXBuZXFfZXBpNjRfbWFzayAoZSwgYSwgYik7CisrICBm WzMwXSA9IF9tbTI1Nl9tYXNrX2NtcG5lcV9lcHUzMl9tYXNrIChlLCBhLCBiKTsKKysgIGZbMzFd ID0gX21tMjU2X21hc2tfY21wbmVxX2VwdTY0X21hc2sgKGUsIGEsIGIpOworKyAgZlszMl0gPSBf bW1fY21wZ2VfZXBpMzJfbWFzayAoYywgZCk7CisrICBmWzMzXSA9IF9tbV9jbXBnZV9lcGk2NF9t YXNrIChjLCBkKTsKKysgIGZbMzRdID0gX21tX2NtcGdlX2VwdTMyX21hc2sgKGMsIGQpOworKyAg ZlszNV0gPSBfbW1fY21wZ2VfZXB1NjRfbWFzayAoYywgZCk7CisrICBmWzM2XSA9IF9tbV9jbXBs ZV9lcGkzMl9tYXNrIChjLCBkKTsKKysgIGZbMzddID0gX21tX2NtcGxlX2VwaTY0X21hc2sgKGMs IGQpOworKyAgZlszOF0gPSBfbW1fY21wbGVfZXB1MzJfbWFzayAoYywgZCk7CisrICBmWzM5XSA9 IF9tbV9jbXBsZV9lcHU2NF9tYXNrIChjLCBkKTsKKysgIGZbNDBdID0gX21tX2NtcGx0X2VwaTMy X21hc2sgKGMsIGQpOworKyAgZls0MV0gPSBfbW1fY21wbHRfZXBpNjRfbWFzayAoYywgZCk7Cisr ICBmWzQyXSA9IF9tbV9jbXBsdF9lcHUzMl9tYXNrIChjLCBkKTsKKysgIGZbNDNdID0gX21tX2Nt cGx0X2VwdTY0X21hc2sgKGMsIGQpOworKyAgZls0NF0gPSBfbW1fY21wbmVxX2VwaTMyX21hc2sg KGMsIGQpOworKyAgZls0NV0gPSBfbW1fY21wbmVxX2VwaTY0X21hc2sgKGMsIGQpOworKyAgZls0 Nl0gPSBfbW1fY21wbmVxX2VwdTMyX21hc2sgKGMsIGQpOworKyAgZls0N10gPSBfbW1fY21wbmVx X2VwdTY0X21hc2sgKGMsIGQpOworKyAgZls0OF0gPSBfbW1fbWFza19jbXBnZV9lcGkzMl9tYXNr IChlLCBjLCBkKTsKKysgIGZbNDldID0gX21tX21hc2tfY21wZ2VfZXBpNjRfbWFzayAoZSwgYywg ZCk7CisrICBmWzUwXSA9IF9tbV9tYXNrX2NtcGdlX2VwdTMyX21hc2sgKGUsIGMsIGQpOworKyAg Zls1MV0gPSBfbW1fbWFza19jbXBnZV9lcHU2NF9tYXNrIChlLCBjLCBkKTsKKysgIGZbNTJdID0g X21tX21hc2tfY21wbGVfZXBpMzJfbWFzayAoZSwgYywgZCk7CisrICBmWzUzXSA9IF9tbV9tYXNr X2NtcGxlX2VwaTY0X21hc2sgKGUsIGMsIGQpOworKyAgZls1NF0gPSBfbW1fbWFza19jbXBsZV9l cHUzMl9tYXNrIChlLCBjLCBkKTsKKysgIGZbNTVdID0gX21tX21hc2tfY21wbGVfZXB1NjRfbWFz ayAoZSwgYywgZCk7CisrICBmWzU2XSA9IF9tbV9tYXNrX2NtcGx0X2VwaTMyX21hc2sgKGUsIGMs IGQpOworKyAgZls1N10gPSBfbW1fbWFza19jbXBsdF9lcGk2NF9tYXNrIChlLCBjLCBkKTsKKysg IGZbNThdID0gX21tX21hc2tfY21wbHRfZXB1MzJfbWFzayAoZSwgYywgZCk7CisrICBmWzU5XSA9 IF9tbV9tYXNrX2NtcGx0X2VwdTY0X21hc2sgKGUsIGMsIGQpOworKyAgZls2MF0gPSBfbW1fbWFz a19jbXBuZXFfZXBpMzJfbWFzayAoZSwgYywgZCk7CisrICBmWzYxXSA9IF9tbV9tYXNrX2NtcG5l cV9lcGk2NF9tYXNrIChlLCBjLCBkKTsKKysgIGZbNjJdID0gX21tX21hc2tfY21wbmVxX2VwdTMy X21hc2sgKGUsIGMsIGQpOworKyAgZls2M10gPSBfbW1fbWFza19jbXBuZXFfZXB1NjRfbWFzayAo ZSwgYywgZCk7CisrfQoKZGlmZiAtLWdpdCBhL2djYzctcHI3OTk0MS5wYXRjaCBiL2djYzctcHI3 OTk0MS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGU0MjE2Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjNy1wcjc5OTQxLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKKzIw MTctMDMtMDcgIFdpbGwgU2NobWlkdCAgPHdpbGxfc2NobWlkdEB2bmV0LmlibS5jb20+CisKKwlQ UiBtaWRkbGUtZW5kLzc5OTQxCisJKiBjb25maWcvcnM2MDAwL3JzNjAwMC5jIChnaW1wbGlmeV9p bml0X2NvbnN0cnVjdG9yKTogUmVtb3ZlIG11bHRpcGx5CisJZXZlbiBhbmQgbXVsdGlwbHkgb2Rk IHVuc2lnbmVkICh2bXVsZS92bXVsbykgaW50cmluc2ljcyBmcm9tIHRoZQorCW11bHRpcGx5IGZv bGRpbmcgc2VxdWVuY2UuCisKKwkqIGdjYy50YXJnZXQvcG93ZXJwYy9mb2xkLXZlYy1tdWx0LWV2 ZW5fb2RkX21pc2MuYzogTmV3IHRlc3QuCisKKy0tLSBnY2MvY29uZmlnL3JzNjAwMC9yczYwMDAu YwkyMDE3LTAzLTAzIDIwOjMxOjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9jb25maWcvcnM2 MDAwL3JzNjAwMC5jCTIwMTctMDMtMDggMTg6NTI6NDguNDA5OTY3MTIxICswMTAwCitAQCAtMTY4 NTUsOSArMTY4NTUsNiBAQCByczYwMDBfZ2ltcGxlX2ZvbGRfYnVpbHRpbiAoZ2ltcGxlX3N0bXRf CisgICAgIC8qIEV2ZW4gZWxlbWVudCBmbGF2b3JzIG9mIHZlY19tdWwgKHNpZ25lZCkuICovCisg ICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1ZNVUxFU0I6CisgICAgIGNhc2UgQUxUSVZFQ19CVUlM VElOX1ZNVUxFU0g6CistICAgIC8qIEV2ZW4gZWxlbWVudCBmbGF2b3JzIG9mIHZlY19tdWwgKHVu c2lnbmVkKS4gICovCistICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1ZNVUxFVUI6CistICAgIGNh c2UgQUxUSVZFQ19CVUlMVElOX1ZNVUxFVUg6CisgICAgICAgeworIAlhcmcwID0gZ2ltcGxlX2Nh bGxfYXJnIChzdG10LCAwKTsKKyAJYXJnMSA9IGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMSk7CitA QCAtMTY4NzAsOSArMTY4NjcsNiBAQCByczYwMDBfZ2ltcGxlX2ZvbGRfYnVpbHRpbiAoZ2ltcGxl X3N0bXRfCisgICAgIC8qIE9kZCBlbGVtZW50IGZsYXZvcnMgb2YgdmVjX211bCAoc2lnbmVkKS4g ICovCisgICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1ZNVUxPU0I6CisgICAgIGNhc2UgQUxUSVZF Q19CVUlMVElOX1ZNVUxPU0g6CistICAgIC8qIE9kZCBlbGVtZW50IGZsYXZvcnMgb2YgdmVjX211 bCAodW5zaWduZWQpLiAqLworLSAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9WTVVMT1VCOgorLSAg ICBjYXNlIEFMVElWRUNfQlVJTFRJTl9WTVVMT1VIOgorICAgICAgIHsKKyAJYXJnMCA9IGdpbXBs ZV9jYWxsX2FyZyAoc3RtdCwgMCk7CisgCWFyZzEgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDEp OworLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9wb3dlcnBjL2ZvbGQtdmVjLW11bHQtZXZl bl9vZGRfbWlzYy5jCisrKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Bvd2VycGMvZm9sZC12 ZWMtbXVsdC1ldmVuX29kZF9taXNjLmMKK0BAIC0wLDAgKzEsNTggQEAKKysKKysvKiB7IGRnLWRv IHJ1biB9ICovCisrLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgcG93ZXJwY192c3hf b2sgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLW1hbHRpdmVjIC1tdnN4IC1PMiAtc2F2ZS10ZW1w cyIgfSAqLworKworKyNpbmNsdWRlIDxhbHRpdmVjLmg+CisrCisrX19hdHRyaWJ1dGVfXygobm9p bmxpbmUpKSB2b2lkIAorK3Rlc3RfZXViX2NoYXIgKCkKKyt7CisrICB2ZWN0b3IgdW5zaWduZWQg Y2hhciB2MCA9IHsxLCAwLCAwLCAwLCAwLCAwLCAwLCAwfTsKKysgIHZlY3RvciB1bnNpZ25lZCBj aGFyIHYxID0gezB4ZmYsIDAsIDAsIDAsIDAsIDAsIDAsIDB9OworKyAgdmVjdG9yIHVuc2lnbmVk IHNob3J0IHJlcyA9IHZlY192bXVsZXViICh2MCwgdjEpOworKyAgaWYgKHJlc1swXSAhPSAodW5z aWduZWQgc2hvcnQpdjBbMF0gKiAodW5zaWduZWQgc2hvcnQpdjFbMF0pCisrICAgIF9fYnVpbHRp bl9hYm9ydCAoKTsKKyt9CisrX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKSB2b2lkIAorK3Rlc3Rf b3ViX2NoYXIgKCkKKyt7CisrICB2ZWN0b3IgdW5zaWduZWQgY2hhciB2MCA9IHswLCAxLCAwLCAw LCAwLCAwLCAwLCAwfTsKKysgIHZlY3RvciB1bnNpZ25lZCBjaGFyIHYxID0gezAsIDB4ZmYsIDAs IDAsIDAsIDAsIDAsIDB9OworKyAgdmVjdG9yIHVuc2lnbmVkIHNob3J0IHJlcyA9IHZlY192bXVs b3ViICh2MCwgdjEpOworKyAgaWYgKHJlc1swXSAhPSAodW5zaWduZWQgc2hvcnQpdjBbMV0gKiAo dW5zaWduZWQgc2hvcnQpdjFbMV0pCisrICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKKyt9CisrCisr X19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKSB2b2lkIAorK3Rlc3RfZXVoX3Nob3J0ICgpCisrewor KyAgdmVjdG9yIHVuc2lnbmVkIHNob3J0IHYwID0gezEsIDAsIDAsIDB9OworKyAgdmVjdG9yIHVu c2lnbmVkIHNob3J0IHYxID0gezB4ZmYsIDAsIDAsIDB9OworKyAgdmVjdG9yIHVuc2lnbmVkIGlu dCByZXMgPSB2ZWNfdm11bGV1aCAodjAsIHYxKTsKKysgIGlmIChyZXNbMF0gIT0gKHVuc2lnbmVk IGludCl2MFswXSAqICh1bnNpZ25lZCBpbnQpdjFbMF0pCisrICAgIF9fYnVpbHRpbl9hYm9ydCAo KTsKKyt9CisrX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKSB2b2lkIAorK3Rlc3Rfb3VoX3Nob3J0 ICgpCisreworKyAgdmVjdG9yIHVuc2lnbmVkIHNob3J0IHYwID0gezAsIDEsIDAsIDB9OworKyAg dmVjdG9yIHVuc2lnbmVkIHNob3J0IHYxID0gezAsIDB4ZmYsIDAsIDB9OworKyAgdmVjdG9yIHVu c2lnbmVkIGludCByZXMgPSB2ZWNfdm11bG91aCAodjAsIHYxKTsKKysgIGlmIChyZXNbMF0gIT0g KHVuc2lnbmVkIGludCl2MFsxXSAqICh1bnNpZ25lZCBpbnQpdjFbMV0pCisrICAgIF9fYnVpbHRp bl9hYm9ydCAoKTsKKyt9CisrCisraW50IG1haW4gKCkKKyt7CisrICB0ZXN0X2V1Yl9jaGFyKCk7 CisrICB0ZXN0X291Yl9jaGFyKCk7CisrICB0ZXN0X2V1aF9zaG9ydCgpOworKyAgdGVzdF9vdWhf c2hvcnQoKTsKKyt9CisrCisrLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2 bXVsZXViIiAxIH0gfSAqLworKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAi dm11bG91YiIgMSB9IH0gKi8KKysvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg InZtdWxldWgiIDEgfSB9ICovCisrLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz ICJ2bXVsb3VoIiAxIH0gfSAqLworKwoKZGlmZiAtLWdpdCBhL2djYzctcHI3OTk0NC5wYXRjaCBi L2djYzctcHI3OTk0NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m ZmNjODI5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNy1wcjc5OTQ0LnBhdGNoCkBAIC0wLDAgKzEs NDA2IEBACisyMDE3LTAzLTA4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKwor CVBSIHNhbml0aXplci83OTk0NAorCSogYXNhbi5jIChnZXRfbWVtX3JlZnNfb2ZfYnVpbHRpbl9j YWxsKTogRm9yIEJVSUxUX0lOX0FUT01JQyogYW5kCisJQlVJTFRfSU5fU1lOQyosIGRldGVybWlu ZSB0aGUgYWNjZXNzIHR5cGUgZnJvbSB0aGUgc2l6ZSBzdWZmaXggYW5kCisJYWx3YXlzIGJ1aWxk IGEgTUVNX1JFRiB3aXRoIHRoYXQgdHlwZS4gIEhhbmRsZSBmb3Jnb3R0ZW4KKwlCVUlMVF9JTl9T WU5DX0ZFVENIX0FORF9OQU5EXzE2IGFuZCBCVUlMVF9JTl9TWU5DX05BTkRfQU5EX0ZFVENIXzE2 LgorCisJKiBjLWMrKy1jb21tb24vYXNhbi9wcjc5OTQ0LmM6IE5ldyB0ZXN0LgorCistLS0gZ2Nj L2FzYW4uYy5qagkyMDE3LTAzLTA2IDEyOjMyOjI4LjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9h c2FuLmMJMjAxNy0wMy0wOCAxMjoyNDoxMS4xNTEzNTMyMjkgKzAxMDAKK0BAIC02MDMsMjE4ICs2 MDMsMjA4IEBAIGdldF9tZW1fcmVmc19vZl9idWlsdGluX2NhbGwgKGNvbnN0IGdjYWwKKyAgICAg Y2FzZSBCVUlMVF9JTl9TVFJMRU46CisgICAgICAgc291cmNlMCA9IGdpbXBsZV9jYWxsX2FyZyAo Y2FsbCwgMCk7CisgICAgICAgbGVuID0gZ2ltcGxlX2NhbGxfbGhzIChjYWxsKTsKKy0gICAgICBi cmVhayA7CisrICAgICAgYnJlYWs7CisgCisgICAgIC8qIEFuZCBub3cgdGhlIF9fYXRvbWljKiBh bmQgX19zeW5jIGJ1aWx0aW5zLgorICAgICAgICBUaGVzZSBhcmUgaGFuZGxlZCBkaWZmZXJlbnRs eSBmcm9tIHRoZSBjbGFzc2ljYWwgbWVtb3J5IG1lbW9yeQorICAgICAgICBhY2Nlc3MgYnVpbHRp bnMgYWJvdmUuICAqLworIAorICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19MT0FEXzE6CistICAg IGNhc2UgQlVJTFRfSU5fQVRPTUlDX0xPQURfMjoKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNf TE9BRF80OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19MT0FEXzg6CistICAgIGNhc2UgQlVJ TFRfSU5fQVRPTUlDX0xPQURfMTY6CisgICAgICAgaXNfc3RvcmUgPSBmYWxzZTsKKy0gICAgICAv KiBmYWxsIHRocm91Z2guICAqLworLQorKyAgICAgIC8qIEZBTExUSFJVICovCisgICAgIGNhc2Ug QlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfQUREXzE6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19G RVRDSF9BTkRfQUREXzI6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfQUREXzQ6 CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfQUREXzg6CistICAgIGNhc2UgQlVJ TFRfSU5fU1lOQ19GRVRDSF9BTkRfQUREXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX1NZTkNf RkVUQ0hfQU5EX1NVQl8xOgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl8y OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl80OgorLSAgICBjYXNlIEJV SUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl84OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVU Q0hfQU5EX1NVQl8xNjoKKy0KKyAgICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9PUl8x OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX09SXzI6CistICAgIGNhc2UgQlVJ TFRfSU5fU1lOQ19GRVRDSF9BTkRfT1JfNDoKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZFVENI X0FORF9PUl84OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX09SXzE2OgorLQor ICAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX0FORF8xOgorLSAgICBjYXNlIEJVSUxU X0lOX1NZTkNfRkVUQ0hfQU5EX0FORF8yOgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hf QU5EX0FORF80OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX0FORF84OgorLSAg ICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX0FORF8xNjoKKy0KKyAgICAgY2FzZSBCVUlM VF9JTl9TWU5DX0ZFVENIX0FORF9YT1JfMToKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZFVENI X0FORF9YT1JfMjoKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9YT1JfNDoKKy0g ICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9YT1JfODoKKy0gICAgY2FzZSBCVUlMVF9J Tl9TWU5DX0ZFVENIX0FORF9YT1JfMTY6CistCisgICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRD SF9BTkRfTkFORF8xOgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX05BTkRfMjoK Ky0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9OQU5EXzQ6CistICAgIGNhc2UgQlVJ TFRfSU5fU1lOQ19GRVRDSF9BTkRfTkFORF84OgorLQorICAgICBjYXNlIEJVSUxUX0lOX1NZTkNf QUREX0FORF9GRVRDSF8xOgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQUREX0FORF9GRVRDSF8y OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQUREX0FORF9GRVRDSF80OgorLSAgICBjYXNlIEJV SUxUX0lOX1NZTkNfQUREX0FORF9GRVRDSF84OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQURE X0FORF9GRVRDSF8xNjoKKy0KKyAgICAgY2FzZSBCVUlMVF9JTl9TWU5DX1NVQl9BTkRfRkVUQ0hf MToKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX1NVQl9BTkRfRkVUQ0hfMjoKKy0gICAgY2FzZSBC VUlMVF9JTl9TWU5DX1NVQl9BTkRfRkVUQ0hfNDoKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX1NV Ql9BTkRfRkVUQ0hfODoKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX1NVQl9BTkRfRkVUQ0hfMTY6 CistCisgICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19PUl9BTkRfRkVUQ0hfMToKKy0gICAgY2FzZSBC VUlMVF9JTl9TWU5DX09SX0FORF9GRVRDSF8yOgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfT1Jf QU5EX0ZFVENIXzQ6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19PUl9BTkRfRkVUQ0hfODoKKy0g ICAgY2FzZSBCVUlMVF9JTl9TWU5DX09SX0FORF9GRVRDSF8xNjoKKy0KKyAgICAgY2FzZSBCVUlM VF9JTl9TWU5DX0FORF9BTkRfRkVUQ0hfMToKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX0FORF9B TkRfRkVUQ0hfMjoKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX0FORF9BTkRfRkVUQ0hfNDoKKy0g ICAgY2FzZSBCVUlMVF9JTl9TWU5DX0FORF9BTkRfRkVUQ0hfODoKKy0gICAgY2FzZSBCVUlMVF9J Tl9TWU5DX0FORF9BTkRfRkVUQ0hfMTY6CistCisgICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19YT1Jf QU5EX0ZFVENIXzE6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19YT1JfQU5EX0ZFVENIXzI6Cist ICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19YT1JfQU5EX0ZFVENIXzQ6CistICAgIGNhc2UgQlVJTFRf SU5fU1lOQ19YT1JfQU5EX0ZFVENIXzg6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19YT1JfQU5E X0ZFVENIXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTkFORF9BTkRfRkVUQ0hfMToK Ky0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX05BTkRfQU5EX0ZFVENIXzI6CistICAgIGNhc2UgQlVJ TFRfSU5fU1lOQ19OQU5EX0FORF9GRVRDSF80OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTkFO RF9BTkRfRkVUQ0hfODoKKy0KKyAgICAgY2FzZSBCVUlMVF9JTl9TWU5DX0JPT0xfQ09NUEFSRV9B TkRfU1dBUF8xOgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQk9PTF9DT01QQVJFX0FORF9TV0FQ XzI6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19CT09MX0NPTVBBUkVfQU5EX1NXQVBfNDoKKy0g ICAgY2FzZSBCVUlMVF9JTl9TWU5DX0JPT0xfQ09NUEFSRV9BTkRfU1dBUF84OgorLSAgICBjYXNl IEJVSUxUX0lOX1NZTkNfQk9PTF9DT01QQVJFX0FORF9TV0FQXzE2OgorLQorICAgICBjYXNlIEJV SUxUX0lOX1NZTkNfVkFMX0NPTVBBUkVfQU5EX1NXQVBfMToKKy0gICAgY2FzZSBCVUlMVF9JTl9T WU5DX1ZBTF9DT01QQVJFX0FORF9TV0FQXzI6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19WQUxf Q09NUEFSRV9BTkRfU1dBUF80OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfVkFMX0NPTVBBUkVf QU5EX1NXQVBfODoKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX1ZBTF9DT01QQVJFX0FORF9TV0FQ XzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTE9DS19URVNUX0FORF9TRVRfMToKKy0g ICAgY2FzZSBCVUlMVF9JTl9TWU5DX0xPQ0tfVEVTVF9BTkRfU0VUXzI6CistICAgIGNhc2UgQlVJ TFRfSU5fU1lOQ19MT0NLX1RFU1RfQU5EX1NFVF80OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNf TE9DS19URVNUX0FORF9TRVRfODoKKy0gICAgY2FzZSBCVUlMVF9JTl9TWU5DX0xPQ0tfVEVTVF9B TkRfU0VUXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTE9DS19SRUxFQVNFXzE6Cist ICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19MT0NLX1JFTEVBU0VfMjoKKy0gICAgY2FzZSBCVUlMVF9J Tl9TWU5DX0xPQ0tfUkVMRUFTRV80OgorLSAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTE9DS19SRUxF QVNFXzg6CistICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19MT0NLX1JFTEVBU0VfMTY6CistCisgICAg IGNhc2UgQlVJTFRfSU5fQVRPTUlDX0VYQ0hBTkdFXzE6CistICAgIGNhc2UgQlVJTFRfSU5fQVRP TUlDX0VYQ0hBTkdFXzI6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0VYQ0hBTkdFXzQ6Cist ICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0VYQ0hBTkdFXzg6CistICAgIGNhc2UgQlVJTFRfSU5f QVRPTUlDX0VYQ0hBTkdFXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19DT01QQVJF X0VYQ0hBTkdFXzE6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0NPTVBBUkVfRVhDSEFOR0Vf MjoKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfQ09NUEFSRV9FWENIQU5HRV80OgorLSAgICBj YXNlIEJVSUxUX0lOX0FUT01JQ19DT01QQVJFX0VYQ0hBTkdFXzg6CistICAgIGNhc2UgQlVJTFRf SU5fQVRPTUlDX0NPTVBBUkVfRVhDSEFOR0VfMTY6CistCisgICAgIGNhc2UgQlVJTFRfSU5fQVRP TUlDX1NUT1JFXzE6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1NUT1JFXzI6CistICAgIGNh c2UgQlVJTFRfSU5fQVRPTUlDX1NUT1JFXzQ6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1NU T1JFXzg6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1NUT1JFXzE2OgorLQorICAgICBjYXNl IEJVSUxUX0lOX0FUT01JQ19BRERfRkVUQ0hfMToKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNf QUREX0ZFVENIXzI6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0FERF9GRVRDSF80OgorLSAg ICBjYXNlIEJVSUxUX0lOX0FUT01JQ19BRERfRkVUQ0hfODoKKy0gICAgY2FzZSBCVUlMVF9JTl9B VE9NSUNfQUREX0ZFVENIXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19TVUJfRkVU Q0hfMToKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfU1VCX0ZFVENIXzI6CistICAgIGNhc2Ug QlVJTFRfSU5fQVRPTUlDX1NVQl9GRVRDSF80OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19T VUJfRkVUQ0hfODoKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfU1VCX0ZFVENIXzE2OgorLQor ICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19BTkRfRkVUQ0hfMToKKy0gICAgY2FzZSBCVUlMVF9J Tl9BVE9NSUNfQU5EX0ZFVENIXzI6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0FORF9GRVRD SF80OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19BTkRfRkVUQ0hfODoKKy0gICAgY2FzZSBC VUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX0FUT01J Q19OQU5EX0ZFVENIXzE6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX05BTkRfRkVUQ0hfMjoK Ky0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfTkFORF9GRVRDSF80OgorLSAgICBjYXNlIEJVSUxU X0lOX0FUT01JQ19OQU5EX0ZFVENIXzg6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX05BTkRf RkVUQ0hfMTY6CistCisgICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1hPUl9GRVRDSF8xOgorLSAg ICBjYXNlIEJVSUxUX0lOX0FUT01JQ19YT1JfRkVUQ0hfMjoKKy0gICAgY2FzZSBCVUlMVF9JTl9B VE9NSUNfWE9SX0ZFVENIXzQ6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1hPUl9GRVRDSF84 OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19YT1JfRkVUQ0hfMTY6CistCisgICAgIGNhc2Ug QlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzE6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX09S X0ZFVENIXzI6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzQ6CistICAgIGNh c2UgQlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzg6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlD X09SX0ZFVENIXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9BRERfMToK Ky0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQUREXzI6CistICAgIGNhc2UgQlVJTFRf SU5fQVRPTUlDX0ZFVENIX0FERF80OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9B RERfODoKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQUREXzE2OgorLQorICAgICBj YXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9TVUJfMToKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9N SUNfRkVUQ0hfU1VCXzI6CistICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX1NVQl80Ogor LSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9TVUJfODoKKy0gICAgY2FzZSBCVUlMVF9J Tl9BVE9NSUNfRkVUQ0hfU1VCXzE2OgorLQorICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRD SF9BTkRfMToKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzI6CistICAgIGNh c2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX0FORF80OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01J Q19GRVRDSF9BTkRfODoKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzE2Ogor LQorICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9OQU5EXzE6CistICAgIGNhc2UgQlVJ TFRfSU5fQVRPTUlDX0ZFVENIX05BTkRfMjoKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVU Q0hfTkFORF80OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9OQU5EXzg6CistICAg IGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX05BTkRfMTY6CistCisgICAgIGNhc2UgQlVJTFRf SU5fQVRPTUlDX0ZFVENIX1hPUl8xOgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9Y T1JfMjoKKy0gICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfWE9SXzQ6CistICAgIGNhc2Ug QlVJTFRfSU5fQVRPTUlDX0ZFVENIX1hPUl84OgorLSAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19G RVRDSF9YT1JfMTY6CistCisgICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX09SXzE6Cisr ICAgICAgYWNjZXNzX3NpemUgPSAxOworKyAgICAgIGdvdG8gZG9fYXRvbWljOworKworKyAgICBj YXNlIEJVSUxUX0lOX0FUT01JQ19MT0FEXzI6CisrICAgICAgaXNfc3RvcmUgPSBmYWxzZTsKKysg ICAgICAvKiBGQUxMVEhSVSAqLworKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX0FE RF8yOgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl8yOgorKyAgICBjYXNl IEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX09SXzI6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19G RVRDSF9BTkRfQU5EXzI6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfWE9SXzI6 CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfTkFORF8yOgorKyAgICBjYXNlIEJV SUxUX0lOX1NZTkNfQUREX0FORF9GRVRDSF8yOgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfU1VC X0FORF9GRVRDSF8yOgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfT1JfQU5EX0ZFVENIXzI6Cisr ICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19BTkRfQU5EX0ZFVENIXzI6CisrICAgIGNhc2UgQlVJTFRf SU5fU1lOQ19YT1JfQU5EX0ZFVENIXzI6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19OQU5EX0FO RF9GRVRDSF8yOgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQk9PTF9DT01QQVJFX0FORF9TV0FQ XzI6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19WQUxfQ09NUEFSRV9BTkRfU1dBUF8yOgorKyAg ICBjYXNlIEJVSUxUX0lOX1NZTkNfTE9DS19URVNUX0FORF9TRVRfMjoKKysgICAgY2FzZSBCVUlM VF9JTl9TWU5DX0xPQ0tfUkVMRUFTRV8yOgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19FWENI QU5HRV8yOgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19DT01QQVJFX0VYQ0hBTkdFXzI6Cisr ICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1NUT1JFXzI6CisrICAgIGNhc2UgQlVJTFRfSU5fQVRP TUlDX0FERF9GRVRDSF8yOgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19TVUJfRkVUQ0hfMjoK KysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzI6CisrICAgIGNhc2UgQlVJTFRf SU5fQVRPTUlDX05BTkRfRkVUQ0hfMjoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfWE9SX0ZF VENIXzI6CisrICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzI6CisrICAgIGNhc2Ug QlVJTFRfSU5fQVRPTUlDX0ZFVENIX0FERF8yOgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19G RVRDSF9TVUJfMjoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzI6CisrICAg IGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX05BTkRfMjoKKysgICAgY2FzZSBCVUlMVF9JTl9B VE9NSUNfRkVUQ0hfWE9SXzI6CisgICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX09SXzI6 CisrICAgICAgYWNjZXNzX3NpemUgPSAyOworKyAgICAgIGdvdG8gZG9fYXRvbWljOworKworKyAg ICBjYXNlIEJVSUxUX0lOX0FUT01JQ19MT0FEXzQ6CisrICAgICAgaXNfc3RvcmUgPSBmYWxzZTsK KysgICAgICAvKiBGQUxMVEhSVSAqLworKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5E X0FERF80OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl80OgorKyAgICBj YXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX09SXzQ6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lO Q19GRVRDSF9BTkRfQU5EXzQ6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfWE9S XzQ6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfTkFORF80OgorKyAgICBjYXNl IEJVSUxUX0lOX1NZTkNfQUREX0FORF9GRVRDSF80OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNf U1VCX0FORF9GRVRDSF80OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfT1JfQU5EX0ZFVENIXzQ6 CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19BTkRfQU5EX0ZFVENIXzQ6CisrICAgIGNhc2UgQlVJ TFRfSU5fU1lOQ19YT1JfQU5EX0ZFVENIXzQ6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19OQU5E X0FORF9GRVRDSF80OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQk9PTF9DT01QQVJFX0FORF9T V0FQXzQ6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19WQUxfQ09NUEFSRV9BTkRfU1dBUF80Ogor KyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTE9DS19URVNUX0FORF9TRVRfNDoKKysgICAgY2FzZSBC VUlMVF9JTl9TWU5DX0xPQ0tfUkVMRUFTRV80OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19F WENIQU5HRV80OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19DT01QQVJFX0VYQ0hBTkdFXzQ6 CisrICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1NUT1JFXzQ6CisrICAgIGNhc2UgQlVJTFRfSU5f QVRPTUlDX0FERF9GRVRDSF80OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19TVUJfRkVUQ0hf NDoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzQ6CisrICAgIGNhc2UgQlVJ TFRfSU5fQVRPTUlDX05BTkRfRkVUQ0hfNDoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfWE9S X0ZFVENIXzQ6CisrICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzQ6CisrICAgIGNh c2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX0FERF80OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01J Q19GRVRDSF9TVUJfNDoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzQ6Cisr ICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX05BTkRfNDoKKysgICAgY2FzZSBCVUlMVF9J Tl9BVE9NSUNfRkVUQ0hfWE9SXzQ6CisgICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX09S XzQ6CisrICAgICAgYWNjZXNzX3NpemUgPSA0OworKyAgICAgIGdvdG8gZG9fYXRvbWljOworKwor KyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19MT0FEXzg6CisrICAgICAgaXNfc3RvcmUgPSBmYWxz ZTsKKysgICAgICAvKiBGQUxMVEhSVSAqLworKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hf QU5EX0FERF84OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl84OgorKyAg ICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX09SXzg6CisrICAgIGNhc2UgQlVJTFRfSU5f U1lOQ19GRVRDSF9BTkRfQU5EXzg6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRf WE9SXzg6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfTkFORF84OgorKyAgICBj YXNlIEJVSUxUX0lOX1NZTkNfQUREX0FORF9GRVRDSF84OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZ TkNfU1VCX0FORF9GRVRDSF84OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfT1JfQU5EX0ZFVENI Xzg6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19BTkRfQU5EX0ZFVENIXzg6CisrICAgIGNhc2Ug QlVJTFRfSU5fU1lOQ19YT1JfQU5EX0ZFVENIXzg6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19O QU5EX0FORF9GRVRDSF84OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQk9PTF9DT01QQVJFX0FO RF9TV0FQXzg6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19WQUxfQ09NUEFSRV9BTkRfU1dBUF84 OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTE9DS19URVNUX0FORF9TRVRfODoKKysgICAgY2Fz ZSBCVUlMVF9JTl9TWU5DX0xPQ0tfUkVMRUFTRV84OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01J Q19FWENIQU5HRV84OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19DT01QQVJFX0VYQ0hBTkdF Xzg6CisrICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX1NUT1JFXzg6CisrICAgIGNhc2UgQlVJTFRf SU5fQVRPTUlDX0FERF9GRVRDSF84OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19TVUJfRkVU Q0hfODoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzg6CisrICAgIGNhc2Ug QlVJTFRfSU5fQVRPTUlDX05BTkRfRkVUQ0hfODoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNf WE9SX0ZFVENIXzg6CisrICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzg6CisrICAg IGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX0FERF84OgorKyAgICBjYXNlIEJVSUxUX0lOX0FU T01JQ19GRVRDSF9TVUJfODoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzg6 CisrICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX05BTkRfODoKKysgICAgY2FzZSBCVUlM VF9JTl9BVE9NSUNfRkVUQ0hfWE9SXzg6CisgICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENI X09SXzg6CisrICAgICAgYWNjZXNzX3NpemUgPSA4OworKyAgICAgIGdvdG8gZG9fYXRvbWljOwor KworKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19MT0FEXzE2OgorKyAgICAgIGlzX3N0b3JlID0g ZmFsc2U7CisrICAgICAgLyogRkFMTFRIUlUgKi8KKysgICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZF VENIX0FORF9BRERfMTY6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfU1VCXzE2 OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX09SXzE2OgorKyAgICBjYXNlIEJV SUxUX0lOX1NZTkNfRkVUQ0hfQU5EX0FORF8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9TWU5DX0ZF VENIX0FORF9YT1JfMTY6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfTkFORF8x NjoKKysgICAgY2FzZSBCVUlMVF9JTl9TWU5DX0FERF9BTkRfRkVUQ0hfMTY6CisrICAgIGNhc2Ug QlVJTFRfSU5fU1lOQ19TVUJfQU5EX0ZFVENIXzE2OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNf T1JfQU5EX0ZFVENIXzE2OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfQU5EX0FORF9GRVRDSF8x NjoKKysgICAgY2FzZSBCVUlMVF9JTl9TWU5DX1hPUl9BTkRfRkVUQ0hfMTY6CisrICAgIGNhc2Ug QlVJTFRfSU5fU1lOQ19OQU5EX0FORF9GRVRDSF8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9TWU5D X0JPT0xfQ09NUEFSRV9BTkRfU1dBUF8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9TWU5DX1ZBTF9D T01QQVJFX0FORF9TV0FQXzE2OgorKyAgICBjYXNlIEJVSUxUX0lOX1NZTkNfTE9DS19URVNUX0FO RF9TRVRfMTY6CisrICAgIGNhc2UgQlVJTFRfSU5fU1lOQ19MT0NLX1JFTEVBU0VfMTY6CisrICAg IGNhc2UgQlVJTFRfSU5fQVRPTUlDX0VYQ0hBTkdFXzE2OgorKyAgICBjYXNlIEJVSUxUX0lOX0FU T01JQ19DT01QQVJFX0VYQ0hBTkdFXzE2OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19TVE9S RV8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfQUREX0ZFVENIXzE2OgorKyAgICBjYXNl IEJVSUxUX0lOX0FUT01JQ19TVUJfRkVUQ0hfMTY6CisrICAgIGNhc2UgQlVJTFRfSU5fQVRPTUlD X0FORF9GRVRDSF8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfTkFORF9GRVRDSF8xNjoK KysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfWE9SX0ZFVENIXzE2OgorKyAgICBjYXNlIEJVSUxU X0lOX0FUT01JQ19PUl9GRVRDSF8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hf QUREXzE2OgorKyAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9TVUJfMTY6CisrICAgIGNh c2UgQlVJTFRfSU5fQVRPTUlDX0ZFVENIX0FORF8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9N SUNfRkVUQ0hfTkFORF8xNjoKKysgICAgY2FzZSBCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfWE9SXzE2 OgorICAgICBjYXNlIEJVSUxUX0lOX0FUT01JQ19GRVRDSF9PUl8xNjoKKysgICAgICBhY2Nlc3Nf c2l6ZSA9IDE2OworKyAgICAgIC8qIEZBTExUSFJVICovCisrICAgIGRvX2F0b21pYzoKKyAgICAg ICB7CisgCWRlc3QgPSBnaW1wbGVfY2FsbF9hcmcgKGNhbGwsIDApOworIAkvKiBERVNUIHJlcHJl c2VudHMgdGhlIGFkZHJlc3Mgb2YgYSBtZW1vcnkgbG9jYXRpb24uCisgCSAgIGluc3RydW1lbnRf ZGVyZWZzIHdhbnRzIHRoZSBtZW1vcnkgbG9jYXRpb24sIHNvIGxldHMKKyAJICAgZGVyZWZlcmVu Y2UgdGhlIGFkZHJlc3MgREVTVCBiZWZvcmUgaGFuZGluZyBpdCB0bworIAkgICBpbnN0cnVtZW50 X2RlcmVmcy4gICovCistCWlmIChUUkVFX0NPREUgKGRlc3QpID09IEFERFJfRVhQUikKKy0JICBk ZXN0ID0gVFJFRV9PUEVSQU5EIChkZXN0LCAwKTsKKy0JZWxzZSBpZiAoVFJFRV9DT0RFIChkZXN0 KSA9PSBTU0FfTkFNRSB8fCBUUkVFX0NPREUgKGRlc3QpID09IElOVEVHRVJfQ1NUKQorLQkgIGRl c3QgPSBidWlsZDIgKE1FTV9SRUYsIFRSRUVfVFlQRSAoVFJFRV9UWVBFIChkZXN0KSksCistCQkJ IGRlc3QsIGJ1aWxkX2ludF9jc3QgKFRSRUVfVFlQRSAoZGVzdCksIDApKTsKKy0JZWxzZQorLQkg IGdjY191bnJlYWNoYWJsZSAoKTsKKy0KKy0JYWNjZXNzX3NpemUgPSBpbnRfc2l6ZV9pbl9ieXRl cyAoVFJFRV9UWVBFIChkZXN0KSk7CisrCXRyZWUgdHlwZSA9IGJ1aWxkX25vbnN0YW5kYXJkX2lu dGVnZXJfdHlwZSAoYWNjZXNzX3NpemUKKysJCQkJCQkgICAgKiBCSVRTX1BFUl9VTklULCAxKTsK KysJZGVzdCA9IGJ1aWxkMiAoTUVNX1JFRiwgdHlwZSwgZGVzdCwKKysJCSAgICAgICBidWlsZF9p bnRfY3N0IChidWlsZF9wb2ludGVyX3R5cGUgKGNoYXJfdHlwZV9ub2RlKSwgMCkpOworKwlicmVh azsKKyAgICAgICB9CisgCisgICAgIGRlZmF1bHQ6CistLS0gZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1j b21tb24vYXNhbi9wcjc5OTQ0LmMuamoJMjAxNy0wMy0wOCAxMjo1MDo0MC40Mjg2MTcyNzMgKzAx MDAKKysrKyBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9hc2FuL3ByNzk5NDQuYwkyMDE3LTAz LTA4IDEyOjM0OjQ3LjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSwxOCBAQAorKy8qIFBSIHNh bml0aXplci83OTk0NCAqLworKy8qIHsgZGctZG8gcnVuIH0gKi8KKysKKytzdHJ1Y3QgUyB7IGlu dCBpOyBjaGFyIHBbMTAyNF07IH07CisrCisraW50CisrbWFpbiAoKQorK3sKKysgIHN0cnVjdCBT ICpwID0gKHN0cnVjdCBTICopIF9fYnVpbHRpbl9tYWxsb2MgKF9fYnVpbHRpbl9vZmZzZXRvZiAo c3RydWN0IFMsIHApICsgNjQpOworKyAgcC0+aSA9IDU7CisrICBhc20gdm9sYXRpbGUgKCIiIDog IityIiAocCkgOiA6ICJtZW1vcnkiKTsKKysgIF9fYXRvbWljX2ZldGNoX2FkZCAoKGludCAqKSBw LCA1LCBfX0FUT01JQ19SRUxBWEVEKTsKKysgIGFzbSB2b2xhdGlsZSAoIiIgOiAiK3IiIChwKSA6 IDogIm1lbW9yeSIpOworKyAgaWYgKHAtPmkgIT0gMTApCisrICAgIF9fYnVpbHRpbl9hYm9ydCAo KTsKKysgIF9fYnVpbHRpbl9mcmVlIChwKTsKKysgIHJldHVybiAwOworK30KCmRpZmYgLS1naXQg YS9udnB0eC10b29scy1uby1wdHhhcy5wYXRjaCBiL252cHR4LXRvb2xzLW5vLXB0eGFzLnBhdGNo CmluZGV4IGYzYmQ1ZWQuLjI4YmM1OTcgMTAwNjQ0Ci0tLSBhL252cHR4LXRvb2xzLW5vLXB0eGFz LnBhdGNoCisrKyBiL252cHR4LXRvb2xzLW5vLXB0eGFzLnBhdGNoCkBAIC0yMTEsMTMgKzIxMSwx MiBAQAogIAkgIGJyZWFrOwogIAljYXNlICd2JzoKICAJICB2ZXJib3NlID0gdHJ1ZTsKLUBAIC05 NDgsNyArMTA3MSw5IEBAIFVzYWdlOiBudnB0eC1ub25lLWFzIFtvcHRpb24uLi5dIFthc21maWxl XVxuXAorQEAgLTk0OCw3ICsxMDcxLDggQEAgVXNhZ2U6IG52cHR4LW5vbmUtYXMgW29wdGlvbi4u Ll0gW2FzbWZpbGVdXG5cCiAgT3B0aW9uczpcblwKICAgIC1vIEZJTEUgICAgICAgICAgICAgICBX cml0ZSBvdXRwdXQgdG8gRklMRVxuXAogICAgLXYgICAgICAgICAgICAgICAgICAgIEJlIHZlcmJv c2VcblwKICsgIC0tdmVyaWZ5ICAgICAgICAgICAgICBEbyB2ZXJpZnkgb3V0cHV0IGlzIGFjY2Vw dGFibGUgdG8gcHR4YXNcblwKICAgIC0tbm8tdmVyaWZ5ICAgICAgICAgICBEbyBub3QgdmVyaWZ5 IG91dHB1dCBpcyBhY2NlcHRhYmxlIHRvIHB0eGFzXG5cCi0rICAtLXZlcmlmeSAgICAgICAgICAg ICAgRG8gdmVyaWZ5IG91dHB1dCBpcyBhY2NlcHRhYmxlIHRvIHB0eGFzXG5cCiAgICAtLWhlbHAg ICAgICAgICAgICAgICAgUHJpbnQgdGhpcyBoZWxwIGFuZCBleGl0XG5cCiAgICAtLXZlcnNpb24g ICAgICAgICAgICAgUHJpbnQgdmVyc2lvbiBudW1iZXIgYW5kIGV4aXRcblwKICBcblwKCmRpZmYg LS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCAwYzNkOTI3Li5mYzJiZGYwIDEwMDY0NAot LS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMyArMSwzIEBACi1TSEE1MTIgKGdjYy03 LjAuMS0yMDE3MDIyNS50YXIuYnoyKSA9IGRlNjQxMzEwMTU2N2VkZTk2NDIyZjQ5ZDAwN2M0MDcy MzE0YWNlNThiZjA5ODg2OTQ5ODU4YzMxNWRmNTRlODQ4MDI4OTk2N2NkZjcwNjM2YTQ0NjlhMjE3 MDVjNmNkZGNlZDlmZjg1Yzk1MGVlZjZmZDllNmZjYWQyNTMzYmUwCitTSEE1MTIgKGdjYy03LjAu MS0yMDE3MDMwOC50YXIuYnoyKSA9IDhmZGFkZjIxOGFjMGQ1MDEwNzUxNmNkOWVhNzJhYzAzNjA2 Yjc5ZGI0NGY3YTNkMWZlNjY1ZDFmMWM1MWI3YTU0YzVmMzdkZjNmNmFmOWFiMDcwZGUxYjM5OTA5 ODk3NDU3NjJjZTRkM2MyYTRhYTRkMTJiZGZlMjlmZTAwZGNkCiBTSEE1MTIgKG52cHR4LW5ld2xp Yi1hYWRjOGViMGVjNDNiN2NkMGRkMmRmYjQ4NGJhZTYzYzhiMDVlZjI0LnRhci5iejIpID0gMzhm OTdjOTI5N2FkMTA4NTY4MzUyYTRkMjgyNzc0NTVhM2MwMWZkOGI3ODY0ZTc5ODAzN2U1MDA2YjZm NzU3MDIyZTg3NGJiZjNmMTY1Nzc1ZmUzYjg3Mzc4MWJjMTA4MTM3YmJlYjQyZGQ1ZWQzYzdkM2U2 NzQ3NzQ2ZmE5MTgKIFNIQTUxMiAobnZwdHgtdG9vbHMtYzI4MDUwZjYwMTkzYjNiOTVhMTg4NjZh OTZmMDMzMzRlODc0ZTc4Zi50YXIuYnoyKSA9IDk1YjU3N2EwNmE5M2JiMDQ0ZGJjODAzM2U1NTBj YjM2YmNmMmFiMjY4N2RhMDMwYTczMThjZGM5MGU3NDY3ZWQ0OTY2NWUyNDdkY2FmYjVmZjRhN2U5 MmNkYzI2NDI5MWQxOTcyOGJkMTdmYWI5MDJmYjY0YjIyNDkxMjY5MzMwCg==