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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Support DW_OP_GNU_parameter_ref for -O2 -g inferiors (BZ 827375). Date: Thu, 23 Jul 2026 18:30:30 GMT Message-ID: <178483143032.1.7263467557386405158.rpms-gdb-31e8955039c4@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 31e8955039c423a41aeb76056f3eb4640752d2ff QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogMzFlODk1NTAzOWM0MjNhNDFhZWI3NjA1NmYzZWI0NjQw NzUyZDJmZgpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxMi0wNi0xNFQwOTo0MTo0MyswMjowMApTdGF0cyAgOiArMTI5MC8tMSBp biAzIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9n ZGIvYy8zMWU4OTU1MDM5YzQyM2E0MWFlYjc2MDU2ZjNlYjQ2NDA3NTJkMmZmP2JyYW5jaD1maXgt ZHVwLXBhdGNoCgpMb2c6ClN1cHBvcnQgRFdfT1BfR05VX3BhcmFtZXRlcl9yZWYgZm9yIC1PMiAt ZyBpbmZlcmlvcnMgKEJaIDgyNzM3NSkuCgotLS0KZGlmZiAtLWdpdCBhL2dkYi1wYXJhbWV0ZXJy ZWYtMW9mMi5wYXRjaCBiL2dkYi1wYXJhbWV0ZXJyZWYtMW9mMi5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjllNmY5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiLXBh cmFtZXRlcnJlZi0xb2YyLnBhdGNoCkBAIC0wLDAgKzEsNDE2IEBACitodHRwOi8vc291cmNld2Fy ZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wNi9tc2cwMDQ1OC5odG1sCitTdWJqZWN0OiBbcGF0 Y2ggMS8yXSBHZW5lcmFsaXplIGNhbGxfc2l0ZS5wYXJhbWV0ZXIga2V5ICgiY29kZSBjbGVhbnVw IikKKworSGksCisKK3ByZXZpb3VzbHkgcGFyYW1ldGVyIGNvdWxkIGJlIGlkZW50aWZpZWQgZWl0 aGVyIHZpYSBEV19PUF9yZWcgb3IgdmlhCitEV19PUF9mYnJlZyAoYm90aCBpbiBEV19BVF9sb2Nh dGlvbikuICBBcyBbcGF0Y2ggMi8yXSBhZGRzIG5ldyBpZGVudGlmaWNhdGlvbgordmlhIERXX0FU X2Fic3RyYWN0X29yaWdpbiBnZW5lcmFsaXplIHRoaXMgdHdvIHN0YXRlIGRlY2lkaW5nIGludG8g bW9yZSBnZW5lcmFsCitlbnVtLgorCisKK1RoYW5rcywKK0phbgorCisKK2dkYi8KKzIwMTItMDYt MTQgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCUNvZGUg Y2xlYW51cDogR2VuZXJhbGl6ZSBjYWxsX3NpdGUucGFyYW1ldGVyIGtleS4KKwkqIGR3YXJmMmV4 cHIuYyAoZXhlY3V0ZV9zdGFja19vcCkgPERXX09QX0dOVV9lbnRyeV92YWx1ZT46IFJlbW92ZQor CXZhcmlhYmxlIGR3YXJmX3JlZy4gIE5ldyB2YXJpYWJsZSBraW5kX3UuICBVcGRhdGUgcGFyYW1l dGVycyB0bworCXB1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlLgorCShjdHhfbm9fcHVzaF9kd2Fy Zl9yZWdfZW50cnlfdmFsdWUpOiBVcGRhdGUgcGFyYW1ldGVycy4KKwkqIGR3YXJmMmV4cHIuaCAo ZW51bSBjYWxsX3NpdGVfcGFyYW1ldGVyX2tpbmQpCisJKHVuaW9uIGNhbGxfc2l0ZV9wYXJhbWV0 ZXJfdSk6IEZvcndhcmQgZGVjbGFyYXRpb25zLgorCShzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0 X2Z1bmNzKTogVXBkYXRlIHBhcmFtZXRlcnMgYW5kIHRoZWlyCisJZGVzY3JpcHRpb24gZm9yIHB1 c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlLgorCShjdHhfbm9fcHVzaF9kd2FyZl9yZWdfZW50cnlf dmFsdWUpOiBVcGRhdGUgcGFyYW1ldGVycy4KKwkqIGR3YXJmMmxvYy5jIChjYWxsX3NpdGVfcGFy YW1ldGVyX21hdGNoZXMpOiBOZXcgZnVuY3Rpb24uCisJKGR3YXJmX2V4cHJfcmVnX3RvX2VudHJ5 X3BhcmFtZXRlcik6IFVwZGF0ZSBwYXJhbWV0ZXJzIGFuZCB0aGVpcgorCWRlc2NyaXB0aW9uLiAg VXNlIGNhbGxfc2l0ZV9wYXJhbWV0ZXJfbWF0Y2hlcy4KKwkoZHdhcmZfZXhwcl9wdXNoX2R3YXJm X3JlZ19lbnRyeV92YWx1ZSwgdmFsdWVfb2ZfZHdhcmZfcmVnX2VudHJ5KToKKwlVcGRhdGUgcGFy YW1ldGVycyBhbmQgdGhlaXIgZGVzY3JpcHRpb24uCisJKHZhbHVlX29mX2R3YXJmX2Jsb2NrX2Vu dHJ5KTogUmVtb3ZlIHZhcmlhYmxlcyBkd2FyZl9yZWcgYW5kIGZiX29mZnNldC4KKwlOZXcgdmFy aWFibGUga2luZF91LiAgQWRqdXN0IHRoZSBjYWxsZXIgZm9yIHVwZGF0ZWQgcGFyYW1ldGVycy4K KwkobmVlZHNfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlKTogVXBkYXRlIHBhcmFtZXRlcnMuCisJKiBk d2FyZjJyZWFkLmMgKHJlYWRfY2FsbF9zaXRlX3Njb3BlKTogTmV3IHZhcmlhYmxlIGxvYy4gIFVz ZSBpdAorCWluc3RlYWQgb2YgYXR0ci4gIFVwZGF0ZSBmb3IgdGhlIGNoYW5nZWQgZmllbGRzIG9m IHN0cnVjdAorCWNhbGxfc2l0ZV9wYXJhbWV0ZXIuCisJKiBnZGJ0eXBlcy5oOiBJbmNsdWRlIGR3 YXJmMmV4cHIuaC4KKwkoZW51bSBjYWxsX3NpdGVfcGFyYW1ldGVyX2tpbmQpOiBOZXcuCisJKHN0 cnVjdCBjYWxsX3NpdGUucGFyYW1ldGVyKTogTmV3IGZpZWxkIGtpbmQuICBXcmFwIGR3YXJmX3Jl ZyBhbmQKKwlmYl9vZmZzZXQgaW50byBuZXcgdW5pb24gdS4KKworLS0tIGEvZ2RiL2R3YXJmMmV4 cHIuYworKysrIGIvZ2RiL2R3YXJmMmV4cHIuYworQEAgLTEzNTUsMzMgKzEzNTUsMzUgQEAgZXhl Y3V0ZV9zdGFja19vcCAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAorIAljYXNlIERX X09QX0dOVV9lbnRyeV92YWx1ZToKKyAJICB7CisgCSAgICB1aW50NjRfdCBsZW47CistCSAgICBp bnQgZHdhcmZfcmVnOworIAkgICAgQ09SRV9BRERSIGRlcmVmX3NpemU7CisrCSAgICB1bmlvbiBj YWxsX3NpdGVfcGFyYW1ldGVyX3Uga2luZF91OworIAorIAkgICAgb3BfcHRyID0gc2FmZV9yZWFk X3VsZWIxMjggKG9wX3B0ciwgb3BfZW5kLCAmbGVuKTsKKyAJICAgIGlmIChvcF9wdHIgKyBsZW4g PiBvcF9lbmQpCisgCSAgICAgIGVycm9yIChfKCJEV19PUF9HTlVfZW50cnlfdmFsdWU6IHRvbyBm ZXcgYnl0ZXMgYXZhaWxhYmxlLiIpKTsKKyAKKy0JICAgIGR3YXJmX3JlZyA9IGR3YXJmX2Jsb2Nr X3RvX2R3YXJmX3JlZyAob3BfcHRyLCBvcF9wdHIgKyBsZW4pOworLQkgICAgaWYgKGR3YXJmX3Jl ZyAhPSAtMSkKKysJICAgIGtpbmRfdS5kd2FyZl9yZWcgPSBkd2FyZl9ibG9ja190b19kd2FyZl9y ZWcgKG9wX3B0ciwgb3BfcHRyICsgbGVuKTsKKysJICAgIGlmIChraW5kX3UuZHdhcmZfcmVnICE9 IC0xKQorIAkgICAgICB7CisgCQlvcF9wdHIgKz0gbGVuOworLQkJY3R4LT5mdW5jcy0+cHVzaF9k d2FyZl9yZWdfZW50cnlfdmFsdWUgKGN0eCwgZHdhcmZfcmVnLAorLQkJCQkJCQkwIC8qIHVudXNl ZCAqLywKKysJCWN0eC0+ZnVuY3MtPnB1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChjdHgsCisr CQkJCQkJICBDQUxMX1NJVEVfUEFSQU1FVEVSX0RXQVJGX1JFRywKKysJCQkJCQkJa2luZF91LAor IAkJCQkJCQktMSAvKiBkZXJlZl9zaXplICovKTsKKyAJCWdvdG8gbm9fcHVzaDsKKyAJICAgICAg fQorIAorLQkgICAgZHdhcmZfcmVnID0gZHdhcmZfYmxvY2tfdG9fZHdhcmZfcmVnX2RlcmVmIChv cF9wdHIsIG9wX3B0ciArIGxlbiwKKy0JCQkJCQkJJmRlcmVmX3NpemUpOworLQkgICAgaWYgKGR3 YXJmX3JlZyAhPSAtMSkKKysJICAgIGtpbmRfdS5kd2FyZl9yZWcgPSBkd2FyZl9ibG9ja190b19k d2FyZl9yZWdfZGVyZWYgKG9wX3B0ciwKKysJCQkJCQkJICAgICAgIG9wX3B0ciArIGxlbiwKKysJ CQkJCQkJICAgICAgICZkZXJlZl9zaXplKTsKKysJICAgIGlmIChraW5kX3UuZHdhcmZfcmVnICE9 IC0xKQorIAkgICAgICB7CisgCQlpZiAoZGVyZWZfc2l6ZSA9PSAtMSkKKyAJCSAgZGVyZWZfc2l6 ZSA9IGN0eC0+YWRkcl9zaXplOworIAkJb3BfcHRyICs9IGxlbjsKKy0JCWN0eC0+ZnVuY3MtPnB1 c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChjdHgsIGR3YXJmX3JlZywKKy0JCQkJCQkJMCAvKiB1 bnVzZWQgKi8sCistCQkJCQkJCWRlcmVmX3NpemUpOworKwkJY3R4LT5mdW5jcy0+cHVzaF9kd2Fy Zl9yZWdfZW50cnlfdmFsdWUgKGN0eCwKKysJCQkJCQkgIENBTExfU0lURV9QQVJBTUVURVJfRFdB UkZfUkVHLAorKwkJCQkJCQlraW5kX3UsIGRlcmVmX3NpemUpOworIAkJZ290byBub19wdXNoOwor IAkgICAgICB9CisgCitAQCAtMTUzMyw3ICsxNTM1LDggQEAgY3R4X25vX2dldF9iYXNlX3R5cGUg KHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHQgKmN0eCwgY3Vfb2Zmc2V0IGRpZSkKKyAKKyB2b2lk CisgY3R4X25vX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3QgZHdhcmZfZXhwcl9j b250ZXh0ICpjdHgsCistCQkJCSAgIGludCBkd2FyZl9yZWcsIENPUkVfQUREUiBmYl9vZmZzZXQs CisrCQkJCSAgIGVudW0gY2FsbF9zaXRlX3BhcmFtZXRlcl9raW5kIGtpbmQsCisrCQkJCSAgIHVu aW9uIGNhbGxfc2l0ZV9wYXJhbWV0ZXJfdSBraW5kX3UsCisgCQkJCSAgIGludCBkZXJlZl9zaXpl KQorIHsKKyAgIGludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCistLS0gYS9nZGIv ZHdhcmYyZXhwci5oCisrKysgYi9nZGIvZHdhcmYyZXhwci5oCitAQCAtMjYsNiArMjYsOCBAQAor ICNpbmNsdWRlICJsZWIxMjguaCIKKyAKKyBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0OworK2Vu dW0gY2FsbF9zaXRlX3BhcmFtZXRlcl9raW5kOworK3VuaW9uIGNhbGxfc2l0ZV9wYXJhbWV0ZXJf dTsKKyAKKyAvKiBPZmZzZXQgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIGl0cyBjb250YWluaW5n IENVIChjb21waWxhdGlvbiB1bml0KS4gICovCisgdHlwZWRlZiBzdHJ1Y3QKK0BAIC03NywxNCAr NzksMTIgQEAgc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dF9mdW5jcworICAgc3RydWN0IHR5cGUg KigqZ2V0X2Jhc2VfdHlwZSkgKHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHQgKmN0eCwgY3Vfb2Zm c2V0IGRpZSk7CisgCisgICAvKiBQdXNoIG9uIERXQVJGIHN0YWNrIGFuIGVudHJ5IGV2YWx1YXRl ZCBmb3IgRFdfVEFHX0dOVV9jYWxsX3NpdGUncworLSAgICAgRFdBUkZfUkVHL0ZCX09GRlNFVCBh dCB0aGUgY2FsbGVyIG9mIHNwZWNpZmllZCBCQVRPTi4gIElmIERXQVJGIHJlZ2lzdGVyCistICAg ICBudW1iZXIgRFdBUkZfUkVHIHNwZWNpZnlpbmcgdGhlIHB1c2hfZHdhcmZfcmVnX2VudHJ5X3Zh bHVlIHBhcmFtZXRlciBpcworLSAgICAgbm90IC0xIEZCX09GRlNFVCBpcyBpZ25vcmVkLiAgT3Ro ZXJ3aXNlIEZCX09GRlNFVCBzcGVjaWZpZXMgc3RhY2sKKy0gICAgIHBhcmFtZXRlciBvZmZzZXQg YWdhaW5zdCBjYWxsZXIncyBzdGFjayBwb2ludGVyICh3aGljaCBlcXVhbHMgdGhlIGNhbGxlZSdz CistICAgICBmcmFtZSBiYXNlKS4gIElmIERFUkVGX1NJWkUgaXMgbm90IC0xIHRoZW4gdXNlCist ICAgICBEV19BVF9HTlVfY2FsbF9zaXRlX2RhdGFfdmFsdWUgaW5zdGVhZCBvZiBEV19BVF9HTlVf Y2FsbF9zaXRlX3ZhbHVlLiAgKi8KKysgICAgIHBhcmFtZXRlciBtYXRjaGluZyBLSU5EIGFuZCBL SU5EX1UgYXQgdGhlIGNhbGxlciBvZiBzcGVjaWZpZWQgQkFUT04uCisrICAgICBJZiBERVJFRl9T SVpFIGlzIG5vdCAtMSB0aGVuIHVzZSBEV19BVF9HTlVfY2FsbF9zaXRlX2RhdGFfdmFsdWUgaW5z dGVhZCBvZgorKyAgICAgRFdfQVRfR05VX2NhbGxfc2l0ZV92YWx1ZS4gICovCisgICB2b2lkICgq cHVzaF9kd2FyZl9yZWdfZW50cnlfdmFsdWUpIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpj dHgsCistCQkJCSAgICAgIGludCBkd2FyZl9yZWcsIENPUkVfQUREUiBmYl9vZmZzZXQsCisrCQkJ CSAgICAgIGVudW0gY2FsbF9zaXRlX3BhcmFtZXRlcl9raW5kIGtpbmQsCisrCQkJCSAgICAgIHVu aW9uIGNhbGxfc2l0ZV9wYXJhbWV0ZXJfdSBraW5kX3UsCisgCQkJCSAgICAgIGludCBkZXJlZl9z aXplKTsKKyAKKyAgIC8qIFJldHVybiB0aGUgYWRkcmVzcyBpbmRleGVkIGJ5IERXX09QX0dOVV9h ZGRyX2luZGV4LgorQEAgLTI4OSw3ICsyODksOCBAQCB2b2lkIGN0eF9ub19kd2FyZl9jYWxsIChz dHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsIGN1X29mZnNldCBkaWVfb2Zmc2V0KTsKKyBz dHJ1Y3QgdHlwZSAqY3R4X25vX2dldF9iYXNlX3R5cGUgKHN0cnVjdCBkd2FyZl9leHByX2NvbnRl eHQgKmN0eCwKKyAJCQkJICAgY3Vfb2Zmc2V0IGRpZSk7Cisgdm9pZCBjdHhfbm9fcHVzaF9kd2Fy Zl9yZWdfZW50cnlfdmFsdWUgKHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHQgKmN0eCwKKy0JCQkJ CWludCBkd2FyZl9yZWcsIENPUkVfQUREUiBmYl9vZmZzZXQsCisrCQkJCQllbnVtIGNhbGxfc2l0 ZV9wYXJhbWV0ZXJfa2luZCBraW5kLAorKwkJCQkJdW5pb24gY2FsbF9zaXRlX3BhcmFtZXRlcl91 IGtpbmRfdSwKKyAJCQkJCWludCBkZXJlZl9zaXplKTsKKyBDT1JFX0FERFIgY3R4X25vX2dldF9h ZGRyX2luZGV4ICh2b2lkICpiYXRvbiwgdW5zaWduZWQgaW50IGluZGV4KTsKKyAKKy0tLSBhL2dk Yi9kd2FyZjJsb2MuYworKysrIGIvZ2RiL2R3YXJmMmxvYy5jCitAQCAtOTI5LDE2ICs5MjksMzQg QEAgY2FsbF9zaXRlX2ZpbmRfY2hhaW4gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FE RFIgY2FsbGVyX3BjLAorICAgcmV0dXJuIHJldHZhbDsKKyB9CisgCistLyogRmV0Y2ggY2FsbF9z aXRlX3BhcmFtZXRlciBmcm9tIGNhbGxlciBtYXRjaGluZyB0aGUgcGFyYW1ldGVycy4gIEZSQU1F IGlzIGZvcgorLSAgIGNhbGxlZS4gIFNlZSBEV0FSRl9SRUcgYW5kIEZCX09GRlNFVCBkZXNjcmlw dGlvbiBhdCBzdHJ1Y3QKKy0gICBkd2FyZl9leHByX2NvbnRleHRfZnVuY3MtPnB1c2hfZHdhcmZf cmVnX2VudHJ5X3ZhbHVlLgorKy8qIFJldHVybiAxIGlmIEtJTkQgYW5kIEtJTkRfVSBtYXRjaCBQ QVJBTUVURVIuICBSZXR1cm4gMCBvdGhlcndpc2UuICAqLworKworK3N0YXRpYyBpbnQKKytjYWxs X3NpdGVfcGFyYW1ldGVyX21hdGNoZXMgKHN0cnVjdCBjYWxsX3NpdGVfcGFyYW1ldGVyICpwYXJh bWV0ZXIsCisrCQkJICAgICBlbnVtIGNhbGxfc2l0ZV9wYXJhbWV0ZXJfa2luZCBraW5kLAorKwkJ CSAgICAgdW5pb24gY2FsbF9zaXRlX3BhcmFtZXRlcl91IGtpbmRfdSkKKyt7CisrICBpZiAoa2lu ZCA9PSBwYXJhbWV0ZXItPmtpbmQpCisrICAgIHN3aXRjaCAoa2luZCkKKysgICAgICB7CisrICAg ICAgY2FzZSBDQUxMX1NJVEVfUEFSQU1FVEVSX0RXQVJGX1JFRzoKKysJcmV0dXJuIGtpbmRfdS5k d2FyZl9yZWcgPT0gcGFyYW1ldGVyLT51LmR3YXJmX3JlZzsKKysgICAgICBjYXNlIENBTExfU0lU RV9QQVJBTUVURVJfRkJfT0ZGU0VUOgorKwlyZXR1cm4ga2luZF91LmZiX29mZnNldCA9PSBwYXJh bWV0ZXItPnUuZmJfb2Zmc2V0OworKyAgICAgIH0KKysgIHJldHVybiAwOworK30KKysKKysvKiBG ZXRjaCBjYWxsX3NpdGVfcGFyYW1ldGVyIGZyb20gY2FsbGVyIG1hdGNoaW5nIEtJTkQgYW5kIEtJ TkRfVS4KKysgICBGUkFNRSBpcyBmb3IgY2FsbGVlLgorIAorICAgIEZ1bmN0aW9uIGFsd2F5cyBy ZXR1cm5zIG5vbi1OVUxMLCBpdCB0aHJvd3MgTk9fRU5UUllfVkFMVUVfRVJST1IKKyAgICBvdGhl cndpc2UuICAqLworIAorIHN0YXRpYyBzdHJ1Y3QgY2FsbF9zaXRlX3BhcmFtZXRlciAqCistZHdh cmZfZXhwcl9yZWdfdG9fZW50cnlfcGFyYW1ldGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUs IGludCBkd2FyZl9yZWcsCistCQkJCSAgIENPUkVfQUREUiBmYl9vZmZzZXQsCisrZHdhcmZfZXhw cl9yZWdfdG9fZW50cnlfcGFyYW1ldGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCisrCQkJ CSAgIGVudW0gY2FsbF9zaXRlX3BhcmFtZXRlcl9raW5kIGtpbmQsCisrCQkJCSAgIHVuaW9uIGNh bGxfc2l0ZV9wYXJhbWV0ZXJfdSBraW5kX3UsCisgCQkJCSAgIHN0cnVjdCBkd2FyZjJfcGVyX2N1 X2RhdGEgKipwZXJfY3VfcmV0dXJuKQorIHsKKyAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBnZXRf ZnJhbWVfZnVuYyAoZnJhbWUpOworQEAgLTEwMDEsMTIgKzEwMTksNyBAQCBkd2FyZl9leHByX3Jl Z190b19lbnRyeV9wYXJhbWV0ZXIgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IGR3YXJm X3JlZywKKyAgIGZvciAoaXBhcmFtcyA9IDA7IGlwYXJhbXMgPCBjYWxsX3NpdGUtPnBhcmFtZXRl cl9jb3VudDsgaXBhcmFtcysrKQorICAgICB7CisgICAgICAgcGFyYW1ldGVyID0gJmNhbGxfc2l0 ZS0+cGFyYW1ldGVyW2lwYXJhbXNdOworLSAgICAgIGlmIChwYXJhbWV0ZXItPmR3YXJmX3JlZyA9 PSAtMSAmJiBkd2FyZl9yZWcgPT0gLTEpCistCXsKKy0JICBpZiAocGFyYW1ldGVyLT5mYl9vZmZz ZXQgPT0gZmJfb2Zmc2V0KQorLQkgICAgYnJlYWs7CistCX0KKy0gICAgICBlbHNlIGlmIChwYXJh bWV0ZXItPmR3YXJmX3JlZyA9PSBkd2FyZl9yZWcpCisrICAgICAgaWYgKGNhbGxfc2l0ZV9wYXJh bWV0ZXJfbWF0Y2hlcyAocGFyYW1ldGVyLCBraW5kLCBraW5kX3UpKQorIAlicmVhazsKKyAgICAg fQorICAgaWYgKGlwYXJhbXMgPT0gY2FsbF9zaXRlLT5wYXJhbWV0ZXJfY291bnQpCitAQCAtMTA2 MywxNyArMTA3NiwxNyBAQCBkd2FyZl9lbnRyeV9wYXJhbWV0ZXJfdG9fdmFsdWUgKHN0cnVjdCBj YWxsX3NpdGVfcGFyYW1ldGVyICpwYXJhbWV0ZXIsCisgICByZXR1cm4gZHdhcmYyX2V2YWx1YXRl X2xvY19kZXNjICh0eXBlLCBjYWxsZXJfZnJhbWUsIGRhdGEsIHNpemUgKyAxLCBwZXJfY3UpOwor IH0KKyAKKy0vKiBFeGVjdXRlIGNhbGxfc2l0ZV9wYXJhbWV0ZXIncyBEV0FSRiBibG9jayBtYXRj aGluZyBERVJFRl9TSVpFIGZvciBjYWxsZXIgb2YKKy0gICB0aGUgQ1RYJ3MgZnJhbWUuICBDVFgg bXVzdCBiZSBvZiBkd2FyZl9leHByX2N0eF9mdW5jcyBraW5kLiAgU2VlIERXQVJGX1JFRworLSAg IGFuZCBGQl9PRkZTRVQgZGVzY3JpcHRpb24gYXQgc3RydWN0CistICAgZHdhcmZfZXhwcl9jb250 ZXh0X2Z1bmNzLT5wdXNoX2R3YXJmX3JlZ19lbnRyeV92YWx1ZS4KKysvKiBFeGVjdXRlIERXQVJG IGJsb2NrIG9mIGNhbGxfc2l0ZV9wYXJhbWV0ZXIgd2hpY2ggbWF0Y2hlcyBLSU5EIGFuZCBLSU5E X1UuCisrICAgQ2hvb3NlIERFUkVGX1NJWkUgdmFsdWUgb2YgdGhhdCBwYXJhbWV0ZXIuICBTZWFy Y2ggY2FsbGVyIG9mIHRoZSBDVFgncworKyAgIGZyYW1lLiAgQ1RYIG11c3QgYmUgb2YgZHdhcmZf ZXhwcl9jdHhfZnVuY3Mga2luZC4KKyAKKyAgICBUaGUgQ1RYIGNhbGxlciBjYW4gYmUgZnJvbSBh IGRpZmZlcmVudCBDVSAtIHBlcl9jdV9kd2FyZl9jYWxsIGltcGxlbWVudGF0aW9uCisgICAgY2Fu IGJlIG1vcmUgc2ltcGxlIGFzIGl0IGRvZXMgbm90IHN1cHBvcnQgY3Jvc3MtQ1UgRFdBUkYgZXhl Y3V0aW9ucy4gICovCisgCisgc3RhdGljIHZvaWQKKyBkd2FyZl9leHByX3B1c2hfZHdhcmZfcmVn X2VudHJ5X3ZhbHVlIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsCistCQkJCSAgICAg ICBpbnQgZHdhcmZfcmVnLCBDT1JFX0FERFIgZmJfb2Zmc2V0LAorKwkJCQkgICAgICAgZW51bSBj YWxsX3NpdGVfcGFyYW1ldGVyX2tpbmQga2luZCwKKysJCQkJICAgICAgIHVuaW9uIGNhbGxfc2l0 ZV9wYXJhbWV0ZXJfdSBraW5kX3UsCisgCQkJCSAgICAgICBpbnQgZGVyZWZfc2l6ZSkKKyB7Cisg ICBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbiAqZGViYXRvbjsKK0BAIC0xMDkwLDcgKzExMDMsNyBA QCBkd2FyZl9leHByX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3QgZHdhcmZfZXhw cl9jb250ZXh0ICpjdHgsCisgICBmcmFtZSA9IGRlYmF0b24tPmZyYW1lOworICAgY2FsbGVyX2Zy YW1lID0gZ2V0X3ByZXZfZnJhbWUgKGZyYW1lKTsKKyAKKy0gIHBhcmFtZXRlciA9IGR3YXJmX2V4 cHJfcmVnX3RvX2VudHJ5X3BhcmFtZXRlciAoZnJhbWUsIGR3YXJmX3JlZywgZmJfb2Zmc2V0LAor KyAgcGFyYW1ldGVyID0gZHdhcmZfZXhwcl9yZWdfdG9fZW50cnlfcGFyYW1ldGVyIChmcmFtZSwg a2luZCwga2luZF91LAorIAkJCQkJCSAmY2FsbGVyX3Blcl9jdSk7CisgICBkYXRhX3NyYyA9IGRl cmVmX3NpemUgPT0gLTEgPyBwYXJhbWV0ZXItPnZhbHVlIDogcGFyYW1ldGVyLT5kYXRhX3ZhbHVl OworICAgc2l6ZSA9IGRlcmVmX3NpemUgPT0gLTEgPyBwYXJhbWV0ZXItPnZhbHVlX3NpemUgOiBw YXJhbWV0ZXItPmRhdGFfdmFsdWVfc2l6ZTsKK0BAIC0xMTg3LDE3ICsxMjAwLDE3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgbHZhbF9mdW5jcyBlbnRyeV9kYXRhX3ZhbHVlX2Z1bmNzID0KKyAgIGVu dHJ5X2RhdGFfdmFsdWVfZnJlZV9jbG9zdXJlCisgfTsKKyAKKy0vKiBSZWFkIHBhcmFtZXRlciBv ZiBUWVBFIGF0IChjYWxsZWUpIEZSQU1FJ3MgZnVuY3Rpb24gZW50cnkuICBEV0FSRl9SRUcgYW5k CistICAgRkJfT0ZGU0VUIGFyZSB1c2VkIHRvIG1hdGNoIERXX0FUX2xvY2F0aW9uIGF0IHRoZSBj YWxsZXIncworLSAgIERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlci4gIFNlZSBEV0FSRl9S RUcgYW5kIEZCX09GRlNFVCBkZXNjcmlwdGlvbiBhdAorLSAgIHN0cnVjdCBkd2FyZl9leHByX2Nv bnRleHRfZnVuY3MtPnB1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlLgorKy8qIFJlYWQgcGFyYW1l dGVyIG9mIFRZUEUgYXQgKGNhbGxlZSkgRlJBTUUncyBmdW5jdGlvbiBlbnRyeS4gIEtJTkQgYW5k IEtJTkRfVQorKyAgIGFyZSB1c2VkIHRvIG1hdGNoIERXX0FUX2xvY2F0aW9uIGF0IHRoZSBjYWxs ZXIncworKyAgIERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlci4KKyAKKyAgICBGdW5jdGlv biBhbHdheXMgcmV0dXJucyBub24tTlVMTCB2YWx1ZS4gIEl0IHRocm93cyBOT19FTlRSWV9WQUxV RV9FUlJPUiBpZiBpdAorICAgIGNhbm5vdCByZXNvbHZlIHRoZSBwYXJhbWV0ZXIgZm9yIGFueSBy ZWFzb24uICAqLworIAorIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgorIHZhbHVlX29mX2R3YXJmX3Jl Z19lbnRyeSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKKy0J CQkgIGludCBkd2FyZl9yZWcsIENPUkVfQUREUiBmYl9vZmZzZXQpCisrCQkJICBlbnVtIGNhbGxf c2l0ZV9wYXJhbWV0ZXJfa2luZCBraW5kLAorKwkJCSAgdW5pb24gY2FsbF9zaXRlX3BhcmFtZXRl cl91IGtpbmRfdSkKKyB7CisgICBzdHJ1Y3QgdHlwZSAqY2hlY2tlZF90eXBlID0gY2hlY2tfdHlw ZWRlZiAodHlwZSk7CisgICBzdHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5cGUgPSBUWVBFX1RBUkdFVF9U WVBFIChjaGVja2VkX3R5cGUpOworQEAgLTEyMDcsNyArMTIyMCw3IEBAIHZhbHVlX29mX2R3YXJm X3JlZ19lbnRyeSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwK KyAgIHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKmNhbGxlcl9wZXJfY3U7CisgICBDT1JFX0FE RFIgYWRkcjsKKyAKKy0gIHBhcmFtZXRlciA9IGR3YXJmX2V4cHJfcmVnX3RvX2VudHJ5X3BhcmFt ZXRlciAoZnJhbWUsIGR3YXJmX3JlZywgZmJfb2Zmc2V0LAorKyAgcGFyYW1ldGVyID0gZHdhcmZf ZXhwcl9yZWdfdG9fZW50cnlfcGFyYW1ldGVyIChmcmFtZSwga2luZCwga2luZF91LAorIAkJCQkJ CSAmY2FsbGVyX3Blcl9jdSk7CisgCisgICBvdXRlcl92YWwgPSBkd2FyZl9lbnRyeV9wYXJhbWV0 ZXJfdG9fdmFsdWUgKHBhcmFtZXRlciwgLTEgLyogZGVyZWZfc2l6ZSAqLywKK0BAIC0xMjU5LDE1 ICsxMjcyLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgorIHZhbHVlX29mX2R3YXJmX2Jsb2Nr X2VudHJ5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAorIAkJ CSAgICBjb25zdCBnZGJfYnl0ZSAqYmxvY2ssIHNpemVfdCBibG9ja19sZW4pCisgeworLSAgaW50 IGR3YXJmX3JlZzsKKy0gIENPUkVfQUREUiBmYl9vZmZzZXQ7CisrICB1bmlvbiBjYWxsX3NpdGVf cGFyYW1ldGVyX3Uga2luZF91OworIAorLSAgZHdhcmZfcmVnID0gZHdhcmZfYmxvY2tfdG9fZHdh cmZfcmVnIChibG9jaywgYmxvY2sgKyBibG9ja19sZW4pOworLSAgaWYgKGR3YXJmX3JlZyAhPSAt MSkKKy0gICAgcmV0dXJuIHZhbHVlX29mX2R3YXJmX3JlZ19lbnRyeSAodHlwZSwgZnJhbWUsIGR3 YXJmX3JlZywgMCAvKiB1bnVzZWQgKi8pOworKyAga2luZF91LmR3YXJmX3JlZyA9IGR3YXJmX2Js b2NrX3RvX2R3YXJmX3JlZyAoYmxvY2ssIGJsb2NrICsgYmxvY2tfbGVuKTsKKysgIGlmIChraW5k X3UuZHdhcmZfcmVnICE9IC0xKQorKyAgICByZXR1cm4gdmFsdWVfb2ZfZHdhcmZfcmVnX2VudHJ5 ICh0eXBlLCBmcmFtZSwgQ0FMTF9TSVRFX1BBUkFNRVRFUl9EV0FSRl9SRUcsCisrCQkJCSAgICAg a2luZF91KTsKKyAKKy0gIGlmIChkd2FyZl9ibG9ja190b19mYl9vZmZzZXQgKGJsb2NrLCBibG9j ayArIGJsb2NrX2xlbiwgJmZiX29mZnNldCkpCistICAgIHJldHVybiB2YWx1ZV9vZl9kd2FyZl9y ZWdfZW50cnkgKHR5cGUsIGZyYW1lLCAtMSwgZmJfb2Zmc2V0KTsKKysgIGlmIChkd2FyZl9ibG9j a190b19mYl9vZmZzZXQgKGJsb2NrLCBibG9jayArIGJsb2NrX2xlbiwgJmtpbmRfdS5mYl9vZmZz ZXQpKQorKyAgICByZXR1cm4gdmFsdWVfb2ZfZHdhcmZfcmVnX2VudHJ5ICh0eXBlLCBmcmFtZSwg Q0FMTF9TSVRFX1BBUkFNRVRFUl9GQl9PRkZTRVQsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGtpbmRfdSk7CisgCisgICAvKiBUaGlzIGNhbiBub3JtYWxseSBoYXBwZW4g LSB0aHJvdyBOT19FTlRSWV9WQUxVRV9FUlJPUiB0byBnZXQgdGhlIG1lc3NhZ2UKKyAgICAgIHN1 cHByZXNzZWQgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24uICBUaGUgZXhwcmVzc2lvbiBjYW4gYmUg YXJiaXRyYXJ5IGlmCitAQCAtMjM1OCw3ICsyMzcyLDggQEAgbmVlZHNfZnJhbWVfZHdhcmZfY2Fs bCAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LCBjdV9vZmZzZXQgZGllX29mZnNldCkK KyAKKyBzdGF0aWMgdm9pZAorIG5lZWRzX2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0IGR3 YXJmX2V4cHJfY29udGV4dCAqY3R4LAorLQkJCSAgICAgaW50IGR3YXJmX3JlZywgQ09SRV9BRERS IGZiX29mZnNldCwgaW50IGRlcmVmX3NpemUpCisrCQkJICAgICBlbnVtIGNhbGxfc2l0ZV9wYXJh bWV0ZXJfa2luZCBraW5kLAorKwkJCSAgICAgdW5pb24gY2FsbF9zaXRlX3BhcmFtZXRlcl91IGtp bmRfdSwgaW50IGRlcmVmX3NpemUpCisgeworICAgc3RydWN0IG5lZWRzX2ZyYW1lX2JhdG9uICpu Zl9iYXRvbiA9IGN0eC0+YmF0b247CisgCistLS0gYS9nZGIvZHdhcmYycmVhZC5jCisrKysgYi9n ZGIvZHdhcmYycmVhZC5jCitAQCAtNzgxNiw2ICs3ODE2LDcgQEAgcmVhZF9jYWxsX3NpdGVfc2Nv cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAgICAgICAg Y2hpbGRfZGllID0gc2libGluZ19kaWUgKGNoaWxkX2RpZSkpCisgICAgIHsKKyAgICAgICBzdHJ1 Y3QgY2FsbF9zaXRlX3BhcmFtZXRlciAqcGFyYW1ldGVyOworKyAgICAgIHN0cnVjdCBhdHRyaWJ1 dGUgKmxvYzsKKyAKKyAgICAgICBpZiAoY2hpbGRfZGllLT50YWcgIT0gRFdfVEFHX0dOVV9jYWxs X3NpdGVfcGFyYW1ldGVyKQorIAl7CitAQCAtNzgyOSw4ICs3ODMwLDggQEAgcmVhZF9jYWxsX3Np dGVfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAg ICAgICAvKiBEV19BVF9sb2NhdGlvbiBzcGVjaWZpZXMgdGhlIHJlZ2lzdGVyIG51bWJlci4gIFZh bHVlIG9mIHRoZSBkYXRhCisgCSBhc3N1bWVkIGZvciB0aGUgcmVnaXN0ZXIgaXMgY29udGFpbmVk IGluIERXX0FUX0dOVV9jYWxsX3NpdGVfdmFsdWUuICAqLworIAorLSAgICAgIGF0dHIgPSBkd2Fy ZjJfYXR0ciAoY2hpbGRfZGllLCBEV19BVF9sb2NhdGlvbiwgY3UpOworLSAgICAgIGlmICghYXR0 ciB8fCAhYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKKysgICAgICBsb2MgPSBkd2FyZjJfYXR0 ciAoY2hpbGRfZGllLCBEV19BVF9sb2NhdGlvbiwgY3UpOworKyAgICAgIGlmIChsb2MgPT0gTlVM TCB8fCAhYXR0cl9mb3JtX2lzX2Jsb2NrIChsb2MpKQorIAl7CisgCSAgY29tcGxhaW50ICgmc3lt ZmlsZV9jb21wbGFpbnRzLAorIAkJICAgICBfKCJObyBEV19GT1JNX2Jsb2NrKiBEV19BVF9sb2Nh dGlvbiBmb3IgIgorQEAgLTc4MzgsMTkgKzc4MzksMjYgQEAgcmVhZF9jYWxsX3NpdGVfc2NvcGUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAJCSAgICAgY2hp bGRfZGllLT5vZmZzZXQuc2VjdF9vZmYsIG9iamZpbGUtPm5hbWUpOworIAkgIGNvbnRpbnVlOwor IAl9CistICAgICAgcGFyYW1ldGVyLT5kd2FyZl9yZWcgPSBkd2FyZl9ibG9ja190b19kd2FyZl9y ZWcgKERXX0JMT0NLIChhdHRyKS0+ZGF0YSwKKy0JCQkJICZEV19CTE9DSyAoYXR0ciktPmRhdGFb RFdfQkxPQ0sgKGF0dHIpLT5zaXplXSk7CistICAgICAgaWYgKHBhcmFtZXRlci0+ZHdhcmZfcmVn ID09IC0xCistCSAgJiYgIWR3YXJmX2Jsb2NrX3RvX3NwX29mZnNldCAoZ2RiYXJjaCwgRFdfQkxP Q0sgKGF0dHIpLT5kYXRhLAorLQkJCQkgICZEV19CTE9DSyAoYXR0ciktPmRhdGFbRFdfQkxPQ0sg KGF0dHIpLT5zaXplXSwKKy0JCQkJCSZwYXJhbWV0ZXItPmZiX29mZnNldCkpCisrICAgICAgZWxz ZQorIAl7CistCSAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLAorLQkJICAgICBfKCJP bmx5IHNpbmdsZSBEV19PUF9yZWcgb3IgRFdfT1BfZmJyZWcgaXMgc3VwcG9ydGVkICIKKy0JCSAg ICAgICAiZm9yIERXX0ZPUk1fYmxvY2sqIERXX0FUX2xvY2F0aW9uIGZvciAiCistCQkgICAgICAg IkRXX1RBR19HTlVfY2FsbF9zaXRlIGNoaWxkIERJRSAweCV4IFtpbiBtb2R1bGUgJXNdIiksCist CQkgICAgIGNoaWxkX2RpZS0+b2Zmc2V0LnNlY3Rfb2ZmLCBvYmpmaWxlLT5uYW1lKTsKKy0JICBj b250aW51ZTsKKysJICBwYXJhbWV0ZXItPnUuZHdhcmZfcmVnID0gZHdhcmZfYmxvY2tfdG9fZHdh cmZfcmVnCisrCSAgICAoRFdfQkxPQ0sgKGxvYyktPmRhdGEsICZEV19CTE9DSyAobG9jKS0+ZGF0 YVtEV19CTE9DSyAobG9jKS0+c2l6ZV0pOworKwkgIGlmIChwYXJhbWV0ZXItPnUuZHdhcmZfcmVn ICE9IC0xKQorKwkgICAgcGFyYW1ldGVyLT5raW5kID0gQ0FMTF9TSVRFX1BBUkFNRVRFUl9EV0FS Rl9SRUc7CisrCSAgZWxzZSBpZiAoZHdhcmZfYmxvY2tfdG9fc3Bfb2Zmc2V0IChnZGJhcmNoLCBE V19CTE9DSyAobG9jKS0+ZGF0YSwKKysJCQkJICAgICZEV19CTE9DSyAobG9jKS0+ZGF0YVtEV19C TE9DSyAobG9jKS0+c2l6ZV0sCisrCQkJCQkgICAgICZwYXJhbWV0ZXItPnUuZmJfb2Zmc2V0KSkK KysJICAgIHBhcmFtZXRlci0+a2luZCA9IENBTExfU0lURV9QQVJBTUVURVJfRkJfT0ZGU0VUOwor KwkgIGVsc2UKKysJICAgIHsKKysJICAgICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRz LAorKwkJCSBfKCJPbmx5IHNpbmdsZSBEV19PUF9yZWcgb3IgRFdfT1BfZmJyZWcgaXMgc3VwcG9y dGVkICIKKysJCQkgICAiZm9yIERXX0ZPUk1fYmxvY2sqIERXX0FUX2xvY2F0aW9uIGlzIHN1cHBv cnRlZCBmb3IgIgorKwkJCSAgICJEV19UQUdfR05VX2NhbGxfc2l0ZSBjaGlsZCBESUUgMHgleCAi CisrCQkJICAgIltpbiBtb2R1bGUgJXNdIiksCisrCQkJIGNoaWxkX2RpZS0+b2Zmc2V0LnNlY3Rf b2ZmLCBvYmpmaWxlLT5uYW1lKTsKKysJICAgICAgY29udGludWU7CisrCSAgICB9CisgCX0KKyAK KyAgICAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGNoaWxkX2RpZSwgRFdfQVRfR05VX2NhbGxfc2l0 ZV92YWx1ZSwgY3UpOworLS0tIGEvZ2RiL2dkYnR5cGVzLmgKKysrKyBiL2dkYi9nZGJ0eXBlcy5o CitAQCAtMjMsNiArMjMsNyBAQAorICNkZWZpbmUgR0RCVFlQRVNfSCAxCisgCisgI2luY2x1ZGUg Imhhc2h0YWIuaCIKKysjaW5jbHVkZSAiZHdhcmYyZXhwci5oIgorIAorIC8qIEZvcndhcmQgZGVj bGFyYXRpb25zIGZvciBwcm90b3R5cGVzLiAgKi8KKyBzdHJ1Y3QgZmllbGQ7CitAQCAtOTE1LDYg KzkxNiwxNyBAQCBzdHJ1Y3QgZnVuY190eXBlCisgICAgIHN0cnVjdCBjYWxsX3NpdGUgKnRhaWxf Y2FsbF9saXN0OworICAgfTsKKyAKKysvKiBzdHJ1Y3QgY2FsbF9zaXRlX3BhcmFtZXRlciBjYW4g YmUgcmVmZXJlbmNlZCBpbiBjYWxsZWVzIGJ5IHNldmVyYWwgd2F5cy4gICovCisrCisrZW51bSBj YWxsX3NpdGVfcGFyYW1ldGVyX2tpbmQKKyt7CisrICAvKiBVc2UgZmllbGQgY2FsbF9zaXRlX3Bh cmFtZXRlci51LmR3YXJmX3JlZy4gICovCisrICBDQUxMX1NJVEVfUEFSQU1FVEVSX0RXQVJGX1JF RywKKysKKysgIC8qIFVzZSBmaWVsZCBjYWxsX3NpdGVfcGFyYW1ldGVyLnUuZmJfb2Zmc2V0LiAg Ki8KKysgIENBTExfU0lURV9QQVJBTUVURVJfRkJfT0ZGU0VUCisrfTsKKysKKyAvKiBBIHBsYWNl IHdoZXJlIGEgZnVuY3Rpb24gZ2V0cyBjYWxsZWQgZnJvbSwgcmVwcmVzZW50ZWQgYnkKKyAgICBE V19UQUdfR05VX2NhbGxfc2l0ZS4gIEl0IGNhbiBiZSBsb29rZWQgdXAgZnJvbSBzeW10YWItPmNh bGxfc2l0ZV9odGFiLiAgKi8KKyAKK0BAIC05NDgsMTUgKzk2MCwxOSBAQCBzdHJ1Y3QgY2FsbF9z aXRlCisgICAgIC8qIERlc2NyaWJlIERXX1RBR19HTlVfY2FsbF9zaXRlJ3MgRFdfVEFHX2Zvcm1h bF9wYXJhbWV0ZXIuICAqLworICAgICBzdHJ1Y3QgY2FsbF9zaXRlX3BhcmFtZXRlcgorICAgICAg IHsKKy0JLyogRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIncyBEV19BVF9sb2NhdGlvbidzIERXX09Q X3JlZ1ggYXMgRFdBUkYKKy0JICAgcmVnaXN0ZXIgbnVtYmVyLCBmb3IgcmVnaXN0ZXIgcGFzc2Vk IHBhcmFtZXRlcnMuICBJZiAtMSB0aGVuIHVzZQorLQkgICBmYl9vZmZzZXQuICAqLworLQlpbnQg ZHdhcmZfcmVnOworLQorLQkvKiBPZmZzZXQgZnJvbSB0aGUgY2FsbGVlJ3MgZnJhbWUgYmFzZSwg Zm9yIHN0YWNrIHBhc3NlZCBwYXJhbWV0ZXJzLgorLQkgICBUaGlzIGVxdWFscyBvZmZzZXQgZnJv bSB0aGUgY2FsbGVyJ3Mgc3RhY2sgcG9pbnRlci4gIFZhbGlkIG9ubHkgaWYKKy0JICAgRFdBUkZf UkVHTlVNIGlzIC0xLiAgKi8KKy0JQ09SRV9BRERSIGZiX29mZnNldDsKKysJRU5VTV9CSVRGSUVM RCAoY2FsbF9zaXRlX3BhcmFtZXRlcl9raW5kKSBraW5kIDogMjsKKysKKysJdW5pb24gY2FsbF9z aXRlX3BhcmFtZXRlcl91CisrCSAgeworKwkgICAgLyogRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIn cyBEV19BVF9sb2NhdGlvbidzIERXX09QX3JlZ1ggYXMgRFdBUkYKKysJICAgICAgIHJlZ2lzdGVy IG51bWJlciwgZm9yIHJlZ2lzdGVyIHBhc3NlZCBwYXJhbWV0ZXJzLiAgKi8KKysJICAgIGludCBk d2FyZl9yZWc7CisrCisrCSAgICAvKiBPZmZzZXQgZnJvbSB0aGUgY2FsbGVlJ3MgZnJhbWUgYmFz ZSwgZm9yIHN0YWNrIHBhc3NlZCBwYXJhbWV0ZXJzLgorKwkgICAgICAgVGhpcyBlcXVhbHMgb2Zm c2V0IGZyb20gdGhlIGNhbGxlcidzIHN0YWNrIHBvaW50ZXIuICAqLworKwkgICAgQ09SRV9BRERS IGZiX29mZnNldDsKKysJICB9CisrCXU7CisgCisgCS8qIERXX1RBR19mb3JtYWxfcGFyYW1ldGVy J3MgRFdfQVRfR05VX2NhbGxfc2l0ZV92YWx1ZS4gIEl0IGlzIG5ldmVyCisgCSAgIE5VTEwuICAq LworCgpkaWZmIC0tZ2l0IGEvZ2RiLXBhcmFtZXRlcnJlZi0yb2YyLnBhdGNoIGIvZ2RiLXBhcmFt ZXRlcnJlZi0yb2YyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1 ZTM3YWYKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcGFyYW1ldGVycmVmLTJvZjIucGF0Y2gKQEAg LTAsMCArMSw4NjQgQEAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEy LTA2L21zZzAwNDU5Lmh0bWwKK1N1YmplY3Q6IFtwYXRjaCAyLzJdIFN1cHBvcnQgZ2NjLTQuNyBE V19PUF9HTlVfcGFyYW1ldGVyX3JlZgorCitIaSwKKwordGhpcyBhZGQtb24gdG8gZ2RiLmFyY2gv YW1kNjQtZW50cnktdmFsdWUuZXhwIGhhcyBiZWVuIHNvbWVob3cgZm9yZ290dGVuOgorCVtQQVRD SF0gSW1wcm92ZSBkZWJ1ZyBpbmZvIGZvciBJUEEtU1JBIG9wdGltaXplZCBjb2RlIC0gYWRkIERX X09QX0dOVV9wYXJhbWV0ZXJfcmVmIHN1cHBvcnQgKFBSIGRlYnVnLzQ3ODU4KQorCWh0dHA6Ly9n Y2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDExLTA2L21zZzAwNjQ5Lmh0bWwKKworQW5kIGZv ciBnY2MtNC43KyAtTzIgLWcgY29kZSBHREIgbWF5IHByaW50IChpbnN0ZWFkIG9mIHRoZSBjYWxj dWxhdGVkIHZhbHVlKToKKwkoZ2RiKSBwIHkKKwlVbmhhbmRsZWQgZHdhcmYgZXhwcmVzc2lvbiBv cGNvZGUgMHhmYQorCitUaGUgc3VwcG9ydCBpcyBwcmV0dHkgc2ltcGxlLCB0aGVyZSBpcyBqdXN0 IG5vdyB0aGlyZCBraW5kIG9mIGJpbmRpbmcgYmV0d2VlbgorY2FsbGVycyBhbmQgY2FsbGVlcyBw YXJhbWV0ZXIgdmFsdWVzLgorCitObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82NC1tMzIs aTY4Nn0tZmVkb3JhMTctbGludXgtZ251LgorCisKK1RoYW5rcywKK0phbgorCisKK2dkYi8KKzIw MTItMDYtMTQgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKwor CSogZHdhcmYyZXhwci5jIChleGVjdXRlX3N0YWNrX29wKTogU3VwcG9ydCBEV19PUF9HTlVfcGFy YW1ldGVyX3JlZi4KKwkqIGR3YXJmMmxvYy5jIChjYWxsX3NpdGVfcGFyYW1ldGVyX21hdGNoZXMp OiBTdXBwb3J0CisJQ0FMTF9TSVRFX1BBUkFNRVRFUl9QQVJBTV9PRkZTRVQuCisJKG5lZWRzX2R3 YXJmX3JlZ19lbnRyeV92YWx1ZSk6IFB1c2ggc3R1YiB2YWx1ZS4KKwkqIGR3YXJmMnJlYWQuYyAo cmVhZF9jYWxsX3NpdGVfc2NvcGUpOiBOZXcgdmFyaWFibGUgb3JpZ2luLiAgU3VwcG9ydAorCUNB TExfU0lURV9QQVJBTUVURVJfUEFSQU1fT0ZGU0VUIGFuZCBpdHMgRFdfQVRfYWJzdHJhY3Rfb3Jp Z2luLgorCSogZ2RidHlwZXMuaCAoZW51bSBjYWxsX3NpdGVfcGFyYW1ldGVyX2tpbmQpOiBOZXcg aXRlbQorCUNBTExfU0lURV9QQVJBTUVURVJfUEFSQU1fT0ZGU0VULgorCShzdHJ1Y3QgY2FsbF9z aXRlLnBhcmFtZXRlci51KTogTmV3IGZpZWxkIHBhcmFtX29mZnNldC4KKworZ2RiL3Rlc3RzdWl0 ZS8KKzIwMTItMDYtMTQgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KKworCSogZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uUzogTmV3IGZpbGUuCisJ KiBnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5jOiBOZXcgZmlsZS4KKwkqIGdkYi5h cmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtLmV4cDogTmV3IGZpbGUuCisKKy0tLSBhL2dkYi9k d2FyZjJleHByLmMKKysrKyBiL2dkYi9kd2FyZjJleHByLmMKK0BAIC0xMzkyLDYgKzEzOTIsMjEg QEAgZXhlY3V0ZV9zdGFja19vcCAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAorIAkJ ICAgICAib3IgZm9yIERXX09QX2JyZWcqKDApK0RXX09QX2RlcmVmKiIpKTsKKyAJICB9CisgCisr CWNhc2UgRFdfT1BfR05VX3BhcmFtZXRlcl9yZWY6CisrCSAgeworKwkgICAgY3Vfb2Zmc2V0IG9m ZnNldDsKKysJICAgIHVuaW9uIGNhbGxfc2l0ZV9wYXJhbWV0ZXJfdSBraW5kX3U7CisrCisrCSAg ICBraW5kX3UucGFyYW1fb2Zmc2V0LmN1X29mZiA9IGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciAo b3BfcHRyLCA0LAorKwkJCQkJCQkJICAgYnl0ZV9vcmRlcik7CisrCSAgICBvcF9wdHIgKz0gNDsK KysJICAgIGN0eC0+ZnVuY3MtPnB1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChjdHgsCisrCQkJ CQkgICAgICAgQ0FMTF9TSVRFX1BBUkFNRVRFUl9QQVJBTV9PRkZTRVQsCisrCQkJCQkJICAgIGtp bmRfdSwKKysJCQkJCQkgICAgLTEgLyogZGVyZWZfc2l6ZSAqLyk7CisrCSAgfQorKwkgIGdvdG8g bm9fcHVzaDsKKysKKyAJY2FzZSBEV19PUF9HTlVfY29uc3RfdHlwZToKKyAJICB7CisgCSAgICBj dV9vZmZzZXQgdHlwZV9kaWU7CistLS0gYS9nZGIvZHdhcmYybG9jLmMKKysrKyBiL2dkYi9kd2Fy ZjJsb2MuYworQEAgLTk0Myw2ICs5NDMsOCBAQCBjYWxsX3NpdGVfcGFyYW1ldGVyX21hdGNoZXMg KHN0cnVjdCBjYWxsX3NpdGVfcGFyYW1ldGVyICpwYXJhbWV0ZXIsCisgCXJldHVybiBraW5kX3Uu ZHdhcmZfcmVnID09IHBhcmFtZXRlci0+dS5kd2FyZl9yZWc7CisgICAgICAgY2FzZSBDQUxMX1NJ VEVfUEFSQU1FVEVSX0ZCX09GRlNFVDoKKyAJcmV0dXJuIGtpbmRfdS5mYl9vZmZzZXQgPT0gcGFy YW1ldGVyLT51LmZiX29mZnNldDsKKysgICAgICBjYXNlIENBTExfU0lURV9QQVJBTUVURVJfUEFS QU1fT0ZGU0VUOgorKwlyZXR1cm4ga2luZF91LnBhcmFtX29mZnNldC5jdV9vZmYgPT0gcGFyYW1l dGVyLT51LnBhcmFtX29mZnNldC5jdV9vZmY7CisgICAgICAgfQorICAgcmV0dXJuIDA7CisgfQor QEAgLTIzNzgsNiArMjM4MCw5IEBAIG5lZWRzX2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0 IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAorICAgc3RydWN0IG5lZWRzX2ZyYW1lX2JhdG9uICpu Zl9iYXRvbiA9IGN0eC0+YmF0b247CisgCisgICBuZl9iYXRvbi0+bmVlZHNfZnJhbWUgPSAxOwor KworKyAgLyogVGhlIGV4cHJlc3Npb24gbWF5IHJlcXVpcmUgc29tZSBzdHViIHZhbHVlcyBvbiBE V0FSRiBzdGFjay4gICovCisrICBkd2FyZl9leHByX3B1c2hfYWRkcmVzcyAoY3R4LCAwLCAwKTsK KyB9CisgCisgLyogRFdfT1BfR05VX2FkZHJfaW5kZXggZG9lc24ndCByZXF1aXJlIGEgZnJhbWUu ICAqLworLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYworKysrIGIvZ2RiL2R3YXJmMnJlYWQuYworQEAg LTc4MTYsNyArNzgxNiw3IEBAIHJlYWRfY2FsbF9zaXRlX3Njb3BlIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCisgICAgICAgIGNoaWxkX2RpZSA9IHNpYmxpbmdf ZGllIChjaGlsZF9kaWUpKQorICAgICB7CisgICAgICAgc3RydWN0IGNhbGxfc2l0ZV9wYXJhbWV0 ZXIgKnBhcmFtZXRlcjsKKy0gICAgICBzdHJ1Y3QgYXR0cmlidXRlICpsb2M7CisrICAgICAgc3Ry dWN0IGF0dHJpYnV0ZSAqbG9jLCAqb3JpZ2luOworIAorICAgICAgIGlmIChjaGlsZF9kaWUtPnRh ZyAhPSBEV19UQUdfR05VX2NhbGxfc2l0ZV9wYXJhbWV0ZXIpCisgCXsKK0BAIC03ODI3LDExICs3 ODI3LDIzIEBAIHJlYWRfY2FsbF9zaXRlX3Njb3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3Ry dWN0IGR3YXJmMl9jdSAqY3UpCisgICAgICAgZ2RiX2Fzc2VydCAoY2FsbF9zaXRlLT5wYXJhbWV0 ZXJfY291bnQgPCBucGFyYW1zKTsKKyAgICAgICBwYXJhbWV0ZXIgPSAmY2FsbF9zaXRlLT5wYXJh bWV0ZXJbY2FsbF9zaXRlLT5wYXJhbWV0ZXJfY291bnRdOworIAorLSAgICAgIC8qIERXX0FUX2xv Y2F0aW9uIHNwZWNpZmllcyB0aGUgcmVnaXN0ZXIgbnVtYmVyLiAgVmFsdWUgb2YgdGhlIGRhdGEK Ky0JIGFzc3VtZWQgZm9yIHRoZSByZWdpc3RlciBpcyBjb250YWluZWQgaW4gRFdfQVRfR05VX2Nh bGxfc2l0ZV92YWx1ZS4gICovCisrICAgICAgLyogRFdfQVRfbG9jYXRpb24gc3BlY2lmaWVzIHRo ZSByZWdpc3RlciBudW1iZXIgb3IgRFdfQVRfYWJzdHJhY3Rfb3JpZ2luCisrCSBzcGVjaWZpZXMg RFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIuICBWYWx1ZSBvZiB0aGUgZGF0YSBhc3N1bWVkIGZvciB0 aGUKKysJIHJlZ2lzdGVyIGlzIGNvbnRhaW5lZCBpbiBEV19BVF9HTlVfY2FsbF9zaXRlX3ZhbHVl LiAgKi8KKyAKKyAgICAgICBsb2MgPSBkd2FyZjJfYXR0ciAoY2hpbGRfZGllLCBEV19BVF9sb2Nh dGlvbiwgY3UpOworLSAgICAgIGlmIChsb2MgPT0gTlVMTCB8fCAhYXR0cl9mb3JtX2lzX2Jsb2Nr IChsb2MpKQorKyAgICAgIG9yaWdpbiA9IGR3YXJmMl9hdHRyIChjaGlsZF9kaWUsIERXX0FUX2Fi c3RyYWN0X29yaWdpbiwgY3UpOworKyAgICAgIGlmIChsb2MgPT0gTlVMTCAmJiBvcmlnaW4gIT0g TlVMTCAmJiBpc19yZWZfYXR0ciAob3JpZ2luKSkKKysJeworKwkgIHNlY3Rfb2Zmc2V0IG9mZnNl dDsKKysKKysJICBwYXJhbWV0ZXItPmtpbmQgPSBDQUxMX1NJVEVfUEFSQU1FVEVSX1BBUkFNX09G RlNFVDsKKysJICBvZmZzZXQgPSBkd2FyZjJfZ2V0X3JlZl9kaWVfb2Zmc2V0IChvcmlnaW4pOwor KwkgIGdkYl9hc3NlcnQgKG9mZnNldC5zZWN0X29mZiA+PSBjdS0+aGVhZGVyLm9mZnNldC5zZWN0 X29mZik7CisrCSAgcGFyYW1ldGVyLT51LnBhcmFtX29mZnNldC5jdV9vZmYgPSAob2Zmc2V0LnNl Y3Rfb2ZmCisrCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBjdS0+aGVh ZGVyLm9mZnNldC5zZWN0X29mZik7CisrCX0KKysgICAgICBlbHNlIGlmIChsb2MgPT0gTlVMTCB8 fCBvcmlnaW4gIT0gTlVMTCB8fCAhYXR0cl9mb3JtX2lzX2Jsb2NrIChsb2MpKQorIAl7CisgCSAg Y29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLAorIAkJICAgICBfKCJObyBEV19GT1JNX2Js b2NrKiBEV19BVF9sb2NhdGlvbiBmb3IgIgorLS0tIGEvZ2RiL2dkYnR5cGVzLmgKKysrKyBiL2dk Yi9nZGJ0eXBlcy5oCitAQCAtOTI0LDcgKzkyNCwxMCBAQCBlbnVtIGNhbGxfc2l0ZV9wYXJhbWV0 ZXJfa2luZAorICAgQ0FMTF9TSVRFX1BBUkFNRVRFUl9EV0FSRl9SRUcsCisgCisgICAvKiBVc2Ug ZmllbGQgY2FsbF9zaXRlX3BhcmFtZXRlci51LmZiX29mZnNldC4gICovCistICBDQUxMX1NJVEVf UEFSQU1FVEVSX0ZCX09GRlNFVAorKyAgQ0FMTF9TSVRFX1BBUkFNRVRFUl9GQl9PRkZTRVQsCisr CisrICAvKiBVc2UgZmllbGQgY2FsbF9zaXRlX3BhcmFtZXRlci51LnBhcmFtX29mZnNldC4gICov CisrICBDQUxMX1NJVEVfUEFSQU1FVEVSX1BBUkFNX09GRlNFVAorIH07CisgCisgLyogQSBwbGFj ZSB3aGVyZSBhIGZ1bmN0aW9uIGdldHMgY2FsbGVkIGZyb20sIHJlcHJlc2VudGVkIGJ5CitAQCAt OTcxLDYgKzk3NCwxMSBAQCBzdHJ1Y3QgY2FsbF9zaXRlCisgCSAgICAvKiBPZmZzZXQgZnJvbSB0 aGUgY2FsbGVlJ3MgZnJhbWUgYmFzZSwgZm9yIHN0YWNrIHBhc3NlZCBwYXJhbWV0ZXJzLgorIAkg ICAgICAgVGhpcyBlcXVhbHMgb2Zmc2V0IGZyb20gdGhlIGNhbGxlcidzIHN0YWNrIHBvaW50ZXIu ICAqLworIAkgICAgQ09SRV9BRERSIGZiX29mZnNldDsKKysKKysJICAgIC8qIE9mZnNldCByZWxh dGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhpcyBQRVJfQ1UgdG8KKysJICAgICAgIERXX1RBR19mb3Jt YWxfcGFyYW1ldGVyIHdoaWNoIGlzIHJlZmVyZW5jZWQgYnkgYm90aCBjYWxsZXIgYW5kCisrCSAg ICAgICB0aGUgY2FsbGVlLiAgKi8KKysJICAgIGN1X29mZnNldCBwYXJhbV9vZmZzZXQ7CisgCSAg fQorIAl1OworIAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9h bWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5TCitAQCAtMCwwICsxLDYxMSBAQAorKy8qIFRoaXMgdGVz dGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0 IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKy8qIFRoaXMgZmlsZSBpcyBjb21waWxlZCBm cm9tIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtLmMKKysgICB1c2luZyAtZyAtZEEg LVMgLU8yLiAgKi8KKysKKysJLmZpbGUJImFtZDY0LWVudHJ5LXZhbHVlLXBhcmFtLmMiCisrCS50 ZXh0CisrLkx0ZXh0MDoKKysJLnAyYWxpZ24gNCwsMTUKKysJLnR5cGUJZm9vLmlzcmEuMC5jb25z dHByb3AuMiwgQGZ1bmN0aW9uCisrZm9vLmlzcmEuMC5jb25zdHByb3AuMjoKKysuTEZCNDoKKysJ LmZpbGUgMSAiZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uYyIKKysJLyogZ2RiLmFy Y2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uYzoyMSAqLworKwkubG9jIDEgMjEgMAorKwkuY2Zp X3N0YXJ0cHJvYworKy5MVkwwOgorKy8qIEJMT0NLIDIgZnJlcToxMDAwMCBzZXE6MCAqLworKy8q IFBSRUQ6IEVOVFJZIFsxMDAuMCVdICAoZmFsbHRocnUpICovCisrCS8qIGdkYi5hcmNoL2FtZDY0 LWVudHJ5LXZhbHVlLXBhcmFtLmM6MjYgKi8KKysJLmxvYyAxIDI2IDAKKysJbW92bAl2diglcmlw KSwgJWVheAorKwlhZGRsCSQxLCAlZWF4CisrCW1vdmwJJWVheCwgdnYoJXJpcCkKKysJLyogZ2Ri LmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uYzoyNyAqLworKwkubG9jIDEgMjcgMAorKwls ZWFsCTMoJXJkaSksICVlYXgKKysvKiBTVUNDOiBFWElUIFsxMDAuMCVdICAqLworKwkvKiBnZGIu YXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5jOjI4ICovCisrCS5sb2MgMSAyOCAwCisrCXJl dAorKwkuY2ZpX2VuZHByb2MKKysuTEZFNDoKKysJLnNpemUJZm9vLmlzcmEuMC5jb25zdHByb3Au MiwgLi1mb28uaXNyYS4wLmNvbnN0cHJvcC4yCisrCS5wMmFsaWduIDQsLDE1CisrCS50eXBlCWJh ci5jb25zdHByb3AuMSwgQGZ1bmN0aW9uCisrYmFyLmNvbnN0cHJvcC4xOgorKy5MRkI1OgorKwkv KiBnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5jOjMxICovCisrCS5sb2MgMSAzMSAw CisrCS5jZmlfc3RhcnRwcm9jCisrLyogQkxPQ0sgMiBmcmVxOjEwMDAwIHNlcTowICovCisrLyog UFJFRDogRU5UUlkgWzEwMC4wJV0gIChmYWxsdGhydSkgKi8KKysuTFZMMToKKysJcHVzaHEJJXJi eAorKy5MQ0ZJMDoKKysJLmNmaV9kZWZfY2ZhX29mZnNldCAxNgorKwkuY2ZpX29mZnNldCAzLCAt MTYKKysJLyogZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uYzozMyAqLworKwkubG9j IDEgMzMgMAorKwltb3ZsCSQxMCwgJWVkaQorKwljYWxsCWZvby5pc3JhLjAuY29uc3Rwcm9wLjIK KysuTFZMMjoKKysJbW92bAkkMTAsICVlZGkKKysJbW92bAklZWF4LCAlZWJ4CisrCWNhbGwJZm9v LmlzcmEuMC5jb25zdHByb3AuMgorKy5MVkwzOgorKwltb3ZsCSQxNiwgJWVkaQorKwlhZGRsCSVl YXgsICVlYngKKysJY2FsbAlmb28uaXNyYS4wLmNvbnN0cHJvcC4yCisrLkxWTDQ6CisrCWxlYWwJ MTAoJXJieCwlcmF4KSwgJWVheAorKwkvKiBnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJh bS5jOjM0ICovCisrCS5sb2MgMSAzNCAwCisrCXBvcHEJJXJieAorKy5MQ0ZJMToKKysJLmNmaV9k ZWZfY2ZhX29mZnNldCA4CisrLyogU1VDQzogRVhJVCBbMTAwLjAlXSAgKi8KKysJcmV0CisrCS5j ZmlfZW5kcHJvYworKy5MRkU1OgorKwkuc2l6ZQliYXIuY29uc3Rwcm9wLjEsIC4tYmFyLmNvbnN0 cHJvcC4xCisrCS5zZWN0aW9uCS50ZXh0LnN0YXJ0dXAsImF4IixAcHJvZ2JpdHMKKysJLnAyYWxp Z24gNCwsMTUKKysJLmdsb2JsCW1haW4KKysJLnR5cGUJbWFpbiwgQGZ1bmN0aW9uCisrbWFpbjoK KysuTEZCMjoKKysJLyogZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uYzozOCAqLwor KwkubG9jIDEgMzggMAorKwkuY2ZpX3N0YXJ0cHJvYworKy8qIEJMT0NLIDIgZnJlcToxMDAwMCBz ZXE6MCAqLworKy8qIFBSRUQ6IEVOVFJZIFsxMDAuMCVdICAoZmFsbHRocnUpICovCisrCS8qIGdk Yi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtLmM6MzkgKi8KKysJLmxvYyAxIDM5IDAKKysJ am1wCWJhci5jb25zdHByb3AuMQorKy8qIFNVQ0M6IEVYSVQgWzEwMC4wJV0gIChhYixzaWJjYWxs KSAqLworKy5MVkw1OgorKwkuY2ZpX2VuZHByb2MKKysuTEZFMjoKKysJLnNpemUJbWFpbiwgLi1t YWluCisrCS5jb21tCXZ2LDQsNAorKwkudGV4dAorKy5MZXRleHQwOgorKwkuc2VjdGlvbgkuZGVi dWdfaW5mbywiIixAcHJvZ2JpdHMKKysuTGRlYnVnX2luZm8wOgorKwkuNGJ5dGUJMHgxYjcJLyog TGVuZ3RoIG9mIENvbXBpbGF0aW9uIFVuaXQgSW5mbyAqLworKwkuMmJ5dGUJMHgyCS8qIERXQVJG IHZlcnNpb24gbnVtYmVyICovCisrCS40Ynl0ZQkuTGRlYnVnX2FiYnJldjAJLyogT2Zmc2V0IElu dG8gQWJicmV2LiBTZWN0aW9uICovCisrCS5ieXRlCTB4OAkvKiBQb2ludGVyIFNpemUgKGluIGJ5 dGVzKSAqLworKwkudWxlYjEyOCAweDEJLyogKERJRSAoMHhiKSBEV19UQUdfY29tcGlsZV91bml0 KSAqLworKwkuNGJ5dGUJLkxBU0YwCS8qIERXX0FUX3Byb2R1Y2VyOiAiR05VIEMgNC43LjEgMjAx MjA2MTIgKHByZXJlbGVhc2UpIiAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfbGFuZ3VhZ2UgKi8K KysJLjRieXRlCS5MQVNGMQkvKiBEV19BVF9uYW1lOiAiZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFs dWUtcGFyYW0uYyIgKi8KKysJLjRieXRlCS5MQVNGMgkvKiBEV19BVF9jb21wX2RpcjogIiIgKi8K KysJLjRieXRlCS5MZGVidWdfcmFuZ2VzMCswCS8qIERXX0FUX3JhbmdlcyAqLworKwkucXVhZAkw CS8qIERXX0FUX2xvd19wYyAqLworKwkucXVhZAkwCS8qIERXX0FUX2VudHJ5X3BjICovCisrCS40 Ynl0ZQkuTGRlYnVnX2xpbmUwCS8qIERXX0FUX3N0bXRfbGlzdCAqLworKwkudWxlYjEyOCAweDIJ LyogKERJRSAoMHgzMSkgRFdfVEFHX3N1YnByb2dyYW0pICovCisrCS5hc2NpaSAiZm9vXDAiCS8q IERXX0FUX25hbWUgKi8KKysJLmJ5dGUJMHgxCS8qIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gv YW1kNjQtZW50cnktdmFsdWUtcGFyYW0uYykgKi8KKysJLmJ5dGUJMHgxNQkvKiBEV19BVF9kZWNs X2xpbmUgKi8KKysJLmJ5dGUJMHgxCS8qIERXX0FUX3Byb3RvdHlwZWQgKi8KKysJLjRieXRlCTB4 NzkJLyogRFdfQVRfdHlwZSAqLworKwkuYnl0ZQkwCS8qIERXX0FUX2lubGluZSAqLworKwkuNGJ5 dGUJMHg3OQkvKiBEV19BVF9zaWJsaW5nICovCisrCS51bGViMTI4IDB4MwkvKiAoRElFICgweDQy KSBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikgKi8KKysJLmFzY2lpICJ4XDAiCS8qIERXX0FUX25h bWUgKi8KKysJLmJ5dGUJMHgxCS8qIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1kNjQtZW50 cnktdmFsdWUtcGFyYW0uYykgKi8KKysJLmJ5dGUJMHgxNQkvKiBEV19BVF9kZWNsX2xpbmUgKi8K KysJLjRieXRlCTB4NzkJLyogRFdfQVRfdHlwZSAqLworKwkudWxlYjEyOCAweDMJLyogKERJRSAo MHg0YikgRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpICovCisrCS5hc2NpaSAieVwwIgkvKiBEV19B VF9uYW1lICovCisrCS5ieXRlCTB4MQkvKiBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0 LWVudHJ5LXZhbHVlLXBhcmFtLmMpICovCisrCS5ieXRlCTB4MTUJLyogRFdfQVRfZGVjbF9saW5l ICovCisrCS40Ynl0ZQkweDc5CS8qIERXX0FUX3R5cGUgKi8KKysJLnVsZWIxMjggMHgzCS8qIChE SUUgKDB4NTQpIERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKSAqLworKwkuYXNjaWkgInpcMCIJLyog RFdfQVRfbmFtZSAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9h bWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5jKSAqLworKwkuYnl0ZQkweDE1CS8qIERXX0FUX2RlY2xf bGluZSAqLworKwkuNGJ5dGUJMHg3OQkvKiBEV19BVF90eXBlICovCisrCS51bGViMTI4IDB4NAkv KiAoRElFICgweDVkKSBEV19UQUdfdmFyaWFibGUpICovCisrCS5hc2NpaSAiYVwwIgkvKiBEV19B VF9uYW1lICovCisrCS5ieXRlCTB4MQkvKiBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0 LWVudHJ5LXZhbHVlLXBhcmFtLmMpICovCisrCS5ieXRlCTB4MTcJLyogRFdfQVRfZGVjbF9saW5l ICovCisrCS40Ynl0ZQkweDc5CS8qIERXX0FUX3R5cGUgKi8KKysJLnVsZWIxMjggMHg0CS8qIChE SUUgKDB4NjYpIERXX1RBR192YXJpYWJsZSkgKi8KKysJLmFzY2lpICJiXDAiCS8qIERXX0FUX25h bWUgKi8KKysJLmJ5dGUJMHgxCS8qIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1kNjQtZW50 cnktdmFsdWUtcGFyYW0uYykgKi8KKysJLmJ5dGUJMHgxOAkvKiBEV19BVF9kZWNsX2xpbmUgKi8K KysJLjRieXRlCTB4NzkJLyogRFdfQVRfdHlwZSAqLworKwkudWxlYjEyOCAweDQJLyogKERJRSAo MHg2ZikgRFdfVEFHX3ZhcmlhYmxlKSAqLworKwkuYXNjaWkgImNcMCIJLyogRFdfQVRfbmFtZSAq LworKwkuYnl0ZQkweDEJLyogRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC1lbnRyeS12 YWx1ZS1wYXJhbS5jKSAqLworKwkuYnl0ZQkweDE5CS8qIERXX0FUX2RlY2xfbGluZSAqLworKwku NGJ5dGUJMHg3OQkvKiBEV19BVF90eXBlICovCisrCS5ieXRlCTAJLyogZW5kIG9mIGNoaWxkcmVu IG9mIERJRSAweDMxICovCisrCS51bGViMTI4IDB4NQkvKiAoRElFICgweDc5KSBEV19UQUdfYmFz ZV90eXBlKSAqLworKwkuYnl0ZQkweDQJLyogRFdfQVRfYnl0ZV9zaXplICovCisrCS5ieXRlCTB4 NQkvKiBEV19BVF9lbmNvZGluZyAqLworKwkuYXNjaWkgImludFwwIgkvKiBEV19BVF9uYW1lICov CisrCS51bGViMTI4IDB4MgkvKiAoRElFICgweDgwKSBEV19UQUdfc3VicHJvZ3JhbSkgKi8KKysJ LmFzY2lpICJiYXJcMCIJLyogRFdfQVRfbmFtZSAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfZGVj bF9maWxlIChnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5jKSAqLworKwkuYnl0ZQkw eDFmCS8qIERXX0FUX2RlY2xfbGluZSAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfcHJvdG90eXBl ZCAqLworKwkuNGJ5dGUJMHg3OQkvKiBEV19BVF90eXBlICovCisrCS5ieXRlCTB4MQkvKiBEV19B VF9pbmxpbmUgKi8KKysJLjRieXRlCTB4OWIJLyogRFdfQVRfc2libGluZyAqLworKwkudWxlYjEy OCAweDMJLyogKERJRSAoMHg5MSkgRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpICovCisrCS5hc2Np aSAieFwwIgkvKiBEV19BVF9uYW1lICovCisrCS5ieXRlCTB4MQkvKiBEV19BVF9kZWNsX2ZpbGUg KGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtLmMpICovCisrCS5ieXRlCTB4MWYJLyog RFdfQVRfZGVjbF9saW5lICovCisrCS40Ynl0ZQkweDc5CS8qIERXX0FUX3R5cGUgKi8KKysJLmJ5 dGUJMAkvKiBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4ODAgKi8KKysJLnVsZWIxMjggMHg2CS8q IChESUUgKDB4OWIpIERXX1RBR19zdWJwcm9ncmFtKSAqLworKwkuNGJ5dGUJMHgzMQkvKiBEV19B VF9hYnN0cmFjdF9vcmlnaW4gKi8KKysJLnF1YWQJLkxGQjQJLyogRFdfQVRfbG93X3BjICovCisr CS5xdWFkCS5MRkU0CS8qIERXX0FUX2hpZ2hfcGMgKi8KKysJLmJ5dGUJMHgyCS8qIERXX0FUX2Zy YW1lX2Jhc2UgKi8KKysJLmJ5dGUJMHg3NwkvKiBEV19PUF9icmVnNyAqLworKwkuc2xlYjEyOCA4 CisrCS5ieXRlCTB4MQkvKiBEV19BVF9HTlVfYWxsX2NhbGxfc2l0ZXMgKi8KKysJLjRieXRlCTB4 ZjEJLyogRFdfQVRfc2libGluZyAqLworKwkudWxlYjEyOCAweDcJLyogKERJRSAoMHhiOCkgRFdf VEFHX2Zvcm1hbF9wYXJhbWV0ZXIpICovCisrCS40Ynl0ZQkweDQyCS8qIERXX0FUX2Fic3RyYWN0 X29yaWdpbiAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfbG9jYXRpb24gKi8KKysJLmJ5dGUJMHg1 NQkvKiBEV19PUF9yZWc1ICovCisrCS51bGViMTI4IDB4NwkvKiAoRElFICgweGJmKSBEV19UQUdf Zm9ybWFsX3BhcmFtZXRlcikgKi8KKysJLjRieXRlCTB4NGIJLyogRFdfQVRfYWJzdHJhY3Rfb3Jp Z2luICovCisrCS5ieXRlCTB4NgkvKiBEV19BVF9sb2NhdGlvbiAqLworKwkuYnl0ZQkweGZhCS8q IERXX09QX0dOVV9wYXJhbWV0ZXJfcmVmICovCisrCS40Ynl0ZQkweDRiCisrCS5ieXRlCTB4OWYJ LyogRFdfT1Bfc3RhY2tfdmFsdWUgKi8KKysJLnVsZWIxMjggMHg4CS8qIChESUUgKDB4Y2IpIERX X1RBR192YXJpYWJsZSkgKi8KKysJLjRieXRlCTB4NWQJLyogRFdfQVRfYWJzdHJhY3Rfb3JpZ2lu ICovCisrCS5ieXRlCTB4NQkvKiBEV19BVF9sb2NhdGlvbiAqLworKwkuYnl0ZQkweDc1CS8qIERX X09QX2JyZWc1ICovCisrCS5zbGViMTI4IDAKKysJLmJ5dGUJMHgzMQkvKiBEV19PUF9saXQxICov CisrCS5ieXRlCTB4MjQJLyogRFdfT1Bfc2hsICovCisrCS5ieXRlCTB4OWYJLyogRFdfT1Bfc3Rh Y2tfdmFsdWUgKi8KKysJLnVsZWIxMjggMHg4CS8qIChESUUgKDB4ZDYpIERXX1RBR192YXJpYWJs ZSkgKi8KKysJLjRieXRlCTB4NjYJLyogRFdfQVRfYWJzdHJhY3Rfb3JpZ2luICovCisrCS5ieXRl CTB4OAkvKiBEV19BVF9sb2NhdGlvbiAqLworKwkuYnl0ZQkweGZhCS8qIERXX09QX0dOVV9wYXJh bWV0ZXJfcmVmICovCisrCS40Ynl0ZQkweDRiCisrCS5ieXRlCTB4MzEJLyogRFdfT1BfbGl0MSAq LworKwkuYnl0ZQkweDI0CS8qIERXX09QX3NobCAqLworKwkuYnl0ZQkweDlmCS8qIERXX09QX3N0 YWNrX3ZhbHVlICovCisrCS51bGViMTI4IDB4OQkvKiAoRElFICgweGU0KSBEV19UQUdfdmFyaWFi bGUpICovCisrCS40Ynl0ZQkweDZmCS8qIERXX0FUX2Fic3RyYWN0X29yaWdpbiAqLworKwkuYnl0 ZQkweDYJLyogRFdfQVRfY29uc3RfdmFsdWUgKi8KKysJLnVsZWIxMjggMHhhCS8qIChESUUgKDB4 ZWEpIERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKSAqLworKwkuNGJ5dGUJMHg1NAkvKiBEV19BVF9h YnN0cmFjdF9vcmlnaW4gKi8KKysJLmJ5dGUJMHgzCS8qIERXX0FUX2NvbnN0X3ZhbHVlICovCisr CS5ieXRlCTAJLyogZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDliICovCisrCS51bGViMTI4IDB4 YgkvKiAoRElFICgweGYxKSBEV19UQUdfc3VicHJvZ3JhbSkgKi8KKysJLjRieXRlCTB4ODAJLyog RFdfQVRfYWJzdHJhY3Rfb3JpZ2luICovCisrCS5xdWFkCS5MRkI1CS8qIERXX0FUX2xvd19wYyAq LworKwkucXVhZAkuTEZFNQkvKiBEV19BVF9oaWdoX3BjICovCisrCS40Ynl0ZQkuTExTVDAJLyog RFdfQVRfZnJhbWVfYmFzZSAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfR05VX2FsbF9jYWxsX3Np dGVzICovCisrCS40Ynl0ZQkweDE2YwkvKiBEV19BVF9zaWJsaW5nICovCisrCS51bGViMTI4IDB4 YQkvKiAoRElFICgweDEwZikgRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpICovCisrCS40Ynl0ZQkw eDkxCS8qIERXX0FUX2Fic3RyYWN0X29yaWdpbiAqLworKwkuYnl0ZQkweGEJLyogRFdfQVRfY29u c3RfdmFsdWUgKi8KKysJLnVsZWIxMjggMHhjCS8qIChESUUgKDB4MTE1KSBEV19UQUdfR05VX2Nh bGxfc2l0ZSkgKi8KKysJLnF1YWQJLkxWTDIJLyogRFdfQVRfbG93X3BjICovCisrCS40Ynl0ZQkw eDliCS8qIERXX0FUX2Fic3RyYWN0X29yaWdpbiAqLworKwkuNGJ5dGUJMHgxMzMJLyogRFdfQVRf c2libGluZyAqLworKwkudWxlYjEyOCAweGQJLyogKERJRSAoMHgxMjYpIERXX1RBR19HTlVfY2Fs bF9zaXRlX3BhcmFtZXRlcikgKi8KKysJLmJ5dGUJMHgxCS8qIERXX0FUX2xvY2F0aW9uICovCisr CS5ieXRlCTB4NTUJLyogRFdfT1BfcmVnNSAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfR05VX2Nh bGxfc2l0ZV92YWx1ZSAqLworKwkuYnl0ZQkweDNhCS8qIERXX09QX2xpdDEwICovCisrCS51bGVi MTI4IDB4ZQkvKiAoRElFICgweDEyYikgRFdfVEFHX0dOVV9jYWxsX3NpdGVfcGFyYW1ldGVyKSAq LworKwkuNGJ5dGUJMHg0YgkvKiBEV19BVF9hYnN0cmFjdF9vcmlnaW4gKi8KKysJLmJ5dGUJMHgx CS8qIERXX0FUX0dOVV9jYWxsX3NpdGVfdmFsdWUgKi8KKysJLmJ5dGUJMHgzMgkvKiBEV19PUF9s aXQyICovCisrCS5ieXRlCTAJLyogZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDExNSAqLworKwku dWxlYjEyOCAweGMJLyogKERJRSAoMHgxMzMpIERXX1RBR19HTlVfY2FsbF9zaXRlKSAqLworKwku cXVhZAkuTFZMMwkvKiBEV19BVF9sb3dfcGMgKi8KKysJLjRieXRlCTB4OWIJLyogRFdfQVRfYWJz dHJhY3Rfb3JpZ2luICovCisrCS40Ynl0ZQkweDE1MQkvKiBEV19BVF9zaWJsaW5nICovCisrCS51 bGViMTI4IDB4ZAkvKiAoRElFICgweDE0NCkgRFdfVEFHX0dOVV9jYWxsX3NpdGVfcGFyYW1ldGVy KSAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfbG9jYXRpb24gKi8KKysJLmJ5dGUJMHg1NQkvKiBE V19PUF9yZWc1ICovCisrCS5ieXRlCTB4MQkvKiBEV19BVF9HTlVfY2FsbF9zaXRlX3ZhbHVlICov CisrCS5ieXRlCTB4M2EJLyogRFdfT1BfbGl0MTAgKi8KKysJLnVsZWIxMjggMHhlCS8qIChESUUg KDB4MTQ5KSBEV19UQUdfR05VX2NhbGxfc2l0ZV9wYXJhbWV0ZXIpICovCisrCS40Ynl0ZQkweDRi CS8qIERXX0FUX2Fic3RyYWN0X29yaWdpbiAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfR05VX2Nh bGxfc2l0ZV92YWx1ZSAqLworKwkuYnl0ZQkweDM0CS8qIERXX09QX2xpdDQgKi8KKysJLmJ5dGUJ MAkvKiBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4MTMzICovCisrCS51bGViMTI4IDB4ZgkvKiAo RElFICgweDE1MSkgRFdfVEFHX0dOVV9jYWxsX3NpdGUpICovCisrCS5xdWFkCS5MVkw0CS8qIERX X0FUX2xvd19wYyAqLworKwkuNGJ5dGUJMHg5YgkvKiBEV19BVF9hYnN0cmFjdF9vcmlnaW4gKi8K KysJLnVsZWIxMjggMHhkCS8qIChESUUgKDB4MTVlKSBEV19UQUdfR05VX2NhbGxfc2l0ZV9wYXJh bWV0ZXIpICovCisrCS5ieXRlCTB4MQkvKiBEV19BVF9sb2NhdGlvbiAqLworKwkuYnl0ZQkweDU1 CS8qIERXX09QX3JlZzUgKi8KKysJLmJ5dGUJMHgxCS8qIERXX0FUX0dOVV9jYWxsX3NpdGVfdmFs dWUgKi8KKysJLmJ5dGUJMHg0MAkvKiBEV19PUF9saXQxNiAqLworKwkudWxlYjEyOCAweGUJLyog KERJRSAoMHgxNjMpIERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlcikgKi8KKysJLjRieXRl CTB4NGIJLyogRFdfQVRfYWJzdHJhY3Rfb3JpZ2luICovCisrCS5ieXRlCTB4MQkvKiBEV19BVF9H TlVfY2FsbF9zaXRlX3ZhbHVlICovCisrCS5ieXRlCTB4M2EJLyogRFdfT1BfbGl0MTAgKi8KKysJ LmJ5dGUJMAkvKiBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4MTUxICovCisrCS5ieXRlCTAJLyog ZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweGYxICovCisrCS51bGViMTI4IDB4MTAJLyogKERJRSAo MHgxNmMpIERXX1RBR19zdWJwcm9ncmFtKSAqLworKwkuYnl0ZQkweDEJLyogRFdfQVRfZXh0ZXJu YWwgKi8KKysJLjRieXRlCS5MQVNGMwkvKiBEV19BVF9uYW1lOiAibWFpbiIgKi8KKysJLmJ5dGUJ MHgxCS8qIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0u YykgKi8KKysJLmJ5dGUJMHgyNQkvKiBEV19BVF9kZWNsX2xpbmUgKi8KKysJLmJ5dGUJMHgxCS8q IERXX0FUX3Byb3RvdHlwZWQgKi8KKysJLjRieXRlCTB4NzkJLyogRFdfQVRfdHlwZSAqLworKwku cXVhZAkuTEZCMgkvKiBEV19BVF9sb3dfcGMgKi8KKysJLnF1YWQJLkxGRTIJLyogRFdfQVRfaGln aF9wYyAqLworKwkuYnl0ZQkweDIJLyogRFdfQVRfZnJhbWVfYmFzZSAqLworKwkuYnl0ZQkweDc3 CS8qIERXX09QX2JyZWc3ICovCisrCS5zbGViMTI4IDgKKysJLmJ5dGUJMHgxCS8qIERXX0FUX0dO VV9hbGxfY2FsbF9zaXRlcyAqLworKwkuNGJ5dGUJMHgxYTAJLyogRFdfQVRfc2libGluZyAqLwor KwkudWxlYjEyOCAweDExCS8qIChESUUgKDB4MTkxKSBEV19UQUdfR05VX2NhbGxfc2l0ZSkgKi8K KysJLnF1YWQJLkxWTDUJLyogRFdfQVRfbG93X3BjICovCisrCS5ieXRlCTB4MQkvKiBEV19BVF9H TlVfdGFpbF9jYWxsICovCisrCS40Ynl0ZQkweGYxCS8qIERXX0FUX2Fic3RyYWN0X29yaWdpbiAq LworKwkuYnl0ZQkwCS8qIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHgxNmMgKi8KKysJLnVsZWIx MjggMHgxMgkvKiAoRElFICgweDFhMCkgRFdfVEFHX3ZhcmlhYmxlKSAqLworKwkuYXNjaWkgInZ2 XDAiCS8qIERXX0FUX25hbWUgKi8KKysJLmJ5dGUJMHgxCS8qIERXX0FUX2RlY2xfZmlsZSAoZ2Ri LmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uYykgKi8KKysJLmJ5dGUJMHgxMgkvKiBEV19B VF9kZWNsX2xpbmUgKi8KKysJLjRieXRlCTB4MWI1CS8qIERXX0FUX3R5cGUgKi8KKysJLmJ5dGUJ MHgxCS8qIERXX0FUX2V4dGVybmFsICovCisrCS5ieXRlCTB4OQkvKiBEV19BVF9sb2NhdGlvbiAq LworKwkuYnl0ZQkweDMJLyogRFdfT1BfYWRkciAqLworKwkucXVhZAl2dgorKwkudWxlYjEyOCAw eDEzCS8qIChESUUgKDB4MWI1KSBEV19UQUdfdm9sYXRpbGVfdHlwZSkgKi8KKysJLjRieXRlCTB4 NzkJLyogRFdfQVRfdHlwZSAqLworKwkuYnl0ZQkwCS8qIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUg MHhiICovCisrCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCisrLkxkZWJ1Z19h YmJyZXYwOgorKwkudWxlYjEyOCAweDEJLyogKGFiYnJldiBjb2RlKSAqLworKwkudWxlYjEyOCAw eDExCS8qIChUQUc6IERXX1RBR19jb21waWxlX3VuaXQpICovCisrCS5ieXRlCTB4MQkvKiBEV19j aGlsZHJlbl95ZXMgKi8KKysJLnVsZWIxMjggMHgyNQkvKiAoRFdfQVRfcHJvZHVjZXIpICovCisr CS51bGViMTI4IDB4ZQkvKiAoRFdfRk9STV9zdHJwKSAqLworKwkudWxlYjEyOCAweDEzCS8qIChE V19BVF9sYW5ndWFnZSkgKi8KKysJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2RhdGExKSAqLwor KwkudWxlYjEyOCAweDMJLyogKERXX0FUX25hbWUpICovCisrCS51bGViMTI4IDB4ZQkvKiAoRFdf Rk9STV9zdHJwKSAqLworKwkudWxlYjEyOCAweDFiCS8qIChEV19BVF9jb21wX2RpcikgKi8KKysJ LnVsZWIxMjggMHhlCS8qIChEV19GT1JNX3N0cnApICovCisrCS51bGViMTI4IDB4NTUJLyogKERX X0FUX3JhbmdlcykgKi8KKysJLnVsZWIxMjggMHg2CS8qIChEV19GT1JNX2RhdGE0KSAqLworKwku dWxlYjEyOCAweDExCS8qIChEV19BVF9sb3dfcGMpICovCisrCS51bGViMTI4IDB4MQkvKiAoRFdf Rk9STV9hZGRyKSAqLworKwkudWxlYjEyOCAweDUyCS8qIChEV19BVF9lbnRyeV9wYykgKi8KKysJ LnVsZWIxMjggMHgxCS8qIChEV19GT1JNX2FkZHIpICovCisrCS51bGViMTI4IDB4MTAJLyogKERX X0FUX3N0bXRfbGlzdCkgKi8KKysJLnVsZWIxMjggMHg2CS8qIChEV19GT1JNX2RhdGE0KSAqLwor KwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHgyCS8qIChhYmJyZXYgY29kZSkgKi8K KysJLnVsZWIxMjggMHgyZQkvKiAoVEFHOiBEV19UQUdfc3VicHJvZ3JhbSkgKi8KKysJLmJ5dGUJ MHgxCS8qIERXX2NoaWxkcmVuX3llcyAqLworKwkudWxlYjEyOCAweDMJLyogKERXX0FUX25hbWUp ICovCisrCS51bGViMTI4IDB4OAkvKiAoRFdfRk9STV9zdHJpbmcpICovCisrCS51bGViMTI4IDB4 M2EJLyogKERXX0FUX2RlY2xfZmlsZSkgKi8KKysJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2Rh dGExKSAqLworKwkudWxlYjEyOCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCisrCS51bGVi MTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KKysJLnVsZWIxMjggMHgyNwkvKiAoRFdfQVRf cHJvdG90eXBlZCkgKi8KKysJLnVsZWIxMjggMHhjCS8qIChEV19GT1JNX2ZsYWcpICovCisrCS51 bGViMTI4IDB4NDkJLyogKERXX0FUX3R5cGUpICovCisrCS51bGViMTI4IDB4MTMJLyogKERXX0ZP Uk1fcmVmNCkgKi8KKysJLnVsZWIxMjggMHgyMAkvKiAoRFdfQVRfaW5saW5lKSAqLworKwkudWxl YjEyOCAweGIJLyogKERXX0ZPUk1fZGF0YTEpICovCisrCS51bGViMTI4IDB4MQkvKiAoRFdfQVRf c2libGluZykgKi8KKysJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLworKwkuYnl0 ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHgzCS8qIChhYmJyZXYgY29kZSkgKi8KKysJLnVs ZWIxMjggMHg1CS8qIChUQUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKSAqLworKwkuYnl0ZQkw CS8qIERXX2NoaWxkcmVuX25vICovCisrCS51bGViMTI4IDB4MwkvKiAoRFdfQVRfbmFtZSkgKi8K KysJLnVsZWIxMjggMHg4CS8qIChEV19GT1JNX3N0cmluZykgKi8KKysJLnVsZWIxMjggMHgzYQkv KiAoRFdfQVRfZGVjbF9maWxlKSAqLworKwkudWxlYjEyOCAweGIJLyogKERXX0ZPUk1fZGF0YTEp ICovCisrCS51bGViMTI4IDB4M2IJLyogKERXX0FUX2RlY2xfbGluZSkgKi8KKysJLnVsZWIxMjgg MHhiCS8qIChEV19GT1JNX2RhdGExKSAqLworKwkudWxlYjEyOCAweDQ5CS8qIChEV19BVF90eXBl KSAqLworKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3JlZjQpICovCisrCS5ieXRlCTAKKysJ LmJ5dGUJMAorKwkudWxlYjEyOCAweDQJLyogKGFiYnJldiBjb2RlKSAqLworKwkudWxlYjEyOCAw eDM0CS8qIChUQUc6IERXX1RBR192YXJpYWJsZSkgKi8KKysJLmJ5dGUJMAkvKiBEV19jaGlsZHJl bl9ubyAqLworKwkudWxlYjEyOCAweDMJLyogKERXX0FUX25hbWUpICovCisrCS51bGViMTI4IDB4 OAkvKiAoRFdfRk9STV9zdHJpbmcpICovCisrCS51bGViMTI4IDB4M2EJLyogKERXX0FUX2RlY2xf ZmlsZSkgKi8KKysJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2RhdGExKSAqLworKwkudWxlYjEy OCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCisrCS51bGViMTI4IDB4YgkvKiAoRFdfRk9S TV9kYXRhMSkgKi8KKysJLnVsZWIxMjggMHg0OQkvKiAoRFdfQVRfdHlwZSkgKi8KKysJLnVsZWIx MjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLworKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVs ZWIxMjggMHg1CS8qIChhYmJyZXYgY29kZSkgKi8KKysJLnVsZWIxMjggMHgyNAkvKiAoVEFHOiBE V19UQUdfYmFzZV90eXBlKSAqLworKwkuYnl0ZQkwCS8qIERXX2NoaWxkcmVuX25vICovCisrCS51 bGViMTI4IDB4YgkvKiAoRFdfQVRfYnl0ZV9zaXplKSAqLworKwkudWxlYjEyOCAweGIJLyogKERX X0ZPUk1fZGF0YTEpICovCisrCS51bGViMTI4IDB4M2UJLyogKERXX0FUX2VuY29kaW5nKSAqLwor KwkudWxlYjEyOCAweGIJLyogKERXX0ZPUk1fZGF0YTEpICovCisrCS51bGViMTI4IDB4MwkvKiAo RFdfQVRfbmFtZSkgKi8KKysJLnVsZWIxMjggMHg4CS8qIChEV19GT1JNX3N0cmluZykgKi8KKysJ LmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4NgkvKiAoYWJicmV2IGNvZGUpICovCisr CS51bGViMTI4IDB4MmUJLyogKFRBRzogRFdfVEFHX3N1YnByb2dyYW0pICovCisrCS5ieXRlCTB4 MQkvKiBEV19jaGlsZHJlbl95ZXMgKi8KKysJLnVsZWIxMjggMHgzMQkvKiAoRFdfQVRfYWJzdHJh Y3Rfb3JpZ2luKSAqLworKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3JlZjQpICovCisrCS51 bGViMTI4IDB4MTEJLyogKERXX0FUX2xvd19wYykgKi8KKysJLnVsZWIxMjggMHgxCS8qIChEV19G T1JNX2FkZHIpICovCisrCS51bGViMTI4IDB4MTIJLyogKERXX0FUX2hpZ2hfcGMpICovCisrCS51 bGViMTI4IDB4MQkvKiAoRFdfRk9STV9hZGRyKSAqLworKwkudWxlYjEyOCAweDQwCS8qIChEV19B VF9mcmFtZV9iYXNlKSAqLworKwkudWxlYjEyOCAweGEJLyogKERXX0ZPUk1fYmxvY2sxKSAqLwor KwkudWxlYjEyOCAweDIxMTcJLyogKERXX0FUX0dOVV9hbGxfY2FsbF9zaXRlcykgKi8KKysJLnVs ZWIxMjggMHhjCS8qIChEV19GT1JNX2ZsYWcpICovCisrCS51bGViMTI4IDB4MQkvKiAoRFdfQVRf c2libGluZykgKi8KKysJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLworKwkuYnl0 ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg3CS8qIChhYmJyZXYgY29kZSkgKi8KKysJLnVs ZWIxMjggMHg1CS8qIChUQUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKSAqLworKwkuYnl0ZQkw CS8qIERXX2NoaWxkcmVuX25vICovCisrCS51bGViMTI4IDB4MzEJLyogKERXX0FUX2Fic3RyYWN0 X29yaWdpbikgKi8KKysJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLworKwkudWxl YjEyOCAweDIJLyogKERXX0FUX2xvY2F0aW9uKSAqLworKwkudWxlYjEyOCAweGEJLyogKERXX0ZP Uk1fYmxvY2sxKSAqLworKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg4CS8qIChh YmJyZXYgY29kZSkgKi8KKysJLnVsZWIxMjggMHgzNAkvKiAoVEFHOiBEV19UQUdfdmFyaWFibGUp ICovCisrCS5ieXRlCTAJLyogRFdfY2hpbGRyZW5fbm8gKi8KKysJLnVsZWIxMjggMHgzMQkvKiAo RFdfQVRfYWJzdHJhY3Rfb3JpZ2luKSAqLworKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3Jl ZjQpICovCisrCS51bGViMTI4IDB4MgkvKiAoRFdfQVRfbG9jYXRpb24pICovCisrCS51bGViMTI4 IDB4YQkvKiAoRFdfRk9STV9ibG9jazEpICovCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxl YjEyOCAweDkJLyogKGFiYnJldiBjb2RlKSAqLworKwkudWxlYjEyOCAweDM0CS8qIChUQUc6IERX X1RBR192YXJpYWJsZSkgKi8KKysJLmJ5dGUJMAkvKiBEV19jaGlsZHJlbl9ubyAqLworKwkudWxl YjEyOCAweDMxCS8qIChEV19BVF9hYnN0cmFjdF9vcmlnaW4pICovCisrCS51bGViMTI4IDB4MTMJ LyogKERXX0ZPUk1fcmVmNCkgKi8KKysJLnVsZWIxMjggMHgxYwkvKiAoRFdfQVRfY29uc3RfdmFs dWUpICovCisrCS51bGViMTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KKysJLmJ5dGUJMAor KwkuYnl0ZQkwCisrCS51bGViMTI4IDB4YQkvKiAoYWJicmV2IGNvZGUpICovCisrCS51bGViMTI4 IDB4NQkvKiAoVEFHOiBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikgKi8KKysJLmJ5dGUJMAkvKiBE V19jaGlsZHJlbl9ubyAqLworKwkudWxlYjEyOCAweDMxCS8qIChEV19BVF9hYnN0cmFjdF9vcmln aW4pICovCisrCS51bGViMTI4IDB4MTMJLyogKERXX0ZPUk1fcmVmNCkgKi8KKysJLnVsZWIxMjgg MHgxYwkvKiAoRFdfQVRfY29uc3RfdmFsdWUpICovCisrCS51bGViMTI4IDB4YgkvKiAoRFdfRk9S TV9kYXRhMSkgKi8KKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4YgkvKiAoYWJi cmV2IGNvZGUpICovCisrCS51bGViMTI4IDB4MmUJLyogKFRBRzogRFdfVEFHX3N1YnByb2dyYW0p ICovCisrCS5ieXRlCTB4MQkvKiBEV19jaGlsZHJlbl95ZXMgKi8KKysJLnVsZWIxMjggMHgzMQkv KiAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2luKSAqLworKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JN X3JlZjQpICovCisrCS51bGViMTI4IDB4MTEJLyogKERXX0FUX2xvd19wYykgKi8KKysJLnVsZWIx MjggMHgxCS8qIChEV19GT1JNX2FkZHIpICovCisrCS51bGViMTI4IDB4MTIJLyogKERXX0FUX2hp Z2hfcGMpICovCisrCS51bGViMTI4IDB4MQkvKiAoRFdfRk9STV9hZGRyKSAqLworKwkudWxlYjEy OCAweDQwCS8qIChEV19BVF9mcmFtZV9iYXNlKSAqLworKwkudWxlYjEyOCAweDYJLyogKERXX0ZP Uk1fZGF0YTQpICovCisrCS51bGViMTI4IDB4MjExNwkvKiAoRFdfQVRfR05VX2FsbF9jYWxsX3Np dGVzKSAqLworKwkudWxlYjEyOCAweGMJLyogKERXX0ZPUk1fZmxhZykgKi8KKysJLnVsZWIxMjgg MHgxCS8qIChEV19BVF9zaWJsaW5nKSAqLworKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3Jl ZjQpICovCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGMJLyogKGFiYnJldiBj b2RlKSAqLworKwkudWxlYjEyOCAweDQxMDkJLyogKFRBRzogRFdfVEFHX0dOVV9jYWxsX3NpdGUp ICovCisrCS5ieXRlCTB4MQkvKiBEV19jaGlsZHJlbl95ZXMgKi8KKysJLnVsZWIxMjggMHgxMQkv KiAoRFdfQVRfbG93X3BjKSAqLworKwkudWxlYjEyOCAweDEJLyogKERXX0ZPUk1fYWRkcikgKi8K KysJLnVsZWIxMjggMHgzMQkvKiAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2luKSAqLworKwkudWxlYjEy OCAweDEzCS8qIChEV19GT1JNX3JlZjQpICovCisrCS51bGViMTI4IDB4MQkvKiAoRFdfQVRfc2li bGluZykgKi8KKysJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLworKwkuYnl0ZQkw CisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHhkCS8qIChhYmJyZXYgY29kZSkgKi8KKysJLnVsZWIx MjggMHg0MTBhCS8qIChUQUc6IERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlcikgKi8KKysJ LmJ5dGUJMAkvKiBEV19jaGlsZHJlbl9ubyAqLworKwkudWxlYjEyOCAweDIJLyogKERXX0FUX2xv Y2F0aW9uKSAqLworKwkudWxlYjEyOCAweGEJLyogKERXX0ZPUk1fYmxvY2sxKSAqLworKwkudWxl YjEyOCAweDIxMTEJLyogKERXX0FUX0dOVV9jYWxsX3NpdGVfdmFsdWUpICovCisrCS51bGViMTI4 IDB4YQkvKiAoRFdfRk9STV9ibG9jazEpICovCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxl YjEyOCAweGUJLyogKGFiYnJldiBjb2RlKSAqLworKwkudWxlYjEyOCAweDQxMGEJLyogKFRBRzog RFdfVEFHX0dOVV9jYWxsX3NpdGVfcGFyYW1ldGVyKSAqLworKwkuYnl0ZQkwCS8qIERXX2NoaWxk cmVuX25vICovCisrCS51bGViMTI4IDB4MzEJLyogKERXX0FUX2Fic3RyYWN0X29yaWdpbikgKi8K KysJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLworKwkudWxlYjEyOCAweDIxMTEJ LyogKERXX0FUX0dOVV9jYWxsX3NpdGVfdmFsdWUpICovCisrCS51bGViMTI4IDB4YQkvKiAoRFdf Rk9STV9ibG9jazEpICovCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGYJLyog KGFiYnJldiBjb2RlKSAqLworKwkudWxlYjEyOCAweDQxMDkJLyogKFRBRzogRFdfVEFHX0dOVV9j YWxsX3NpdGUpICovCisrCS5ieXRlCTB4MQkvKiBEV19jaGlsZHJlbl95ZXMgKi8KKysJLnVsZWIx MjggMHgxMQkvKiAoRFdfQVRfbG93X3BjKSAqLworKwkudWxlYjEyOCAweDEJLyogKERXX0ZPUk1f YWRkcikgKi8KKysJLnVsZWIxMjggMHgzMQkvKiAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2luKSAqLwor KwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3JlZjQpICovCisrCS5ieXRlCTAKKysJLmJ5dGUJ MAorKwkudWxlYjEyOCAweDEwCS8qIChhYmJyZXYgY29kZSkgKi8KKysJLnVsZWIxMjggMHgyZQkv KiAoVEFHOiBEV19UQUdfc3VicHJvZ3JhbSkgKi8KKysJLmJ5dGUJMHgxCS8qIERXX2NoaWxkcmVu X3llcyAqLworKwkudWxlYjEyOCAweDNmCS8qIChEV19BVF9leHRlcm5hbCkgKi8KKysJLnVsZWIx MjggMHhjCS8qIChEV19GT1JNX2ZsYWcpICovCisrCS51bGViMTI4IDB4MwkvKiAoRFdfQVRfbmFt ZSkgKi8KKysJLnVsZWIxMjggMHhlCS8qIChEV19GT1JNX3N0cnApICovCisrCS51bGViMTI4IDB4 M2EJLyogKERXX0FUX2RlY2xfZmlsZSkgKi8KKysJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2Rh dGExKSAqLworKwkudWxlYjEyOCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCisrCS51bGVi MTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KKysJLnVsZWIxMjggMHgyNwkvKiAoRFdfQVRf cHJvdG90eXBlZCkgKi8KKysJLnVsZWIxMjggMHhjCS8qIChEV19GT1JNX2ZsYWcpICovCisrCS51 bGViMTI4IDB4NDkJLyogKERXX0FUX3R5cGUpICovCisrCS51bGViMTI4IDB4MTMJLyogKERXX0ZP Uk1fcmVmNCkgKi8KKysJLnVsZWIxMjggMHgxMQkvKiAoRFdfQVRfbG93X3BjKSAqLworKwkudWxl YjEyOCAweDEJLyogKERXX0ZPUk1fYWRkcikgKi8KKysJLnVsZWIxMjggMHgxMgkvKiAoRFdfQVRf aGlnaF9wYykgKi8KKysJLnVsZWIxMjggMHgxCS8qIChEV19GT1JNX2FkZHIpICovCisrCS51bGVi MTI4IDB4NDAJLyogKERXX0FUX2ZyYW1lX2Jhc2UpICovCisrCS51bGViMTI4IDB4YQkvKiAoRFdf Rk9STV9ibG9jazEpICovCisrCS51bGViMTI4IDB4MjExNwkvKiAoRFdfQVRfR05VX2FsbF9jYWxs X3NpdGVzKSAqLworKwkudWxlYjEyOCAweGMJLyogKERXX0ZPUk1fZmxhZykgKi8KKysJLnVsZWIx MjggMHgxCS8qIChEV19BVF9zaWJsaW5nKSAqLworKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JN X3JlZjQpICovCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDExCS8qIChhYmJy ZXYgY29kZSkgKi8KKysJLnVsZWIxMjggMHg0MTA5CS8qIChUQUc6IERXX1RBR19HTlVfY2FsbF9z aXRlKSAqLworKwkuYnl0ZQkwCS8qIERXX2NoaWxkcmVuX25vICovCisrCS51bGViMTI4IDB4MTEJ LyogKERXX0FUX2xvd19wYykgKi8KKysJLnVsZWIxMjggMHgxCS8qIChEV19GT1JNX2FkZHIpICov CisrCS51bGViMTI4IDB4MjExNQkvKiAoRFdfQVRfR05VX3RhaWxfY2FsbCkgKi8KKysJLnVsZWIx MjggMHhjCS8qIChEV19GT1JNX2ZsYWcpICovCisrCS51bGViMTI4IDB4MzEJLyogKERXX0FUX2Fi c3RyYWN0X29yaWdpbikgKi8KKysJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwor KwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHgxMgkvKiAoYWJicmV2IGNvZGUpICov CisrCS51bGViMTI4IDB4MzQJLyogKFRBRzogRFdfVEFHX3ZhcmlhYmxlKSAqLworKwkuYnl0ZQkw CS8qIERXX2NoaWxkcmVuX25vICovCisrCS51bGViMTI4IDB4MwkvKiAoRFdfQVRfbmFtZSkgKi8K KysJLnVsZWIxMjggMHg4CS8qIChEV19GT1JNX3N0cmluZykgKi8KKysJLnVsZWIxMjggMHgzYQkv KiAoRFdfQVRfZGVjbF9maWxlKSAqLworKwkudWxlYjEyOCAweGIJLyogKERXX0ZPUk1fZGF0YTEp ICovCisrCS51bGViMTI4IDB4M2IJLyogKERXX0FUX2RlY2xfbGluZSkgKi8KKysJLnVsZWIxMjgg MHhiCS8qIChEV19GT1JNX2RhdGExKSAqLworKwkudWxlYjEyOCAweDQ5CS8qIChEV19BVF90eXBl KSAqLworKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3JlZjQpICovCisrCS51bGViMTI4IDB4 M2YJLyogKERXX0FUX2V4dGVybmFsKSAqLworKwkudWxlYjEyOCAweGMJLyogKERXX0ZPUk1fZmxh ZykgKi8KKysJLnVsZWIxMjggMHgyCS8qIChEV19BVF9sb2NhdGlvbikgKi8KKysJLnVsZWIxMjgg MHhhCS8qIChEV19GT1JNX2Jsb2NrMSkgKi8KKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGVi MTI4IDB4MTMJLyogKGFiYnJldiBjb2RlKSAqLworKwkudWxlYjEyOCAweDM1CS8qIChUQUc6IERX X1RBR192b2xhdGlsZV90eXBlKSAqLworKwkuYnl0ZQkwCS8qIERXX2NoaWxkcmVuX25vICovCisr CS51bGViMTI4IDB4NDkJLyogKERXX0FUX3R5cGUpICovCisrCS51bGViMTI4IDB4MTMJLyogKERX X0ZPUk1fcmVmNCkgKi8KKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnNlY3Rp b24JLmRlYnVnX2xvYywiIixAcHJvZ2JpdHMKKysuTGRlYnVnX2xvYzA6CisrLkxMU1QwOgorKwku cXVhZAkuTEZCNQkvKiBMb2NhdGlvbiBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExTVDApICovCisr CS5xdWFkCS5MQ0ZJMAkvKiBMb2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1QwKSAqLwor KwkuMmJ5dGUJMHgyCS8qIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZSAqLworKwkuYnl0ZQkweDc3 CS8qIERXX09QX2JyZWc3ICovCisrCS5zbGViMTI4IDgKKysJLnF1YWQJLkxDRkkwCS8qIExvY2F0 aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMCkgKi8KKysJLnF1YWQJLkxDRkkxCS8qIExv Y2F0aW9uIGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDApICovCisrCS4yYnl0ZQkweDIJLyogTG9j YXRpb24gZXhwcmVzc2lvbiBzaXplICovCisrCS5ieXRlCTB4NzcJLyogRFdfT1BfYnJlZzcgKi8K KysJLnNsZWIxMjggMTYKKysJLnF1YWQJLkxDRkkxCS8qIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRk cmVzcyAoKi5MTFNUMCkgKi8KKysJLnF1YWQJLkxGRTUJLyogTG9jYXRpb24gbGlzdCBlbmQgYWRk cmVzcyAoKi5MTFNUMCkgKi8KKysJLjJieXRlCTB4MgkvKiBMb2NhdGlvbiBleHByZXNzaW9uIHNp emUgKi8KKysJLmJ5dGUJMHg3NwkvKiBEV19PUF9icmVnNyAqLworKwkuc2xlYjEyOCA4CisrCS5x dWFkCTAJLyogTG9jYXRpb24gbGlzdCB0ZXJtaW5hdG9yIGJlZ2luICgqLkxMU1QwKSAqLworKwku cXVhZAkwCS8qIExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBlbmQgKCouTExTVDApICovCisrCS5z ZWN0aW9uCS5kZWJ1Z19hcmFuZ2VzLCIiLEBwcm9nYml0cworKwkuNGJ5dGUJMHgzYwkvKiBMZW5n dGggb2YgQWRkcmVzcyBSYW5nZXMgSW5mbyAqLworKwkuMmJ5dGUJMHgyCS8qIERXQVJGIFZlcnNp b24gKi8KKysJLjRieXRlCS5MZGVidWdfaW5mbzAJLyogT2Zmc2V0IG9mIENvbXBpbGF0aW9uIFVu aXQgSW5mbyAqLworKwkuYnl0ZQkweDgJLyogU2l6ZSBvZiBBZGRyZXNzICovCisrCS5ieXRlCTAJ LyogU2l6ZSBvZiBTZWdtZW50IERlc2NyaXB0b3IgKi8KKysJLjJieXRlCTAJLyogUGFkIHRvIDE2 IGJ5dGUgYm91bmRhcnkgKi8KKysJLjJieXRlCTAKKysJLnF1YWQJLkx0ZXh0MAkvKiBBZGRyZXNz ICovCisrCS5xdWFkCS5MZXRleHQwLS5MdGV4dDAJLyogTGVuZ3RoICovCisrCS5xdWFkCS5MRkIy CS8qIEFkZHJlc3MgKi8KKysJLnF1YWQJLkxGRTItLkxGQjIJLyogTGVuZ3RoICovCisrCS5xdWFk CTAKKysJLnF1YWQJMAorKwkuc2VjdGlvbgkuZGVidWdfcmFuZ2VzLCIiLEBwcm9nYml0cworKy5M ZGVidWdfcmFuZ2VzMDoKKysJLnF1YWQJLkx0ZXh0MAkvKiBPZmZzZXQgMCAqLworKwkucXVhZAku TGV0ZXh0MAorKwkucXVhZAkuTEZCMgkvKiBPZmZzZXQgMHgxMCAqLworKwkucXVhZAkuTEZFMgor KwkucXVhZAkwCisrCS5xdWFkCTAKKysJLnNlY3Rpb24JLmRlYnVnX2xpbmUsIiIsQHByb2diaXRz CisrLkxkZWJ1Z19saW5lMDoKKysJLnNlY3Rpb24JLmRlYnVnX3N0ciwiTVMiLEBwcm9nYml0cywx CisrLkxBU0YxOgorKwkuc3RyaW5nCSJnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5j IgorKy5MQVNGMzoKKysJLnN0cmluZwkibWFpbiIKKysuTEFTRjI6CisrCS5zdHJpbmcJIiIKKysu TEFTRjA6CisrCS5zdHJpbmcJIkdOVSBDIDQuNy4xIDIwMTIwNjEyIChwcmVyZWxlYXNlKSIKKysJ LmlkZW50CSJHQ0M6IChHTlUpIDQuNy4xIDIwMTIwNjEyIChwcmVyZWxlYXNlKSIKKysJLnNlY3Rp b24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5jCitAQCAtMCwwICsx LDQwIEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dl ci4KKysKKysgICBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrdm9sYXRp bGUgaW50IHZ2OworKworK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpIGludAorK2Zv byAoaW50IHgsIGludCB5LCBpbnQgeikKKyt7CisrICBpbnQgYSA9IHggKiAyOworKyAgaW50IGIg PSB5ICogMjsKKysgIGludCBjID0geiAqIDI7CisrICB2disrOyAvKiBicmVhay1oZXJlICovCisr ICByZXR1cm4geCArIHo7CisrfQorKworK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkp IGludAorK2JhciAoaW50IHgpCisreworKyAgcmV0dXJuIGZvbyAoeCwgMiwgMykgKyBmb28gKHgs IDQsIDMpICsgZm9vICh4ICsgNiwgeCwgMykgKyB4OworK30KKysKKytpbnQKKyttYWluICh2b2lk KQorK3sKKysgIHJldHVybiBiYXIgKDEwKTsKKyt9CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtLmV4cAorQEAgLTAsMCAr MSw1MSBAQAorKyMgQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysj IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrc2V0IHRlc3RmaWxl IGFtZDY0LWVudHJ5LXZhbHVlLXBhcmFtCisrc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uUworK3Nl dCBjc3JjZmlsZSAke3Rlc3RmaWxlfS5jCisrc2V0IG9wdHMge30KKysKKytpZiBbaW5mbyBleGlz dHMgQ09NUElMRV0geworKyAgICAjIG1ha2UgY2hlY2sgUlVOVEVTVEZMQUdTPSJnZGIuYXJjaC9h bWQ2NC1lbnRyeS12YWx1ZS1wYXJhbS5leHAgQ09NUElMRT0xIgorKyAgICBzZXQgc3JjZmlsZSAk e2NzcmNmaWxlfQorKyAgICBsYXBwZW5kIG9wdHMgZGVidWcgb3B0aW1pemU9LU8yCisrfSBlbHNl aWYgeyAhW2lzdGFyZ2V0IHg4Nl82NC0qLSogXSB8fCAhW2lzX2xwNjRfdGFyZ2V0XSB9IHsKKysg ICAgdmVyYm9zZSAiU2tpcHBpbmcgYW1kNjQtZW50cnktdmFsdWUtcGFyYW0uIgorKyAgICByZXR1 cm4KKyt9CisrCisraWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0 ZXN0ZmlsZX0gJHtzcmNmaWxlfSAkb3B0c10gfSB7CisrICAgIHJldHVybiAtMQorK30KKysKKytp ZiAhW3J1bnRvX21haW5dIHsKKysgICAgcmV0dXJuIC0xCisrfQorKworK3NldCBzcmNmaWxlICRj c3JjZmlsZQorK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJicmVhay1oZXJl Il0KKysKKytnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWstaGVyZSIgIi4qIGJyZWFr LWhlcmUgLioiCisrZ2RiX3Rlc3QgInAgeSIgIiA9IDIiCisrZ2RiX3Rlc3QgInAgYiIgIiA9IDQi CisrCisrZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrLWhlcmUiICIuKiBicmVhay1o ZXJlIC4qIgorK2dkYl90ZXN0ICJwIHkiICIgPSA0IgorK2dkYl90ZXN0ICJwIGIiICIgPSA4Igor KworK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJicmVhay1oZXJlIiAiLiogYnJlYWstaGVy ZSAuKiIKKytnZGJfdGVzdCAicCB5IiAiID0gMTAiCisrZ2RiX3Rlc3QgInAgYiIgIiA9IDIwIgor CgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBmYWNiNTRiLi5kOWZjMDlm IDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMzUsNyArMzUsNyBAQCBW ZXJzaW9uOiA3LjQuNTAuJXtzbmFwfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBh IGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlz IG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21w YXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDMlez9kaXN0fQorUmVsZWFzZTogNCV7 P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQg R1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFu ZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAg LTU2Nyw2ICs1NjcsMTAgQEAgUGF0Y2g2OTQ6IGdkYi1kaXNhYmxlLW1jaGVjay5wYXRjaAogIyBG aXggYXNzZXJ0aW9uIG9uIHNvbWUgZmlsZXMgYXMgZ2xpYmMtMi4xNS45MC04LmZjMTggKERvdWcg RXZhbnMpLgogUGF0Y2g2OTU6IGdkYi1pbmRleC1hc3NlcnQucGF0Y2gKIAorIyBTdXBwb3J0IERX X09QX0dOVV9wYXJhbWV0ZXJfcmVmIGZvciAtTzIgLWcgaW5mZXJpb3JzIChCWiA4MjczNzUpLgor UGF0Y2g2OTY6IGdkYi1wYXJhbWV0ZXJyZWYtMW9mMi5wYXRjaAorUGF0Y2g2OTc6IGdkYi1wYXJh bWV0ZXJyZWYtMm9mMi5wYXRjaAorCiAlaWYgMCV7IT9yaGVsOjF9IHx8IDAlez9yaGVsfSA+IDYK ICMgUkxfU1RBVEVfRkVET1JBX0dEQiB3b3VsZCBub3QgYmUgZm91bmQgZm9yOgogIyBQYXRjaDY0 MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKQEAgLTg1NSw2ICs4NTksOCBAQCBy bSAtZiBnZGIvanYtZXhwLmMgZ2RiL20yLWV4cC5jIGdkYi9vYmpjLWV4cC5jIGdkYi9wLWV4cC5j CiAlcGF0Y2g2OTMgLXAxCiAlcGF0Y2g2OTQgLXAxCiAlcGF0Y2g2OTUgLXAxCislcGF0Y2g2OTYg LXAxCislcGF0Y2g2OTcgLXAxCiAKICVwYXRjaDM5MyAtcDEKICVpZiAwJXshP2VsNToxfSB8fCAw JXs/c2NsOjF9CkBAIC0xMzQ0LDYgKzEzNTAsOSBAQCBmaQogJWVuZGlmICMgMCV7IT9lbDU6MX0g fHwgIiV7X3RhcmdldF9jcHV9IiA9PSAibm9hcmNoIgogCiAlY2hhbmdlbG9nCisqIFRodSBKdW4g MTQgMjAxMiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjQu NTAuMjAxMjA2MDMtNC5mYzE4CistIFN1cHBvcnQgRFdfT1BfR05VX3BhcmFtZXRlcl9yZWYgZm9y IC1PMiAtZyBpbmZlcmlvcnMgKEJaIDgyNzM3NSkuCisKICogV2VkIEp1biAgNiAyMDEyIEphbiBL cmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuNC41MC4yMDEyMDYwMy0z LmZjMTgKIC0gRGlzYWJsZSAtbG1jaGVjayBpbiB0aGUgZGV2ZWxvcG1lbnQgYnVpbGRzLgogLSBG aXggYXNzZXJ0aW9uIG9uIHNvbWUgZmlsZXMgYXMgZ2xpYmMtMi4xNS45MC04LmZjMTggKERvdWcg RXZhbnMpLgo=