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 Filak To: git-commits@fedoraproject.org Subject: [rpms/abrt] update-2.17.8: New upstream release 2.6.0 Date: Mon, 03 Aug 2026 10:23:09 GMT Message-ID: <178575258936.1.8260480091568163738.rpms-abrt-a8bf279ba20b@fedoraproject.org> List-ID: X-Git-Repo: rpms/abrt X-Git-Branch: update-2.17.8 X-Git-Rev: a8bf279ba20b944cbe3f98da82f64c7f996dc5e9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYWJydApCcmFuY2gg OiB1cGRhdGUtMi4xNy44CkNvbW1pdCA6IGE4YmYyNzliYTIwYjk0NGNiZTNmOThkYTgyZjY0Yzdm OTk2ZGM1ZTkKQXV0aG9yIDogSmFrdWIgRmlsYWsgPGpmaWxha0ByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE1LTA2LTEwVDA4OjMyOjE5KzAyOjAwClN0YXRzICA6ICs0NS8tMjM0NyBpbiAxNiBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvYWJydC9jL2E4 YmYyNzliYTIwYjk0NGNiZTNmOThkYTgyZjY0YzdmOTk2ZGM1ZTk/YnJhbmNoPXVwZGF0ZS0yLjE3 LjgKCkxvZzoKTmV3IHVwc3RyZWFtIHJlbGVhc2UgMi42LjAKCi0tLQpkaWZmIC0tZ2l0IGEvLmdp dGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggMTFkZmE1ZC4uMzRkNmM0NiAxMDA2NDQKLS0tIGEv LmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC00MSwzICs0MSw0IEBAIGFicnQtMS4xLjEz LnRhci5negogL2FicnQtMi40LjAudGFyLmd6CiAvYWJydC0yLjUuMC50YXIuZ3oKIC9hYnJ0LTIu NS4xLnRhci5negorL2FicnQtMi42LjAudGFyLmd6CgpkaWZmIC0tZ2l0IGEvMDAwNC1hcHBsZXQt c3dpdGNoLXRvLUQtQnVzLW1ldGhvZHMucGF0Y2ggYi8wMDA0LWFwcGxldC1zd2l0Y2gtdG8tRC1C dXMtbWV0aG9kcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWU2ZDdjNS4u MDAwMDAwMAotLS0gYS8wMDA0LWFwcGxldC1zd2l0Y2gtdG8tRC1CdXMtbWV0aG9kcy5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDQyNyArMCwwIEBACi1Gcm9tIGEyOTc3YjBmZTAyM2E4OTZjMzAw NmYyN2VlMmIxNDg2OTBkZmYyNGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYWt1 YiBGaWxhayA8amZpbGFrQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDggQXByIDIwMTUgMDg6MjM6 MDMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYXBwbGV0OiBzd2l0Y2ggdG8gRC1CdXMgbWV0aG9k cwotCi1UaGlzIHBhdGNoIGlzIGEgcGFydCBvZiBvdXIgZWZmb3J0cyB0byBtYWtlIGFicnQtYXBw bGV0IGluZGVwZW5kZW50IG9uCi10aGUgYmFja2VuZC4KLQotVGhpcyBwYXRjaCBjb252ZXJ0cyBh bGwgZGF0YSBtYW5pcHVsYXRpb24gZnVuY3Rpb25zIHRvIEQtQnVzIGNhbGxzLCBzbwotdGhlIG5v dGlmaWNhdGlvbnMgYXJlIG1hZGUgb2YgZGF0YSBvYnRhaW5lZCB0aHJvdWdoIEQtQnVzLgotCi1U aGUgcmVwb3J0aW5nIHN0aWxsIHJlbGllcyBvbiBmaWxlIHN5c3RlbSBhY2Nlc3MsIHRob3VnaC4K LQotU2lnbmVkLW9mZi1ieTogSmFrdWIgRmlsYWsgPGpmaWxha0ByZWRoYXQuY29tPgotLS0tCi0g c3JjL2FwcGxldC9hcHBsZXQuYyAgICAgICAgfCAxODEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2luY2x1ZGUvbGliYWJydC5oICAgICAgfCAgMTYg KysrKwotIHNyYy9saWIvcHJvYmxlbV9hcGlfZGJ1cy5jIHwgIDYxICsrKysrKysrKysrLS0tLQot IDMgZmlsZXMgY2hhbmdlZCwgMTc0IGluc2VydGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQotCi1k aWZmIC0tZ2l0IGEvc3JjL2FwcGxldC9hcHBsZXQuYyBiL3NyYy9hcHBsZXQvYXBwbGV0LmMKLWlu ZGV4IDdiNThmNmUuLjRkZjY5ZmMgMTAwNjQ0Ci0tLS0gYS9zcmMvYXBwbGV0L2FwcGxldC5jCi0r KysgYi9zcmMvYXBwbGV0L2FwcGxldC5jCi1AQCAtMTIwLDYgKzEyMCw3IEBAIHR5cGVkZWYgc3Ry dWN0IHByb2JsZW1faW5mbyB7Ci0gICAgIGJvb2wgcmVwb3J0ZWQ7Ci0gICAgIGJvb2wgd2FzX2Fu bm91bmNlZDsKLSAgICAgYm9vbCBpc193cml0YWJsZTsKLSsgICAgaW50IHRpbWU7Ci0gfSBwcm9i bGVtX2luZm9fdDsKLSAKLSBzdGF0aWMgdm9pZCBwdXNoX3RvX2RlZmVycmVkX3F1ZXVlKHByb2Js ZW1faW5mb190ICpwaSkKLUBAIC0xMzcsNiArMTM4LDU5IEBAIHN0YXRpYyBjb25zdCBjaGFyICpw cm9ibGVtX2luZm9fZ2V0X2NvbW1hbmRfbGluZShwcm9ibGVtX2luZm9fdCAqcGkpCi0gICAgIHJl dHVybiBwcm9ibGVtX2RhdGFfZ2V0X2NvbnRlbnRfb3JfTlVMTChwaS0+cHJvYmxlbV9kYXRhLCBG SUxFTkFNRV9DTURMSU5FKTsKLSB9Ci0gCi0rc3RhdGljIGludCBwcm9ibGVtX2luZm9fZ2V0X3Rp bWUocHJvYmxlbV9pbmZvX3QgKnBpKQotK3sKLSsgICAgaWYgKHBpLT50aW1lID09IC0xKQotKyAg ICB7Ci0rICAgICAgICBjb25zdCBjaGFyICp0aW1lX3N0ciA9IHByb2JsZW1fZGF0YV9nZXRfY29u dGVudF9vcl9OVUxMKHBpLT5wcm9ibGVtX2RhdGEsIEZJTEVOQU1FX1RJTUUpOwotKwotKyAgICAg ICAgaWYgKHRpbWVfc3RyID09IE5VTEwpCi0rICAgICAgICAgICAgZXJyb3JfbXNnX2FuZF9kaWUo IkJVRzogUHJvYmxlbSBpbmZvIGhhcyBkYXRhIHdpdGhvdXQgdGhlIGVsZW1lbnQgdGltZSIpOwot KwotKyAgICAgICAgcGktPnRpbWUgPSBhdG9pKHRpbWVfc3RyKTsKLSsgICAgfQotKwotKyAgICBy ZXR1cm4gcGktPnRpbWU7Ci0rfQotKwotK3N0YXRpYyBjb25zdCBjaGFyICoqcHJvYmxlbV9pbmZv X2dldF9lbnYocHJvYmxlbV9pbmZvX3QgKnBpKQotK3sKLSsgICAgaWYgKHBpLT5lbnZwID09IE5V TEwpCi0rICAgIHsKLSsgICAgICAgIGNvbnN0IGNoYXIgKmVudl9zdHIgPSBwcm9ibGVtX2RhdGFf Z2V0X2NvbnRlbnRfb3JfTlVMTChwaS0+cHJvYmxlbV9kYXRhLCBGSUxFTkFNRV9FTlZJUk9OKTsK LSsgICAgICAgIHBpLT5lbnZwID0gKGVudl9zdHIgIT0gTlVMTCkgPyBnX3N0cnNwbGl0IChlbnZf c3RyLCAiXG4iLCAtMSkgOiBOVUxMOwotKyAgICB9Ci0rCi0rICAgIHJldHVybiAoY29uc3QgY2hh ciAqKilwaS0+ZW52cDsKLSt9Ci0rCi0rc3RhdGljIGludCBwcm9ibGVtX2luZm9fZ2V0X3BpZChw cm9ibGVtX2luZm9fdCAqcGkpCi0rewotKyAgICBpZiAocGktPnBpZCA9PSAtMSkKLSsgICAgewot KyAgICAgICAgY29uc3QgY2hhciAqcGlkX3N0ciA9IHByb2JsZW1fZGF0YV9nZXRfY29udGVudF9v cl9OVUxMKHBpLT5wcm9ibGVtX2RhdGEsIEZJTEVOQU1FX1BJRCk7Ci0rICAgICAgICBwaS0+cGlk ID0gKHBpZF9zdHIgIT0gTlVMTCkgPyBhdG9pIChwaWRfc3RyKSA6IC0xOwotKyAgICB9Ci0rCi0r ICAgIHJldHVybiBwaS0+cGlkOwotK30KLSsKLStzdGF0aWMgaW50IHByb2JsZW1faW5mb19nZXRf Y291bnQocHJvYmxlbV9pbmZvX3QgKnBpKQotK3sKLSsgICAgaWYgKHBpLT5jb3VudCA9PSAtMSkK LSsgICAgewotKyAgICAgICAgY29uc3QgY2hhciAqY291bnRfc3RyID0gcHJvYmxlbV9kYXRhX2dl dF9jb250ZW50X29yX05VTEwocGktPnByb2JsZW1fZGF0YSwgRklMRU5BTUVfQ09VTlQpOwotKyAg ICAgICAgcGktPmNvdW50ID0gY291bnRfc3RyID8gYXRvaShjb3VudF9zdHIpIDogMTsKLSsgICAg fQotKwotKyAgICByZXR1cm4gcGktPmNvdW50OwotK30KLSsKLStzdGF0aWMgYm9vbCBwcm9ibGVt X2luZm9faXNfcmVwb3J0ZWQocHJvYmxlbV9pbmZvX3QgKnBpKQotK3sKLSsgICAgcmV0dXJuIHBy b2JsZW1fZGF0YV9nZXRfY29udGVudF9vcl9OVUxMKHBpLT5wcm9ibGVtX2RhdGEsIEZJTEVOQU1F X1JFUE9SVEVEX1RPKSAhPSBOVUxMOwotK30KLSsKLSBzdGF0aWMgdm9pZCBwcm9ibGVtX2luZm9f c2V0X2Rpcihwcm9ibGVtX2luZm9fdCAqcGksIGNvbnN0IGNoYXIgKmRpcikKLSB7Ci0gICAgIHBy b2JsZW1fZGF0YV9hZGRfdGV4dF9ub3RlZGl0YWJsZShwaS0+cHJvYmxlbV9kYXRhLCBDRF9EVU1Q RElSLCBkaXIpOwotQEAgLTE3Niw2ICsyMzAsOSBAQCBzdGF0aWMgcHJvYmxlbV9pbmZvX3QgKnBy b2JsZW1faW5mb19uZXcoY29uc3QgY2hhciAqZGlyKQotIHsKLSAgICAgcHJvYmxlbV9pbmZvX3Qg KnBpID0gZ19uZXcwKHByb2JsZW1faW5mb190LCAxKTsKLSAgICAgcGktPnJlZmNvdW50ID0gMTsK LSsgICAgcGktPnRpbWUgPSAtMTsKLSsgICAgcGktPnBpZCA9IC0xOwotKyAgICBwaS0+Y291bnQg PSAtMTsKLSAgICAgcGktPnByb2JsZW1fZGF0YSA9IHByb2JsZW1fZGF0YV9uZXcoKTsKLSAgICAg cHJvYmxlbV9pbmZvX3NldF9kaXIocGksIGRpcik7Ci0gICAgIHJldHVybiBwaTsKLUBAIC0xOTQs OCArMjUxLDYgQEAgc3RhdGljIHZvaWQgcHJvYmxlbV9pbmZvX3VucmVmKGdwb2ludGVyIGRhdGEp Ci0gICAgICAgICByZXR1cm47Ci0gCi0gICAgIHByb2JsZW1fZGF0YV9mcmVlKHBpLT5wcm9ibGVt X2RhdGEpOwotLSAgICBpZiAocGktPmVudnApCi0tICAgICAgICBnX3N0cmZyZWV2KHBpLT5lbnZw KTsKLSAgICAgZ19mcmVlKHBpKTsKLSB9Ci0gCi1AQCAtNTU2LDcgKzYxMSw3IEBAIHN0YXRpYyB2 b2lkIG5vdGlmeV9wcm9ibGVtX2xpc3QoR0xpc3QgKnByb2JsZW1zKQotICAgICAgICAgICAgIGNv bnRpbnVlOwotICAgICAgICAgfQotIAotLSAgICAgICAgYXBwID0gcHJvYmxlbV9jcmVhdGVfYXBw X2Zyb21fZW52ICgoY29uc3QgY2hhciAqKilwaS0+ZW52cCwgcGktPnBpZCk7Ci0rICAgICAgICBh cHAgPSBwcm9ibGVtX2NyZWF0ZV9hcHBfZnJvbV9lbnYgKHByb2JsZW1faW5mb19nZXRfZW52KHBp KSwgcHJvYmxlbV9pbmZvX2dldF9waWQocGkpKTsKLSAKLSAgICAgICAgIGlmICghYXBwKQotICAg ICAgICAgICAgIGFwcCA9IHByb2JsZW1fY3JlYXRlX2FwcF9mcm9tX2NtZGxpbmUgKHByb2JsZW1f aW5mb19nZXRfY29tbWFuZF9saW5lKHBpKSk7Ci1AQCAtNTcyLDcgKzYyNyw3IEBAIHN0YXRpYyB2 b2lkIG5vdGlmeV9wcm9ibGVtX2xpc3QoR0xpc3QgKnByb2JsZW1zKQotICAgICAgICAgZ2Jvb2xl YW4gaXNfcGFja2FnZWQgPSBwaS0+aXNfcGFja2FnZWQ7Ci0gICAgICAgICBnYm9vbGVhbiBpc19y dW5uaW5nX2FnYWluID0gaXNfYXBwX3J1bm5pbmcoYXBwKTsKLSAgICAgICAgIGdib29sZWFuIGlz X2N1cnJlbnRfdXNlciA9ICFwaS0+Zm9yZWlnbjsKLS0gICAgICAgIGdib29sZWFuIGFscmVhZHlf cmVwb3J0ZWQgPSAocGktPmNvdW50ID4gMSk7Ci0rICAgICAgICBnYm9vbGVhbiBhbHJlYWR5X3Jl cG9ydGVkID0gcHJvYmxlbV9pbmZvX2dldF9jb3VudChwaSkgPiAxOwotIAotICAgICAgICAgZ2Jv b2xlYW4gcmVwb3J0X2J1dHRvbiA9IEZBTFNFOwotICAgICAgICAgZ2Jvb2xlYW4gcmVzdGFydF9i dXR0b24gPSBGQUxTRTsKLUBAIC05MTQsMTQgKzk2OSwyMiBAQCBzdGF0aWMgdm9pZCBDcmFzaChH VmFyaWFudCAqcGFyYW1ldGVycykKLSAgICAgaWYgKGZvcmVpZ25fcHJvYmxlbSAmJiAhZ191c2Vy X2lzX2FkbWluKQotICAgICAgICAgcmV0dXJuOwotIAotLSAgICBzdHJ1Y3QgZHVtcF9kaXIgKmRk ID0gZGRfb3BlbmRpcihkaXIsIEREX09QRU5fUkVBRE9OTFkpOwotLSAgICBjaGFyICpjb21tYW5k X2xpbmUgPSBkZF9sb2FkX3RleHRfZXh0KGRkLCBGSUxFTkFNRV9DTURMSU5FLCBERF9GQUlMX1FV SUVUTFlfRU5PRU5UIHwgRERfTE9BRF9URVhUX1JFVFVSTl9OVUxMX09OX0ZBSUxVUkUpOwotLSAg ICBjaGFyICpjb3VudF9zdHIgPSBkZF9sb2FkX3RleHRfZXh0KGRkLCBGSUxFTkFNRV9DT1VOVCwg RERfRkFJTF9RVUlFVExZX0VOT0VOVCB8IEREX0xPQURfVEVYVF9SRVRVUk5fTlVMTF9PTl9GQUlM VVJFKTsKLS0gICAgZ3VpbnQgY291bnQgPSBjb3VudF9zdHIgPyBhdG9pKGNvdW50X3N0cikgOiAx OwotLSAgICBnX2ZyZWUoY291bnRfc3RyKTsKLS0gICAgY2hhciAqZW52ID0gZGRfbG9hZF90ZXh0 X2V4dChkZCwgRklMRU5BTUVfRU5WSVJPTiwgRERfRkFJTF9RVUlFVExZX0VOT0VOVCB8IEREX0xP QURfVEVYVF9SRVRVUk5fTlVMTF9PTl9GQUlMVVJFKTsKLS0gICAgY2hhciAqcGlkID0gZGRfbG9h ZF90ZXh0X2V4dChkZCwgRklMRU5BTUVfUElELCBERF9GQUlMX1FVSUVUTFlfRU5PRU5UIHwgRERf TE9BRF9URVhUX1JFVFVSTl9OVUxMX09OX0ZBSUxVUkUpOwotLSAgICBkZF9jbG9zZShkZCk7Ci0r ICAgIHN0YXRpYyBjb25zdCBjaGFyICplbGVtZW50c1tdID0gewotKyAgICAgICAgRklMRU5BTUVf Q01ETElORSwKLSsgICAgICAgIEZJTEVOQU1FX0NPVU5ULAotKyAgICAgICAgRklMRU5BTUVfVVVJ RCwKLSsgICAgICAgIEZJTEVOQU1FX0RVUEhBU0gsCi0rICAgICAgICBGSUxFTkFNRV9DT01QT05F TlQsCi0rICAgICAgICBGSUxFTkFNRV9FTlZJUk9OLAotKyAgICAgICAgRklMRU5BTUVfUElELAot KyAgICAgICAgTlVMTCwKLSsgICAgfTsKLSsKLSsgICAgcHJvYmxlbV9pbmZvX3QgKnBpID0gcHJv YmxlbV9pbmZvX25ldyhkaXIpOwotKyAgICBmaWxsX3Byb2JsZW1fZGF0YV9vdmVyX2RidXMoZGly LCBlbGVtZW50cywgcGktPnByb2JsZW1fZGF0YSk7Ci0rCi0rICAgIHBpLT5mb3JlaWduID0gZm9y ZWlnbl9wcm9ibGVtOwotKyAgICBwaS0+aXNfcGFja2FnZWQgPSAocGFja2FnZV9uYW1lICE9IE5V TEwpOwotIAotICAgICAvKgotICAgICAgKiBDYW4ndCBhcHBlbmQgZGlyIHRvIHRoZSBzZWVuIGxp c3QgYmVjYXVzZSBvZiBkaXJlY3Rvcnkgc3RlYWxpbmcKLUBAIC05MjksMjQgKzk5Miw2IEBAIHN0 YXRpYyB2b2lkIENyYXNoKEdWYXJpYW50ICpwYXJhbWV0ZXJzKQotICAgICAgKiBhcHBlbmRfZGly bGlzdChkaXIpOwotICAgICAgKgotICAgICAgKi8KLS0KLS0gICAgcHJvYmxlbV9pbmZvX3QgKnBp ID0gcHJvYmxlbV9pbmZvX25ldyhkaXIpOwotLSAgICBpZiAodXVpZCAhPSBOVUxMICYmIHV1aWRb MF0gIT0gJ1wwJykKLS0gICAgICAgIHByb2JsZW1fZGF0YV9hZGRfdGV4dF9ub3RlZGl0YWJsZShw aS0+cHJvYmxlbV9kYXRhLCBGSUxFTkFNRV9VVUlELCB1dWlkKTsKLS0gICAgaWYgKGR1cGhhc2gg IT0gTlVMTCAmJiBkdXBoYXNoWzBdICE9ICdcMCcpCi0tICAgICAgICBwcm9ibGVtX2RhdGFfYWRk X3RleHRfbm90ZWRpdGFibGUocGktPnByb2JsZW1fZGF0YSwgRklMRU5BTUVfRFVQSEFTSCwgZHVw aGFzaCk7Ci0tICAgIGlmIChwYWNrYWdlX25hbWUgIT0gTlVMTCAmJiBwYWNrYWdlX25hbWVbMF0g IT0gJ1wwJykKLS0gICAgICAgIHByb2JsZW1fZGF0YV9hZGRfdGV4dF9ub3RlZGl0YWJsZShwaS0+ cHJvYmxlbV9kYXRhLCBGSUxFTkFNRV9DT01QT05FTlQsIHBhY2thZ2VfbmFtZSk7Ci0tICAgIGlm IChjb21tYW5kX2xpbmUgIT0gTlVMTCkKLS0gICAgICAgIHByb2JsZW1fZGF0YV9hZGRfdGV4dF9u b3RlZGl0YWJsZShwaS0+cHJvYmxlbV9kYXRhLCBGSUxFTkFNRV9DTURMSU5FLCBjb21tYW5kX2xp bmUpOwotLSAgICBwaS0+Zm9yZWlnbiA9IGZvcmVpZ25fcHJvYmxlbTsKLS0gICAgcGktPmNvdW50 ID0gY291bnQ7Ci0tICAgIHBpLT5pc19wYWNrYWdlZCA9IChwYWNrYWdlX25hbWUgIT0gTlVMTCk7 Ci0tICAgIHBpLT5lbnZwID0gKGVudiAhPSBOVUxMKSA/IGdfc3Ryc3BsaXQgKGVudiwgIlxuIiwg LTEpIDogTlVMTDsKLS0gICAgcGktPnBpZCA9IChwaWQgIT0gTlVMTCkgPyBhdG9pIChwaWQpIDog LTE7Ci0tICAgIGZyZWUoY29tbWFuZF9saW5lKTsKLS0gICAgZnJlZShlbnYpOwotLSAgICBmcmVl KHBpZCk7Ci0gICAgIHNob3dfcHJvYmxlbV9ub3RpZmljYXRpb24ocGkpOwotIH0KLSAKLUBAIC05 NzAsNiArMTAxNSwxOSBAQCBuYW1lX2FjcXVpcmVkX2hhbmRsZXIgKEdEQnVzQ29ubmVjdGlvbiAq Y29ubmVjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpuYW1lLAot ICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgdXNlcl9kYXRhKQotIHsKLSsgICAgc3Rh dGljIGNvbnN0IGNoYXIgKmVsZW1lbnRzW10gPSB7Ci0rICAgICAgICBGSUxFTkFNRV9DTURMSU5F LAotKyAgICAgICAgRklMRU5BTUVfQ09VTlQsCi0rICAgICAgICBGSUxFTkFNRV9VVUlELAotKyAg ICAgICAgRklMRU5BTUVfRFVQSEFTSCwKLSsgICAgICAgIEZJTEVOQU1FX0NPTVBPTkVOVCwKLSsg ICAgICAgIEZJTEVOQU1FX1VJRCwKLSsgICAgICAgIEZJTEVOQU1FX1RJTUUsCi0rICAgICAgICBG SUxFTkFNRV9SRVBPUlRFRF9UTywKLSsgICAgICAgIEZJTEVOQU1FX05PVF9SRVBPUlRBQkxFLAot KyAgICAgICAgTlVMTAotKyAgICB9OwotKwotICAgICAvKiBJZiBzb21lIG5ldyBkaXJzIGFwcGVh cmVkIHNpbmNlIG91ciBsYXN0IHJ1biwgbGV0IHVzZXIga25vdyBpdCAqLwotICAgICBHTGlzdCAq bmV3X2RpcnMgPSBOVUxMOwotICAgICBHTGlzdCAqbm90aWZ5X2xpc3QgPSBOVUxMOwotQEAgLTk4 MCw1OCArMTAzOCw0NSBAQCBuYW1lX2FjcXVpcmVkX2hhbmRsZXIgKEdEQnVzQ29ubmVjdGlvbiAq Y29ubmVjdGlvbiwKLSAgICAgLyogQWdlIGxpbWl0ID0gbm93IC0gMyBkYXlzICovCi0gICAgIGNv bnN0IHVuc2lnbmVkIGxvbmcgbWluX2Jvcm5fdGltZSA9ICh1bnNpZ25lZCBsb25nKSh0aW1lX2Jl Zm9yZV9uZGF5cygzKSk7Ci0gCi0tICAgIHdoaWxlIChuZXdfZGlycykKLSsgICAgZm9yICggOyBu ZXdfZGlycyAhPSBOVUxMOyBuZXdfZGlycyA9IGdfbGlzdF9uZXh0KG5ld19kaXJzKSkKLSAgICAg ewotLSAgICAgICAgc3RydWN0IGR1bXBfZGlyICpkZCA9IGRkX29wZW5kaXIoKGNoYXIgKiluZXdf ZGlycy0+ZGF0YSwgRERfT1BFTl9SRUFET05MWSk7Ci0tICAgICAgICBpZiAoZGQgPT0gTlVMTCkK LSsgICAgICAgIGNvbnN0IGNoYXIgKnByb2JsZW1faWQgPSAoY29uc3QgY2hhciAqKW5ld19kaXJz LT5kYXRhOwotKyAgICAgICAgcHJvYmxlbV9pbmZvX3QgKnBpID0gcHJvYmxlbV9pbmZvX25ldyhw cm9ibGVtX2lkKTsKLSsKLSsgICAgICAgIGlmIChmaWxsX3Byb2JsZW1fZGF0YV9vdmVyX2RidXMo cHJvYmxlbV9pZCwgZWxlbWVudHMsIHBpLT5wcm9ibGVtX2RhdGEpICE9IDApCi0gICAgICAgICB7 Ci0tICAgICAgICAgICAgbG9nX25vdGljZSgiJyVzJyBpcyBub3QgYSBkdW1wIGRpciAtIGlnbm9y aW5nXG4iLCAoY2hhciAqKW5ld19kaXJzLT5kYXRhKTsKLS0gICAgICAgICAgICBuZXdfZGlycyA9 IGdfbGlzdF9uZXh0KG5ld19kaXJzKTsKLSsgICAgICAgICAgICBsb2dfbm90aWNlKCInJXMnIGlz IG5vdCBhIGR1bXAgZGlyIC0gaWdub3JpbmdcbiIsIHByb2JsZW1faWQpOwotKyAgICAgICAgICAg IHByb2JsZW1faW5mb191bnJlZihwaSk7Ci0gICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg ICB9Ci0gCi0tICAgICAgICBpZiAoZGQtPmRkX3RpbWUgPCBtaW5fYm9ybl90aW1lKQotKyAgICAg ICAgLyogVE9ETzogYWRkIGEgZmlsdGVyIGZvciBvbmx5IGNvbXBsZXRlIHByb2JsZW1zIHRvIEdl dFByb2JsZW1zIEQtQnVzIG1ldGhvZCAqLwotKyAgICAgICAgaWYgKCFkYnVzX3Byb2JsZW1faXNf Y29tcGxldGUocHJvYmxlbV9pZCkpCi0gICAgICAgICB7Ci0tICAgICAgICAgICAgbG9nX25vdGlj ZSgiSWdub3Jpbmcgb3V0ZGF0ZWQgcHJvYmxlbSAnJXMnIiwgKGNoYXIgKiluZXdfZGlycy0+ZGF0 YSk7Ci0tICAgICAgICAgICAgZ290byBuZXh0OwotKyAgICAgICAgICAgIGxvZ19ub3RpY2UoIkln bm9yaW5nIGluY29tcGxldGUgcHJvYmxlbSAnJXMnIiwgcHJvYmxlbV9pZCk7Ci0rICAgICAgICAg ICAgcHJvYmxlbV9pbmZvX3VucmVmKHBpKTsKLSsgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg ICAgIH0KLSAKLS0gICAgICAgIGlmICghcHJvYmxlbV9kdW1wX2Rpcl9pc19jb21wbGV0ZShkZCkp Ci0rICAgICAgICAvKiBUT0RPOiBhZGQgYSBmaWx0ZXIgZm9yIG1heC1vbGQgcmVwb3J0ZWQgcHJv YmxlbXMgdG8gR2V0UHJvYmxlbXMgRC1CdXMgbWV0aG9kICovCi0rICAgICAgICBpZiAocHJvYmxl bV9pbmZvX2dldF90aW1lKHBpKSA8IG1pbl9ib3JuX3RpbWUpCi0gICAgICAgICB7Ci0tICAgICAg ICAgICAgbG9nX25vdGljZSgiSWdub3JpbmcgaW5jb21wbGV0ZSBwcm9ibGVtICclcyciLCAoY2hh ciAqKW5ld19kaXJzLT5kYXRhKTsKLS0gICAgICAgICAgICBnb3RvIG5leHQ7Ci0rICAgICAgICAg ICAgbG9nX25vdGljZSgiSWdub3Jpbmcgb3V0ZGF0ZWQgcHJvYmxlbSAnJXMnIiwgcHJvYmxlbV9p ZCk7Ci0rICAgICAgICAgICAgcHJvYmxlbV9pbmZvX3VucmVmKHBpKTsKLSsgICAgICAgICAgICBj b250aW51ZTsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGlmICghZGRfZXhpc3QoZGQsIEZJTEVO QU1FX1JFUE9SVEVEX1RPKSkKLSsgICAgICAgIC8qIFRPRE86IGFkZCBhIGZpbHRlciBmb3Igbm90 LXlldCByZXBvcnRlZCBwcm9ibGVtcyB0byBHZXRQcm9ibGVtcyBELUJ1cyBtZXRob2QgKi8KLSsg ICAgICAgIGlmIChwcm9ibGVtX2luZm9faXNfcmVwb3J0ZWQocGkpKQotICAgICAgICAgewotLSAg ICAgICAgICAgIHByb2JsZW1faW5mb190ICpwaSA9IHByb2JsZW1faW5mb19uZXcobmV3X2RpcnMt PmRhdGEpOwotLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVsZW1lbnRzW10gPSB7RklMRU5BTUVf VVVJRCwgRklMRU5BTUVfRFVQSEFTSCwgRklMRU5BTUVfQ09NUE9ORU5ULCBGSUxFTkFNRV9OT1Rf UkVQT1JUQUJMRSwgRklMRU5BTUVfQ01ETElORX07Ci0tCi0tICAgICAgICAgICAgZm9yIChzaXpl X3QgaSA9IDA7IGkgPCBzaXplb2YoZWxlbWVudHMpL3NpemVvZigqZWxlbWVudHMpOyArK2kpCi0t ICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBjaGFyICogY29uc3QgdmFsdWUgPSBkZF9s b2FkX3RleHRfZXh0KGRkLCBlbGVtZW50c1tpXSwKLS0gICAgICAgICAgICAgICAgICAgICAgICBE RF9GQUlMX1FVSUVUTFlfRU5PRU5UIHwgRERfTE9BRF9URVhUX1JFVFVSTl9OVUxMX09OX0ZBSUxV UkUpOwotLSAgICAgICAgICAgICAgICBpZiAodmFsdWUpCi0tICAgICAgICAgICAgICAgICAgICBw cm9ibGVtX2RhdGFfYWRkX3RleHRfbm90ZWRpdGFibGUocGktPnByb2JsZW1fZGF0YSwgZWxlbWVu dHNbaV0sIHZhbHVlKTsKLS0gICAgICAgICAgICAgICAgZnJlZSh2YWx1ZSk7Ci0tICAgICAgICAg ICAgfQotLQotLSAgICAgICAgICAgIC8qIENhbid0IGJlIGZvcmVpZ24gYmVjYXVzZSBpZiB0aGUg cHJvYmxlbSBpcyBmb3JlaWduIHRoZW4gdGhlCi0tICAgICAgICAgICAgICogZGRfb3BlbmRpcigp IGNhbGwgZmFpbGVkIGZldyBsaW5lcyBhYm92ZSBhbmQgdGhlIHByb2JsZW0gaXMgaWdub3JlZC4K LS0gICAgICAgICAgICAgKiAqLwotLSAgICAgICAgICAgIHBpLT5mb3JlaWduID0gZmFsc2U7Ci0t Ci0tICAgICAgICAgICAgbm90aWZ5X2xpc3QgPSBnX2xpc3RfcHJlcGVuZChub3RpZnlfbGlzdCwg cGkpOwotLSAgICAgICAgfQotLSAgICAgICAgZWxzZQotLSAgICAgICAgewotLSAgICAgICAgICAg IGxvZ19ub3RpY2UoIklnbm9yaW5nIGFscmVhZHkgcmVwb3J0ZWQgcHJvYmxlbSAnJXMnIiwgKGNo YXIgKiluZXdfZGlycy0+ZGF0YSk7Ci0rICAgICAgICAgICAgbG9nX25vdGljZSgiSWdub3Jpbmcg YWxyZWFkeSByZXBvcnRlZCBwcm9ibGVtICclcyciLCBwcm9ibGVtX2lkKTsKLSsgICAgICAgICAg ICBwcm9ibGVtX2luZm9fdW5yZWYocGkpOwotKyAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg ICAgfQotIAotLW5leHQ6Ci0tICAgICAgICBkZF9jbG9zZShkZCk7Ci0tCi0tICAgICAgICBuZXdf ZGlycyA9IGdfbGlzdF9uZXh0KG5ld19kaXJzKTsKLSsgICAgICAgIC8qIENhbid0IGJlIGZvcmVp ZyBiZWNhdXNlIG5ld19kaXJfZXhpc3RzKCkgcmV0dXJucyBvbmx5IG93biBwcm9ibGVtcyAqLwot KyAgICAgICAgcGktPmZvcmVpZ24gPSBmYWxzZTsKLSsgICAgICAgIG5vdGlmeV9saXN0ID0gZ19s aXN0X3ByZXBlbmQobm90aWZ5X2xpc3QsIHBpKTsKLSAgICAgfQotIAotICAgICBpZiAobm90aWZ5 X2xpc3QpCi1kaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbGliYWJydC5oIGIvc3JjL2luY2x1ZGUv bGliYWJydC5oCi1pbmRleCAxOWFkNGE4Li4wN2RjMTcyIDEwMDY0NAotLS0tIGEvc3JjL2luY2x1 ZGUvbGliYWJydC5oCi0rKysgYi9zcmMvaW5jbHVkZS9saWJhYnJ0LmgKLUBAIC0xNjQsNiArMTY0 LDE1IEBAIGludCBjaG93bl9kaXJfb3Zlcl9kYnVzKGNvbnN0IGNoYXIgKnByb2JsZW1fZGlyX3Bh dGgpOwotIGludCB0ZXN0X2V4aXN0X292ZXJfZGJ1cyhjb25zdCBjaGFyICpwcm9ibGVtX2lkLCBj b25zdCBjaGFyICplbGVtZW50X25hbWUpOwotIAotIC8qKgotKyAgQGJyaWVmIENoZWNrcyB3aGV0 aGVyIHRoZSBwcm9ibGVtIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIElEIGlzIGNvbXBsZXRl Ci0rCi0rICBNaWdodCByZXF1aXJlIGF1dGhvcml6YXRpb24KLSsKLSsgIEByZXR1cm4gUG9zaXRp dmUgbnVtYmVyIGlmIHN1Y2ggdGhlIHByb2JsZSBpcyBjb21wbGV0ZSwgMCBpZiBkb2Vzbid0IGFu ZCBuZWdhdGl2ZSBudW1iZXIgaWYgYW4gZXJyb3Igb2NjdXJzLgotKyAqLwotK2ludCBkYnVzX3By b2JsZW1faXNfY29tcGxldGUoY29uc3QgY2hhciAqcHJvYmxlbV9pZCk7Ci0rCi0rLyoqCi0gICBA IFJldHVybnMgdmFsdWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgbmFtZQotIAotICAgTWlnaHQgcmVx dWlyZSBhdXRob3JpemF0aW9uCi1AQCAtMTgyLDYgKzE5MSwxMyBAQCBjaGFyICpsb2FkX3RleHRf b3Zlcl9kYnVzKGNvbnN0IGNoYXIgKnByb2JsZW1faWQsIGNvbnN0IGNoYXIgKmVsZW1lbnRfbmFt ZSk7Ci0gaW50IGRlbGV0ZV9wcm9ibGVtX2RpcnNfb3Zlcl9kYnVzKGNvbnN0IEdMaXN0ICpwcm9i bGVtX2Rpcl9wYXRocyk7Ci0gCi0gLyoqCi0rICBAYnJpZWYgRmV0Y2hlcyBnaXZlbiBwcm9ibGVt IGVsZW1lbnRzIGZvciBzcGVjaWZpZWQgcHJvYmxlbSBpZAotKwotKyAgQHJldHVybiBvbiBmYWls dXJlcyByZXR1cm5zIG5vbiB6ZXJvIHZhbHVlIGFuZCBlbWl0cyBlcnJvciBtZXNzYWdlCi0rKi8K LStpbnQgZmlsbF9wcm9ibGVtX2RhdGFfb3Zlcl9kYnVzKGNvbnN0IGNoYXIgKnByb2JsZW1fZGly X3BhdGgsIGNvbnN0IGNoYXIgKiplbGVtZW50cywgcHJvYmxlbV9kYXRhX3QgKnByb2JsZW1fZGF0 YSk7Ci0rCi0rLyoqCi0gICBAYnJpZWYgRmV0Y2hlcyBwcm9ibGVtIGluZm9ybWF0aW9uIGZvciBz cGVjaWZpZWQgcHJvYmxlbSBpZAotIAotICAgQHJldHVybiBwcm9ibGVtX2RhdGFfdCBvciBOVUxM IG9uIGZhaWx1cmUKLWRpZmYgLS1naXQgYS9zcmMvbGliL3Byb2JsZW1fYXBpX2RidXMuYyBiL3Ny Yy9saWIvcHJvYmxlbV9hcGlfZGJ1cy5jCi1pbmRleCA1MTQ4OTMyLi5jZTVjNDdiIDEwMDY0NAot LS0tIGEvc3JjL2xpYi9wcm9ibGVtX2FwaV9kYnVzLmMKLSsrKyBiL3NyYy9saWIvcHJvYmxlbV9h cGlfZGJ1cy5jCi1AQCAtMTAxLDIzICsxMDEsMjEgQEAgaW50IGRlbGV0ZV9wcm9ibGVtX2RpcnNf b3Zlcl9kYnVzKGNvbnN0IEdMaXN0ICpwcm9ibGVtX2Rpcl9wYXRocykKLSAgICAgcmV0dXJuIDA7 Ci0gfQotIAotLXByb2JsZW1fZGF0YV90ICpnZXRfcHJvYmxlbV9kYXRhX2RidXMoY29uc3QgY2hh ciAqcHJvYmxlbV9kaXJfcGF0aCkKLStpbnQgZmlsbF9wcm9ibGVtX2RhdGFfb3Zlcl9kYnVzKGNv bnN0IGNoYXIgKnByb2JsZW1faWQsIGNvbnN0IGNoYXIgKiplbGVtZW50cywgcHJvYmxlbV9kYXRh X3QgKnByb2JsZW1fZGF0YSkKLSB7Ci0gICAgIElOSVRJQUxJWkVfTElCQUJSVCgpOwotIAotICAg ICBHREJ1c1Byb3h5ICpwcm94eSA9IGdldF9kYnVzX3Byb3h5KCk7Ci0gICAgIGlmICghcHJveHkp Ci0tICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgICAgIHJldHVybiAtMTsKLSAKLS0gICAgR1Zh cmlhbnRCdWlsZGVyICpidWlsZGVyID0gZ192YXJpYW50X2J1aWxkZXJfbmV3KEdfVkFSSUFOVF9U WVBFKCJhcyIpKTsKLS0gICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKGJ1aWxkZXIsICJzIiwgRklM RU5BTUVfVElNRSAgICAgICAgICApOwotLSAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoYnVpbGRl ciwgInMiLCBGSUxFTkFNRV9SRUFTT04gICAgICAgICk7Ci0tICAgIGdfdmFyaWFudF9idWlsZGVy X2FkZChidWlsZGVyLCAicyIsIEZJTEVOQU1FX05PVF9SRVBPUlRBQkxFKTsKLS0gICAgZ192YXJp YW50X2J1aWxkZXJfYWRkKGJ1aWxkZXIsICJzIiwgRklMRU5BTUVfQ09NUE9ORU5UICAgICApOwot LSAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoYnVpbGRlciwgInMiLCBGSUxFTkFNRV9FWEVDVVRB QkxFICAgICk7Ci0tICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChidWlsZGVyLCAicyIsIEZJTEVO QU1FX1JFUE9SVEVEX1RPICAgKTsKLS0gICAgR1ZhcmlhbnQgKnBhcmFtcyA9IGdfdmFyaWFudF9u ZXcoIihzYXMpIiwgcHJvYmxlbV9kaXJfcGF0aCwgYnVpbGRlcik7Ci0tICAgIGdfdmFyaWFudF9i dWlsZGVyX3VucmVmKGJ1aWxkZXIpOwotKyAgICBHVmFyaWFudEJ1aWxkZXIgKmFyZ3NfYnVpbGRl ciA9IGdfdmFyaWFudF9idWlsZGVyX25ldyhHX1ZBUklBTlRfVFlQRSgiYXMiKSk7Ci0rCi0rICAg IGZvciAoY29uc3QgY2hhciAqKml0ZXIgPSBlbGVtZW50czsgKml0ZXI7ICsraXRlcikKLSsgICAg ICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChhcmdzX2J1aWxkZXIsICJzIiwgKml0ZXIpOwotKwot KyAgICBHVmFyaWFudCAqcGFyYW1zID0gZ192YXJpYW50X25ldygiKHNhcykiLCBwcm9ibGVtX2lk LCBhcmdzX2J1aWxkZXIpOwotKyAgICBnX3ZhcmlhbnRfYnVpbGRlcl91bnJlZihhcmdzX2J1aWxk ZXIpOwotIAotICAgICBHRXJyb3IgKmVycm9yID0gTlVMTDsKLSAgICAgR1ZhcmlhbnQgKnJlc3Vs dCA9IGdfZGJ1c19wcm94eV9jYWxsX3N5bmMocHJveHksCi1AQCAtMTMwLDIwICsxMjgsNDYgQEAg cHJvYmxlbV9kYXRhX3QgKmdldF9wcm9ibGVtX2RhdGFfZGJ1cyhjb25zdCBjaGFyICpwcm9ibGVt X2Rpcl9wYXRoKQotIAotICAgICBpZiAoZXJyb3IpCi0gICAgIHsKLS0gICAgICAgIGVycm9yX21z ZyhfKCJDYW4ndCBnZXQgcHJvYmxlbSBkYXRhIGZyb20gYWJydC1kYnVzOiAlcyIpLCBlcnJvci0+ bWVzc2FnZSk7Ci0rICAgICAgICBlcnJvcl9tc2coXygiRC1CdXMgR2V0SW5mbyBtZXRob2QgY2Fs bCBmYWlsZWQ6ICVzIiksIGVycm9yLT5tZXNzYWdlKTsKLSAgICAgICAgIGdfZXJyb3JfZnJlZShl cnJvcik7Ci0tICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgICAgIHJldHVybiAtMjsKLSAgICAg fQotIAotLSAgICBwcm9ibGVtX2RhdGFfdCAqcGQgPSBwcm9ibGVtX2RhdGFfbmV3KCk7Ci0rCi0g ICAgIGNoYXIgKmtleSwgKnZhbDsKLSAgICAgR1ZhcmlhbnRJdGVyICppdGVyOwotICAgICBnX3Zh cmlhbnRfZ2V0KHJlc3VsdCwgIihhe3NzfSkiLCAmaXRlcik7Ci0gICAgIHdoaWxlIChnX3Zhcmlh bnRfaXRlcl9sb29wKGl0ZXIsICJ7c3N9IiwgJmtleSwgJnZhbCkpCi0rICAgICAgICBwcm9ibGVt X2RhdGFfYWRkX3RleHRfbm90ZWRpdGFibGUocHJvYmxlbV9kYXRhLCBrZXksIHZhbCk7Ci0rCi0r ICAgIGdfdmFyaWFudF91bnJlZihyZXN1bHQpOwotKwotKyAgICByZXR1cm4gMDsKLSt9Ci0rCi0r cHJvYmxlbV9kYXRhX3QgKmdldF9wcm9ibGVtX2RhdGFfZGJ1cyhjb25zdCBjaGFyICpwcm9ibGVt X2Rpcl9wYXRoKQotK3sKLSsgICAgSU5JVElBTElaRV9MSUJBQlJUKCk7Ci0rCi0rICAgIHN0YXRp YyBjb25zdCBjaGFyICplbGVtZW50c1tdID0gewotKyAgICAgICAgRklMRU5BTUVfVElNRSwKLSsg ICAgICAgIEZJTEVOQU1FX1JFQVNPTiwKLSsgICAgICAgIEZJTEVOQU1FX05PVF9SRVBPUlRBQkxF LAotKyAgICAgICAgRklMRU5BTUVfQ09NUE9ORU5ULAotKyAgICAgICAgRklMRU5BTUVfRVhFQ1VU QUJMRSwKLSsgICAgICAgIEZJTEVOQU1FX1JFUE9SVEVEX1RPLAotKyAgICAgICAgTlVMTCwKLSsg ICAgfTsKLSsKLSsgICAgcHJvYmxlbV9kYXRhX3QgKnBkID0gcHJvYmxlbV9kYXRhX25ldygpOwot KwotKyAgICBpZiAoZmlsbF9wcm9ibGVtX2RhdGFfb3Zlcl9kYnVzKHByb2JsZW1fZGlyX3BhdGgs IGVsZW1lbnRzLCBwZCkgIT0gMCkKLSAgICAgewotLSAgICAgICAgcHJvYmxlbV9kYXRhX2FkZF90 ZXh0X25vdGVkaXRhYmxlKHBkLCBrZXksIHZhbCk7Ci0rICAgICAgICBlcnJvcl9tc2coXygiQ2Fu J3QgZ2V0IHByb2JsZW0gZGF0YSBmcm9tIGFicnQtZGJ1cyIpKTsKLSsgICAgICAgIHByb2JsZW1f ZGF0YV9mcmVlKHBkKTsKLSsgICAgICAgIHJldHVybiBOVUxMOwotICAgICB9Ci0tICAgIGdfdmFy aWFudF91bnJlZihyZXN1bHQpOwotKwotICAgICByZXR1cm4gcGQ7Ci0gfQotIAotQEAgLTI1OSw2 ICsyODMsMTEgQEAgaW50IHRlc3RfZXhpc3Rfb3Zlcl9kYnVzKGNvbnN0IGNoYXIgKnByb2JsZW1f aWQsIGNvbnN0IGNoYXIgKmVsZW1lbnRfbmFtZSkKLSAgICAgcmV0dXJuIHJldHZhbDsKLSB9Ci0g Ci0raW50IGRidXNfcHJvYmxlbV9pc19jb21wbGV0ZShjb25zdCBjaGFyICpwcm9ibGVtX2lkKQot K3sKLSsgICAgcmV0dXJuIHRlc3RfZXhpc3Rfb3Zlcl9kYnVzKHByb2JsZW1faWQsIEZJTEVOQU1F X0NPVU5UKTsKLSt9Ci0rCi0gY2hhciAqbG9hZF90ZXh0X292ZXJfZGJ1cyhjb25zdCBjaGFyICpw cm9ibGVtX2lkLCBjb25zdCBjaGFyICplbGVtZW50X25hbWUpCi0gewotICAgICBJTklUSUFMSVpF X0xJQkFCUlQoKTsKLS0tIAotMi40LjEKLQoKZGlmZiAtLWdpdCBhLzAwMDUtbGliLWFkZC1uZXct a2VybmVsLXRhaW50LWZsYWdzLnBhdGNoIGIvMDAwNS1saWItYWRkLW5ldy1rZXJuZWwtdGFpbnQt ZmxhZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1NWM1YTUuLjAwMDAw MDAKLS0tIGEvMDAwNS1saWItYWRkLW5ldy1rZXJuZWwtdGFpbnQtZmxhZ3MucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1Gcm9tIGU1MmQxNDIxNGJkMzU2ZjMxODU2YTVhYjYz ZWYxNGE2MGQzMTgzNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYWt1YiBGaWxh ayA8amZpbGFrQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDUgTWF5IDIwMTUgMTA6NDY6MDYgKzAy MDAKLVN1YmplY3Q6IFtQQVRDSF0gbGliOiBhZGQgbmV3IGtlcm5lbCB0YWludCBmbGFncwotCi1T aWduZWQtb2ZmLWJ5OiBKYWt1YiBGaWxhayA8amZpbGFrQHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMv bGliL2tlcm5lbC5jIHwgMTYgKysrKysrKysrKystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMSBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYi9rZXJu ZWwuYyBiL3NyYy9saWIva2VybmVsLmMKLWluZGV4IGFmNDNhZTAuLmRkZTNkMjggMTAwNjQ0Ci0t LS0gYS9zcmMvbGliL2tlcm5lbC5jCi0rKysgYi9zcmMvbGliL2tlcm5lbC5jCi1AQCAtNjMyLDgg KzYzMiwxNCBAQCBjaGFyICprb29wc19leHRyYWN0X3ZlcnNpb24oY29uc3QgY2hhciAqbGluZXBv aW50ZXIpCi0gICogICdXJyAtIFRhaW50IG9uIHdhcm5pbmcuCi0gICogICdDJyAtIG1vZHVsZXMg ZnJvbSBkcml2ZXJzL3N0YWdpbmcgYXJlIGxvYWRlZC4KLSAgKiAgJ0knIC0gV29ya2luZyBhcm91 bmQgc2V2ZXJlIGZpcm13YXJlIGJ1Zy4KLSsgKiAgJ08nIC0gT3V0LW9mLXRyZWUgbW9kdWxlIGhh cyBiZWVuIGxvYWRlZC4KLSsgKiAgJ0UnIC0gVW5zaWduZWQgbW9kdWxlIGhhcyBiZWVuIGxvYWRl ZC4KLSsgKiAgJ0wnIC0gQSBzb2Z0IGxvY2t1cCBoYXMgcHJldmlvdXNseSBvY2N1cnJlZC4KLSsg KiAgJ0snIC0gS2VybmVsIGhhcyBiZWVuIGxpdmUgcGF0Y2hlZC4KLSsgKgotKyAqIENvbXBhdGli aWxpdHkgZmxhZ3MgZnJvbSBvbGRlciB2ZXJzaW9ucyBhbmQgZG93bnN0cmVhbSBzb3VyY2VzOgot ICAqICAnSCcgLSBIYXJkd2FyZSBpcyB1bnN1cHBvcnRlZC4KLS0gKiAgIFQgIC0gVGVjaF9wcmV2 aWV3Ci0rICogICdUJyAtIFRlY2hfcHJldmlldwotICAqLwotIAotICNpZiAwIC8qIHVudXNlZCAq LwotQEAgLTY1OCw3ICs2NjQsNyBAQCBjaGFyICprZXJuZWxfdGFpbnRlZF9zaG9ydChjb25zdCBj aGFyICprZXJuZWxfYnQpCi0gICAgICAgICByZXR1cm4gTlVMTDsKLSAKLSAgICAgdGFpbnRlZCAr PSBzdHJsZW4oIlRhaW50ZWQ6ICIpOwotLSAgICAvKiAxMyA9PSBjdXJyZW50IGNvdW50IG9mIGtu b3duIGZsYWdzICovCi0rICAgIC8qIDE3ICsgMiA9PSBjdXJyZW50IGNvdW50IG9mIGtub3duIGZs YWdzICovCi0gICAgIC8qIGh0dHA6Ly9naXQua2VybmVsLm9yZy8/cD1saW51eC9rZXJuZWwvZ2l0 L3RvcnZhbGRzL2xpbnV4LmdpdDthPWJsb2JfcGxhaW47Zj1rZXJuZWwvcGFuaWMuYztoYj1IRUFE ICovCi0gICAgIC8qIDI2IHRoZSBtYXhpbWFsIHNhbmUgY291bnQgb2YgZmxhZ3MgYmVjYXVzZSBv ZiBhbHBoYWJldCBsaW1pdHMgKi8KLSAgICAgdW5zaWduZWQgc3ogPSAyNiArIDE7Ci1AQCAtNzAx LDE0ICs3MDcsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHRudHNfbG9uZ1tdID0gewot ICAgICAvKiBCICovICJTeXN0ZW0gaGFzIGhpdCBiYWRfcGFnZS4iLAotICAgICAvKiBDICovICJN b2R1bGVzIGZyb20gZHJpdmVycy9zdGFnaW5nIGFyZSBsb2FkZWQuIiwKLSAgICAgLyogRCAqLyAi S2VybmVsIGhhcyBvb3BzZWQgYmVmb3JlIiwKLS0gICAgLyogRSAqLyBOVUxMLAotKyAgICAvKiBF ICovICJVbnNpZ25lZCBtb2R1bGUgaGFzIGJlZW4gbG9hZGVkLiIKLSAgICAgLyogRiAqLyAiTW9k dWxlIGhhcyBiZWVuIGZvcmNpYmx5IGxvYWRlZC4iLAotICAgICAvKiBHICovICJQcm9wcmlldGFy eSBtb2R1bGUgaGFzIG5vdCBiZWVuIGxvYWRlZC4iLAotICAgICAvKiBIICovIE5VTEwsCi0gICAg IC8qIEkgKi8gIldvcmtpbmcgYXJvdW5kIHNldmVyZSBmaXJtd2FyZSBidWcuIiwKLSAgICAgLyog SiAqLyBOVUxMLAotLSAgICAvKiBLICovIE5VTEwsCi0tICAgIC8qIEwgKi8gTlVMTCwKLSsgICAg LyogSyAqLyAiS2VybmVsIGhhcyBiZWVuIGxpdmUgcGF0Y2hlZC4iLAotKyAgICAvKiBMICovICJB IHNvZnQgbG9ja3VwIGhhcyBwcmV2aW91c2x5IG9jY3VycmVkLiIsCi0gICAgIC8qIE0gKi8gIlN5 c3RlbSBleHBlcmllbmNlZCBhIG1hY2hpbmUgY2hlY2sgZXhjZXB0aW9uLiIsCi0gICAgIC8qIE4g Ki8gTlVMTCwKLSAgICAgLyogTyAqLyAiT3V0LW9mLXRyZWUgbW9kdWxlIGhhcyBiZWVuIGxvYWRl ZC4iLAotLS0gCi0yLjQuMQotCgpkaWZmIC0tZ2l0IGEvMDAwNi11cGxvYWQtdmFsaWRhdGUtYW5k LXNhbml0aXplLXVwbG9hZGVkLWR1bXAtZGlyZWN0b3JpLnBhdGNoIGIvMDAwNi11cGxvYWQtdmFs aWRhdGUtYW5kLXNhbml0aXplLXVwbG9hZGVkLWR1bXAtZGlyZWN0b3JpLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODIzYjMzLi4wMDAwMDAwCi0tLSBhLzAwMDYtdXBsb2Fk LXZhbGlkYXRlLWFuZC1zYW5pdGl6ZS11cGxvYWRlZC1kdW1wLWRpcmVjdG9yaS5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDE0MiArMCwwIEBACi1Gcm9tIDM3NDZiNzYyNzIxODQzOGFlN2Q3ODFm YzhiMThhMjIxNDU0ZTkwOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYWt1YiBG aWxhayA8amZpbGFrQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDE1IDE1OjE1OjQw ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIHVwbG9hZDogdmFsaWRhdGUgYW5kIHNhbml0aXplIHVw bG9hZGVkIGR1bXAgZGlyZWN0b3JpZXMKLQotSXQgd2FzIGRpc2NvdmVyZWQgdGhhdCwgd2hlbiBt b3ZpbmcgcHJvYmxlbSByZXBvcnRzIGZyb20KLS92YXIvc3Bvb2wvYWJydC11cGxvYWQgdG8gL3Zh ci9zcG9vbC9hYnJ0IG9yIC92YXIvdG1wL2FicnQsCi1hYnJ0LWhhbmRsZS11cGxvYWQgZG9lcyBu b3QgdmVyaWZ5IHRoYXQgdGhlIG5ldyBwcm9ibGVtIGRpcmVjdG9yeQotaGFzIGFwcHJvcHJpYXRl IHBlcm1pc3Npb25zIGFuZCBkb2VzIG5vdCBjb250YWluIHN5bWJvbGljIGxpbmtzLiAgQQotY3Jh ZnRlZCBwcm9ibGVtIHJlcG9ydCBleHBvc2VzIG90aGVyIHBhcnRzIG9mIGFicnQgdG8gYXR0YWNr LCBhbmQKLXRoZSBhYnJ0LWhhbmRsZS11cGxvYWQgc2NyaXB0IGFsbG93cyB0byBvdmVyd3JpdGUg YXJiaXRyYXJ5IGZpbGVzLgotCi1BY2tub3dsZWRnZW1lbnQ6Ci0KLVRoaXMgaXNzdWUgd2FzIGRp c2NvdmVyZWQgYnkgRmxvcmlhbiBXZWltZXIgb2YgUmVkIEhhdCBQcm9kdWN0IFNlY3VyaXR5Lgot Ci1SZWxhdGVkOiAjMTIxMjk1MwotCi1TaWduZWQtb2ZmLWJ5OiBKYWt1YiBGaWxhayA8amZpbGFr QHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMvZGFlbW9uL2FicnQtaGFuZGxlLXVwbG9hZC5pbiB8IDc4 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KLSAxIGZpbGUgY2hhbmdl ZCwgNzAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9k YWVtb24vYWJydC1oYW5kbGUtdXBsb2FkLmluIGIvc3JjL2RhZW1vbi9hYnJ0LWhhbmRsZS11cGxv YWQuaW4KLWluZGV4IDQ1YmE3MmQuLmU4MTJlZjAgMTAwNzU1Ci0tLS0gYS9zcmMvZGFlbW9uL2Fi cnQtaGFuZGxlLXVwbG9hZC5pbgotKysrIGIvc3JjL2RhZW1vbi9hYnJ0LWhhbmRsZS11cGxvYWQu aW4KLUBAIC0xMCw2ICsxMCw3IEBAIGltcG9ydCBnZXRvcHQKLSBpbXBvcnQgdGVtcGZpbGUKLSBp bXBvcnQgc2h1dGlsCi0gaW1wb3J0IGRhdGV0aW1lCi0raW1wb3J0IGdycAotIAotIGZyb20gcmVw b3J0Y2xpZW50IGltcG9ydCBzZXRfdmVyYm9zaXR5LCBlcnJvcl9tc2dfYW5kX2RpZSwgZXJyb3Jf bXNnLCBsb2cKLSAKLUBAIC0zNiwxMiArMzcsNzcgQEAgZGVmIGluaXRfZ2V0dGV4dCgpOgotIAot IGltcG9ydCBwcm9ibGVtCi0gCi0tZGVmIHdyaXRlX3N0cl90byhmaWxlbmFtZSwgcyk6Ci0tICAg IGZkID0gb3Mub3BlbihmaWxlbmFtZSwgb3MuT19XUk9OTFkgfCBvcy5PX0NSRUFUIHwgb3MuT19U UlVOQywgQERFRkFVTFRfRFVNUF9ESVJfTU9ERUAgfCBzdGF0LlNfSVJPVEgpCi0rZGVmIHdyaXRl X3N0cl90byhmaWxlbmFtZSwgcywgdWlkLCBnaWQsIG1vZGUpOgotKyAgICBmZCA9IG9zLm9wZW4o ZmlsZW5hbWUsIG9zLk9fV1JPTkxZIHwgb3MuT19DUkVBVCB8IG9zLk9fVFJVTkMsIG1vZGUpCi0g ICAgIGlmIGZkID49IDA6Ci0rICAgICAgICBvcy5mY2hvd24oZmQsIHVpZCwgZ2lkKQotICAgICAg ICAgb3Mud3JpdGUoZmQsIHMpCi0gICAgICAgICBvcy5jbG9zZShmZCkKLSAKLSsKLStkZWYgdmFs aWRhdGVfdHJhbnNmb3JtX21vdmVfYW5kX25vdGlmeSh1cGxvYWRlZF9kaXJfcGF0aCwgcHJvYmxl bV9kaXJfcGF0aCwgZGVzdD1Ob25lKToKLSsgICAgZnN1aWQgPSAwCi0rICAgIGZzZ2lkID0gMAot KwotKyAgICB0cnk6Ci0rICAgICAgICBnYWJydCA9IGdycC5nZXRncm5hbSgiYWJydCIpCi0rICAg ICAgICBmc2dpZCA9IGdhYnJ0LmdyX2dpZAotKyAgICBleGNlcHQgS2V5RXJyb3IgYXMgZXg6Ci0r ICAgICAgICBlcnJvcl9tc2coIkZhaWxlZCB0byBnZXQgR0lEIG9mICdhYnJ0JyAodXNpbmcgMCBp bnN0ZWFkKTogezB9JyIuZm9ybWF0KHN0cihleCkpKQotKwotKyAgICB0cnk6Ci0rICAgICAgICAj IGdpdmUgdGhlIHVwbG9hZGVkIGRpcmVjdG9yeSB0byAncm9vdDphYnJ0JyBvciAncm9vdDpyb290 JwotKyAgICAgICAgb3MuY2hvd24odXBsb2FkZWRfZGlyX3BhdGgsIGZzdWlkLCBmc2dpZCkKLSsg ICAgICAgICMgc2V0IHRoZSByaWdodCBwZXJtaXNzaW9ucyBmb3IgdGhpcyBtYWNoaW5lCi0rICAg ICAgICAjIChhbGxvdyB0aGUgb3duZXIgYW5kIHRoZSBncm91cCB0byBhY2Nlc3MgcHJvYmxlbSBl bGVtZW50cywKLSsgICAgICAgICMgIHRoZSBkZWZhdWx0IGR1bXAgZGlyIG1vZGUgbGFja3MgeCBi aXQgZm9yIGJvdGgpCi0rICAgICAgICBvcy5jaG1vZCh1cGxvYWRlZF9kaXJfcGF0aCwgQERFRkFV TFRfRFVNUF9ESVJfTU9ERUAgfCBzdGF0LlNfSVhVU1IgfCBzdGF0LlNfSVhHUlApCi0rCi0rICAg ICAgICAjIHNhbml0aXplIHByb2JsZW0gZWxlbWVudHMKLSsgICAgICAgIGZvciBpdGVtIGluIG9z Lmxpc3RkaXIodXBsb2FkZWRfZGlyX3BhdGgpOgotKyAgICAgICAgICAgIGFwYXRoID0gb3MucGF0 aC5qb2luKHVwbG9hZGVkX2Rpcl9wYXRoLCBpdGVtKQotKyAgICAgICAgICAgIGlmIG9zLnBhdGgu aXNsaW5rKGFwYXRoKToKLSsgICAgICAgICAgICAgICAgIyByZW1vdmUgc3ltYm9saWMgbGlua3MK LSsgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGFwYXRoKQotKyAgICAgICAgICAgIGVsaWYgb3Mu cGF0aC5pc2RpcihhcGF0aCk6Ci0rICAgICAgICAgICAgICAgICMgcmVtb3ZlIGRpcmVjdG9yaWVz Ci0rICAgICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoYXBhdGgpCi0rICAgICAgICAgICAgZWxp ZiBvcy5wYXRoLmlzZmlsZShhcGF0aCk6Ci0rICAgICAgICAgICAgICAgICMgc2V0IGZpbGUgb3du ZXJzaGlwIHRvICdyb290OmFicnQnIG9yICdyb290OnJvb3QnCi0rICAgICAgICAgICAgICAgIG9z LmNob3duKGFwYXRoLCBmc3VpZCwgZnNnaWQpCi0rICAgICAgICAgICAgICAgICMgc2V0IHRoZSBy aWdodCBmaWxlIHBlcm1pc3Npb25zIGZvciB0aGlzIG1hY2hpbmUKLSsgICAgICAgICAgICAgICAg b3MuY2htb2QoYXBhdGgsIEBERUZBVUxUX0RVTVBfRElSX01PREVAKQotKyAgICAgICAgICAgIGVs c2U6Ci0rICAgICAgICAgICAgICAgICMgcmVtb3ZlIHRoaW5ncyB0aGF0IGFyZSBuZWl0aGVyIGZp bGVzLCBzeW1saW5rcyBub3IgZGlyZWN0b3JpZXMKLSsgICAgICAgICAgICAgICAgb3MucmVtb3Zl KGFwYXRoKQotKyAgICBleGNlcHQgT1NFcnJvciBhcyBleDoKLSsgICAgICAgIGVycm9yX21zZygi UmVtb3ZpbmcgdXBsb2FkZWQgZGlyICd7MH0nOiAnezF9JyIuZm9ybWF0KHVwbG9hZGVkX2Rpcl9w YXRoLCBzdHIoZXgpKSkKLSsgICAgICAgIHRyeToKLSsgICAgICAgICAgICBzaHV0aWwucm10cmVl KHVwbG9hZGVkX2Rpcl9wYXRoKQotKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXgyOgotKyAg ICAgICAgICAgIGVycm9yX21zZ19hbmRfZGllKCJGYWlsZWQgdG8gY2xlYW4gdXAgZGlyICd7MH0n OiAnezF9JyIuZm9ybWF0KHVwbG9hZGVkX2Rpcl9wYXRoLCBzdHIoZXgyKSkpCi0rICAgICAgICBy ZXR1cm4KLSsKLSsgICAgIyBvdmVyd3JpdGUgcmVtb3RlIGlmIGl0IGV4aXN0cwotKyAgICByZW1v dGVfcGF0aCA9IG9zLnBhdGguam9pbih1cGxvYWRlZF9kaXJfcGF0aCwgInJlbW90ZSIpCi0rICAg IHdyaXRlX3N0cl90byhyZW1vdGVfcGF0aCwgIjEiLCBmc3VpZCwgZnNnaWQsIEBERUZBVUxUX0RV TVBfRElSX01PREVAKQotKwotKyAgICAjIGFicnRkIHdvdWxkIGluY3JlbWVudCBjb3VudCB2YWx1 ZSBhbmQgYWJydC1zZXJ2ZXIgcmVmdXNlcyB0byBwcm9jZXNzCi0rICAgICMgcHJvYmxlbSBkaXJl Y3RvcmllcyBjb250YWluaW5nICdjb3VudCcgZWxlbWVudCB3aGVuIFByaXZhdGVSZXBvcnRzIGlz IG9uLgotKyAgICBjb3VudF9wYXRoID0gb3MucGF0aC5qb2luKHVwbG9hZGVkX2Rpcl9wYXRoLCAi Y291bnQiKQotKyAgICBpZiBvcy5wYXRoLmV4aXN0cyhjb3VudF9wYXRoKToKLSsgICAgICAgICMg b3ZlcndyaXRlIHJlbW90ZV9jb3VudCBpZiBpdCBleGlzdHMKLSsgICAgICAgIHJlbW90ZV9jb3Vu dF9wYXRoID0gb3MucGF0aC5qb2luKHVwbG9hZGVkX2Rpcl9wYXRoLCAicmVtb3RlX2NvdW50IikK LSsgICAgICAgIG9zLnJlbmFtZShjb3VudF9wYXRoLCByZW1vdGVfY291bnRfcGF0aCkKLSsKLSsg ICAgaWYgbm90IGRlc3Q6Ci0rICAgICAgICBkZXN0ID0gcHJvYmxlbV9kaXJfcGF0aAotKwotKyAg ICBzaHV0aWwubW92ZSh1cGxvYWRlZF9kaXJfcGF0aCwgZGVzdCkKLSsKLSsgICAgcHJvYmxlbS5u b3RpZnlfbmV3X3BhdGgocHJvYmxlbV9kaXJfcGF0aCkKLSsKLSsKLSBpZiBfX25hbWVfXyA9PSAi X19tYWluX18iOgotIAotICAgICAjIEhlbHBlcjogZXhpdCB3aXRoIGNsZWFudXAKLUBAIC0xNzcs MjEgKzI0MywxNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgICAgICAgIyBvciBv bmUgb3IgbW9yZSBjb21wbGV0ZSBwcm9ibGVtIGRhdGEgZGlyZWN0b3JpZXMuCi0gICAgICAgICAj IENoZWNraW5nIHNlY29uZCBwb3NzaWJpbGl0eSBmaXJzdC4KLSAgICAgICAgIGlmIChvcy5wYXRo LmV4aXN0cyh0ZW1wZGlyKyIvYW5hbHl6ZXIiKSBvciBvcy5wYXRoLmV4aXN0cyh0ZW1wZGlyKyIv dHlwZSIpKSBhbmQgb3MucGF0aC5leGlzdHModGVtcGRpcisiL3RpbWUiKToKLS0gICAgICAgICAg ICB3cml0ZV9zdHJfdG8odGVtcGRpcisiL3JlbW90ZSIsICIxIikKLS0gICAgICAgICAgICBzaHV0 aWwubW92ZSh0ZW1wZGlyLCBhYnJ0X2RpcikKLS0gICAgICAgICAgICBwcm9ibGVtLm5vdGlmeV9u ZXdfcGF0aChhYnJ0X2RpcisiLyIrb3MucGF0aC5iYXNlbmFtZSh0ZW1wZGlyKSkKLSsgICAgICAg ICAgICB2YWxpZGF0ZV90cmFuc2Zvcm1fbW92ZV9hbmRfbm90aWZ5KHRlbXBkaXIsIGFicnRfZGly KyIvIitvcy5wYXRoLmJhc2VuYW1lKHRlbXBkaXIpLCBkZXN0PWFicnRfZGlyKQotICAgICAgICAg ZWxzZToKLSAgICAgICAgICAgICBmb3IgZCBpbiBvcy5saXN0ZGlyKHRlbXBkaXIpOgotICAgICAg ICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcih0ZW1wZGlyKyIvIitkKToKLSAgICAgICAg ICAgICAgICAgICAgIGNvbnRpbnVlCi0tICAgICAgICAgICAgICAgIHdyaXRlX3N0cl90byh0ZW1w ZGlyKyIvIitkKyIvcmVtb3RlIiwgIjEiKQotICAgICAgICAgICAgICAgICBkc3QgPSBhYnJ0X2Rp cisiLyIrZAotICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhkc3QpOgotICAgICAg ICAgICAgICAgICAgICAgZHN0ICs9ICIuIitzdHIob3MuZ2V0cGlkKCkpCi0gICAgICAgICAgICAg ICAgIGlmIG9zLnBhdGguZXhpc3RzKGRzdCk6Ci0gICAgICAgICAgICAgICAgICAgICBjb250aW51 ZQotLSAgICAgICAgICAgICAgICBzaHV0aWwubW92ZSh0ZW1wZGlyKyIvIitkLCBkc3QpCi0tICAg ICAgICAgICAgICAgIHByb2JsZW0ubm90aWZ5X25ld19wYXRoKGRzdCkKLSsgICAgICAgICAgICAg ICAgdmFsaWRhdGVfdHJhbnNmb3JtX21vdmVfYW5kX25vdGlmeSh0ZW1wZGlyKyIvIitkLCBkc3Qp Ci0gCi0gICAgICAgICBkaWVfZXhpdGNvZGUgPSAwCi0gICAgICAgICAjIFRoaXMgZGVsZXRlcyB3 b3JraW5nX2RpciAoPT0gZGVsZXRlX29uX2V4aXQpCi0tLSAKLTIuNC4xCi0KCmRpZmYgLS1naXQg YS8wMDA4LWEtYS1zLXAtZC1hZGQtbmV3LWtub3duLWludGVycHJldGVyLXRvLWNvbmYtZmlsZS5w YXRjaCBiLzAwMDgtYS1hLXMtcC1kLWFkZC1uZXcta25vd24taW50ZXJwcmV0ZXItdG8tY29uZi1m aWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTI1NGI3Li4wMDAwMDAw Ci0tLSBhLzAwMDgtYS1hLXMtcC1kLWFkZC1uZXcta25vd24taW50ZXJwcmV0ZXItdG8tY29uZi1m aWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA3ZDViZTQyN2Uy MDhlNTY1ZWUxNmE3ZjM0YmU2NGFjYjc4MWZiMmY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogTWF0ZWogSGFicm5hbCA8bWhhYnJuYWxAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTgg TWF5IDIwMTUgMDg6NDU6NDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYS1hLXMtcC1kOiBhZGQg bmV3IGtub3duIGludGVycHJldGVyIHRvIGNvbmYgZmlsZQotCi1UaGVyZSB3ZXJlIG5ldyBidWd6 aWxsYXMgb3BlbmVkIHdpdGggd3JvbmcgY29tcG9uZW50ICdweXRob24zJyBiZWNhdXNlIG9mIGEg bmV3Ci12ZXJzaW9uIG9mIHB5dGhvbiAoMy40KS4gV2UgZG9uJ3Qgd2FudCB0byBibGFtZSB0aGUg aW50ZXJwcmV0ZXJzIGJ1dCB0aGUKLXJ1bm5pbmcgc2NyaXB0cy4KLQotY2xvc2UgIzk2NQotCi1T aWduZWQtb2ZmLWJ5OiBNYXRlaiBIYWJybmFsIDxtaGFicm5hbEByZWRoYXQuY29tPgotLS0tCi0g c3JjL2RhZW1vbi9hYnJ0LWFjdGlvbi1zYXZlLXBhY2thZ2UtZGF0YS5jb25mIHwgMiArLQotIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0 IGEvc3JjL2RhZW1vbi9hYnJ0LWFjdGlvbi1zYXZlLXBhY2thZ2UtZGF0YS5jb25mIGIvc3JjL2Rh ZW1vbi9hYnJ0LWFjdGlvbi1zYXZlLXBhY2thZ2UtZGF0YS5jb25mCi1pbmRleCAzM2NlZjhmLi4y N2I5NjA3IDEwMDY0NAotLS0tIGEvc3JjL2RhZW1vbi9hYnJ0LWFjdGlvbi1zYXZlLXBhY2thZ2Ut ZGF0YS5jb25mCi0rKysgYi9zcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRh LmNvbmYKLUBAIC0xOCw0ICsxOCw0IEBAIFByb2Nlc3NVbnBhY2thZ2VkID0geWVzCi0gQmxhY2tM aXN0ZWRQYXRocyA9IC91c3Ivc2hhcmUvZG9jLyosICovZXhhbXBsZSosIC91c3IvYmluL25zcGx1 Z2ludmlld2VyCi0gCi0gIyBpbnRlcnByZXRlcnMgbmFtZXMKLS1JbnRlcnByZXRlcnMgPSBweXRo b24yLCBweXRob24yLjcsIHB5dGhvbiwgcHl0aG9uMywgcHl0aG9uMy4zLCBwZXJsLCBwZXJsNS4x Ni4yCi0rSW50ZXJwcmV0ZXJzID0gcHl0aG9uMiwgcHl0aG9uMi43LCBweXRob24sIHB5dGhvbjMs IHB5dGhvbjMuMywgcHl0aG9uMy40LCBweXRob24zLjUsIHBlcmwsIHBlcmw1LjE2LjIKLS0tIAot Mi40LjEKLQoKZGlmZiAtLWdpdCBhLzAwMTAtYXBwbGV0LWZpeC1wcm9ibGVtLWluZm8tZG91Ymxl LWZyZWUucGF0Y2ggYi8wMDEwLWFwcGxldC1maXgtcHJvYmxlbS1pbmZvLWRvdWJsZS1mcmVlLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTZiYTA0Li4wMDAwMDAwCi0tLSBh LzAwMTAtYXBwbGV0LWZpeC1wcm9ibGVtLWluZm8tZG91YmxlLWZyZWUucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDY1YzI0YmIyNDhiOWI3YjJlMzNlOGIwYmE5ZTNl MDZmZmRlNGIyOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXRlaiBIYWJybmFs IDxtaGFicm5hbEByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAxOCBNYXkgMjAxNSAxNTo0Njo1OSAr MDIwMAotU3ViamVjdDogW1BBVENIXSBhcHBsZXQ6IGZpeCBwcm9ibGVtIGluZm8gZG91YmxlIGZy ZWUKLQotVGhlcmUgd2FzIGEgZG91YmxlIGZyZWUgd2hlbiBhbiBhY3Rpb24gZnVuY3Rpb24gd2Fz IGNhbGxlZC4KLVByb2JsZW0gaW5mbyBpcyBmcmVlZCB3aGVuIHRoZSBub3RpZmljYXRpb24gaXMg ZGVzdHJveWVkIGJlY2F1c2UgdGhlIGZyZWUKLWZ1bmN0aW9uIGlzIHJlZ2lzdHJlZCB3aGVuIHRo ZSBhY3Rpb24gaXMgYWRkZWQKLShub3RpZnlfbm90aWZpY2F0aW9uX2FkZF9hY3Rpb24oKSkuIFNv IHRoZSBwcm9ibGVtX2luZm9fdW5yZWYoKSBmdW5jdGlvbiBpbiB0aGUKLWFjdGlvbiBmdW5jdGlv biBpcyBtb3Jlb3ZlciBhbmQgY2F1c2VzIHRoZSBkb3VibGUgZnJlZSBwcm9ibGVtLgotCi1SZWxh dGVkIHRvIHJoYnojMTIxMTY0NAotCi1TaWduZWQtb2ZmLWJ5OiBNYXRlaiBIYWJybmFsIDxtaGFi cm5hbEByZWRoYXQuY29tPgotLS0tCi0gc3JjL2FwcGxldC9hcHBsZXQuYyB8IDIgLS0KLSAxIGZp bGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9hcHBsZXQvYXBw bGV0LmMgYi9zcmMvYXBwbGV0L2FwcGxldC5jCi1pbmRleCA0ZGY2OWZjLi5jMDBmN2UzIDEwMDY0 NAotLS0tIGEvc3JjL2FwcGxldC9hcHBsZXQuYwotKysrIGIvc3JjL2FwcGxldC9hcHBsZXQuYwot QEAgLTUwMSw3ICs1MDEsNiBAQCBzdGF0aWMgdm9pZCBhY3Rpb25fcmVwb3J0KE5vdGlmeU5vdGlm aWNhdGlvbiAqbm90aWZpY2F0aW9uLCBnY2hhciAqYWN0aW9uLCBncG9pbgotICAgICBwcm9ibGVt X2luZm9fdCAqcGkgPSAocHJvYmxlbV9pbmZvX3QgKil1c2VyX2RhdGE7Ci0gICAgIGlmIChwcm9i bGVtX2luZm9fZ2V0X2RpcihwaSkpCi0gICAgICAgICBmb3JrX2V4ZWNfZ3VpKHByb2JsZW1faW5m b19nZXRfZGlyKHBpKSk7Ci0tICAgIHByb2JsZW1faW5mb191bnJlZihwaSk7Ci0gfQotIAotIHN0 YXRpYyB2b2lkIGFjdGlvbl9yZXN0YXJ0KE5vdGlmeU5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9u LCBnY2hhciAqYWN0aW9uLCBncG9pbnRlciB1c2VyX2RhdGEpCi1AQCAtNTI4LDcgKzUyNyw2IEBA IHN0YXRpYyB2b2lkIGFjdGlvbl9yZXN0YXJ0KE5vdGlmeU5vdGlmaWNhdGlvbiAqbm90aWZpY2F0 aW9uLCBnY2hhciAqYWN0aW9uLCBncG9pCi0gICAgICAgICAgICAgICAgICAgIGVyci0+bWVzc2Fn ZSk7Ci0gICAgIH0KLSAgICAgZ19vYmplY3RfdW5yZWYgKGFwcCk7Ci0tICAgIHByb2JsZW1faW5m b191bnJlZihwaSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkIG9uX25vdGlmeV9jbG9zZShOb3RpZnlO b3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbiwgZ3BvaW50ZXIgdXNlcl9kYXRhKQotLS0gCi0yLjQu MQotCgpkaWZmIC0tZ2l0IGEvMDAxMS1jbGktZG8tbm90LWV4aXQtd2l0aC1zZWdmYXVsdC1pZi1k YnVzLWZhaWxzLnBhdGNoIGIvMDAxMS1jbGktZG8tbm90LWV4aXQtd2l0aC1zZWdmYXVsdC1pZi1k YnVzLWZhaWxzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTdlMzNlLi4w MDAwMDAwCi0tLSBhLzAwMTEtY2xpLWRvLW5vdC1leGl0LXdpdGgtc2VnZmF1bHQtaWYtZGJ1cy1m YWlscy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gODI5NTdhMzM5 MDE4ODUwOTkyMWVjMTZiZGRjMjdmMmFlZWIwMWI4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IE1hdGVqIEhhYnJuYWwgPG1oYWJybmFsQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDQg TWF5IDIwMTUgMTA6MzU6MjUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gY2xpOiBkbyBub3QgZXhp dCB3aXRoIHNlZ2ZhdWx0IGlmIGRidXMgZmFpbHMKLQotVGhlcmUgd2FzIGEgc2VnZmF1bHQgd2hl biB3ZSByYW4gJ2FicnQtY2xpIGxpc3QnIGFuZCBkYnVzIGZhaWxlZC4KLQotUmVsYXRlZCB0byBy aGJ6IzEyMTc5MDEKLQotU2lnbmVkLW9mZi1ieTogTWF0ZWogSGFicm5hbCA8bWhhYnJuYWxAcmVk aGF0LmNvbT4KLS0tLQotIHNyYy9jbGkvbGlzdC5jIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9jbGkvbGlzdC5jIGIvc3JjL2NsaS9s aXN0LmMKLWluZGV4IGMwYzgxOWQuLjMxZDE4MzUgMTAwNjQ0Ci0tLS0gYS9zcmMvY2xpL2xpc3Qu YwotKysrIGIvc3JjL2NsaS9saXN0LmMKLUBAIC0xNDIsNiArMTQyLDggQEAgaW50IGNtZF9saXN0 KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKLSAgICAgcGFyc2Vfb3B0cyhhcmdjLCAoY2hh ciAqKilhcmd2LCBwcm9ncmFtX29wdGlvbnMsIHByb2dyYW1fdXNhZ2Vfc3RyaW5nKTsKLSAKLSAg ICAgdmVjdG9yX29mX3Byb2JsZW1fZGF0YV90ICpjaSA9IGZldGNoX2NyYXNoX2luZm9zKCk7Ci0r ICAgIGlmIChjaSA9PSBOVUxMKQotKyAgICAgICAgcmV0dXJuIDE7Ci0gCi0gICAgIGdfcHRyX2Fy cmF5X3NvcnRfd2l0aF9kYXRhKGNpLCAmY21wX3Byb2JsZW1fZGF0YSwgKGNoYXIgKikgRklMRU5B TUVfTEFTVF9PQ0NVUlJFTkNFKTsKLSAKLS0tIAotMi40LjEKLQoKZGlmZiAtLWdpdCBhLzAwMTMt YWJydC1hdXRvLXJlcG9ydGluZy1yZXF1aXJlLXJodHN1cHBvcnQuY29uZi1maWxlLW9ubC5wYXRj aCBiLzAwMTMtYWJydC1hdXRvLXJlcG9ydGluZy1yZXF1aXJlLXJodHN1cHBvcnQuY29uZi1maWxl LW9ubC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZlYzdkOS4uMDAwMDAw MAotLS0gYS8wMDEzLWFicnQtYXV0by1yZXBvcnRpbmctcmVxdWlyZS1yaHRzdXBwb3J0LmNvbmYt ZmlsZS1vbmwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1ODkgKzAsMCBAQAotRnJvbSAwYjg5 NTVhODQ1ZjdhMjhhMDkwYmZlMDdkMzNhMGFjZjE2MTUyNmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogTWF0ZWogSGFicm5hbCA8bWhhYnJuYWxAcmVkaGF0LmNvbT4KLURhdGU6IEZy aSwgMjQgQXByIDIwMTUgMTU6Mzc6MTUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYWJydC1hdXRv LXJlcG9ydGluZzogcmVxdWlyZSByaHRzdXBwb3J0LmNvbmYgZmlsZSBvbmx5IG9uCi0gUkhFTAot Ci1hYnJ0LWF1dG8tcmVwb3J0aW5nIHJlcXVpcmVkIHRoZSByaHRzdXBwb3J0LmNvbmYgb24gRmVk b3JhIGFuZCBDZW50T1MgYnV0IHRoZSBjb25mCi1maWxlIGRvIG5vdCBleGlzdHMgaW4gdGhvc2Ug c3lzdGVtcy4KLQotUmVzb2x2ZXMgYWJydC9hYnJ0Izk1NwotCi1TaWduZWQtb2ZmLWJ5OiBNYXRl aiBIYWJybmFsIDxtaGFicm5hbEByZWRoYXQuY29tPgotLS0tCi0gY29uZmlndXJlLmFjICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMSArKysKLSBkb2MvTWFrZWZpbGUuYW0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEzICsrKy0KLSBkb2MvYWJydC1hdXRvLXJlcG9y dGluZy1hdXRoZW50aWNhdGVkLnR4dCAgIHwgMTA2ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysKLSBkb2MvYWJydC1hdXRvLXJlcG9ydGluZy11bmF1dGhlbnRpY2F0ZWQudHh0IHwgIDcxICsr KysrKysrKysrKysrKysrKysKLSBkb2MvYWJydC1hdXRvLXJlcG9ydGluZy50eHQgICAgICAgICAg ICAgICAgIHwgMTA2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvZGFlbW9uL2Fi cnQtYXV0by1yZXBvcnRpbmcuYyAgICAgICAgICAgIHwgIDcxICsrKysrKysrKysrKysrLS0tLS0K LSA2IGZpbGVzIGNoYW5nZWQsIDI1NCBpbnNlcnRpb25zKCspLCAxMjQgZGVsZXRpb25zKC0pCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9hYnJ0LWF1dG8tcmVwb3J0aW5nLWF1dGhlbnRpY2F0ZWQu dHh0Ci0gY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9hYnJ0LWF1dG8tcmVwb3J0aW5nLXVuYXV0aGVu dGljYXRlZC50eHQKLSBkZWxldGUgbW9kZSAxMDA2NDQgZG9jL2FicnQtYXV0by1yZXBvcnRpbmcu dHh0Ci0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGFj ZDBkMzIuLjY5NjJkMmMgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3Vy ZS5hYwotQEAgLTI5Niw2ICsyOTYsMTcgQEAgQUNfQVJHX0VOQUJMRShzdWdnZXN0LWF1dG9yZXBv cnRpbmcsCi0gCi0gQU1fQ09ORElUSU9OQUwoU1VHR0VTVF9BVVRPUkVQT1JUSU5HLCB0ZXN0ICIk ZW5hYmxlX3N1Z2dlc3RfYXV0b3JlcG9ydGluZyIgPSAieWVzIikKLSAKLSsjIEF1dGhlbnRpY2F0 ZWQgYXV0b3JlcG9ydGluZwotKwotK0FDX0FSR19FTkFCTEUoYXV0aGVudGljYXRlZC1hdXRvcmVw b3J0aW5nLAotKyAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtYXV0aGVudGljYXRlZC1hdXRv cmVwb3J0aW5nXSwKLSsgICAgW2VuYWJsZSBhdXRoZW50aWNhdGVkIGF1dG9yZXBvcnRpbmddKSwK LSsgICAgW2VuYWJsZV9hdXRoZW50aWNhdGVkX2F1dG9yZXBvcnRpbmc9JGVuYWJsZXZhbF0sCi0r ICAgIFtlbmFibGVfYXV0aGVudGljYXRlZF9hdXRvcmVwb3J0aW5nPW5vXQotKykKLSsKLStBTV9D T05ESVRJT05BTChBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcsIHRlc3QgIiRlbmFibGVfYXV0 aGVudGljYXRlZF9hdXRvcmVwb3J0aW5nIiA9ICJ5ZXMiKQotKwotICMgTWFrZSBzYXR5ciB1c2Ug R0RCIG9yIGVsZnV0aWxzL2xpYnVud2luZCBmb3IgdW53aW5kaW5nPwotIAotIEFDX0FSR19FTkFC TEUoW25hdGl2ZS11bndpbmRlcl0sCi1kaWZmIC0tZ2l0IGEvZG9jL01ha2VmaWxlLmFtIGIvZG9j L01ha2VmaWxlLmFtCi1pbmRleCA2ZWZkNmQ2Li4zZTc0OTljIDEwMDY0NAotLS0tIGEvZG9jL01h a2VmaWxlLmFtCi0rKysgYi9kb2MvTWFrZWZpbGUuYW0KLUBAIC03OCw2ICs3OCwxNyBAQCBtYW4x X01BTlMgPSAke01BTjFfVFhUOiUudHh0PSUuMX0KLSBtYW41X01BTlMgPSAke01BTjVfVFhUOiUu dHh0PSUuNX0gJHtNQU41X1BSRUZPUk1BVFRFRH0KLSBtYW44X01BTlMgPSAke01BTjhfVFhUOiUu dHh0PSUuOH0KLSAKLStNQU5fU09VUkNFID0KLStNQU5fU09VUkNFID0gYWJydC1hdXRvLXJlcG9y dGluZy1hdXRoZW50aWNhdGVkLnR4dAotK01BTl9TT1VSQ0UgPSBhYnJ0LWF1dG8tcmVwb3J0aW5n LXVuYXV0aGVudGljYXRlZC50eHQKLSsKLStpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcK LSthYnJ0LWF1dG8tcmVwb3J0aW5nLnR4dDogYWJydC1hdXRvLXJlcG9ydGluZy1hdXRoZW50aWNh dGVkLnR4dAotK2Vsc2UKLSthYnJ0LWF1dG8tcmVwb3J0aW5nLnR4dDogYWJydC1hdXRvLXJlcG9y dGluZy11bmF1dGhlbnRpY2F0ZWQudHh0Ci0rZW5kaWYKLSsJY3AgJDwgJEAKLSsKLSAlLjEgJS41 ICUuODogJS54bWwKLSAJJChYTUxUT19TSUxFTlQpIHhtbHRvIG1hbiAkPCAyPiYxIHwgc2VkICcv Tm90ZS9kJwotIAotQEAgLTg2LDYgKzk3LDYgQEAgbWFuOF9NQU5TID0gJHtNQU44X1RYVDolLnR4 dD0lLjh9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1jb25mLWZpbGUgLi4vYXNjaWlk b2MuY29uZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLWFhYnJ0X3ZlcnNpb249JChQ QUNLQUdFX1ZFUlNJT04pIC1vICRAICQ8Ci0gCi0tRVhUUkFfRElTVCA9ICQoTUFOMV9UWFQpICQo TUFONV9UWFQpICQoTUFOOF9UWFQpICQoTUFONV9QUkVGT1JNQVRURUQpCi0rRVhUUkFfRElTVCA9 ICQoTUFOMV9UWFQpICQoTUFONV9UWFQpICQoTUFOOF9UWFQpICQoTUFONV9QUkVGT1JNQVRURUQp ICQoTUFOX1NPVVJDRSkKLSAKLSBDTEVBTkZJTEVTID0gJHtNQU4xX1RYVDolLnR4dD0lLjF9ICR7 TUFONV9UWFQ6JS50eHQ9JS41fSAke01BTjhfVFhUOiUudHh0PSUuOH0KLWRpZmYgLS1naXQgYS9k b2MvYWJydC1hdXRvLXJlcG9ydGluZy1hdXRoZW50aWNhdGVkLnR4dCBiL2RvYy9hYnJ0LWF1dG8t cmVwb3J0aW5nLWF1dGhlbnRpY2F0ZWQudHh0Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg MDAwMDAwMC4uMmEyNzk0NQotLS0tIC9kZXYvbnVsbAotKysrIGIvZG9jL2FicnQtYXV0by1yZXBv cnRpbmctYXV0aGVudGljYXRlZC50eHQKLUBAIC0wLDAgKzEsMTA2IEBACi0rYWJydC1hdXRvLXJl cG9ydGluZygxKQotKz09PT09PT09PT09PT09PT09PT09PT0KLSsKLStOQU1FCi0rLS0tLQotK2Fi cnQtYXV0by1yZXBvcnRpbmcgLSBHZXQgb3IgbW9kaWZ5IHRoZSBhdXRvIHJlcG9ydGluZyBvcHRp b24gdmFsdWVzCi0rCi0rU1lOT1BTSVMKLSstLS0tLS0tLQotKydhYnJ0LWF1dG8tcmVwb3J0aW5n JyBbLXZdIFsgZW5hYmxlZCB8IHllcyB8IDEgfCBvbiB8IGRpc2FibGVkIHwgbm8gfCAwIHwgb2Zm IF0KLSsgICAgICAgICAgICAgICAgICAgICAgWyBbLS1hbm9ueW1vdXNdIHwKLSsgICAgICAgICAg ICAgICAgICAgICAgICBbLS11c2VybmFtZSBVU0VSTkFNRSBbLS1wYXNzd29yZCBQQVNTV09SRF0g XSB8Ci0rICAgICAgICAgICAgICAgICAgICAgICAgWy0tY2VydGlmaWNhdGUgU09VUkNFXSBdCi0r Ci0rREVTQ1JJUFRJT04KLSstLS0tLS0tLS0tLQotK1JlYWRzIHRoZSBjb25maWd1cmF0aW9uIGZy b20gYWJydC5jb25mIGFuZCBzYXZlcyB0aGUgY2hhbmdlcyB0byB0aGUgc2FtZSBmaWxlLgotKwot K1RoZSBjaGFuZ2VzIHdpbGwgdGFrZSBlZmZlY3QgaW1tZWRpYXRlbHkgd2l0aG91dCBuZWNlc3Np dHkgdG8gcmVzdGFydCBhbnkgQUJSVAotK3Byb2Nlc3MgYW5kIHdpbGwgYmUgcGVyc2lzdGVudC4K LSsKLSsnZGlzYWJsZWQnOjoKLSsgICBVc2VyIGhhdmUgdG8gcmVwb3J0IHRoZSBkZXRlY3QgcHJv YmxlbXMgbWFudWFsbHkKLSsKLSsnZW5hYmxlZCc6OgotKyAgIEFCUlQgdXBsb2FkcyBhbiB1UmVw b3J0IHdoaWNoIHdhcyBnZW5lcmF0ZWQgZm9yIGEgZGV0ZWN0ZWQgcHJvYmxlbQotKyAgIGltbWVk aWF0ZWx5IGFmdGVyIHRoZSBkZXRlY3Rpb24gcGhhc2UuCi0rCi0rUmVhZHMgYW5kIHNhdmVzIHRo ZSBhdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW4KLSsvZXRjL2xpYnJlcG9y dC9wbHVnaW5zL3VyZXBvcnQuY29uZiBhbmQgL2V0Yy9saWJyZXBvcnQvcGx1Z2lucy9yaHRzdXBw b3J0LmNvbmYKLSsKLSt1UmVwb3J0IGRlc2NyaXB0aW9uCi0rfn5+fn5+fn5+fn5+fn5+fn5+fgot K0FCUlQgc3VwcG9ydHMgdVJlcG9ydHMgZm9yIGZvdXIgdHlwZXMgb2YgY3Jhc2hlczogY3Jhc2hl cyBvZiBDL0MrKyBwcm9ncmFtcwotK3RoYXQgcmVzdWx0IGluIGEgY29yZSBkdW1wLCB1bmNhdWdo dCBQeXRob24gZXhjZXB0aW9ucywgdW5jYXVnaHQgSmF2YQotK2V4Y2VwdGlvbnMgYW5kIGtlcm5l bCBvb3BzZXMuCi0rCi0rRWFjaCB1UmVwb3J0IGdlbmVyYWxseSBjb250YWlucyBhIHN0YWNrIHRy YWNlLCBvciBtdWx0aXBsZSBzdGFjayB0cmFjZXMgaW4gdGhlCi0rY2FzZSBvZiBtdWx0aS10aHJl YWRlZCBDL0MrKyBhbmQgSmF2YSBwcm9ncmFtcy4gVGhlIHN0YWNrIHRyYWNlIG9ubHkgZGVzY3Jp YmVzCi0rdGhlIGNhbGwgc3RhY2sgb2YgdGhlIHByb2dyYW0gYXQgdGhlIHRpbWUgb2YgdGhlIGNy YXNoIGFuZCBkb2VzIG5vdCBjb250YWluCi0rY29udGVudHMgb2YgYW55IHZhcmlhYmxlcy4KLSsK LStFdmVyeSB1UmVwb3J0IGFsc28gY29udGFpbnMgaWRlbnRpZmljYXRpb24gb2YgdGhlIG9wZXJh dGluZyBzeXN0ZW0sIHZlcnNpb25zIG9mCi0rdGhlIFJQTSBwYWNrYWdlcyBpbnZvbHZlZCBpbiB0 aGUgY3Jhc2gsIGFuZCB3aGV0aGVyIHRoZSBwcm9ncmFtIHJhbiB1bmRlciBhCi0rcm9vdCB1c2Vy LgotKwotK1RoZXJlIGFyZSBhbHNvIGl0ZW1zIHNwZWNpZmljIHRvIGVhY2ggY3Jhc2ggdHlwZToK LSsKLStDL0MrKyBjcmFzaGVzOjoKLSsgICAgdGhlc2UgYXJlIHBhdGggdG8gdGhlIGV4ZWN1dGFi bGUgYW5kIHNpZ25hbCBkZWxpdmVyZWQgdG8gdGhlIHByb2dyYW0sCi0rCi0rUHl0aG9uIGV4Y2Vw dGlvbnM6OgotKyAgICB0aGVyZSBpcyB0aGUgdHlwZSBvZiB0aGUgZXhjZXB0aW9uICh3aXRob3V0 IHRoZSBlcnJvciBtZXNzYWdlLCB3aGljaCBtYXkKLSsgICAgY29udGFpbiBzZW5zaXRpdmUgZGF0 YSksCi0rCi0rZm9yIGtlcm5lbCBvb3BzZXM6OgotKyAgICB0aGVzZSBhcmUgbGlzdCBvZiBsb2Fk ZWQga2VybmVsIG1vZHVsZXMsIGxpc3Qgb2YgdGFpbnQgZmxhZ3MsIGFuZCBmdWxsIHRleHQKLSsg ICAgb2YgdGhlIGtlcm5lbCBvb3BzLgotKwotK1RoZSBhdXRoZW50aWNhdGVkIHVSZXBvcnRzIGFs c28gY29udGFpbnMgKmhvc3RuYW1lKiBhbmQgKm1hY2hpbmVpZCogdG8gZW5hYmxlIGEKLStzZXJ2 ZXIgc2lkZSBmaWx0ZXJpbmcgYXQgaHR0cHM6Ly9hY2Nlc3MucmVkaGF0LmNvbS8uCi0rCi0rVGhl IGF1dGhlbnRpY2F0ZWQgdVJlcG9ydHMgaGF2ZSB0aGUgYmVuZWZpdCBvZiByaWNoIHNlcnZlciBy ZXBsaWVzIHdoaWNoIG1heQotK2luY2x1ZGUgYSBzb2x1dGlvbiBmb3IgdGhlIHN1Ym1pdHRlZCBj cmFzaC4gVGhlIGF1dGhlbnRpY2F0aW9uIGlzIGRvbmUgdXNpbmcKLStlaXRoZXIgUmVkIEhhdCBT dWJzY3JpcHRpb24gQ2VydGlmaWNhdGVzIG9yIFJlZCBIYXQgQ3VzdG9tZXIgUG9ydGFsCi0rY3Jl ZGVudGlhbHMuCi0rCi0rJ1dhcm5pbmcnOgotK1RoZSBmdWxsIHRleHQgb2YgYSBrZXJuZWwgb29w cyBtaWdodCBjb250YWluIGluZm9ybWF0aW9uIGxpa2UgdGhlCi0raWRlbnRpZmljYXRpb24gb2Yg dGhlIGhvc3QgaGFyZHdhcmUgdHlwZS4gWW91IHNob3VsZCBkaXNhYmxlIHRoZSBhdXRvcmVwb3J0 aW5nCi0rZmVhdHVyZSBpZiB5b3UgZG8gbm90IHdhbnQgdG8gc2hhcmUgdGhpcyBpbmZvcm1hdGlv biB3aXRoIFJlZCBIYXQuCi0rCi0rCi0rT1BUSU9OUwotKy0tLS0tLS0KLSstdiwgLS12ZXJib3Nl OjoKLSsgICBCZSBtb3JlIHZlcmJvc2UuIENhbiBiZSBnaXZlbiBtdWx0aXBsZSB0aW1lcy4KLSsK LSstYSwgLS1hbm9ueW1vdXM6OgotKyAgIFR1cm5zIHRoZSBhdXRoZW50aWNhdGlvbiBvZmYgYnkg Y2xlYXJpbmcgYm90aCAnU1NMQ2xpZW50QXV0aCcgYW5kICdIVFRQQXV0aCcKLSsgICBjb25maWd1 cmF0aW9uIG9wdGlvbnMgaW4gL2V0Yy9saWJyZXBvcnQvcGx1Z2lucy91cmVwb3J0LmNvbmYKLSsK LSstdSwgLS11c2VybmFtZSBVU0VSTkFNRTo6Ci0rICAgVHVybnMgSFRUUCBBdXRoZW50aWNhdGlv biBvbiBieSBzZXR0aW5nICdIVFRQQXV0aCcgY29uZmlndXJhdGlvbiBvcHRpb24gdG8KLSsgICAq cmh0cy1jcmVkZW50aWFscyogaW4gL2V0Yy9saWJyZXBvcnQvcGx1Z2lucy91cmVwb3J0LmNvbmYg YW5kIHN0b3JpbmcKLSsgICBVU0VSTkFNRSBhbmQgUEFTU1dPUkQgaW4gL2V0Yy9saWJyZXBvcnQv cGx1Z2lucy9yaHRzdXBwb3J0LmNvbmYKLSsgICBBbHNvIHR1cm5zIHRoZSBTU0wgQ2xpZW50IEF1 dGhlbnRpY2F0aW9uIG9mZiwgYmVjYXVzZSB0aGVzZSBtZXRob2RzIGNhbm5vdAotKyAgIGJlIHVz ZWQgdG9nZXRoZXIuCi0rCi0rLXAsIC0tcGFzc3dvcmQgUEFTU1dPUkQ6OgotKyAgIFBhc3N3b3Jk IGZvciBIVFRQIEF1dGhlbnRpY2F0aW9uLiBJZiBub3QgcHJvdmlkZWQsIGEgcHJvbXB0IGFza2lu ZyBmb3IgaXQKLSsgICB3aWxsIGJlIGlzc3VlZC4KLSsKLSstYywgLS1jZXJ0aWZpY2F0ZSBTT1VS Q0U6OgotKyAgIFR1cm5zIFNTTCBDbGllbnQgQXV0aGVudGljYXRpb24gb24gYnkgc2V0dGluZyAn U1NMQ2xpZW50QXV0aCcgY29uZmlndXJhdGlvbgotKyAgIG9wdGlvbiB0byBTT1VSQ0UgaW4gL2V0 Yy9saWJyZXBvcnQvcGx1Z2lucy91cmVwb3J0LmNvbmYuCi0rICAgQWxzbyB0dXJucyB0aGUgSFRU UCBBdXRoZW50aWNhdGlvbiBvZmYsIGJlY2F1c2UgdGhlc2UgbWV0aG9kcyBjYW5ub3QKLSsgICBi ZSB1c2VkIHRvZ2V0aGVyLgotKwotK1NFRSBBTFNPCi0rLS0tLS0tLS0KLSthYnJ0LmNvbmYoNSks IHVyZXBvcnQuY29uZig1KSwgcmh0c3VwcG9ydC5jb25mKDUpCi0rCi0rQVVUSE9SUwotKy0tLS0t LS0KLSsqIEFCUlQgdGVhbQotZGlmZiAtLWdpdCBhL2RvYy9hYnJ0LWF1dG8tcmVwb3J0aW5nLXVu YXV0aGVudGljYXRlZC50eHQgYi9kb2MvYWJydC1hdXRvLXJlcG9ydGluZy11bmF1dGhlbnRpY2F0 ZWQudHh0Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMzIwYzgwMwotLS0t IC9kZXYvbnVsbAotKysrIGIvZG9jL2FicnQtYXV0by1yZXBvcnRpbmctdW5hdXRoZW50aWNhdGVk LnR4dAotQEAgLTAsMCArMSw3MSBAQAotK2FicnQtYXV0by1yZXBvcnRpbmcoMSkKLSs9PT09PT09 PT09PT09PT09PT09PT09Ci0rCi0rTkFNRQotKy0tLS0KLSthYnJ0LWF1dG8tcmVwb3J0aW5nIC0g R2V0IG9yIG1vZGlmeSB0aGUgYXV0byByZXBvcnRpbmcgb3B0aW9uIHZhbHVlcwotKwotK1NZTk9Q U0lTCi0rLS0tLS0tLS0KLSsnYWJydC1hdXRvLXJlcG9ydGluZycgWy12XSBbIGVuYWJsZWQgfCB5 ZXMgfCAxIHwgb24gfCBkaXNhYmxlZCB8IG5vIHwgMCB8IG9mZiBdCi0rCi0rREVTQ1JJUFRJT04K LSstLS0tLS0tLS0tLQotK1JlYWRzIHRoZSBjb25maWd1cmF0aW9uIGZyb20gYWJydC5jb25mIGFu ZCBzYXZlcyB0aGUgY2hhbmdlcyB0byB0aGUgc2FtZSBmaWxlLgotKwotK1RoZSBjaGFuZ2VzIHdp bGwgdGFrZSBlZmZlY3QgaW1tZWRpYXRlbHkgd2l0aG91dCBuZWNlc3NpdHkgdG8gcmVzdGFydCBh bnkgQUJSVAotK3Byb2Nlc3MgYW5kIHdpbGwgYmUgcGVyc2lzdGVudC4KLSsKLSsnZGlzYWJsZWQn OjoKLSsgICBVc2VyIGhhdmUgdG8gcmVwb3J0IHRoZSBkZXRlY3QgcHJvYmxlbXMgbWFudWFsbHkK LSsKLSsnZW5hYmxlZCc6OgotKyAgIEFCUlQgdXBsb2FkcyBhbiB1UmVwb3J0IHdoaWNoIHdhcyBn ZW5lcmF0ZWQgZm9yIGEgZGV0ZWN0ZWQgcHJvYmxlbQotKyAgIGltbWVkaWF0ZWx5IGFmdGVyIHRo ZSBkZXRlY3Rpb24gcGhhc2UuCi0rCi0rdVJlcG9ydCBkZXNjcmlwdGlvbgotK35+fn5+fn5+fn5+ fn5+fn5+fn4KLStBQlJUIHN1cHBvcnRzIHVSZXBvcnRzIGZvciBmb3VyIHR5cGVzIG9mIGNyYXNo ZXM6IGNyYXNoZXMgb2YgQy9DKysgcHJvZ3JhbXMKLSt0aGF0IHJlc3VsdCBpbiBhIGNvcmUgZHVt cCwgdW5jYXVnaHQgUHl0aG9uIGV4Y2VwdGlvbnMsIHVuY2F1Z2h0IEphdmEKLStleGNlcHRpb25z IGFuZCBrZXJuZWwgb29wc2VzLgotKwotK0VhY2ggdVJlcG9ydCBnZW5lcmFsbHkgY29udGFpbnMg YSBzdGFjayB0cmFjZSwgb3IgbXVsdGlwbGUgc3RhY2sgdHJhY2VzIGluIHRoZQotK2Nhc2Ugb2Yg bXVsdGktdGhyZWFkZWQgQy9DKysgYW5kIEphdmEgcHJvZ3JhbXMuIFRoZSBzdGFjayB0cmFjZSBv bmx5IGRlc2NyaWJlcwotK3RoZSBjYWxsIHN0YWNrIG9mIHRoZSBwcm9ncmFtIGF0IHRoZSB0aW1l IG9mIHRoZSBjcmFzaCBhbmQgZG9lcyBub3QgY29udGFpbgotK2NvbnRlbnRzIG9mIGFueSB2YXJp YWJsZXMuCi0rCi0rRXZlcnkgdVJlcG9ydCBhbHNvIGNvbnRhaW5zIGlkZW50aWZpY2F0aW9uIG9m IHRoZSBvcGVyYXRpbmcgc3lzdGVtLCB2ZXJzaW9ucyBvZgotK3RoZSBSUE0gcGFja2FnZXMgaW52 b2x2ZWQgaW4gdGhlIGNyYXNoLCBhbmQgd2hldGhlciB0aGUgcHJvZ3JhbSByYW4gdW5kZXIgYQot K3Jvb3QgdXNlci4KLSsKLStUaGVyZSBhcmUgYWxzbyBpdGVtcyBzcGVjaWZpYyB0byBlYWNoIGNy YXNoIHR5cGU6Ci0rCi0rQy9DKysgY3Jhc2hlczo6Ci0rICAgIHRoZXNlIGFyZSBwYXRoIHRvIHRo ZSBleGVjdXRhYmxlIGFuZCBzaWduYWwgZGVsaXZlcmVkIHRvIHRoZSBwcm9ncmFtLAotKwotK1B5 dGhvbiBleGNlcHRpb25zOjoKLSsgICAgdGhlcmUgaXMgdGhlIHR5cGUgb2YgdGhlIGV4Y2VwdGlv biAod2l0aG91dCB0aGUgZXJyb3IgbWVzc2FnZSwgd2hpY2ggbWF5Ci0rICAgIGNvbnRhaW4gc2Vu c2l0aXZlIGRhdGEpLAotKwotK2ZvciBrZXJuZWwgb29wc2VzOjoKLSsgICAgdGhlc2UgYXJlIGxp c3Qgb2YgbG9hZGVkIGtlcm5lbCBtb2R1bGVzLCBsaXN0IG9mIHRhaW50IGZsYWdzLCBhbmQgZnVs bCB0ZXh0Ci0rICAgIG9mIHRoZSBrZXJuZWwgb29wcy4KLSsKLSsnV2FybmluZyc6Ci0rVGhlIGZ1 bGwgdGV4dCBvZiBhIGtlcm5lbCBvb3BzIG1pZ2h0IGNvbnRhaW4gaW5mb3JtYXRpb24gbGlrZSB0 aGUKLStpZGVudGlmaWNhdGlvbiBvZiB0aGUgaG9zdCBoYXJkd2FyZSB0eXBlLiBZb3Ugc2hvdWxk IGRpc2FibGUgdGhlIGF1dG9yZXBvcnRpbmcKLStmZWF0dXJlIGlmIHlvdSBkbyBub3Qgd2FudCB0 byBzaGFyZSB0aGlzIGluZm9ybWF0aW9uIHdpdGggUmVkIEhhdC4KLSsKLSsKLStPUFRJT05TCi0r LS0tLS0tLQotKy12LCAtLXZlcmJvc2U6OgotKyAgIEJlIG1vcmUgdmVyYm9zZS4gQ2FuIGJlIGdp dmVuIG11bHRpcGxlIHRpbWVzLgotKwotK1NFRSBBTFNPCi0rLS0tLS0tLS0KLSthYnJ0LmNvbmYo NSkKLSsKLStBVVRIT1JTCi0rLS0tLS0tLQotKyogQUJSVCB0ZWFtCi1kaWZmIC0tZ2l0IGEvZG9j L2FicnQtYXV0by1yZXBvcnRpbmcudHh0IGIvZG9jL2FicnQtYXV0by1yZXBvcnRpbmcudHh0Ci1k ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDJhMjc5NDUuLjAwMDAwMDAKLS0tLSBhL2Rv Yy9hYnJ0LWF1dG8tcmVwb3J0aW5nLnR4dAotKysrIC9kZXYvbnVsbAotQEAgLTEsMTA2ICswLDAg QEAKLS1hYnJ0LWF1dG8tcmVwb3J0aW5nKDEpCi0tPT09PT09PT09PT09PT09PT09PT09PQotLQot LU5BTUUKLS0tLS0tCi0tYWJydC1hdXRvLXJlcG9ydGluZyAtIEdldCBvciBtb2RpZnkgdGhlIGF1 dG8gcmVwb3J0aW5nIG9wdGlvbiB2YWx1ZXMKLS0KLS1TWU5PUFNJUwotLS0tLS0tLS0tCi0tJ2Fi cnQtYXV0by1yZXBvcnRpbmcnIFstdl0gWyBlbmFibGVkIHwgeWVzIHwgMSB8IG9uIHwgZGlzYWJs ZWQgfCBubyB8IDAgfCBvZmYgXQotLSAgICAgICAgICAgICAgICAgICAgICBbIFstLWFub255bW91 c10gfAotLSAgICAgICAgICAgICAgICAgICAgICAgIFstLXVzZXJuYW1lIFVTRVJOQU1FIFstLXBh c3N3b3JkIFBBU1NXT1JEXSBdIHwKLS0gICAgICAgICAgICAgICAgICAgICAgICBbLS1jZXJ0aWZp Y2F0ZSBTT1VSQ0VdIF0KLS0KLS1ERVNDUklQVElPTgotLS0tLS0tLS0tLS0tCi0tUmVhZHMgdGhl IGNvbmZpZ3VyYXRpb24gZnJvbSBhYnJ0LmNvbmYgYW5kIHNhdmVzIHRoZSBjaGFuZ2VzIHRvIHRo ZSBzYW1lIGZpbGUuCi0tCi0tVGhlIGNoYW5nZXMgd2lsbCB0YWtlIGVmZmVjdCBpbW1lZGlhdGVs eSB3aXRob3V0IG5lY2Vzc2l0eSB0byByZXN0YXJ0IGFueSBBQlJUCi0tcHJvY2VzcyBhbmQgd2ls bCBiZSBwZXJzaXN0ZW50LgotLQotLSdkaXNhYmxlZCc6OgotLSAgIFVzZXIgaGF2ZSB0byByZXBv cnQgdGhlIGRldGVjdCBwcm9ibGVtcyBtYW51YWxseQotLQotLSdlbmFibGVkJzo6Ci0tICAgQUJS VCB1cGxvYWRzIGFuIHVSZXBvcnQgd2hpY2ggd2FzIGdlbmVyYXRlZCBmb3IgYSBkZXRlY3RlZCBw cm9ibGVtCi0tICAgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGRldGVjdGlvbiBwaGFzZS4KLS0KLS1S ZWFkcyBhbmQgc2F2ZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBp bgotLS9ldGMvbGlicmVwb3J0L3BsdWdpbnMvdXJlcG9ydC5jb25mIGFuZCAvZXRjL2xpYnJlcG9y dC9wbHVnaW5zL3JodHN1cHBvcnQuY29uZgotLQotLXVSZXBvcnQgZGVzY3JpcHRpb24KLS1+fn5+ fn5+fn5+fn5+fn5+fn5+Ci0tQUJSVCBzdXBwb3J0cyB1UmVwb3J0cyBmb3IgZm91ciB0eXBlcyBv ZiBjcmFzaGVzOiBjcmFzaGVzIG9mIEMvQysrIHByb2dyYW1zCi0tdGhhdCByZXN1bHQgaW4gYSBj b3JlIGR1bXAsIHVuY2F1Z2h0IFB5dGhvbiBleGNlcHRpb25zLCB1bmNhdWdodCBKYXZhCi0tZXhj ZXB0aW9ucyBhbmQga2VybmVsIG9vcHNlcy4KLS0KLS1FYWNoIHVSZXBvcnQgZ2VuZXJhbGx5IGNv bnRhaW5zIGEgc3RhY2sgdHJhY2UsIG9yIG11bHRpcGxlIHN0YWNrIHRyYWNlcyBpbiB0aGUKLS1j YXNlIG9mIG11bHRpLXRocmVhZGVkIEMvQysrIGFuZCBKYXZhIHByb2dyYW1zLiBUaGUgc3RhY2sg dHJhY2Ugb25seSBkZXNjcmliZXMKLS10aGUgY2FsbCBzdGFjayBvZiB0aGUgcHJvZ3JhbSBhdCB0 aGUgdGltZSBvZiB0aGUgY3Jhc2ggYW5kIGRvZXMgbm90IGNvbnRhaW4KLS1jb250ZW50cyBvZiBh bnkgdmFyaWFibGVzLgotLQotLUV2ZXJ5IHVSZXBvcnQgYWxzbyBjb250YWlucyBpZGVudGlmaWNh dGlvbiBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSwgdmVyc2lvbnMgb2YKLS10aGUgUlBNIHBhY2th Z2VzIGludm9sdmVkIGluIHRoZSBjcmFzaCwgYW5kIHdoZXRoZXIgdGhlIHByb2dyYW0gcmFuIHVu ZGVyIGEKLS1yb290IHVzZXIuCi0tCi0tVGhlcmUgYXJlIGFsc28gaXRlbXMgc3BlY2lmaWMgdG8g ZWFjaCBjcmFzaCB0eXBlOgotLQotLUMvQysrIGNyYXNoZXM6OgotLSAgICB0aGVzZSBhcmUgcGF0 aCB0byB0aGUgZXhlY3V0YWJsZSBhbmQgc2lnbmFsIGRlbGl2ZXJlZCB0byB0aGUgcHJvZ3JhbSwK LS0KLS1QeXRob24gZXhjZXB0aW9uczo6Ci0tICAgIHRoZXJlIGlzIHRoZSB0eXBlIG9mIHRoZSBl eGNlcHRpb24gKHdpdGhvdXQgdGhlIGVycm9yIG1lc3NhZ2UsIHdoaWNoIG1heQotLSAgICBjb250 YWluIHNlbnNpdGl2ZSBkYXRhKSwKLS0KLS1mb3Iga2VybmVsIG9vcHNlczo6Ci0tICAgIHRoZXNl IGFyZSBsaXN0IG9mIGxvYWRlZCBrZXJuZWwgbW9kdWxlcywgbGlzdCBvZiB0YWludCBmbGFncywg YW5kIGZ1bGwgdGV4dAotLSAgICBvZiB0aGUga2VybmVsIG9vcHMuCi0tCi0tVGhlIGF1dGhlbnRp Y2F0ZWQgdVJlcG9ydHMgYWxzbyBjb250YWlucyAqaG9zdG5hbWUqIGFuZCAqbWFjaGluZWlkKiB0 byBlbmFibGUgYQotLXNlcnZlciBzaWRlIGZpbHRlcmluZyBhdCBodHRwczovL2FjY2Vzcy5yZWRo YXQuY29tLy4KLS0KLS1UaGUgYXV0aGVudGljYXRlZCB1UmVwb3J0cyBoYXZlIHRoZSBiZW5lZml0 IG9mIHJpY2ggc2VydmVyIHJlcGxpZXMgd2hpY2ggbWF5Ci0taW5jbHVkZSBhIHNvbHV0aW9uIGZv ciB0aGUgc3VibWl0dGVkIGNyYXNoLiBUaGUgYXV0aGVudGljYXRpb24gaXMgZG9uZSB1c2luZwot LWVpdGhlciBSZWQgSGF0IFN1YnNjcmlwdGlvbiBDZXJ0aWZpY2F0ZXMgb3IgUmVkIEhhdCBDdXN0 b21lciBQb3J0YWwKLS1jcmVkZW50aWFscy4KLS0KLS0nV2FybmluZyc6Ci0tVGhlIGZ1bGwgdGV4 dCBvZiBhIGtlcm5lbCBvb3BzIG1pZ2h0IGNvbnRhaW4gaW5mb3JtYXRpb24gbGlrZSB0aGUKLS1p ZGVudGlmaWNhdGlvbiBvZiB0aGUgaG9zdCBoYXJkd2FyZSB0eXBlLiBZb3Ugc2hvdWxkIGRpc2Fi bGUgdGhlIGF1dG9yZXBvcnRpbmcKLS1mZWF0dXJlIGlmIHlvdSBkbyBub3Qgd2FudCB0byBzaGFy ZSB0aGlzIGluZm9ybWF0aW9uIHdpdGggUmVkIEhhdC4KLS0KLS0KLS1PUFRJT05TCi0tLS0tLS0t LQotLS12LCAtLXZlcmJvc2U6OgotLSAgIEJlIG1vcmUgdmVyYm9zZS4gQ2FuIGJlIGdpdmVuIG11 bHRpcGxlIHRpbWVzLgotLQotLS1hLCAtLWFub255bW91czo6Ci0tICAgVHVybnMgdGhlIGF1dGhl bnRpY2F0aW9uIG9mZiBieSBjbGVhcmluZyBib3RoICdTU0xDbGllbnRBdXRoJyBhbmQgJ0hUVFBB dXRoJwotLSAgIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBpbiAvZXRjL2xpYnJlcG9ydC9wbHVnaW5z L3VyZXBvcnQuY29uZgotLQotLS11LCAtLXVzZXJuYW1lIFVTRVJOQU1FOjoKLS0gICBUdXJucyBI VFRQIEF1dGhlbnRpY2F0aW9uIG9uIGJ5IHNldHRpbmcgJ0hUVFBBdXRoJyBjb25maWd1cmF0aW9u IG9wdGlvbiB0bwotLSAgICpyaHRzLWNyZWRlbnRpYWxzKiBpbiAvZXRjL2xpYnJlcG9ydC9wbHVn aW5zL3VyZXBvcnQuY29uZiBhbmQgc3RvcmluZwotLSAgIFVTRVJOQU1FIGFuZCBQQVNTV09SRCBp biAvZXRjL2xpYnJlcG9ydC9wbHVnaW5zL3JodHN1cHBvcnQuY29uZgotLSAgIEFsc28gdHVybnMg dGhlIFNTTCBDbGllbnQgQXV0aGVudGljYXRpb24gb2ZmLCBiZWNhdXNlIHRoZXNlIG1ldGhvZHMg Y2Fubm90Ci0tICAgYmUgdXNlZCB0b2dldGhlci4KLS0KLS0tcCwgLS1wYXNzd29yZCBQQVNTV09S RDo6Ci0tICAgUGFzc3dvcmQgZm9yIEhUVFAgQXV0aGVudGljYXRpb24uIElmIG5vdCBwcm92aWRl ZCwgYSBwcm9tcHQgYXNraW5nIGZvciBpdAotLSAgIHdpbGwgYmUgaXNzdWVkLgotLQotLS1jLCAt LWNlcnRpZmljYXRlIFNPVVJDRTo6Ci0tICAgVHVybnMgU1NMIENsaWVudCBBdXRoZW50aWNhdGlv biBvbiBieSBzZXR0aW5nICdTU0xDbGllbnRBdXRoJyBjb25maWd1cmF0aW9uCi0tICAgb3B0aW9u IHRvIFNPVVJDRSBpbiAvZXRjL2xpYnJlcG9ydC9wbHVnaW5zL3VyZXBvcnQuY29uZi4KLS0gICBB bHNvIHR1cm5zIHRoZSBIVFRQIEF1dGhlbnRpY2F0aW9uIG9mZiwgYmVjYXVzZSB0aGVzZSBtZXRo b2RzIGNhbm5vdAotLSAgIGJlIHVzZWQgdG9nZXRoZXIuCi0tCi0tU0VFIEFMU08KLS0tLS0tLS0t LQotLWFicnQuY29uZig1KSwgdXJlcG9ydC5jb25mKDUpLCByaHRzdXBwb3J0LmNvbmYoNSkKLS0K LS1BVVRIT1JTCi0tLS0tLS0tLQotLSogQUJSVCB0ZWFtCi1kaWZmIC0tZ2l0IGEvc3JjL2RhZW1v bi9hYnJ0LWF1dG8tcmVwb3J0aW5nLmMgYi9zcmMvZGFlbW9uL2FicnQtYXV0by1yZXBvcnRpbmcu YwotaW5kZXggMGZmZmViNi4uYjYwOGM5YiAxMDA2NDQKLS0tLSBhL3NyYy9kYWVtb24vYWJydC1h dXRvLXJlcG9ydGluZy5jCi0rKysgYi9zcmMvZGFlbW9uL2FicnQtYXV0by1yZXBvcnRpbmcuYwot QEAgLTY0LDYgKzY0LDcgQEAgc2V0X2FicnRfcmVwb3J0aW5nKG1hcF9zdHJpbmdfdCAqY29uZiwg Y29uc3QgY2hhciAqb3B0X3ZhbHVlKQotICAgICByZXR1cm4gMTsKLSB9Ci0gCi0rI2lmIEFVVEhF TlRJQ0FURURfQVVUT1JFUE9SVElORyAhPSAwCi0gc3RhdGljIGludAotIHNldF91cmVwb3J0X2h0 dHBfYXV0aChtYXBfc3RyaW5nX3QgKmNvbmYsIGNvbnN0IGNoYXIgKm9wdF92YWx1ZSkKLSB7Ci1A QCAtMTM0LDYgKzEzNSw3IEBAIHNldF9yaHRzX2NyZWRlbnRpYWxzKG1hcF9zdHJpbmdfdCAqY29u ZiwgY29uc3QgY2hhciAqdXNlcm5hbWUsIGNvbnN0IGNoYXIgKnBhc3N3Ci0gICAgIC8qIE5vIGNo YW5nZXMgbmVlZGVkIC0+IHN1Y2Nlc3MgKi8KLSAgICAgcmV0dXJuIDE7Ci0gfQotKyNlbmRpZgot IAotIHN0YXRpYyBjb25zdCBjaGFyICoKLSBnZXRfYWJydF9yZXBvcnRpbmcobWFwX3N0cmluZ190 ICpjb25mKQotQEAgLTE0Myw2ICsxNDUsNyBAQCBnZXRfYWJydF9yZXBvcnRpbmcobWFwX3N0cmlu Z190ICpjb25mKQotICAgICByZXR1cm4gUkVQT1JUSU5HX1NUQVRFU1tpbmRleF1bMF07Ci0gfQot IAotKyNpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0gMAotIHN0YXRpYyBjb25zdCBj aGFyICoKLSBnZXRfdXJlcG9ydF9odHRwX2F1dGgobWFwX3N0cmluZ190ICpjb25mKQotIHsKLUBA IC0xNTQsNiArMTU3LDcgQEAgZ2V0X3VyZXBvcnRfY2xpZW50X2F1dGgobWFwX3N0cmluZ190ICpj b25mKQotIHsKLSAgICAgcmV0dXJuIGdldF9tYXBfc3RyaW5nX2l0ZW1fb3JfTlVMTChjb25mLCBV UkVQT1JUX0NMSUVOVF9BVVRIX09QVElPTik7Ci0gfQotKyNlbmRpZgotIAotIGludCBtYWluKGlu dCBhcmdjLCBjaGFyICphcmd2W10pCi0gewotQEAgLTE3MSw1NyArMTc1LDc4IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gICAgIHRleHRkb21haW4oUEFDS0FHRSk7Ci0gI2Vu ZGlmCi0gCi0rI2RlZmluZSBQUk9HUkFNX1VTQUdFX01JRERMRV9QQVJUIFwKLSsgICAgICAgICAg ICAiXG4iIFwKLSsgICAgICAgICAgICAiR2V0IG9yIG1vZGlmeSBhIHZhbHVlIG9mIHRoZSBhdXRv LXJlcG9ydGluZyBvcHRpb24uIFRoZSBjaGFuZ2VzIHdpbGwgdGFrZVxuIiBcCi0rICAgICAgICAg ICAgImVmZmVjdCBpbW1lZGlhdGVseSBhbmQgd2lsbCBiZSBwZXJzaXN0ZW50LlxuIiBcCi0rICAg ICAgICAgICAgIlxuIiBcCi0rICAgICAgICAgICAgIiJTVEFURV9NQU5VQUwiOlxuIiBcCi0rICAg ICAgICAgICAgIlVzZXIgaGF2ZSB0byByZXBvcnQgdGhlIGRldGVjdCBwcm9ibGVtcyBtYW51YWxs eVxuIiBcCi0rICAgICAgICAgICAgIlxuIiBcCi0rICAgICAgICAgICAgIiJTVEFURV9BVVRPIjpc biIgXAotKyAgICAgICAgICAgICJBQlJUIHVwbG9hZHMgYW4gdVJlcG9ydCB3aGljaCB3YXMgZ2Vu ZXJhdGVkIGZvciBhIGRldGVjdGVkIHByb2JsZW1cbiIgXAotKyAgICAgICAgICAgICJpbW1lZGlh dGVseSBhZnRlciB0aGUgZGV0ZWN0aW9uIHBoYXNlLiB1UmVwb3J0IGdlbmVyYWxseSBjb250YWlu cyBhIHN0YWNrXG4iIFwKLSsgICAgICAgICAgICAidHJhY2Ugd2hpY2ggb25seSBkZXNjcmliZXMg dGhlIGNhbGwgc3RhY2sgb2YgdGhlIHByb2dyYW0gYXQgdGhlIHRpbWUgb2YgdGhlXG4iIFwKLSsg ICAgICAgICAgICAiY3Jhc2ggYW5kIGRvZXMgbm90IGNvbnRhaW4gY29udGVudHMgb2YgYW55IHZh cmlhYmxlcy4gIEV2ZXJ5IHVSZXBvcnQgYWxzb1xuIiBcCi0rICAgICAgICAgICAgImNvbnRhaW5z IGlkZW50aWZpY2F0aW9uIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtLCB2ZXJzaW9ucyBvZiB0aGUg UlBNIHBhY2thZ2VzXG4iIFwKLSsgICAgICAgICAgICAiaW52b2x2ZWQgaW4gdGhlIGNyYXNoLCBh bmQgd2hldGhlciB0aGUgcHJvZ3JhbSByYW4gdW5kZXIgYSByb290IHVzZXIuXG4iIFwKLSsgICAg ICAgICAgICAiXG4iCi0rCi0gICAgIGFicnRfaW5pdChhcmd2KTsKLSsjaWYgQVVUSEVOVElDQVRF RF9BVVRPUkVQT1JUSU5HICE9IDAKLSAgICAgY29uc3QgY2hhciAqcHJvZ3JhbV91c2FnZV9zdHJp bmcgPSBfKAotICAgICAgICAgICAgICImIFsgIlNUQVRFX01BTlVBTCIgfCAiU1RBVEVfQVVUTyIg fCB5ZXMgfCBubyB8IDEgfCAwIF0gXFxcbiIKLSAgICAgICAgICAgICAiICBbWy0tYW5vbnltb3Vz XSB8IFstLXVzZXJuYW1lIFVTRVJOQU1FIFstLXBhc3N3b3JkIFBBU1NXT1JEXV0gfCBbLS1jZXJ0 aWZpY2F0ZSBTT1VSQ0VdXVxuIgotLSAgICAgICAgICAgICJcbiIKLS0gICAgICAgICAgICAiR2V0 IG9yIG1vZGlmeSBhIHZhbHVlIG9mIHRoZSBhdXRvLXJlcG9ydGluZyBvcHRpb24uIFRoZSBjaGFu Z2VzIHdpbGwgdGFrZVxuIgotLSAgICAgICAgICAgICJlZmZlY3QgaW1tZWRpYXRlbHkgYW5kIHdp bGwgYmUgcGVyc2lzdGVudC5cbiIKLS0gICAgICAgICAgICAiXG4iCi0tICAgICAgICAgICAgIiJT VEFURV9NQU5VQUwiOlxuIgotLSAgICAgICAgICAgICJVc2VyIGhhdmUgdG8gcmVwb3J0IHRoZSBk ZXRlY3QgcHJvYmxlbXMgbWFudWFsbHlcbiIKLS0gICAgICAgICAgICAiXG4iCi0tICAgICAgICAg ICAgIiJTVEFURV9BVVRPIjpcbiIKLS0gICAgICAgICAgICAiQUJSVCB1cGxvYWRzIGFuIHVSZXBv cnQgd2hpY2ggd2FzIGdlbmVyYXRlZCBmb3IgYSBkZXRlY3RlZCBwcm9ibGVtXG4iCi0tICAgICAg ICAgICAgImltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkZXRlY3Rpb24gcGhhc2UuIHVSZXBvcnQgZ2Vu ZXJhbGx5IGNvbnRhaW5zIGEgc3RhY2tcbiIKLS0gICAgICAgICAgICAidHJhY2Ugd2hpY2ggb25s eSBkZXNjcmliZXMgdGhlIGNhbGwgc3RhY2sgb2YgdGhlIHByb2dyYW0gYXQgdGhlIHRpbWUgb2Yg dGhlXG4iCi0tICAgICAgICAgICAgImNyYXNoIGFuZCBkb2VzIG5vdCBjb250YWluIGNvbnRlbnRz IG9mIGFueSB2YXJpYWJsZXMuICBFdmVyeSB1UmVwb3J0IGFsc29cbiIKLS0gICAgICAgICAgICAi Y29udGFpbnMgaWRlbnRpZmljYXRpb24gb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0sIHZlcnNpb25z IG9mIHRoZSBSUE0gcGFja2FnZXNcbiIKLS0gICAgICAgICAgICAiaW52b2x2ZWQgaW4gdGhlIGNy YXNoLCBhbmQgd2hldGhlciB0aGUgcHJvZ3JhbSByYW4gdW5kZXIgYSByb290IHVzZXIuXG4iCi0t ICAgICAgICAgICAgIlxuIgotKyAgICAgICAgICAgIFBST0dSQU1fVVNBR0VfTUlERExFX1BBUlQK LSAgICAgICAgICAgICAiU2VlIGFicnQtYXV0by1yZXBvcnRpbmcoMSksIHJlcG9ydGVyLXVyZXBv cnQoMSkgYW5kIHJlcG9ydGVyLXJodHN1cHBvcnQoMSlcbiIKLSAgICAgICAgICAgICAiZm9yIG1v cmUgZGV0YWlscy5cbiIKLSAgICAgKTsKLSsjZWxzZQotKyAgICBjb25zdCBjaGFyICpwcm9ncmFt X3VzYWdlX3N0cmluZyA9IF8oCi0rICAgICAgICAgICAgIiYgWyAiU1RBVEVfTUFOVUFMIiB8ICJT VEFURV9BVVRPIiB8IHllcyB8IG5vIHwgMSB8IDAgXVxuIgotKyAgICAgICAgICAgIFBST0dSQU1f VVNBR0VfTUlERExFX1BBUlQKLSsgICAgICAgICAgICAiU2VlIGFicnQtYXV0by1yZXBvcnRpbmco MSkgYW5kIHJlcG9ydGVyLXVyZXBvcnQoMSkgZm9yIG1vcmUgZGV0YWlscy5cbiIKLSsgICAgKTsK LSsjZW5kaWYKLSAKLSAgICAgZW51bSB7Ci0gICAgICAgICBPUFRfdiA9IDEgPDwgMCwKLSsjaWYg QVVUSEVOVElDQVRFRF9BVVRPUkVQT1JUSU5HICE9IDAKLSAgICAgICAgIE9QVF9hID0gMSA8PCAx LAotICAgICAgICAgT1BUX3UgPSAxIDw8IDIsCi0gICAgICAgICBPUFRfcCA9IDEgPDwgMywKLSAg ICAgICAgIE9QVF9jID0gMSA8PCA0LAotKyNlbmRpZgotICAgICB9OwotIAotKyNpZiBBVVRIRU5U SUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0gMAotICAgICBpbnQgYW5vbnltb3VzID0gMDsKLSAgICAg Y29uc3QgY2hhciAqdXNlcm5hbWUgPSBOVUxMOwotICAgICBjb25zdCBjaGFyICpwYXNzd29yZCA9 IE5VTEw7Ci0gICAgIGNvbnN0IGNoYXIgKmNlcnRpZmljYXRlID0gTlVMTDsKLSsjZW5kaWYKLSAK LSAgICAgLyogS2VlcCBlbnVtIGFib3ZlIGFuZCBvcmRlciBvZiBvcHRpb25zIGJlbG93IGluIHN5 bmMhICovCi0gICAgIHN0cnVjdCBvcHRpb25zIHByb2dyYW1fb3B0aW9uc1tdID0gewotICAgICAg ICAgT1BUX19WRVJCT1NFKCZnX3ZlcmJvc2UpLAotKyNpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBP UlRJTkcgIT0gMAotICAgICAgICAgT1BUX0JPT0wgICggICdhJywgImFub255bW91cyIsICAgJmFu b255bW91cywgICAgICAgICAgICAgICBfKCJUdXJucyB0aGUgYXV0aGVudGljYXRpb24gb2ZmIikp LAotICAgICAgICAgT1BUX1NUUklORyggICd1JywgInVzZXJuYW1lIiwgICAgJnVzZXJuYW1lLCAg ICAiVVNFUk5BTUUiLCBfKCJSZWQgSGF0IFN1cHBvcnQgdXNlciBuYW1lIikpLAotICAgICAgICAg T1BUX1NUUklORyggICdwJywgInBhc3N3b3JkIiwgICAgJnBhc3N3b3JkLCAgICAiUEFTU1dPUkQi LCBfKCJSZWQgSGF0IFN1cHBvcnQgcGFzc3dvcmQsIGlmIG5vdCBnaXZlbiwgYSBwcm9tcHQgZm9y IGl0IHdpbGwgYmUgaXNzdWVkIikpLAotICAgICAgICAgT1BUX1NUUklORyggICdjJywgImNlcnRp ZmljYXRlIiwgJmNlcnRpZmljYXRlLCAiU09VUkNFIiwgICBfKCJ1UmVwb3J0IFNTTCBjZXJ0aWZp Y2F0ZSBwYXRocyBvciBjZXJ0aWZpY2F0ZSB0eXBlIikpLAotKyNlbmRpZgotICAgICAgICAgT1BU X0VORCgpCi0gICAgIH07Ci0gCi0tICAgIGNvbnN0IHVuc2lnbmVkIG9wdHMgPSBwYXJzZV9vcHRz KGFyZ2MsIGFyZ3YsIHByb2dyYW1fb3B0aW9ucywgcHJvZ3JhbV91c2FnZV9zdHJpbmcpOwotKyNp ZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0gMAotKyAgICBjb25zdCB1bnNpZ25lZCBv cHRzID0KLSsjZW5kaWYKLSsgICAgcGFyc2Vfb3B0cyhhcmdjLCBhcmd2LCBwcm9ncmFtX29wdGlv bnMsIHByb2dyYW1fdXNhZ2Vfc3RyaW5nKTsKLSAKLSAgICAgYXJndiArPSBvcHRpbmQ7Ci0gICAg IGFyZ2MgLT0gb3B0aW5kOwotIAotKyNpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0g MAotICAgICBpZiAoKG9wdHMgJiBPUFRfcCkgJiYgIShvcHRzICYgT1BUX3UpKQotICAgICB7Ci0g ICAgICAgICBlcnJvcl9tc2coXygiWW91IGFsc28gbmVlZCB0byBzcGVjaWZ5IC0tdXNlcm5hbWUg Zm9yIC0tcGFzc3dvcmQiKSk7Ci1AQCAtMjQ2LDYgKzI3MSw3IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCi0gICAgICAgICBzaG93X3VzYWdlX2FuZF9kaWUocHJvZ3JhbV91c2Fn ZV9zdHJpbmcsIHByb2dyYW1fb3B0aW9ucyk7Ci0gICAgIH0KLSAKLSsjZW5kaWYKLSAgICAgaWYg KGFyZ2MgPiAxKQotICAgICB7Ci0gICAgICAgICBlcnJvcl9tc2coXygiSW52YWxpZCBudW1iZXIg b2YgYXJndW1lbnRzIikpOwotQEAgLTI3NSwyMCArMzAxLDI1IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCi0gICAgIGludCBleGl0X2NvZGUgPSBFWElUX0ZBSUxVUkU7Ci0gCi0g ICAgIG1hcF9zdHJpbmdfdCAqY29uZiA9IG5ld19tYXBfc3RyaW5nKCk7Ci0rI2lmIEFVVEhFTlRJ Q0FURURfQVVUT1JFUE9SVElORyAhPSAwCi0gICAgIG1hcF9zdHJpbmdfdCAqcmh0c19jb25mID0g bmV3X21hcF9zdHJpbmcoKTsKLSAgICAgbWFwX3N0cmluZ190ICpyaHRzX2NvbmZfYmNrID0gTlVM TDsKLSsjZW5kaWYKLSAgICAgbWFwX3N0cmluZ190ICp1cmVwb3J0X2NvbmYgPSBuZXdfbWFwX3N0 cmluZygpOwotICAgICBtYXBfc3RyaW5nX3QgKnVyZXBvcnRfY29uZl9iY2sgPSBOVUxMOwotIAot ICAgICBpZiAoIWxvYWRfYWJydF9jb25mX2ZpbGUoQ09ORl9OQU1FLCBjb25mKSkKLSAgICAgICAg IGdvdG8gZmluaXRvOwotIAotKyNpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0gMAot ICAgICBpZiAoIWxvYWRfcGx1Z2luX2NvbmZfZmlsZShSSFRTX05BTUUsIHJodHNfY29uZiwgZmFs c2UpKQotICAgICAgICAgZ290byBmaW5pdG87Ci0rI2VuZGlmCi0gCi0gICAgIGlmICghbG9hZF9w bHVnaW5fY29uZl9maWxlKFVSRVBPUlRfTkFNRSwgdXJlcG9ydF9jb25mLCBmYWxzZSkpCi0gICAg ICAgICBnb3RvIGZpbml0bzsKLSAKLSsjaWYgQVVUSEVOVElDQVRFRF9BVVRPUkVQT1JUSU5HICE9 IDAKLSAgICAgaWYgKChvcHRzICYgT1BUX2EpKQotICAgICB7Ci0gICAgICAgICB1cmVwb3J0X2Nv bmZfYmNrID0gY2xvbmVfbWFwX3N0cmluZyh1cmVwb3J0X2NvbmYpOwotQEAgLTMzNCwxMSArMzY1 LDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gICAgICAgICAgICAgZ290 byBmaW5pdG87Ci0gICAgIH0KLSAKLSsjZW5kaWYKLSAgICAgaWYgKGFyZ2MgPT0gMCkKLSAgICAg ewotICAgICAgICAgcHJpbnRmKCIlcyIsIGdldF9hYnJ0X3JlcG9ydGluZyhjb25mKSk7Ci0gICAg ICAgICBleGl0X2NvZGUgPSBFWElUX1NVQ0NFU1M7Ci0gCi0rI2lmIEFVVEhFTlRJQ0FURURfQVVU T1JFUE9SVElORyAhPSAwCi0gICAgICAgICBpZiAoZ192ZXJib3NlID49IDEpCi0gICAgICAgICB7 Ci0gICAgICAgICAgICAgY29uc3QgY2hhciAqdG1wID0gZ2V0X3VyZXBvcnRfaHR0cF9hdXRoKHVy ZXBvcnRfY29uZik7Ci1AQCAtMzUwLDcgKzM4Myw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCi0gICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICBwcmludGYoIiAl cyIsIF8oImFub255bW91cyBhdXRvIHJlcG9ydGluZyIpKTsKLSAgICAgICAgIH0KLS0KLSsjZW5k aWYKLSAgICAgICAgIHB1dGNoYXIoJ1xuJyk7Ci0gCi0gICAgICAgICBnb3RvIGZpbml0bzsKLUBA IC0zNjMsMTYgKzM5NiwyMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQotICAg ICAgICAgaWYgKHVyZXBvcnRfY29uZl9iY2sgIT0gTlVMTCkKLSAgICAgICAgICAgICBzYXZlX3Bs dWdpbl9jb25mX2ZpbGUoVVJFUE9SVF9OQU1FLCB1cmVwb3J0X2NvbmZfYmNrKTsKLSAKLSsjaWYg QVVUSEVOVElDQVRFRF9BVVRPUkVQT1JUSU5HICE9IDAKLSAgICAgICAgIGlmIChyaHRzX2NvbmZf YmNrICE9IE5VTEwpCi0gICAgICAgICAgICAgc2F2ZV9wbHVnaW5fY29uZl9maWxlKFJIVFNfTkFN RSwgcmh0c19jb25mX2Jjayk7Ci0rI2VuZGlmCi0gICAgIH0KLSAKLSAKLSBmaW5pdG86Ci0gICAg IGZyZWVfbWFwX3N0cmluZyh1cmVwb3J0X2NvbmYpOwotICAgICBmcmVlX21hcF9zdHJpbmcodXJl cG9ydF9jb25mX2Jjayk7Ci0rI2lmIEFVVEhFTlRJQ0FURURfQVVUT1JFUE9SVElORyAhPSAwCi0g ICAgIGZyZWVfbWFwX3N0cmluZyhyaHRzX2NvbmYpOwotICAgICBmcmVlX21hcF9zdHJpbmcocmh0 c19jb25mX2Jjayk7Ci0rI2VuZGlmCi0gICAgIGZyZWVfbWFwX3N0cmluZyhjb25mKTsKLSAgICAg cmV0dXJuIGV4aXRfY29kZTsKLSB9Ci0tLSAKLTIuNC4xCi0KCmRpZmYgLS1naXQgYS8wMDE1LWFi cnQtYWN0aW9uLWxpc3QtZHNvcy1kby1ub3QtZGVjb2RlLW5vdC1leGlzdGluZy1vYmoucGF0Y2gg Yi8wMDE1LWFicnQtYWN0aW9uLWxpc3QtZHNvcy1kby1ub3QtZGVjb2RlLW5vdC1leGlzdGluZy1v YmoucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxYTE1ZjQuLjAwMDAwMDAK LS0tIGEvMDAxNS1hYnJ0LWFjdGlvbi1saXN0LWRzb3MtZG8tbm90LWRlY29kZS1ub3QtZXhpc3Rp bmctb2JqLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBjMTdjYjE5 OTkzNTdkOWJlNTFiODExODY2MWE4ZjM1NTY5YzY2ZGQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogTWF0ZWogSGFicm5hbCA8bWhhYnJuYWxAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwg MTQgTWF5IDIwMTUgMTY6Mjc6MDIgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYWJydC1hY3Rpb24t bGlzdC1kc29zOiBkbyBub3QgZGVjb2RlIG5vdCBleGlzdGluZyBvYmplY3QKLQotSWYgeW91IGJ1 aWxkIGEgcGFja2FnZSB1c2luZyAnbWFrZSBycG0nLCB0aGVyZSBpcyBubyB2ZW5kb3IgcGFyYW0g aW4gaXQuCi1TbyB0aGlzIGlzIHRoZSByZWFzb24gd2h5IHRoZSBEZWNvZGUgbWV0aG9kIHdhcyBj YWxsZWQgb24gTm9uZSBvYmplY3QuCi0KLVNpZ25lZC1vZmYtYnk6IE1hdGVqIEhhYnJuYWwgPG1o YWJybmFsQHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1saXN0LWRz b3MgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1saXN0LWRzb3Mg Yi9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1saXN0LWRzb3MKLWluZGV4IGY0YTE1MzYuLmEzMDc4 YTUgMTAwNjQ0Ci0tLS0gYS9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1saXN0LWRzb3MKLSsrKyBi L3NyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWxpc3QtZHNvcwotQEAgLTgyLDEwICs4MiwxNSBAQCBp ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG91 dG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGZpbGUgPSB4b3BlbihvdXRu YW1lLCAidyIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dG5hbWUgPSBOb25lCi0r Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdmVuZG9yID0gaFtycG0uUlBNVEFHX1ZFTkRPUl0K LSsgICAgICAgICAgICAgICAgICAgICAgICBpZiB2ZW5kb3IgIT0gTm9uZToKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmVyZG9yID0gdmVuZG9yLmRlY29kZSgndXRmLTgnKQotKwotICAg ICAgICAgICAgICAgICAgICAgICAgIG91dGZpbGUud3JpdGUoIiVzICVzICglcykgJXNcbiIgJQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXRoLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBoW3JwbS5SUE1UQUdfTkVWUkFdLmRlY29kZSgndXRm LTgnKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaFtycG0uUlBNVEFH X1ZFTkRPUl0uZGVjb2RlKCd1dGYtOCcpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2ZXJkb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhb cnBtLlJQTVRBR19JTlNUQUxMVElNRV0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQotIAotLS0gCi0yLjQuMQotCgpkaWZmIC0tZ2l0IGEvMDAxNi1kb2MtcG9sa2l0LVNw ZWxsaW5nLWdyYW1tYXItZml4ZXMucGF0Y2ggYi8wMDE2LWRvYy1wb2xraXQtU3BlbGxpbmctZ3Jh bW1hci1maXhlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWY4YjhhNC4u MDAwMDAwMAotLS0gYS8wMDE2LWRvYy1wb2xraXQtU3BlbGxpbmctZ3JhbW1hci1maXhlcy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCwwIEBACi1Gcm9tIGUzZGYzMTViMThmODMzYmI0 NGViOGFhZGVlZmMyYWQ5MzJmMzlmOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9 P1VURi04P3E/VmlsbGU9MjBTa3l0dD1DMz1BND89IDx2aWxsZS5za3l0dGFAaWtpLmZpPgotRGF0 ZTogVHVlLCAxOSBNYXkgMjAxNSAwOToyOToyOCArMDMwMAotU3ViamVjdDogW1BBVENIXSBkb2Ms IHBvbGtpdDogU3BlbGxpbmcvZ3JhbW1hciBmaXhlcwotCi0tLS0KLSBkb2MvZGVzaWduICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCi0gZG9jL3By b2JsZW1zLXNlcnZpY2Uvb3JnLmZyZWVkZXNrdG9wLlByb2JsZW1zLnhtbC5pbiB8ICA0ICsrLS0K LSBkb2MvcHJvamVjdC9hYnJ0LnRleCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTQgKysrKysrKy0tLS0tLS0KLSBzcmMvZGJ1cy9hYnJ0X3BvbGtpdC5wb2xpY3kgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDQgKystLQotIDQgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9u cygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kb2MvZGVzaWduIGIvZG9jL2Rl c2lnbgotaW5kZXggYTljZTA0MC4uZjIxNGNhZiAxMDA2NDQKLS0tLSBhL2RvYy9kZXNpZ24KLSsr KyBiL2RvYy9kZXNpZ24KLUBAIC0zNyw3ICszNyw3IEBAIHRvIGEgZGVkaWNhdGVkIHNlcnZlcihz KSBmb3IgcHJvY2Vzc2luZyAoYmFja3RyYWNlLCBldGMpLgotIAotIAlEZXNpZ24KLSAKLS1BYnJ0 IGRlc2lnbiBzaG91bGQgYmUgZmxleGlibGUgZW5vdWdoIHRvIGFjY29tb2RhdGUgYWxsCi0rQWJy dCBkZXNpZ24gc2hvdWxkIGJlIGZsZXhpYmxlIGVub3VnaCB0byBhY2NvbW1vZGF0ZSBhbGwKLSBv ZiB0aGUgYWJvdmUgdXNhZ2Ugc2NlbmFyaW9zLgotIAotIFNpbmNlIGN1cnJlbnRseSB3ZSBkbyBu b3Qga25vdyBob3cgdG8gZHVtcCBvb3BzIG9uIGRlbWFuZCwKLUBAIC03MCw3ICs3MCw3IEBAIHVz ZXMgaW5vdGlmeSB0byB3YXRjaCBmb3IgY3Jhc2hlcy4gSW5zdGVhZCB0aGUgcHJvZ3JhbXMgd2hp Y2ggY3JlYXRlIGNyYXNoZXMKLSBjYW4gdHJpZ2dlciB0aGVpciBpbml0aWFsICgicG9zdC1jcmVh dGUiKSBwcm9jZXNzaW5nIHRoZW1zZWx2ZXNdCi0gCi0gQ3Jhc2hlcyBjb25jZXB0dWFsbHkgZ28g dGhyb3VnaCAiZXZlbnRzIiBpbiB0aGVpciBsaXZlcy4KLS1BcGFydCBmcm9tICJwb3N0LWNyZWF0 ZSIgZXZlbnQgZGVjcmliZWQgYWJvdmUsIHRoZXkgbWF5IGhhdmUKLStBcGFydCBmcm9tICJwb3N0 LWNyZWF0ZSIgZXZlbnQgZGVzY3JpYmVkIGFib3ZlLCB0aGV5IG1heSBoYXZlCi0gImFuYWx5emUi IGV2ZW50LCAicmVwb3J0W19GT09dIiBldmVudHMsCi0gYW5kIGFyYml0cmFyaWx5LW5hbWVkIG90 aGVyIGV2ZW50cy4KLSBhYnJ0LWhhbmRsZS1jcmFzaGR1bXAgdG9vbCBjYW4gYmUgdXNlZCB0byAi cnVuIiBhbiBldmVudCBvbiBhIGRpcmVjdG9yeSwKLUBAIC0xMjQsNyArMTI0LDcgQEAgRG9uZToK LSAqIE1ha2UgYWJydC1ndWkgc3RhcnQgYWJydGQgb24gZGVtYW5kLCBzbyB0aGF0IGFicnQtZ3Vp IGNhbiBiZSBzdGFydGVkCi0gICBldmVuIGlmIGFicnRkIGRvZXMgbm90IHJ1biBhdCB0aGUgbW9t ZW50LgotICogbWFrZSBrZXJuZWxvb3BzIHBsdWdpbiBpbnRvIHNlcGFyYXRlIGRhZW1vbiAoY29u dmVydCBpdCB0byBhIGhvb2sKLS0gIGFuZCBnZXQgcmlkIG9mICJjcm9uIHBsdWdpbnMiIHdoaWNo IGFyZSB3cm9uZyBpZGVhIHNpbmNlIHRoZSBiZWdpbmluZykKLSsgIGFuZCBnZXQgcmlkIG9mICJj cm9uIHBsdWdpbnMiIHdoaWNoIGFyZSB3cm9uZyBpZGVhIHNpbmNlIHRoZSBiZWdpbm5pbmcpCi0g KiBtYWtlIEMvQysrIGhvb2sgdG8gYmUgc3RhcnRlZCBieSBpbml0IHNjcmlwdAotICogYWRkICJp bmNsdWRlIEZJTEUiIGZlYXR1cmUgdG8gYWJydF9ldmVudC5jb25mCi0gCi1kaWZmIC0tZ2l0IGEv ZG9jL3Byb2JsZW1zLXNlcnZpY2Uvb3JnLmZyZWVkZXNrdG9wLlByb2JsZW1zLnhtbC5pbiBiL2Rv Yy9wcm9ibGVtcy1zZXJ2aWNlL29yZy5mcmVlZGVza3RvcC5Qcm9ibGVtcy54bWwuaW4KLWluZGV4 IDExOGQ0YjIuLmI3OTFiZGIgMTAwNjQ0Ci0tLS0gYS9kb2MvcHJvYmxlbXMtc2VydmljZS9vcmcu ZnJlZWRlc2t0b3AuUHJvYmxlbXMueG1sLmluCi0rKysgYi9kb2MvcHJvYmxlbXMtc2VydmljZS9v cmcuZnJlZWRlc2t0b3AuUHJvYmxlbXMueG1sLmluCi1AQCAtNTMsNyArNTMsNyBAQAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHRlcm0+dWlkPC90ZXJtPgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPGxpc3RpdGVtPgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwYXJhPk9ubHkgYSB1c2VyIHdpdGggcm9vdCBwcml2aWxlZGdlcyBjYW4gcGFzcyB0aGlzIGZp ZWxkLiBGb3IgYWxsIG90aGVyIHVzZXJzIHRoZSBmaWVsZCBpcyBmaWxsZWQgYnkgY2FsbGVyJ3Mg dWlkLjwvcGFyYT4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGFyYT5P bmx5IGEgdXNlciB3aXRoIHJvb3QgcHJpdmlsZWdlcyBjYW4gcGFzcyB0aGlzIGZpZWxkLiBGb3Ig YWxsIG90aGVyIHVzZXJzIHRoZSBmaWVsZCBpcyBmaWxsZWQgYnkgY2FsbGVyJ3MgdWlkLjwvcGFy YT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotQEAgLTMwOSw3ICszMDksNyBAQCBmb3IgcHJibG1p ZCBpbiBwcm9ibGVtcy5HZXRQcm9ibGVtcygpOgotICAgICAgICAgICAgICAgICA8L2FyZz4KLSAK LSAgICAgICAgICAgICAgICAgPGFyZyB0eXBlPSd4JyBuYW1lPSd0aW1lc3RhbXBfZnJvbScgZGly ZWN0aW9uPSdpbic+Ci0tICAgICAgICAgICAgICAgICAgICA8dHA6ZG9jc3RyaW5nPkJlZ2lubmln IG9mIHJlcXVpcmVkIHRpbWUgcmFuZ2UuPC90cDpkb2NzdHJpbmc+Ci0rICAgICAgICAgICAgICAg ICAgICA8dHA6ZG9jc3RyaW5nPkJlZ2lubmluZyBvZiByZXF1aXJlZCB0aW1lIHJhbmdlLjwvdHA6 ZG9jc3RyaW5nPgotICAgICAgICAgICAgICAgICA8L2FyZz4KLSAKLSAgICAgICAgICAgICAgICAg PGFyZyB0eXBlPSd4JyBuYW1lPSd0aW1lc3RhbXBfdG8nIGRpcmVjdGlvbj0naW4nPgotZGlmZiAt LWdpdCBhL2RvYy9wcm9qZWN0L2FicnQudGV4IGIvZG9jL3Byb2plY3QvYWJydC50ZXgKLWluZGV4 IDllNzcyNGUuLjAzYjU3MDUgMTAwNjQ0Ci0tLS0gYS9kb2MvcHJvamVjdC9hYnJ0LnRleAotKysr IGIvZG9jL3Byb2plY3QvYWJydC50ZXgKLUBAIC0xOTQsNyArMTk0LDcgQEAgaW5mb3JtYXRpb24g cmVnYXJkaW5nIHRoZWlyIGludGVyZXN0cywgaW52b2x2ZW1lbnQuCi0ge1x0ZXh0YmZ7UGFja2Fn ZSBNYWludGFpbmVyc30KLSAgIFxub2RlcGFydHtzZWNvbmR9IFx2c3BhY2V7LTVtbX0KLSAgIFxi ZWdpbntpdGVtaXplfSBcaXRlbXNlcDFwdCBccGFyc2tpcDBwdCBccGFyc2VwMHB0Ci0tICBcaXRl bSBGaXhpbmcgbW9zdCBmcmVxdWVudGx5IG9jY3VyZWQgYnVncwotKyAgXGl0ZW0gRml4aW5nIG1v c3QgZnJlcXVlbnRseSBvY2N1cnJlZCBidWdzCi0gICBcaXRlbSBGaXhpbmcgYnVncyB3aGVyZSB0 aGUgYnVnIGlzIHdlbGwgZGVzY3JpYmVkCi0gICBcZW5ke2l0ZW1pemV9Ci0gfTsKLUBAIC0yNjUs NyArMjY1LDcgQEAgSGlnaGxpZ2h0IGltcG9ydGFudCByZXBvcnRzCi0gSW4tZGVwdGggYnVnIGZp eGluZwotIC0tLS0tLS0tLS0tLS0tLS0tLS0KLSAKLS1Db2xsZWN0IGNvcmUtZHVtcCBmb3IgZnJl cXVlbnRseSBvY2N1cmVkIHJlcG9ydHMKLStDb2xsZWN0IGNvcmUtZHVtcCBmb3IgZnJlcXVlbnRs eSBvY2N1cnJlZCByZXBvcnRzCi0gCi0gUmV0cmFjZSBjb3JlZHVtcHMgb24gZGVtYW5kCi0gCi1A QCAtNTcwLDcgKzU3MCw3IEBAIGNvbXBvbmVudHMuCi0gICAgIFJlZCBIYXQgQnVnemlsbGEuCi0g ICBcZW5ke2Rlc2NyaXB0aW9ufQotIFxpdGVtW0RhdGEgU3RvcmFnZV0gRGF0YWJhc2UgYW5kIGZp bGUgc3RvcmFnZSBmb3IgZGF0YSByZXF1aXJlZCBmb3IKLS0gIHRoZSBhbmFseXNpcywgZXZhbHVh dGlvbiwgYWRuIHByb2Nlc3Npbmcgb2YgcmVwb3J0cyBhbmQgcHJvYmxlbXMuCi0rICB0aGUgYW5h bHlzaXMsIGV2YWx1YXRpb24sIGFuZCBwcm9jZXNzaW5nIG9mIHJlcG9ydHMgYW5kIHByb2JsZW1z LgotICAgXGJlZ2lue2Rlc2NyaXB0aW9ufQotICAgXGl0ZW1bTExWTSBiaXRjb2RlXSBXZSBzdG9y ZSBMTFZNIGJpdGNvZGUgb2YgZXZlcnkgYmluYXJ5IGFuZAotICAgICBkeW5hbWljIGxpYnJhcnkg Y29tcGlsZWQgZnJvbSBDL0MrKyBzb3VyY2UgY29kZS4KLUBAIC01ODIsOCArNTgyLDggQEAgY29t cG9uZW50cy4KLSBcYmVnaW57dGlrenBpY3R1cmV9Ci0gXHVtbGNsYXNzW3g9LTQseT0wXXtwcm9i bGVtfXsKLSBpZCA6IFBSSU1BUlkgS0VZIFxcCi0tZmlyc3Qgb2NjdXJlbmNlIDogVElNRVNUQU1Q IE5PVCBOVUxMIFxcCi0tbGFzdCBvY2N1cmVuY2UgOiBUSU1FU1RBTVAgTk9UIE5VTEwgXFwKLStm aXJzdCBvY2N1cnJlbmNlIDogVElNRVNUQU1QIE5PVCBOVUxMIFxcCi0rbGFzdCBvY2N1cnJlbmNl IDogVElNRVNUQU1QIE5PVCBOVUxMIFxcCi0gfXt9Ci0gCi0gXHVtbGNsYXNzW3g9NCx5PS0yXXtw cm9ibGVtIHJlcG9ydH17Ci1AQCAtNjE2LDggKzYxNiw4IEBAIFBhcnQgb2YgcmVwb3J0cyBpcyBw b3B1bGF0ZWQgZnJvbSAkXG11JHJlcG9ydHMuCi0gXHVtbGNsYXNzW3g9LTQseT0wXXtyZXBvcnR9 ewotIGlkIDogUFJJTUFSWSBLRVkgQVVUT0lOQ1JFTUVOVCBcXAotIHR5cGUgOiBFTlVNIChVU0VS U1BBQ0UsIEtFUk5FTCwgUFlUSE9OLCBTRUxJTlVYKSBcXAotLWZpcnN0IG9jY3VyZW5jZSA6IFRJ TUVTVEFNUCBcXAotLWxhc3Qgb2NjdXJlbmNlIDogVElNRVNUQU1QIFxcCi0rZmlyc3Qgb2NjdXJy ZW5jZSA6IFRJTUVTVEFNUCBcXAotK2xhc3Qgb2NjdXJyZW5jZSA6IFRJTUVTVEFNUCBcXAotIGNv dW50IDogSU5UIFxcCi0gY29tcG9uZW50IGlkIDogRk9SRUlHTiBLRVkgXFwKLSBwcm9ibGVtIGlk IDogRk9SRUlHTiBLRVkKLWRpZmYgLS1naXQgYS9zcmMvZGJ1cy9hYnJ0X3BvbGtpdC5wb2xpY3kg Yi9zcmMvZGJ1cy9hYnJ0X3BvbGtpdC5wb2xpY3kKLWluZGV4IGEzNDI1ZDkuLjJjNzUyMzMgMTAw NjQ0Ci0tLS0gYS9zcmMvZGJ1cy9hYnJ0X3BvbGtpdC5wb2xpY3kKLSsrKyBiL3NyYy9kYnVzL2Fi cnRfcG9sa2l0LnBvbGljeQotQEAgLTE3LDcgKzE3LDcgQEAgQ29weXJpZ2h0IChjKSAyMDEyIEFC UlQgVGVhbSA8Y3Jhc2gtY2F0Y2hlckBmZWRvcmFob3N0ZWQuY29tPgotICAgPCEtLSBieSBkZWZh dWx0IG9ubHkgcm9vdCBjYW4gc2VlIG90aGVyIHVzZXJzIHByb2JsZW1zIC0tPgotICAgPGFjdGlv biBpZD0ib3JnLmZyZWVkZXNrdG9wLnByb2JsZW1zLmdldGFsbCI+Ci0gICAgIDxkZXNjcmlwdGlv bj5HZXQgcHJvYmxlbXMgZnJvbSBhbGwgdXNlcnM8L2Rlc2NyaXB0aW9uPgotLSAgICA8bWVzc2Fn ZT5SZWFkaW5nIG90aGVycyBwcm9ibGVtcyByZXF1aXJlcyBhdXRoZW50aWNhdGlvbjwvbWVzc2Fn ZT4KLSsgICAgPG1lc3NhZ2U+UmVhZGluZyBvdGhlciB1c2VycycgcHJvYmxlbXMgcmVxdWlyZXMg YXV0aGVudGljYXRpb248L21lc3NhZ2U+Ci0gICAgIDxkZWZhdWx0cz4KLSAgICAgICA8YWxsb3df YW55PmF1dGhfYWRtaW48L2FsbG93X2FueT4KLSAgICAgICA8YWxsb3dfYWN0aXZlPmF1dGhfYWRt aW5fa2VlcDwvYWxsb3dfYWN0aXZlPgotQEAgLTI4LDcgKzI4LDcgQEAgQ29weXJpZ2h0IChjKSAy MDEyIEFCUlQgVGVhbSA8Y3Jhc2gtY2F0Y2hlckBmZWRvcmFob3N0ZWQuY29tPgotICAgPCEtLSBi eSBkZWZhdWx0IG9ubHkgcm9vdCBjYW4gYWNjZXNzIGNvbmZpZ3VyYXRpb24gIC0tPgotICAgPGFj dGlvbiBpZD0iY29tLnJlZGhhdC5wcm9ibGVtcy5jb25maWd1cmF0aW9uLnVwZGF0ZSI+Ci0gICAg IDxkZXNjcmlwdGlvbj5TZXQgdmFsdWUgb2YgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzPC9kZXNj cmlwdGlvbj4KLS0gICAgPG1lc3NhZ2U+VXBkYXRlIGNvbmZpZ3VyYXRpb24gdmFsdWVzIHJldXF1 aXJlcyBhdXRoZW50aWNhdGlvbjwvbWVzc2FnZT4KLSsgICAgPG1lc3NhZ2U+VXBkYXRpbmcgY29u ZmlndXJhdGlvbiB2YWx1ZXMgcmVxdWlyZXMgYXV0aGVudGljYXRpb248L21lc3NhZ2U+Ci0gICAg IDxkZWZhdWx0cz4KLSAgICAgICA8YWxsb3dfYW55PmF1dGhfYWRtaW48L2FsbG93X2FueT4KLSAg ICAgICA8YWxsb3dfYWN0aXZlPmF1dGhfYWRtaW5fa2VlcDwvYWxsb3dfYWN0aXZlPgotLS0gCi0y LjQuMQotCgpkaWZmIC0tZ2l0IGEvMDAxOC1hcHBsZXQtbWlncmF0ZS1BdXRvcmVwb3J0aW5nLW9w dGlvbnMtdG8tR1NldHRpbmdzLnBhdGNoIGIvMDAxOC1hcHBsZXQtbWlncmF0ZS1BdXRvcmVwb3J0 aW5nLW9wdGlvbnMtdG8tR1NldHRpbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBkYjY3ZTU1Li4wMDAwMDAwCi0tLSBhLzAwMTgtYXBwbGV0LW1pZ3JhdGUtQXV0b3JlcG9y dGluZy1vcHRpb25zLXRvLUdTZXR0aW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyAr MCwwIEBACi1Gcm9tIDcwYjJlNjk4MWI2NjdkNWNmYjMxZjg5NDUyN2UxNmYzZWVlZDE0YzkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYWt1YiBGaWxhayA8amZpbGFrQHJlZGhhdC5j b20+Ci1EYXRlOiBGcmksIDE1IE1heSAyMDE1IDE0OjQ1OjQwICswMjAwCi1TdWJqZWN0OiBbUEFU Q0hdIGFwcGxldDogbWlncmF0ZSBBdXRvcmVwb3J0aW5nIG9wdGlvbnMgdG8gR1NldHRpbmdzCi0K LVJlYWQgdGhlIG9wdGlvbidzIHZhbHVlIGZyb20gdGhlIGFwcCdzIGNvbmZpZ3VyYXRpb24gZmls ZSwgdXBkYXRlIHRoZQotZ25vbWUgc2V0dGluZyBpZiBuZWVkZWQgYW5kIHJlbW92ZSB0aGUgb3B0 aW9uIGZyb20gdGhlIGFwcCdzCi1jb25maWd1cmF0aW9uIGZpbGUgaW4gb3JkZXIgdG8gc2tpcCB0 aGUgbWlncmF0aW9uIGF0IG5leHQgc3RhcnQuCi0KLVJlbGF0ZWQgdG8gIzk2NgotCi1TaWduZWQt b2ZmLWJ5OiBKYWt1YiBGaWxhayA8amZpbGFrQHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMvYXBwbGV0 L2FwcGxldC5jIHwgNjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9hcHBsZXQvYXBwbGV0LmMgYi9zcmMvYXBwbGV0L2Fw cGxldC5jCi1pbmRleCA0ZGY2OWZjLi5iNTM0ODM5IDEwMDY0NAotLS0tIGEvc3JjL2FwcGxldC9h cHBsZXQuYwotKysrIGIvc3JjL2FwcGxldC9hcHBsZXQuYwotQEAgLTM2LDYgKzM2LDEwIEBACi0g I2luY2x1ZGUgImxpYmFicnQuaCIKLSAjaW5jbHVkZSAicHJvYmxlbV9hcGkuaCIKLSAKLSsjZGVm aW5lIEFQUF9OQU1FICJhYnJ0LWFwcGxldCIKLSsjZGVmaW5lIEdTX1NDSEVNQV9JRF9QUklWQUNZ ICJvcmcuZ25vbWUuZGVza3RvcC5wcml2YWN5IgotKyNkZWZpbmUgR1NfUFJJVkFDWV9PUFRfQVVU T19SRVBPUlRJTkcgInJlcG9ydC10ZWNobmljYWwtcHJvYmxlbXMiCi0rCi0gLyogbGlibm90aWZ5 IGFjdGlvbiBrZXlzICovCi0gI2RlZmluZSBBX1JFUE9SVF9SRVBPUlQgIlJFUE9SVCIKLSAjZGVm aW5lIEFfUkVTVEFSVF9BUFBMSUNBVElPTiAiUkVTVEFSVCIKLUBAIC01NSwxNSArNTksNjAgQEAg c3RhdGljIGJvb2wgaXNfYXV0b3JlcG9ydGluZ19lbmFibGVkKHZvaWQpCi0gICAgIEdTZXR0aW5n cyAqc2V0dGluZ3M7Ci0gICAgIGdib29sZWFuIHJldDsKLSAKLS0gICAgc2V0dGluZ3MgPSBnX3Nl dHRpbmdzX25ldyAoIm9yZy5nbm9tZS5kZXNrdG9wLnByaXZhY3kiKTsKLS0gICAgcmV0ID0gZ19z ZXR0aW5nc19nZXRfYm9vbGVhbiAoc2V0dGluZ3MsICJyZXBvcnQtdGVjaG5pY2FsLXByb2JsZW1z Iik7Ci0rICAgIHNldHRpbmdzID0gZ19zZXR0aW5nc19uZXcgKEdTX1NDSEVNQV9JRF9QUklWQUNZ KTsKLSsgICAgcmV0ID0gZ19zZXR0aW5nc19nZXRfYm9vbGVhbiAoc2V0dGluZ3MsIEdTX1BSSVZB Q1lfT1BUX0FVVE9fUkVQT1JUSU5HKTsKLSAgICAgZ19vYmplY3RfdW5yZWYgKHNldHRpbmdzKTsK LSAgICAgcmV0dXJuIHJldDsKLSB9Ci0gCi0rc3RhdGljIHZvaWQgbWlncmF0ZV9hdXRvX3JlcG9y dGluZ190b19nc2V0dGluZ3Modm9pZCkKLSt7Ci0rI2RlZmluZSBPUFRfTkFNRSAiQXV0b3JlcG9y dGluZ0VuYWJsZWQiCi0rICAgIG1hcF9zdHJpbmdfdCAqc2V0dGluZ3MgPSBuZXdfbWFwX3N0cmlu ZygpOwotKyAgICBpZiAoIWxvYWRfYXBwX2NvbmZfZmlsZShBUFBfTkFNRSwgc2V0dGluZ3MpKQot KyAgICAgICAgZ290byBmaW5pdG87Ci0rCi0rICAgIC8qIFNpbGVudGx5IGlnbm9yZSBub3QgY29u ZmlndXJlZCBvcHRpb25zICovCi0rICAgIGludCBzdl9sb2dtb2RlID0gbG9nbW9kZTsKLSsgICAg LyogYnV0IG9ubHkgaWYgd2UgcnVuIGluIHNpbGVudCBtb2RlIChubyAtdiBvbiBjb21tYW5kIGxp bmUpICovCi0rICAgIGxvZ21vZGUgPSBnX3ZlcmJvc2UgPT0gMCA/IDAgOiBzdl9sb2dtb2RlOwot KwotKyAgICBpbnQgYXV0b19yZXBvcnRpbmcgPSAwOwotKyAgICBpbnQgY29uZmlndXJlZCA9IHRy eV9nZXRfbWFwX3N0cmluZ19pdGVtX2FzX2Jvb2woc2V0dGluZ3MsIE9QVF9OQU1FLCAmYXV0b19y ZXBvcnRpbmcpOwotKwotKyAgICBsb2dtb2RlID0gc3ZfbG9nbW9kZTsKLSsKLSsgICAgaWYgKCFj b25maWd1cmVkKQotKyAgICAgICAgZ290byBmaW5pdG87Ci0rCi0rICAgIC8qIEVuYWJsZSB0aGUg R1Mgb3B0aW9uIGlmIEF1dG9yZXBvcnRpbmdFbmFibGVkIGlzIHRydWUgYmVjYXVzZSB0aGUgdXNl cgotKyAgICAgKiB0dXJuZWQgdGhlIEF1dG9yZXBvcnRpbmcgaW4gYWJydC1hcHBsZXQgaW4gYSBi ZWZvcmUgR1MuCi0rICAgICAqCi0rICAgICAqIERvIG5vdCBkaXNhYmxlIHRoZSBHUyBvcHRpb24g aWYgQXV0b3JlcG9ydGluZ0V2ZW50IGlzIGZhbHNlIGJlY2F1c2UgdGhlCi0rICAgICAqIEdTIG9w dGlvbiBpcyBmYWxzZSBieSBkZWZhdWx0LCB0aHVzIGRpc2FibGluZyB3b3VsZCByZXZlcnQgdGhl IHVzZXIncwotKyAgICAgKiBkZWNpc2lvbiB0byAgYXV0b21hdGljYWxseSByZXBvcnQgdGVjaG5p Y2FsIHByb2JsZW1zLgotKyAgICAgKi8KLSsgICAgaWYgKGF1dG9fcmVwb3J0aW5nKQotKyAgICB7 Ci0rICAgICAgICBHU2V0dGluZ3MgKnNldHRpbmdzID0gZ19zZXR0aW5nc19uZXcoR1NfU0NIRU1B X0lEX1BSSVZBQ1kpOwotKyAgICAgICAgZ19zZXR0aW5nc19zZXRfYm9vbGVhbihzZXR0aW5ncywg R1NfUFJJVkFDWV9PUFRfQVVUT19SRVBPUlRJTkcsIFRSVUUpOwotKyAgICAgICAgZ19vYmplY3Rf dW5yZWYoc2V0dGluZ3MpOwotKyAgICB9Ci0rCi0rICAgIHJlbW92ZV9tYXBfc3RyaW5nX2l0ZW0o c2V0dGluZ3MsIE9QVF9OQU1FKTsKLSsgICAgc2F2ZV9hcHBfY29uZl9maWxlKEFQUF9OQU1FLCBz ZXR0aW5ncyk7Ci0rCi0rICAgIGxvZygiU3VjY2Vzc2Z1bGx5IG1pZ3JhdGVkICJBUFBfTkFNRSI6 Ik9QVF9OQU1FIiB0byAiR1NfU0NIRU1BX0lEX1BSSVZBQ1kiOiJHU19QUklWQUNZX09QVF9BVVRP X1JFUE9SVElORyk7Ci0rCi0rI3VuZGVmIE9QVF9OQU1FCi0rZmluaXRvOgotKyAgICBmcmVlX21h cF9zdHJpbmcoc2V0dGluZ3MpOwotKyAgICByZXR1cm47Ci0rfQotKwotIHN0YXRpYyBjb25zdCBj aGFyICpnZXRfYXV0b3JlcG9ydF9ldmVudF9uYW1lKHZvaWQpCi0gewotLSAgICBsb2FkX3VzZXJf c2V0dGluZ3MoImFicnQtYXBwbGV0Iik7Ci0rICAgIGxvYWRfdXNlcl9zZXR0aW5ncyhBUFBfTkFN RSk7Ci0gICAgIGNvbnN0IGNoYXIgKmNvbmZpZ3VyZWQgPSBnZXRfdXNlcl9zZXR0aW5nKCJBdXRv cmVwb3J0aW5nRXZlbnQiKTsKLSAgICAgcmV0dXJuIGNvbmZpZ3VyZWQgPyBjb25maWd1cmVkIDog Z19zZXR0aW5nc19hdXRvcmVwb3J0aW5nX2V2ZW50OwotIH0KLUBAIC01NTQsNyArNjAzLDcgQEAg c3RhdGljIE5vdGlmeU5vdGlmaWNhdGlvbiAqbmV3X3dhcm5fbm90aWZpY2F0aW9uKGNvbnN0IGNo YXIgKmJvZHkpCi0gCi0gICAgIG5vdGlmeV9ub3RpZmljYXRpb25fc2V0X3VyZ2VuY3kobm90aWZp Y2F0aW9uLCBOT1RJRllfVVJHRU5DWV9OT1JNQUwpOwotICAgICBub3RpZnlfbm90aWZpY2F0aW9u X3NldF90aW1lb3V0KG5vdGlmaWNhdGlvbiwgTk9USUZZX0VYUElSRVNfREVGQVVMVCk7Ci0tICAg IG5vdGlmeV9ub3RpZmljYXRpb25fc2V0X2hpbnQobm90aWZpY2F0aW9uLCAiZGVza3RvcC1lbnRy eSIsIGdfdmFyaWFudF9uZXdfc3RyaW5nKCJhYnJ0LWFwcGxldCIpKTsKLSsgICAgbm90aWZ5X25v dGlmaWNhdGlvbl9zZXRfaGludChub3RpZmljYXRpb24sICJkZXNrdG9wLWVudHJ5IiwgZ192YXJp YW50X25ld19zdHJpbmcoQVBQX05BTUUpKTsKLSAKLSAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbjsK LSB9Ci1AQCAtMTE0NywxMyArMTE5NiwxNCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFy Z3YpCi0gICAgIC8qdW5zaWduZWQgb3B0cyA9Ki8gcGFyc2Vfb3B0cyhhcmdjLCBhcmd2LCBwcm9n cmFtX29wdGlvbnMsIHByb2dyYW1fdXNhZ2Vfc3RyaW5nKTsKLSAKLSAgICAgbWlncmF0ZV90b194 ZGdfZGlycygpOwotKyAgICBtaWdyYXRlX2F1dG9fcmVwb3J0aW5nX3RvX2dzZXR0aW5ncygpOwot IAotICAgICBleHBvcnRfYWJydF9lbnZ2YXJzKDApOwotICAgICBtc2dfcHJlZml4ID0gZ19wcm9n bmFtZTsKLSAKLSAgICAgbG9hZF9hYnJ0X2NvbmYoKTsKLSAgICAgbG9hZF9ldmVudF9jb25maWdf ZGF0YSgpOwotLSAgICBsb2FkX3VzZXJfc2V0dGluZ3MoImFicnQtYXBwbGV0Iik7Ci0rICAgIGxv YWRfdXNlcl9zZXR0aW5ncyhBUFBfTkFNRSk7Ci0gCi0gICAgIC8qIEluaXRpYWxpemUgb3VyIChk YnVzX2FicnQpIG1hY2hpbmVyeSBieSBmaWx0ZXJpbmcKLSAgICAgICogZm9yIHNpZ25hbHM6Ci0t LSAKLTIuNC4xCi0KCmRpZmYgLS1naXQgYS8wMDE5LWNvbmZpZy1VSS1yZWFkLWdsYWRlLWZyb20t YS1sb2NhbC1maWxlLWZpcnN0LnBhdGNoIGIvMDAxOS1jb25maWctVUktcmVhZC1nbGFkZS1mcm9t LWEtbG9jYWwtZmlsZS1maXJzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg NDM4MTc0NC4uMDAwMDAwMAotLS0gYS8wMDE5LWNvbmZpZy1VSS1yZWFkLWdsYWRlLWZyb20tYS1s b2NhbC1maWxlLWZpcnN0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJv bSBlYjFlNDVhMWU4MDcwYmVlNmJhNDRmMzI1ZjdkZDBjYTg5MDBkYzc3IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogSmFrdWIgRmlsYWsgPGpmaWxha0ByZWRoYXQuY29tPgotRGF0ZTog U2F0LCAxNiBNYXkgMjAxNSAwNjo0NjoxNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBjb25maWcg VUk6IHJlYWQgZ2xhZGUgZnJvbSBhIGxvY2FsIGZpbGUgZmlyc3QKLQotSWYgeW91IHJlYWQgdGhl IHN5c3RlbSBmaWxlIGZpcnN0LCB5b3Ugd29uJ3QgYmUgYWJsZSB0byB0aGUgYXBwbGljYXRpb24K LWZyb20gYSBkZXZlbG9wbWVudCBkaXJlY3RvcnkuCi0KLVNpZ25lZC1vZmYtYnk6IEpha3ViIEZp bGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLS0tLQotIHNyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0 LWNvbmZpZy13aWRnZXQuYyB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyYXRpb24t Z3VpL2FicnQtY29uZmlnLXdpZGdldC5jIGIvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29u ZmlnLXdpZGdldC5jCi1pbmRleCA2NjQxODBkLi4yYzc1NDI5IDEwMDY0NAotLS0tIGEvc3JjL2Nv bmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmlnLXdpZGdldC5jCi0rKysgYi9zcmMvY29uZmlndXJh dGlvbi1ndWkvYWJydC1jb25maWctd2lkZ2V0LmMKLUBAIC0yMjEsMTQgKzIyMSwxNCBAQCBhYnJ0 X2NvbmZpZ193aWRnZXRfaW5pdChBYnJ0Q29uZmlnV2lkZ2V0ICpzZWxmKQotICAgICBzZWxmLT5w cml2LT5idWlsZGVyID0gZ3RrX2J1aWxkZXJfbmV3KCk7Ci0gICAgIGd0a19idWlsZGVyX3NldF90 cmFuc2xhdGlvbl9kb21haW4oc2VsZi0+cHJpdi0+YnVpbGRlciwgR0VUVEVYVF9QQUNLQUdFKTsK LSAKLS0gICAgZ3RrX2J1aWxkZXJfYWRkX2Zyb21fZmlsZShzZWxmLT5wcml2LT5idWlsZGVyLCBB QlJUX1VJX0RJUiAiLyIgVUlfRklMRV9OQU1FLCAmZXJyb3IpOwotKyAgICBndGtfYnVpbGRlcl9h ZGRfZnJvbV9maWxlKHNlbGYtPnByaXYtPmJ1aWxkZXIsIFVJX0ZJTEVfTkFNRSwgJmVycm9yKTsK LSAgICAgaWYoZXJyb3IgIT0gTlVMTCkgewotLSAgICAgICAgZ193YXJuaW5nKCJGYWlsZWQgdG8g bG9hZCAnJXMnOiAlcyIsIEFCUlRfVUlfRElSICIvIiBVSV9GSUxFX05BTUUsIGVycm9yLT5tZXNz YWdlKTsKLSsgICAgICAgIGxvZ19kZWJ1ZygiRmFpbGVkIHRvIGxvYWQgJyVzJzogJXMiLCBVSV9G SUxFX05BTUUsIGVycm9yLT5tZXNzYWdlKTsKLSAgICAgICAgIGdfZXJyb3JfZnJlZShlcnJvcik7 Ci0gICAgICAgICBlcnJvciA9IE5VTEw7Ci0tICAgICAgICBndGtfYnVpbGRlcl9hZGRfZnJvbV9m aWxlKHNlbGYtPnByaXYtPmJ1aWxkZXIsIFVJX0ZJTEVfTkFNRSwgJmVycm9yKTsKLSsgICAgICAg IGd0a19idWlsZGVyX2FkZF9mcm9tX2ZpbGUoc2VsZi0+cHJpdi0+YnVpbGRlciwgQUJSVF9VSV9E SVIgIi8iIFVJX0ZJTEVfTkFNRSwgJmVycm9yKTsKLSAgICAgICAgIGlmKGVycm9yICE9IE5VTEwp IHsKLS0gICAgICAgICAgICBnX3dhcm5pbmcoIkZhaWxlZCB0byBsb2FkICclcyc6ICVzIiwgVUlf RklMRV9OQU1FLCBlcnJvci0+bWVzc2FnZSk7Ci0rICAgICAgICAgICAgZ193YXJuaW5nKCJGYWls ZWQgdG8gbG9hZCAnJXMnOiAlcyIsIEFCUlRfVUlfRElSICIvIiBVSV9GSUxFX05BTUUsIGVycm9y LT5tZXNzYWdlKTsKLSAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUoZXJyb3IpOwotICAgICAgICAg ICAgIHJldHVybjsKLSAgICAgICAgIH0KLS0tIAotMi40LjEKLQoKZGlmZiAtLWdpdCBhLzAwMjAt Y29uZmlnLVVJLWVuYWJsZS1vcHRpb25zLXdpdGhvdXQtY29uZmlnLWZpbGVzLnBhdGNoIGIvMDAy MC1jb25maWctVUktZW5hYmxlLW9wdGlvbnMtd2l0aG91dC1jb25maWctZmlsZXMucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkZDgzZmQuLjAwMDAwMDAKLS0tIGEvMDAyMC1j b25maWctVUktZW5hYmxlLW9wdGlvbnMtd2l0aG91dC1jb25maWctZmlsZXMucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1Gcm9tIDVkNTQ0MDI4YzNkZDNmNGFmOWQ0ZGE4M2E0 YzU3ZDJjMDVjMDkwMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYWt1YiBGaWxh ayA8amZpbGFrQHJlZGhhdC5jb20+Ci1EYXRlOiBTYXQsIDE2IE1heSAyMDE1IDA2OjUxOjA5ICsw MjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZyBVSTogZW5hYmxlIG9wdGlvbnMgd2l0aG91dCBj b25maWcgZmlsZXMKLQotU2lnbmVkLW9mZi1ieTogSmFrdWIgRmlsYWsgPGpmaWxha0ByZWRoYXQu Y29tPgotLS0tCi0gc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmlnLXdpZGdldC5jIHwg MTQgKysrKysrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNv bmZpZy13aWRnZXQuYyBiL3NyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQu YwotaW5kZXggMmM3NTQyOS4uOGJmYzI2OSAxMDA2NDQKLS0tLSBhL3NyYy9jb25maWd1cmF0aW9u LWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQuYwotKysrIGIvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2Fi cnQtY29uZmlnLXdpZGdldC5jCi1AQCAtMTc1LDEwICsxNzUsMTMgQEAgb25fc3dpdGNoX2FjdGl2 YXRlKEdPYmplY3QgICAgICAgKm9iamVjdCwKLSAgICAgICAgIEdQYXJhbVNwZWMgICAgICpzcGVj LAotICAgICAgICAgQWJydENvbmZpZ1dpZGdldCAqY29uZmlnKQotIHsKLSsgICAgQWJydENvbmZp Z1dpZGdldE9wdGlvbiAqb3B0aW9uID0gZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1Qob2JqZWN0 KSwgImFicnQtb3B0aW9uIik7Ci0rICAgIGlmIChvcHRpb24tPmNvbmZpZyA9PSBOVUxMKQotKyAg ICAgICAgcmV0dXJuOwotKwotICAgICBjb25zdCBnYm9vbGVhbiBzdGF0ZSA9IGd0a19zd2l0Y2hf Z2V0X2FjdGl2ZShHVEtfU1dJVENIKG9iamVjdCkpOwotICAgICBjb25zdCBjaGFyICpjb25zdCB2 YWwgPSBzdGF0ZSA/ICJ5ZXMiIDogIm5vIjsKLSAKLS0gICAgQWJydENvbmZpZ1dpZGdldE9wdGlv biAqb3B0aW9uID0gZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1Qob2JqZWN0KSwgImFicnQtb3B0 aW9uIik7Ci0gICAgIGxvZ19kZWJ1ZygiJXMgOiAlcyIsIG9wdGlvbi0+bmFtZSwgdmFsKTsKLSAg ICAgYWJydF9hcHBfY29uZmlndXJhdGlvbl9zZXRfdmFsdWUob3B0aW9uLT5jb25maWcsIG9wdGlv bi0+bmFtZSwgdmFsKTsKLSAgICAgYWJydF9hcHBfY29uZmlndXJhdGlvbl9zYXZlKG9wdGlvbi0+ Y29uZmlnKTsKLUBAIC0xOTEsNyArMTk0LDExIEBAIHVwZGF0ZV9vcHRpb25fY3VycmVudF92YWx1 ZShBYnJ0Q29uZmlnV2lkZ2V0ICpzZWxmLCBlbnVtIEFicnRPcHRpb25zIG9waWQpCi0gICAgIGFz c2VydCgob3BpZCA+PSBfQUJSVF9PUFRfQkVHSU5fICYmIG9waWQgPCBfQUJSVF9PUFRfRU5EXykg fHwgISJPdXQgb2YgcmFuZ2UgT3B0aW9uIElEIHZhbHVlIik7Ci0gCi0gICAgIEFicnRDb25maWdX aWRnZXRPcHRpb24gKm9wdGlvbiA9ICYoc2VsZi0+cHJpdi0+b3B0aW9uc1tvcGlkXSk7Ci0tICAg IGNvbnN0IGNoYXIgKnZhbCA9IGFicnRfYXBwX2NvbmZpZ3VyYXRpb25fZ2V0X3ZhbHVlKG9wdGlv bi0+Y29uZmlnLCBvcHRpb24tPm5hbWUpOwotKwotKyAgICBjb25zdCBjaGFyICp2YWwgPSBOVUxM OwotKyAgICBpZiAob3B0aW9uLT5jb25maWcgIT0gTlVMTCkKLSsgICAgICAgIHZhbCA9IGFicnRf YXBwX2NvbmZpZ3VyYXRpb25fZ2V0X3ZhbHVlKG9wdGlvbi0+Y29uZmlnLCBvcHRpb24tPm5hbWUp OwotKwotICAgICBvcHRpb24tPmN1cnJlbnRfdmFsdWUgPSB2YWwgPyBzdHJpbmdfdG9fYm9vbCh2 YWwpIDogb3B0aW9uLT5kZWZhdWx0X3ZhbHVlOwotIH0KLSAKLUBAIC0yMDksNiArMjE2LDkgQEAg Y29ubmVjdF9zd2l0Y2hfd2l0aF9vcHRpb24oQWJydENvbmZpZ1dpZGdldCAqc2VsZiwgZW51bSBB YnJ0T3B0aW9ucyBvcGlkLCBjb25zdAotICAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChn c3cpLCAiYWJydC1vcHRpb24iLCBvcHRpb24pOwotICAgICBnX3NpZ25hbF9jb25uZWN0KEdfT0JK RUNUKGdzdyksICJub3RpZnk6OmFjdGl2ZSIsCi0gICAgICAgICAgICAgR19DQUxMQkFDSyhvbl9z d2l0Y2hfYWN0aXZhdGUpLCBzZWxmKTsKLSsKLSsgICAgaWYgKG9wdGlvbi0+Y29uZmlnID09IE5V TEwpCi0rICAgICAgICBndGtfd2lkZ2V0X3NldF9zZW5zaXRpdmUoR1RLX1dJREdFVChnc3cpLCBG QUxTRSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0tLSAKLTIuNC4xCi0KCmRpZmYgLS1naXQgYS8w MDIxLWNvbmZpZy1VSS1BdXRvbWF0aWMtcmVwb3J0aW5nLWZyb20tR1NldHRpbmdzLnBhdGNoIGIv MDAyMS1jb25maWctVUktQXV0b21hdGljLXJlcG9ydGluZy1mcm9tLUdTZXR0aW5ncy5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjlhOGFiZC4uMDAwMDAwMAotLS0gYS8wMDIx LWNvbmZpZy1VSS1BdXRvbWF0aWMtcmVwb3J0aW5nLWZyb20tR1NldHRpbmdzLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNjAyICswLDAgQEAKLUZyb20gYWJkZWRhZmQzYTUzMGFkNGJhYTk5MjAx MGEzY2ZjODc2NDVkOThkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpha3ViIEZp bGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLURhdGU6IFNhdCwgMTYgTWF5IDIwMTUgMDY6NTE6Mzcg KzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gY29uZmlnIFVJOiBBdXRvbWF0aWMgcmVwb3J0aW5nIGZy b20gR1NldHRpbmdzCi0KLUlmIFByaXZhY3kgcGFuZWxzIGV4aXN0czoKLSAgTWFrZSB0aGUgd2lk Z2V0IGluc2Vuc2l0aXZlIGJlY2F1c2UgdGhlIHVzZXIgY2FuIG9ubHkgcmVhZCBpdHMgdmFsdWUu Ci0gIEFkZCBhIGJ1dHRvbiBsYXVuY2hpbmcgUHJpdmFjeSBwYW5lbC4KLUVsc2U6Ci0gIFJlYWQv d3JpdGUgdGhlIEdTZXR0aW5ncyBhbmQgc2hvdyBhIHdhcm5pbmcgYWJvdXQgbW9kaWZ5aW5nIHRo ZQotICBHU2V0dGluZ3MuCi0KLVNpZ25lZC1vZmYtYnk6IEpha3ViIEZpbGFrIDxqZmlsYWtAcmVk aGF0LmNvbT4KLS0tLQotIHBvL1BPVEZJTEVTLmluICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDEgKwotIHNyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQu YyAgICAgfCAyMDEgKysrKysrKysrKysrKysrKysrKysrKystLQotIHNyYy9jb25maWd1cmF0aW9u LWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQuZ2xhZGUgfCAgODIgKysrKy0tLS0tLQotIDMgZmlsZXMg Y2hhbmdlZCwgMjE3IGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvcG8vUE9URklMRVMuaW4gYi9wby9QT1RGSUxFUy5pbgotaW5kZXggMGRhMTM5Ni4uOGMzMTQz OCAxMDA2NDQKLS0tLSBhL3BvL1BPVEZJTEVTLmluCi0rKysgYi9wby9QT1RGSUxFUy5pbgotQEAg LTMsNiArMyw3IEBACi0gIyBQbGVhc2Uga2VlcCB0aGlzIGZpbGUgc29ydGVkIGFscGhhYmV0aWNh bGx5LgotIHNyYy9hcHBsZXQvYWJydC1hcHBsZXQuZGVza3RvcC5pbgotIHNyYy9hcHBsZXQvYXBw bGV0LmMKLStzcmMvY29uZmlndXJhdGlvbi1ndWkvYWJydC1jb25maWctd2lkZ2V0LmMKLSBzcmMv Y29uZmlndXJhdGlvbi1ndWkvYWJydC1jb25maWctd2lkZ2V0LmdsYWRlCi0gc3JjL2NvbmZpZ3Vy YXRpb24tZ3VpL3N5c3RlbS1jb25maWctYWJydC5jCi0gc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL21h aW4uYwotZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRn ZXQuYyBiL3NyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQuYwotaW5kZXgg OGJmYzI2OS4uYzliMGIwMiAxMDA2NDQKLS0tLSBhL3NyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0 LWNvbmZpZy13aWRnZXQuYwotKysrIGIvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmln LXdpZGdldC5jCi1AQCAtMjEsNiArMjEsOCBAQAotICNlbmRpZgotIAotICNpbmNsdWRlICJhYnJ0 LWNvbmZpZy13aWRnZXQuaCIKLSsjaW5jbHVkZSA8c2F0eXIvdXRpbHMuaD4KLSsjaW5jbHVkZSA8 Z2lvL2dkZXNrdG9wYXBwaW5mby5oPgotIAotICNpbmNsdWRlICJsaWJhYnJ0LmgiCi0gI2luY2x1 ZGUgPGFzc2VydC5oPgotQEAgLTMyLDE5ICszNCwzNiBAQAotIAotICNkZWZpbmUgVUlfRklMRV9O QU1FICJhYnJ0LWNvbmZpZy13aWRnZXQuZ2xhZGUiCi0gCi0rLyogQWJydENvbmZpZ1dpZGdldFBy aXZhdGU6Ci0rICogICAgICsgQWJydENvbmZpZ1dpZGdldE9wdGlvbiA9PSAiYWJydC1vcHRpb24i IG9mIEd0a1N3aXRjaAotKyAqICAgICArIEFicnRDb25maWdXaWRnZXRPcHRpb24gPT0gImFicnQt b3B0aW9uIiBvZiBHdGtTd2l0Y2gKLSsgKiAgICAgKyAuLi4KLSsgKgotKyAqICAgICArIEFicnRB cHBDb25maWd1cmF0aW9uID09IGNvbmZpZyBvZiBBYnJ0Q29uZmlnV2lkZ2V0T3B0aW9uCi0rICog ICAgICsgQWJydEFwcENvbmZpZ3VyYXRpb24gPT0gY29uZmlnIG9mIEFicnRDb25maWdXaWRnZXRP cHRpb24KLSsgKiAgICAgKyAuLi4KLSsgKi8KLSsKLSsvKiBUaGlzIHN0cnVjdHVyZSByZXByZXNl bnRzIGVpdGhlciBhbiBBQlJUIGNvbmZpZ3VyYXRpb24gZmlsZSBvciBhIEdTZXR0aW5ncwotKyAq IHNjaGVtYS4KLSsgKi8KLSB0eXBlZGVmIHN0cnVjdCB7Ci0tICAgIGNoYXIgKmFwcF9uYW1lOwot LSAgICBtYXBfc3RyaW5nX3QgKnNldHRpbmdzOwotKyAgICBjaGFyICphcHBfbmFtZTsgICAgICAg ICAgICAgLy8vPCBlLmcgYWJydC1hcHBsZXQsIG9yZy5nbm9tZS5kZXNrdG9wLnByaXZhY3kKLSsg ICAgbWFwX3N0cmluZ190ICpzZXR0aW5nczsgICAgIC8vLzwgQUJSVCBjb25maWd1cmF0aW9uIGZp bGUKLSsgICAgR1NldHRpbmdzICpnbGliX3NldHRpbmdzOyAgIC8vLzwgR1NldHRpbmdzCi0gfSBB YnJ0QXBwQ29uZmlndXJhdGlvbjsKLSAKLSsvKiBUaGlzIHN0cnVjdHVyZSByZXByZXNlbnRzIGEg c2luZ2xlIHN3aXRjaC4KLSsgKi8KLSB0eXBlZGVmIHN0cnVjdCB7Ci0tICAgIGNvbnN0IGNoYXIg Km5hbWU7Ci0rICAgIGNvbnN0IGNoYXIgKm5hbWU7ICAgICAgICAgICAvLy88IGUuZy4gYXNrX3N0 ZWFsX2RpciwgcmVwb3J0LXRlY2huaWNhbC1wcm9ibGVtcwotICAgICBHdGtTd2l0Y2ggKndpZGdl dDsKLSAgICAgZ2Jvb2xlYW4gZGVmYXVsdF92YWx1ZTsKLSAgICAgZ2Jvb2xlYW4gY3VycmVudF92 YWx1ZTsKLSAgICAgQWJydEFwcENvbmZpZ3VyYXRpb24gKmNvbmZpZzsKLSB9IEFicnRDb25maWdX aWRnZXRPcHRpb247Ci0gCi0rLyogRWFjaCBjb25maWd1cmF0aW9uIG9wdGlvbiBoYXMgaXRzIG93 biBudW1iZXIuICovCi0gZW51bSBBYnJ0T3B0aW9ucwotIHsKLSAgICAgX0FCUlRfT1BUX0JFR0lO XywKLUBAIC02MCwxMSArNzksMTUgQEAgZW51bSBBYnJ0T3B0aW9ucwotICAgICBfQUJSVF9PUFRf RU5EXywKLSB9OwotIAotKy8qIFRoaXMgc3RydWN0dXJlIGhvbGRzIHByaXZhdGUgZGF0YSBvZiBB YnJ0Q29uZmlnV2lkZ2V0Ci0rICovCi0gc3RydWN0IEFicnRDb25maWdXaWRnZXRQcml2YXRlIHsK LSAgICAgR3RrQnVpbGRlciAgICpidWlsZGVyOwotICAgICBBYnJ0QXBwQ29uZmlndXJhdGlvbiAq cmVwb3J0X2d0a19jb25mOwotICAgICBBYnJ0QXBwQ29uZmlndXJhdGlvbiAqYWJydF9hcHBsZXRf Y29uZjsKLSsgICAgQWJydEFwcENvbmZpZ3VyYXRpb24gKnByaXZhY3lfZ3NldHRpbmdzOwotIAot KyAgICAvKiBTdGF0aWMgYXJyYXkgZm9yIGFsbCBzd2l0Y2hlcyAqLwotICAgICBBYnJ0Q29uZmln V2lkZ2V0T3B0aW9uIG9wdGlvbnNbX0FCUlRfT1BUX0VORF9dOwotIH07Ci0gCi1AQCAtNzksNiAr MTAyLDggQEAgc3RhdGljIGd1aW50IHNfc2lnbmFsc1tTTl9MQVNUX1NJR05BTF0gPSB7IDAgfTsK LSAKLSBzdGF0aWMgdm9pZCBhYnJ0X2NvbmZpZ193aWRnZXRfZmluYWxpemUoR09iamVjdCAqb2Jq ZWN0KTsKLSAKLSsvKiBOZXcgQUJSVCBjb25maWd1cmF0aW9uIGZpbGUgd3JhcHBlcgotKyAqLwot IHN0YXRpYyBBYnJ0QXBwQ29uZmlndXJhdGlvbiAqCi0gYWJydF9hcHBfY29uZmlndXJhdGlvbl9u ZXcoY29uc3QgY2hhciAqYXBwX25hbWUpCi0gewotQEAgLTg2LDYgKzExMSw3IEBAIGFicnRfYXBw X2NvbmZpZ3VyYXRpb25fbmV3KGNvbnN0IGNoYXIgKmFwcF9uYW1lKQotIAotICAgICBjb25mLT5h cHBfbmFtZSA9IHhzdHJkdXAoYXBwX25hbWUpOwotICAgICBjb25mLT5zZXR0aW5ncyA9IG5ld19t YXBfc3RyaW5nKCk7Ci0rICAgIGNvbmYtPmdsaWJfc2V0dGluZ3MgPSBOVUxMOwotIAotICAgICBp ZighbG9hZF9hcHBfY29uZl9maWxlKGNvbmYtPmFwcF9uYW1lLCBjb25mLT5zZXR0aW5ncykpIHsK LSAgICAgICAgIGdfd2FybmluZygiRmFpbGVkIHRvIGxvYWQgY29uZmlnIGZvciAnJXMnIiwgY29u Zi0+YXBwX25hbWUpOwotQEAgLTk0LDIyICsxMjAsNTAgQEAgYWJydF9hcHBfY29uZmlndXJhdGlv bl9uZXcoY29uc3QgY2hhciAqYXBwX25hbWUpCi0gICAgIHJldHVybiBjb25mOwotIH0KLSAKLSsv KiBOZXcgR1NldHRpbmdzIHdyYXBwZXIKLSsgKi8KLStzdGF0aWMgQWJydEFwcENvbmZpZ3VyYXRp b24gKgotK2FicnRfYXBwX2NvbmZpZ3VyYXRpb25fbmV3X2dsaWIoY29uc3QgY2hhciAqc2NoZW1h KQotK3sKLSsgICAgQWJydEFwcENvbmZpZ3VyYXRpb24gKmNvbmYgPSB4bWFsbG9jKHNpemVvZigq Y29uZikpOwotKwotKyAgICBjb25mLT5hcHBfbmFtZSA9IHhzdHJkdXAoc2NoZW1hKTsKLSsgICAg Y29uZi0+c2V0dGluZ3MgPSBOVUxMOwotKyAgICBjb25mLT5nbGliX3NldHRpbmdzID0gZ19zZXR0 aW5nc19uZXcoY29uZi0+YXBwX25hbWUpOwotKwotKyAgICByZXR1cm4gY29uZjsKLSt9Ci0rCi0g c3RhdGljIHZvaWQKLSBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX3NldF92YWx1ZShBYnJ0QXBwQ29u ZmlndXJhdGlvbiAqY29uZiwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCi0g ewotLSAgICBzZXRfYXBwX3VzZXJfc2V0dGluZyhjb25mLT5zZXR0aW5ncywgbmFtZSwgdmFsdWUp OwotKyAgICBpZiAoY29uZi0+c2V0dGluZ3MpCi0rICAgICAgICBzZXRfYXBwX3VzZXJfc2V0dGlu Zyhjb25mLT5zZXR0aW5ncywgbmFtZSwgdmFsdWUpOwotKyAgICBlbHNlIGlmIChjb25mLT5nbGli X3NldHRpbmdzKQotKyAgICAgICAgZ19zZXR0aW5nc19zZXRfYm9vbGVhbihjb25mLT5nbGliX3Nl dHRpbmdzLCBuYW1lLCBzdHJpbmdfdG9fYm9vbCh2YWx1ZSkpOwotKyAgICBlbHNlCi0rICAgICAg ICBhc3NlcnQoISJCVUc6IG5vdCBwcm9wZXJseSBpbml0aWFsaXplZCBBYnJ0QXBwQ29uZmlndXJh dGlvbiIpOwotIH0KLSAKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0gYWJydF9hcHBfY29uZmlndXJh dGlvbl9nZXRfdmFsdWUoQWJydEFwcENvbmZpZ3VyYXRpb24gKmNvbmYsIGNvbnN0IGNoYXIgKm5h bWUpCi0gewotLSAgICByZXR1cm4gZ2V0X2FwcF91c2VyX3NldHRpbmcoY29uZi0+c2V0dGluZ3Ms IG5hbWUpOwotKyAgICBpZiAoY29uZi0+c2V0dGluZ3MpCi0rICAgICAgICByZXR1cm4gZ2V0X2Fw cF91c2VyX3NldHRpbmcoY29uZi0+c2V0dGluZ3MsIG5hbWUpOwotKwotKyAgICBpZiAoY29uZi0+ Z2xpYl9zZXR0aW5ncykKLSsgICAgICAgIHJldHVybiBnX3NldHRpbmdzX2dldF9ib29sZWFuKGNv bmYtPmdsaWJfc2V0dGluZ3MsIG5hbWUpID8gInllcyIgOiAibm8iOwotKwotKyAgICBhc3NlcnQo ISJCVUc6IG5vdCBwcm9wZXJseSBpbml0aWFsaXplZCBBYnJ0QXBwQ29uZmlndXJhdGlvbiIpOwot IH0KLSAKLSBzdGF0aWMgdm9pZAotIGFicnRfYXBwX2NvbmZpZ3VyYXRpb25fc2F2ZShBYnJ0QXBw Q29uZmlndXJhdGlvbiAqY29uZikKLSB7Ci0tICAgIHNhdmVfYXBwX2NvbmZfZmlsZShjb25mLT5h cHBfbmFtZSwgY29uZi0+c2V0dGluZ3MpOwotKyAgICBpZiAoY29uZi0+c2V0dGluZ3MpCi0rICAg ICAgICBzYXZlX2FwcF9jb25mX2ZpbGUoY29uZi0+YXBwX25hbWUsIGNvbmYtPnNldHRpbmdzKTsK LSsKLSsgICAgLyogTm8gbmVlZCB0byBzYXZlIEdTZXR0aW5ncyBiZWNhdXNlIGNoYW5nZXMgYXJl IGFwcGxpZWQgaW5zdGFudGx5ICovCi0gfQotIAotIHN0YXRpYyB2b2lkCi1AQCAtMTIxLDggKzE3 NSwxNyBAQCBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX2ZyZWUoQWJydEFwcENvbmZpZ3VyYXRpb24g KmNvbmYpCi0gICAgIGZyZWUoY29uZi0+YXBwX25hbWUpOwotICAgICBjb25mLT5hcHBfbmFtZSA9 ICh2b2lkICopMHhERUFEQkVBRjsKLSAKLS0gICAgZnJlZV9tYXBfc3RyaW5nKGNvbmYtPnNldHRp bmdzKTsKLS0gICAgY29uZi0+c2V0dGluZ3MgPSAodm9pZCAqKTB4REVBREJFQUY7Ci0rICAgIGlm IChjb25mLT5zZXR0aW5ncykKLSsgICAgewotKyAgICAgICAgZnJlZV9tYXBfc3RyaW5nKGNvbmYt PnNldHRpbmdzKTsKLSsgICAgICAgIGNvbmYtPnNldHRpbmdzID0gKHZvaWQgKikweERFQURCRUFG OwotKyAgICB9Ci0rCi0rICAgIGlmIChjb25mLT5nbGliX3NldHRpbmdzKQotKyAgICB7Ci0rICAg ICAgICBnX29iamVjdF91bnJlZihjb25mLT5nbGliX3NldHRpbmdzKTsKLSsgICAgICAgIGNvbmYt PmdsaWJfc2V0dGluZ3MgPSAodm9pZCAqKTB4REVBREJFQUY7Ci0rICAgIH0KLSB9Ci0gCi0gc3Rh dGljIHZvaWQKLUBAIC0xNjEsNiArMjI0LDkgQEAgYWJydF9jb25maWdfd2lkZ2V0X2ZpbmFsaXpl KEdPYmplY3QgKm9iamVjdCkKLSAgICAgYWJydF9hcHBfY29uZmlndXJhdGlvbl9mcmVlKHNlbGYt PnByaXYtPmFicnRfYXBwbGV0X2NvbmYpOwotICAgICBzZWxmLT5wcml2LT5hYnJ0X2FwcGxldF9j b25mID0gTlVMTDsKLSAKLSsgICAgYWJydF9hcHBfY29uZmlndXJhdGlvbl9mcmVlKHNlbGYtPnBy aXYtPnByaXZhY3lfZ3NldHRpbmdzKTsKLSsgICAgc2VsZi0+cHJpdi0+cHJpdmFjeV9nc2V0dGlu Z3MgPSBOVUxMOwotKwotICAgICBHX09CSkVDVF9DTEFTUyhhYnJ0X2NvbmZpZ193aWRnZXRfcGFy ZW50X2NsYXNzKS0+ZmluYWxpemUob2JqZWN0KTsKLSB9Ci0gCi1AQCAtMjE3LDggKzI4MywzMSBA QCBjb25uZWN0X3N3aXRjaF93aXRoX29wdGlvbihBYnJ0Q29uZmlnV2lkZ2V0ICpzZWxmLCBlbnVt IEFicnRPcHRpb25zIG9waWQsIGNvbnN0Ci0gICAgIGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1Qo Z3N3KSwgIm5vdGlmeTo6YWN0aXZlIiwKLSAgICAgICAgICAgICBHX0NBTExCQUNLKG9uX3N3aXRj aF9hY3RpdmF0ZSksIHNlbGYpOwotIAotLSAgICBpZiAob3B0aW9uLT5jb25maWcgPT0gTlVMTCkK LS0gICAgICAgIGd0a193aWRnZXRfc2V0X3NlbnNpdGl2ZShHVEtfV0lER0VUKGdzdyksIEZBTFNF KTsKLSsgICAgLyogSWYgdGhlIG9wdGlvbiBoYXMgbm8gY29uZmlnLCBtYWtlIHRoZSBjb3JyZXNw b25kaW5nIGluc2Vuc2l0aXZlLiAqLwotKyAgICBndGtfd2lkZ2V0X3NldF9zZW5zaXRpdmUoR1RL X1dJREdFVChnc3cpLCBvcHRpb24tPmNvbmZpZyAhPSBOVUxMKTsKLSt9Ci0rCi0rc3RhdGljIHZv aWQKLStwcF9sYXVuY2hlcl9jbGlja2VkKEd0a0J1dHRvbiAqbGF1bmNoZXIsIGdwb2ludGVyICp1 bnVzZWRfZGF0YSkKLSt7Ci0rICAgIEdEZXNrdG9wQXBwSW5mbyAqYXBwID0gZ19vYmplY3RfZ2V0 X2RhdGEoR19PQkpFQ1QobGF1bmNoZXIpLCAibGF1bmNoZWQtYXBwIik7Ci0rICAgIEdFcnJvciAq ZXJyID0gTlVMTDsKLSsgICAgaWYgKCFnX2FwcF9pbmZvX2xhdW5jaChHX0FQUF9JTkZPKGFwcCks IE5VTEwsIE5VTEwsICZlcnIpKQotKyAgICB7Ci0rICAgICAgICBwZXJyb3JfbXNnKCJDb3VsZCBu b3QgbGF1bmNoICclcyc6ICVzIiwKLSsgICAgICAgICAgICAgICAgZ19kZXNrdG9wX2FwcF9pbmZv X2dldF9maWxlbmFtZShHX0RFU0tUT1BfQVBQX0lORk8gKGFwcCkpLAotKyAgICAgICAgICAgICAg ICBlcnItPm1lc3NhZ2UpOwotKyAgICB9Ci0rfQotKwotK3N0YXRpYyB2b2lkCi0rb3NfcmVsZWFz ZV9jYWxsYmFjayhjaGFyICprZXksIGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQotK3sKLSsgICAg aWYgKHN0cmNtcChrZXksICJQUklWQUNZX1BPTElDWSIpID09IDApCi0rICAgICAgICAqKGNoYXIg KiopZGF0YSA9IHZhbHVlOwotKyAgICBlbHNlCi0rICAgICAgICBmcmVlKHZhbHVlKTsKLSsgICAg ZnJlZShrZXkpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotQEAgLTI0OSw2ICszMzgsNyBAQCBhYnJ0 X2NvbmZpZ193aWRnZXRfaW5pdChBYnJ0Q29uZmlnV2lkZ2V0ICpzZWxmKQotIAotICAgICBzZWxm LT5wcml2LT5yZXBvcnRfZ3RrX2NvbmYgPSBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX25ldygicmVw b3J0LWd0ayIpOwotICAgICBzZWxmLT5wcml2LT5hYnJ0X2FwcGxldF9jb25mID0gYWJydF9hcHBf Y29uZmlndXJhdGlvbl9uZXcoImFicnQtYXBwbGV0Iik7Ci0rICAgIHNlbGYtPnByaXYtPnByaXZh Y3lfZ3NldHRpbmdzID0gYWJydF9hcHBfY29uZmlndXJhdGlvbl9uZXdfZ2xpYigib3JnLmdub21l LmRlc2t0b3AucHJpdmFjeSIpOwotIAotICAgICAvKiBJbml0aWFsaXplIG9wdGlvbnMgKi8KLSAg ICAgLyogcmVwb3J0LWd0ayAqLwotQEAgLTI1OSwxNSArMzQ5LDk4IEBAIGFicnRfY29uZmlnX3dp ZGdldF9pbml0KEFicnRDb25maWdXaWRnZXQgKnNlbGYpCi0gICAgIHNlbGYtPnByaXYtPm9wdGlv bnNbQUJSVF9PUFRfVVBMT0FEX0NPUkVEVU1QXS5uYW1lID0gImFicnRfYW5hbHl6ZV9zbWFydF9h c2tfdXBsb2FkX2NvcmVkdW1wIjsKLSAgICAgc2VsZi0+cHJpdi0+b3B0aW9uc1tBQlJUX09QVF9V UExPQURfQ09SRURVTVBdLmRlZmF1bHRfdmFsdWUgPSBUUlVFOwotICAgICBzZWxmLT5wcml2LT5v cHRpb25zW0FCUlRfT1BUX1VQTE9BRF9DT1JFRFVNUF0uY29uZmlnID0gc2VsZi0+cHJpdi0+cmVw b3J0X2d0a19jb25mOwotLQotICAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FCUlRfT1BUX1BSSVZB VEVfVElDS0VUXS5uYW1lID0gQ1JFQVRFX1BSSVZBVEVfVElDS0VUOwotICAgICBzZWxmLT5wcml2 LT5vcHRpb25zW0FCUlRfT1BUX1BSSVZBVEVfVElDS0VUXS5kZWZhdWx0X3ZhbHVlID0gRkFMU0U7 Ci0gICAgIHNlbGYtPnByaXYtPm9wdGlvbnNbQUJSVF9PUFRfUFJJVkFURV9USUNLRVRdLmNvbmZp ZyA9IHNlbGYtPnByaXYtPnJlcG9ydF9ndGtfY29uZjsKLSAKLSAgICAgLyogYWJydC1hcHBsZXQg Ki8KLS0gICAgc2VsZi0+cHJpdi0+b3B0aW9uc1tBQlJUX09QVF9TRU5EX1VSRVBPUlRdLm5hbWUg PSAiQXV0b3JlcG9ydGluZ0VuYWJsZWQiOwotLSAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FCUlRf T1BUX1NFTkRfVVJFUE9SVF0uZGVmYXVsdF92YWx1ZSA9IGdfc2V0dGluZ3NfYXV0b3JlcG9ydGlu ZzsKLS0gICAgc2VsZi0+cHJpdi0+b3B0aW9uc1tBQlJUX09QVF9TRU5EX1VSRVBPUlRdLmNvbmZp ZyA9IHNlbGYtPnByaXYtPmFicnRfYXBwbGV0X2NvbmY7Ci0rICAgIHNlbGYtPnByaXYtPm9wdGlv bnNbQUJSVF9PUFRfU0VORF9VUkVQT1JUXS5uYW1lID0gInJlcG9ydC10ZWNobmljYWwtcHJvYmxl bXMiOwotKyAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FCUlRfT1BUX1NFTkRfVVJFUE9SVF0uZGVm YXVsdF92YWx1ZSA9Ci0rICAgICAgICAgICAgc3RyaW5nX3RvX2Jvb2woYWJydF9hcHBfY29uZmln dXJhdGlvbl9nZXRfdmFsdWUoc2VsZi0+cHJpdi0+cHJpdmFjeV9nc2V0dGluZ3MsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl cG9ydC10ZWNobmljYWwtcHJvYmxlbXMiKSk7Ci0rICAgIHsKLSsgICAgICAgIC8qIEdldCB0aGUg Y29udGFpbmVyIHdpZGdldCBmb3IgdGhlIGxhdWNoIGJ1dHRvbiBhbmQgd2FybmluZ3MgKi8KLSsg ICAgICAgIEd0a1dpZGdldCAqaGJveF9hdXRvX3JlcG9ydGluZyA9IFdJRCgiaGJveF9hdXRvX3Jl cG9ydGluZyIpOwotKyAgICAgICAgYXNzZXJ0KGhib3hfYXV0b19yZXBvcnRpbmcpOwotKwotKyAg ICAgICAgLyogQmUgYWJsZSB0byB1c2UgYW5vdGhlciBkZXNrdG9wIGZpbGUgd2hpbGUgZGVidWdn aW5nICovCi0rICAgICAgICBjb25zdCBjaGFyICpncHBfYXBwID0gZ2V0ZW52KCJBQlJUX1BSSVZB Q1lfQVBQX0RFU0tUT1AiKTsKLSsgICAgICAgIGlmIChncHBfYXBwID09IE5VTEwpCi0rICAgICAg ICAgICAgZ3BwX2FwcCA9ICJnbm9tZS1wcml2YWN5LXBhbmVsLmRlc2t0b3AiOwotKwotKyAgICAg ICAgR0Rlc2t0b3BBcHBJbmZvICphcHAgPSBnX2Rlc2t0b3BfYXBwX2luZm9fbmV3KGdwcF9hcHAp OwotKyAgICAgICAgY2hhciAqbWVzc2FnZSA9IE5VTEw7Ci0rICAgICAgICBjaGFyICptYXJrdXAg PSBOVUxMOwotKyAgICAgICAgaWYgKCFhcHApCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgLyog TWFrZSB0aGUgc3dpdGNoIGVkaXRhYmxlICovCi0rICAgICAgICAgICAgc2VsZi0+cHJpdi0+b3B0 aW9uc1tBQlJUX09QVF9TRU5EX1VSRVBPUlRdLmNvbmZpZyA9IHNlbGYtPnByaXYtPnByaXZhY3lf Z3NldHRpbmdzOwotKwotKyAgICAgICAgICAgIGNoYXIgKm9zX3JlbGVhc2UgPSB4bWFsbG9jX29w ZW5fcmVhZF9jbG9zZSgiL2V0Yy9vcy1yZWxlYXNlIiwgLypubyBzaXplIGxpbWl0Ki9OVUxMKTsK LSsgICAgICAgICAgICBjaGFyICpwcml2YWN5X3BvbGljeSA9IE5VTEw7Ci0rCi0rICAgICAgICAg ICAgLyogVHJ5IHRvIGdldCB0aGUgdmFsdWUgb2YgUFJJVkFDWV9QT0xJQ1kgZnJvbSAvZXRjL29z LXJlbGVhc2UgKi8KLSsgICAgICAgICAgICBzcl9wYXJzZV9vc19yZWxlYXNlKG9zX3JlbGVhc2Us IG9zX3JlbGVhc2VfY2FsbGJhY2ssICh2b2lkICopJnByaXZhY3lfcG9saWN5KTsKLSsKLSsgICAg ICAgICAgICBtZXNzYWdlID0geGFzcHJpbnRmKF8oIlRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiBh Ym92ZSBoYXMgYmVlbiBtb3ZlZCB0byBHU2V0dGluZ3MgYW5kICIKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgInRoZSBzd2l0Y2ggaXMgbGlua2VkIHRvIHRoZSB2YWx1ZSBvZiB0 aGUgc2V0dGluZyAncmVwb3J0LXRlY2huaWNhbC1wcm9ibGVtcycgIgotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiZnJvbSB0aGUgc2NoZW1hICdvcmcuZ25vbWUuZGVza3RvcC5w cml2YWN5Jy4iKSk7Ci0rCi0rICAgICAgICAgICAgLyogRG8gbm90IGFkZCBQcml2YWN5IFBvbGlj eSBsaW5rIGlmIC9ldGMvb3MtcmVsZWFzZSBkb2VzIG5vdCBjb250YWluIFBSSVZBQ1lfUE9MSUNZ ICovCi0rICAgICAgICAgICAgaWYgKHByaXZhY3lfcG9saWN5ICE9IE5VTEwpCi0rICAgICAgICAg ICAgICAgIG1hcmt1cCA9IHhhc3ByaW50ZigiPGk+JXM8L2k+XG5cbjxhIGhyZWY9XCIlc1wiPlBy aXZhY3kgUG9saWN5PC9hPiIsIG1lc3NhZ2UsIHByaXZhY3lfcG9saWN5KTsKLSsgICAgICAgICAg ICBlbHNlCi0rICAgICAgICAgICAgICAgIG1hcmt1cCA9IHhhc3ByaW50ZigiPGk+JXM8L2k+Iiwg bWVzc2FnZSk7Ci0rCi0rICAgICAgICAgICAgZnJlZShwcml2YWN5X3BvbGljeSk7Ci0rICAgICAg ICAgICAgZnJlZShvc19yZWxlYXNlKTsKLSsgICAgICAgIH0KLSsgICAgICAgIGVsc2UKLSsgICAg ICAgIHsKLSsgICAgICAgICAgICAvKiBNYWtlIHRoZSBzd2l0Y2ggcmVhZC1vbmx5ICovCi0rICAg ICAgICAgICAgc2VsZi0+cHJpdi0+b3B0aW9uc1tBQlJUX09QVF9TRU5EX1VSRVBPUlRdLmNvbmZp ZyA9IE5VTEw7Ci0rCi0rICAgICAgICAgICAgbWVzc2FnZSA9IHhhc3ByaW50ZihfKCJUaGUgY29u ZmlndXJhdGlvbiBvcHRpb24gYWJvdmUgY2FuIGJlIGNvbmZpZ3VyZWQgaW4iKSk7Ci0rICAgICAg ICAgICAgbWFya3VwID0geGFzcHJpbnRmKCI8aT4lczwvaT4iLCBtZXNzYWdlKTsKLSsKLSsgICAg ICAgICAgICBHdGtXaWRnZXQgKmxhdW5jaGVyID0gZ3RrX2J1dHRvbl9uZXdfd2l0aF9sYWJlbChn X2FwcF9pbmZvX2dldF9kaXNwbGF5X25hbWUoR19BUFBfSU5GTyhhcHApKSk7Ci0rCi0rICAgICAg ICAgICAgLyogSGVyZSB3ZSBjb3VsZCBwYXNzIHRoZSBsYXVuY2hlciB0byBwcF9sYXVuY2hlcl9j bGlja2VkKCkgYXMgdGhlCi0rICAgICAgICAgICAgICogNHRoIGFyZ3VtZW50IG9mIGdfc2lnbmFs X2Nvbm5lY3QoKSBidXQgd2Ugd291bGQgbGVlayB0aGUKLSsgICAgICAgICAgICAgKiBsYXVuY2hl cidzIG1lbW9yeS4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gZmluZCBhIHdheSBob3cgdG8gZnJlZQot KyAgICAgICAgICAgICAqIHRoZSBsYXVuY2hlciB3aGVuIGl0IGlzIG5vdCBuZWVkZWQgYW55bW9y ZS4gR3RrV2lkZ2V0IGluaGVyaXRzCi0rICAgICAgICAgICAgICogZnJvbSBHT2JqZWN0IHdoaWNo IG9mZmVycyBhIGZ1bmN0aW9uYWxpdHkgZm9yIGF0dGFjaGluZyBhbgotKyAgICAgICAgICAgICAq IGFyYml0cmFyeSBkYXRhIHRvIGl0cyBpbnN0YW5jZXMuIFRoZSBsYXN0IGFyZ3VtZW50IGlzIGEg ZnVuY3Rpb24KLSsgICAgICAgICAgICAgKiBjYWxsZWQgdG8gZGVzdHJveSB0aGUgYXJiaXJhcnR5 IGRhdGEgd2hlbiB0aGUgaW5zdGFuY2UgaXMgYmVpbmcKLSsgICAgICAgICAgICAgKiBkZXN0b3J5 ZWQuICovCi0rICAgICAgICAgICAgZ19vYmplY3Rfc2V0X2RhdGFfZnVsbChHX09CSkVDVChsYXVu Y2hlciksICJsYXVuY2hlZC1hcHAiLCBhcHAsIGdfb2JqZWN0X3VucmVmKTsKLSsgICAgICAgICAg ICBnX3NpZ25hbF9jb25uZWN0KGxhdW5jaGVyLCAiY2xpY2tlZCIsIEdfQ0FMTEJBQ0socHBfbGF1 bmNoZXJfY2xpY2tlZCksIE5VTEwpOwotKwotKyAgICAgICAgICAgIC8qIE1ha2UgdGhlIGxhdW5j aGVyIGJ1dHRvbiBuYXJyb3csIG90aGVyd2lzZSBpdCB3b3VsZCBleHBhbmQgdG8KLSsgICAgICAg ICAgICAgKiB0aGUgd2lkdGggb2YgdGhlIHdhcm5pbmlnLiAqLwotKyAgICAgICAgICAgIGd0a193 aWRnZXRfc2V0X2hleHBhbmQobGF1bmNoZXIsIEZBTFNFKTsKLSsgICAgICAgICAgICBndGtfd2lk Z2V0X3NldF92ZXhwYW5kKGxhdW5jaGVyLCBGQUxTRSk7Ci0rCi0rICAgICAgICAgICAgLyogTWFr ZSB0aGUgbGF1bmNoZXIgYnV0dG9uIGFsbGlnbmVkIG9uIGNlbnRlciBvZiB0aGUgd2FybmluZy4g Ki8KLSsgICAgICAgICAgICBndGtfd2lkZ2V0X3NldF9oYWxpZ24obGF1bmNoZXIsIEdUS19BTElH Tl9DRU5URVIpOwotKyAgICAgICAgICAgIGd0a193aWRnZXRfc2V0X3ZhbGlnbihsYXVuY2hlciwg R1RLX0FMSUdOX0NFTlRFUik7Ci0rCi0rICAgICAgICAgICAgZ3RrX2JveF9wYWNrX2VuZChHVEtf Qk9YKGhib3hfYXV0b19yZXBvcnRpbmcpLCBsYXVuY2hlciwgZmFsc2UsIGZhbHNlLCAwKTsKLSsg ICAgICAgIH0KLSsKLSsKLSsgICAgICAgIEd0a1dpZGdldCAqbGJsID0gZ3RrX2xhYmVsX25ldyht ZXNzYWdlKTsKLSsgICAgICAgIGd0a19sYWJlbF9zZXRfbWFya3VwKEdUS19MQUJFTChsYmwpLCBt YXJrdXApOwotKyAgICAgICAgLyogRG8gbm90IGV4cGFuZCB0aGUgd2luZG93IGJ5IHRvbyBsb25n IHdhcm5pbmcuICovCi0rICAgICAgICBndGtfbGFiZWxfc2V0X2xpbmVfd3JhcChHVEtfTEFCRUwo bGJsKSwgVFJVRSk7Ci0rICAgICAgICAvKiBMZXQgdXNlcnMgdG8gY29weSB0aGUgd2FybmluZy4g Ki8KLSsgICAgICAgIGd0a19sYWJlbF9zZXRfc2VsZWN0YWJsZShHVEtfTEFCRUwobGJsKSwgVFJV RSk7Ci0rCi0rICAgICAgICBmcmVlKG1hcmt1cCk7Ci0rICAgICAgICBmcmVlKG1lc3NhZ2UpOwot KwotKyAgICAgICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19CT1goaGJveF9hdXRvX3JlcG9ydGlu ZyksIGxibCwgZmFsc2UsIGZhbHNlLCAwKTsKLSsgICAgfQotIAotICAgICBzZWxmLT5wcml2LT5v cHRpb25zW0FCUlRfT1BUX1NIT1JURU5FRF9SRVBPUlRJTkddLm5hbWUgPSAiU2hvcnRlbmVkUmVw b3J0aW5nIjsKLSAgICAgc2VsZi0+cHJpdi0+b3B0aW9uc1tBQlJUX09QVF9TSE9SVEVORURfUkVQ T1JUSU5HXS5kZWZhdWx0X3ZhbHVlID0gZ19zZXR0aW5nc19zaG9ydGVuZWRyZXBvcnRpbmc7Ci1k aWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmlnLXdpZGdldC5nbGFk ZSBiL3NyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQuZ2xhZGUKLWluZGV4 IDNhYTU2NmMuLjdmNjEzYzcgMTAwNjQ0Ci0tLS0gYS9zcmMvY29uZmlndXJhdGlvbi1ndWkvYWJy dC1jb25maWctd2lkZ2V0LmdsYWRlCi0rKysgYi9zcmMvY29uZmlndXJhdGlvbi1ndWkvYWJydC1j b25maWctd2lkZ2V0LmdsYWRlCi1AQCAtMSw2ICsxLDcgQEAKLSA8P3htbCB2ZXJzaW9uPSIxLjAi IGVuY29kaW5nPSJVVEYtOCI/PgotKzwhLS0gR2VuZXJhdGVkIHdpdGggZ2xhZGUgMy4xOC4zIC0t PgotIDxpbnRlcmZhY2U+Ci0tICA8IS0tIGludGVyZmFjZS1yZXF1aXJlcyBndGsrIDMuMCAtLT4K LSsgIDxyZXF1aXJlcyBsaWI9Imd0aysiIHZlcnNpb249IjMuMCIvPgotICAgPG9iamVjdCBjbGFz cz0iR3RrV2luZG93IiBpZD0id2luZG93MSI+Ci0gICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9j dXMiPkZhbHNlPC9wcm9wZXJ0eT4KLSAgICAgPGNoaWxkPgotQEAgLTExLDcgKzEyLDYgQEAKLSAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXJnaW5fcmlnaHQiPjEwPC9wcm9wZXJ0eT4KLSAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXJnaW5fdG9wIj4xMDwvcHJvcGVydHk+Ci0gICAgICAgICA8 cHJvcGVydHkgbmFtZT0ibWFyZ2luX2JvdHRvbSI+MTA8L3Byb3BlcnR5PgotLSAgICAgICAgPHBy b3BlcnR5IG5hbWU9InJvd19ob21vZ2VuZW91cyI+VHJ1ZTwvcHJvcGVydHk+Ci0gICAgICAgICA8 Y2hpbGQ+Ci0gICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0xhYmVsIiBpZD0ibGFiZWwyIj4K LSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Ci1A QCAtMjYsOCArMjYsNiBAQAotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjA8L3Byb3BlcnR5PgotICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJoZWlnaHQiPjE8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8 L2NoaWxkPgotICAgICAgICAgPGNoaWxkPgotQEAgLTQ0LDggKzQyLDYgQEAKLSAgICAgICAgICAg PHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4wPC9w cm9wZXJ0eT4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MzwvcHJv cGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4xPC9wcm9wZXJ0eT4K LS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0eT4KLSAgICAg ICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBA IC01OSw4ICs1NSw2IEBACi0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9InRvcF9hdHRhY2giPjA8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwv Y2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtNzQsMTMgKzY4LDEyIEBACi0gICAgICAgICAg IDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MTwv cHJvcGVydHk+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjE8L3By b3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+ Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAg ICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci0g ICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a1N3aXRjaCIgaWQ9InN3aXRjaF9zZW5kX3VyZXBv cnQiPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0 eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2Vuc2l0aXZlIj5GYWxzZTwvcHJvcGVy dHk+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+VHJ1ZTwvcHJvcGVy dHk+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhhbGlnbiI+ZW5kPC9wcm9wZXJ0eT4K LSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmFsaWduIj5jZW50ZXI8L3Byb3BlcnR5Pgot QEAgLTg5LDggKzgyLDYgQEAKLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4xPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MzwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9IndpZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAg PC9jaGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBAIC0xMDYsOSArOTcsNyBAQAotICAgICAgICAg ICA8L29iamVjdD4KLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9ImxlZnRfYXR0YWNoIj4wPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0idG9wX2F0dGFjaCI+NDwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9IndpZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVp Z2h0Ij4xPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFj aCI+NTwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+ Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtMTIxLDkgKzExMCw3IEBACi0gICAgICAgICAgIDwvb2Jq ZWN0PgotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i bGVmdF9hdHRhY2giPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0 b3BfYXR0YWNoIj40PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lk dGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHQiPjE8 L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj41PC9w cm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9jaGlsZD4KLSAgICAg ICAgIDxjaGlsZD4KLUBAIC0xMzYsOSArMTIzLDcgQEAKLSAgICAgICAgICAgPC9vYmplY3Q+Ci0g ICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0 dGFjaCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRh Y2giPjU8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwv cHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVy dHk+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjY8L3Byb3BlcnR5 PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxkPgotICAgICAgICAgPGNo aWxkPgotQEAgLTE1NCw5ICsxMzksNyBAQAotICAgICAgICAgICA8L29iamVjdD4KLSAgICAgICAg ICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4w PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+NTwv cHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4xPC9wcm9wZXJ0 eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0eT4KLSsg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+NjwvcHJvcGVydHk+Ci0gICAg ICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1A QCAtMTcyLDggKzE1NSw2IEBACi0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjA8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAg IDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtMTg4LDggKzE2OSw2IEBACi0gICAgICAg ICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+ MjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjE8 L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVy dHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0g ICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+ Ci1AQCAtMjA0LDggKzE4Myw2IEBACi0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjM8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAg ICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtMjE5LDkgKzE5Niw3IEBACi0gICAg ICAgICAgIDwvb2JqZWN0PgotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjI8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj40PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJoZWlnaHQiPjE8L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3Bf YXR0YWNoIj41PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9j aGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBAIC0yMzUsOSArMjEwLDcgQEAKLSAgICAgICAgICAg PC9vYmplY3Q+Ci0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJsZWZ0X2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9InRvcF9hdHRhY2giPjU8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhlaWdo dCI+MTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2gi PjY8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxkPgot ICAgICAgICAgPGNoaWxkPgotQEAgLTI1NCw4ICsyMjcsNiBAQAotICAgICAgICAgICA8cGFja2lu Zz4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjA8L3Byb3BlcnR5 PgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4wPC9wcm9wZXJ0eT4K LS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHQiPjE8L3Byb3BlcnR5PgotICAgICAgICAgICA8 L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxkPgotICAgICAgICAgPGNoaWxkPgotQEAgLTI3MCw4 ICsyNDEsNiBAQAotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0ibGVmdF9hdHRhY2giPjI8L3Byb3BlcnR5PgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ0b3BfYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWln aHQiPjE8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxk PgotICAgICAgICAgPGNoaWxkPgotQEAgLTI4Niw4ICsyNTUsNiBAQAotICAgICAgICAgICA8cGFj a2luZz4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjA8L3Byb3Bl cnR5PgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4yPC9wcm9wZXJ0 eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHQiPjE8L3Byb3BlcnR5PgotICAgICAgICAg ICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxkPgotICAgICAgICAgPGNoaWxkPgotQEAgLTMw MSw4ICsyNjgsNiBAQAotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ibGVmdF9hdHRhY2giPjE8L3Byb3BlcnR5PgotICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJ0b3BfYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJo ZWlnaHQiPjE8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2No aWxkPgotICAgICAgICAgPGNoaWxkPgotQEAgLTMxNiw5ICsyODEsNyBAQAotICAgICAgICAgICA8 L29iamVjdD4KLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9ImxlZnRfYXR0YWNoIj4wPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idG9wX2F0dGFjaCI+NjwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 IndpZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVpZ2h0 Ij4xPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+ NzwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0g ICAgICAgICA8Y2hpbGQ+Ci1AQCAtMzMxLDkgKzI5NCw3IEBACi0gICAgICAgICAgIDwvb2JqZWN0 PgotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGVm dF9hdHRhY2giPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3Bf YXR0YWNoIj42PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lkdGgi PjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHQiPjE8L3By b3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj43PC9wcm9w ZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAg IDxjaGlsZD4KLUBAIC0zNDcsMTEgKzMwOCwyNiBAQAotICAgICAgICAgICA8L29iamVjdD4KLSAg ICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0 YWNoIj4yPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFj aCI+NjwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4xPC9w cm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0 eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+NzwvcHJvcGVydHk+ Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0rICAgICAgICA8Y2hp bGQ+Ci0rICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0JveCIgaWQ9Imhib3hfYXV0b19yZXBv cnRpbmciPgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9w ZXJ0eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxzZTwvcHJv cGVydHk+Ci0rICAgICAgICAgICAgPGNoaWxkPgotKyAgICAgICAgICAgICAgPHBsYWNlaG9sZGVy Lz4KLSsgICAgICAgICAgICA8L2NoaWxkPgotKyAgICAgICAgICA8L29iamVjdD4KLSsgICAgICAg ICAgPHBhY2tpbmc+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4w PC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+NDwv cHJvcGVydHk+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4yPC9wcm9wZXJ0 eT4KLSsgICAgICAgICAgPC9wYWNraW5nPgotKyAgICAgICAgPC9jaGlsZD4KLSsgICAgICAgIDxj aGlsZD4KLSsgICAgICAgICAgPHBsYWNlaG9sZGVyLz4KLSsgICAgICAgIDwvY2hpbGQ+Ci0gICAg ICAgPC9vYmplY3Q+Ci0gICAgIDwvY2hpbGQ+Ci0gICA8L29iamVjdD4KLS0tIAotMi40LjEKLQoK ZGlmZiAtLWdpdCBhL2FicnQuc3BlYyBiL2FicnQuc3BlYwppbmRleCAwMTEwMTNhLi43MzgwNWE1 IDEwMDY0NAotLS0gYS9hYnJ0LnNwZWMKKysrIGIvYWJydC5zcGVjCkBAIC0yMSw2ICsyMSw5IEBA CiAgICAgJWVuZGlmCiAlZW5kaWYKIAorIyBidWlsZCBhYnJ0LWF0b21pYyBzdWJwYWNrYWdlCisl YmNvbmRfd2l0aG91dCBhdG9taWMKKwogJWlmYXJjaCBhYXJjaDY0CiAlZGVmaW5lIGhhdmVfa2V4 ZWNfdG9vbHMgMAogJWVsc2UKQEAgLTQwLDEzICs0MywxMyBAQAogICAgICVkZWZpbmUgZG9jZGly dmVyc2lvbiAtJXt2ZXJzaW9ufQogJWVuZGlmCiAKLSVkZWZpbmUgbGlicmVwb3J0X3ZlciAyLjUu MQotJWRlZmluZSBzYXR5cl92ZXIgMC4xNgorJWRlZmluZSBsaWJyZXBvcnRfdmVyIDIuNi4wCisl ZGVmaW5lIHNhdHlyX3ZlciAwLjE4CiAKIFN1bW1hcnk6IEF1dG9tYXRpYyBidWcgZGV0ZWN0aW9u IGFuZCByZXBvcnRpbmcgdG9vbAogTmFtZTogYWJydAotVmVyc2lvbjogMi41LjEKLVJlbGVhc2U6 IDMlez9kaXN0fQorVmVyc2lvbjogMi42LjAKK1JlbGVhc2U6IDElez9kaXN0fQogTGljZW5zZTog R1BMdjIrCiBHcm91cDogQXBwbGljYXRpb25zL1N5c3RlbQogVVJMOiBodHRwczovL2dpdGh1Yi5j b20vYWJydC9hYnJ0L3dpa2kvQUJSVC1Qcm9qZWN0CkBAIC01NiwyOCArNTksNiBAQCBQYXRjaDA6 IGRpc2FibGUtT3BlbkdQR0NoZWNrLWluLUZlZG9yYS1SYXdoaWRlLnBhdGNoCiAKICMgZ2l0IGZv cm1hdC1wYXRjaCAlJXtWZXJzaW9ufSAtLXRvcG8tb3JkZXIgLU4gLU07CiAjIGk9MTsgZm9yIHAg aW4gYGxzIDAqLnBhdGNoYDsgZG8gcHJpbnRmICJQYXRjaCUwNGQ6ICVzXG4iICRpICRwOyAoKGkr KykpOyBkb25lCi0jUGF0Y2gwMDAxOiAwMDAxLXRlc3RzdWl0ZS1ncmFiLWJlYWtlcmxpYi1zdG9y ZWQtbG9nLWZpbGVzLWZyb20tdmFyLXQucGF0Y2gKLSNQYXRjaDAwMDI6IDAwMDItdGVzdHN1aXRl LWFkZC10aGUtbWFjaGluZWlkLXRlc3QtY2FzZS10by1yaGVsNi5wYXRjaAotI1BhdGNoMDAwMzog MDAwMy10ZXN0c3VpdGUtYWRkLXRlc3QtZm9yLWFicnQtY2xpLXJlcG9ydC12aWEtcmVwb3J0ZXIt LnBhdGNoCi1QYXRjaDAwMDQ6IDAwMDQtYXBwbGV0LXN3aXRjaC10by1ELUJ1cy1tZXRob2RzLnBh dGNoCi1QYXRjaDAwMDU6IDAwMDUtbGliLWFkZC1uZXcta2VybmVsLXRhaW50LWZsYWdzLnBhdGNo Ci1QYXRjaDAwMDY6IDAwMDYtdXBsb2FkLXZhbGlkYXRlLWFuZC1zYW5pdGl6ZS11cGxvYWRlZC1k dW1wLWRpcmVjdG9yaS5wYXRjaAotI1BhdGNoMDAwNzogMDAwNy10ZXN0c3VpdGUtZG9uLXQtcnVu LXdob2xlLXRlc3QtaWYtcmVwb3J0ZXItbWFudGlzYnQtLnBhdGNoCi1QYXRjaDAwMDg6IDAwMDgt YS1hLXMtcC1kLWFkZC1uZXcta25vd24taW50ZXJwcmV0ZXItdG8tY29uZi1maWxlLnBhdGNoCi0j UGF0Y2gwMDA5OiAwMDA5LWFicnQtZGV0ZWN0LUR1bXBMb2NhdGlvbi1mcm9tLWFicnQuY29uZi1p bnN0ZWFkLW9mLXUucGF0Y2gKLVBhdGNoMDAxMDogMDAxMC1hcHBsZXQtZml4LXByb2JsZW0taW5m by1kb3VibGUtZnJlZS5wYXRjaAotUGF0Y2gwMDExOiAwMDExLWNsaS1kby1ub3QtZXhpdC13aXRo LXNlZ2ZhdWx0LWlmLWRidXMtZmFpbHMucGF0Y2gKLSNQYXRjaDAwMTI6IDAwMTItc3BlYy1hZGQt YS1kZXBlbmRlbmN5LW9uLWFicnQtZGJ1cy10by1hYnJ0LWNsaS5wYXRjaAotUGF0Y2gwMDEzOiAw MDEzLWFicnQtYXV0by1yZXBvcnRpbmctcmVxdWlyZS1yaHRzdXBwb3J0LmNvbmYtZmlsZS1vbmwu cGF0Y2gKLSNQYXRjaDAwMTQ6IDAwMTQtc3BlYy1hZGQtQVVUSEVOVElDQVRFRF9BVVRPUkVQT1JU SU5HLWNvbmRpdGlvbmFsLnBhdGNoCi1QYXRjaDAwMTU6IDAwMTUtYWJydC1hY3Rpb24tbGlzdC1k c29zLWRvLW5vdC1kZWNvZGUtbm90LWV4aXN0aW5nLW9iai5wYXRjaAotUGF0Y2gwMDE2OiAwMDE2 LWRvYy1wb2xraXQtU3BlbGxpbmctZ3JhbW1hci1maXhlcy5wYXRjaAotI1BhdGNoMDAxNzogMDAx Ny10ZXN0c3VpdGUtYWRkLW5ldy12ZXJzaW9uLW9mLXB5dGhvbi1pbnRlcnByZXRlcnMucGF0Y2gK LVBhdGNoMDAxODogMDAxOC1hcHBsZXQtbWlncmF0ZS1BdXRvcmVwb3J0aW5nLW9wdGlvbnMtdG8t R1NldHRpbmdzLnBhdGNoCi1QYXRjaDAwMTk6IDAwMTktY29uZmlnLVVJLXJlYWQtZ2xhZGUtZnJv bS1hLWxvY2FsLWZpbGUtZmlyc3QucGF0Y2gKLVBhdGNoMDAyMDogMDAyMC1jb25maWctVUktZW5h YmxlLW9wdGlvbnMtd2l0aG91dC1jb25maWctZmlsZXMucGF0Y2gKLVBhdGNoMDAyMTogMDAyMS1j b25maWctVUktQXV0b21hdGljLXJlcG9ydGluZy1mcm9tLUdTZXR0aW5ncy5wYXRjaAotI1BhdGNo MDAyMjogMDAyMi10ZXN0c3VpdGUtdGVzdC1zYWZlbmVzcy1vZi1jcmVhdGluZy11c2VyLWNvcmVz LnBhdGNoCiAKICMgJyUlYXV0b3NldHVwIC1TIGdpdCcgLT4gZ2l0CiBCdWlsZFJlcXVpcmVzOiBn aXQKQEAgLTEwNCw2ICs4NSw3IEBAIEJ1aWxkUmVxdWlyZXM6IHNhdHlyLWRldmVsID49ICV7c2F0 eXJfdmVyfQogQnVpbGRSZXF1aXJlczogc3lzdGVtZC1weXRob24KIEJ1aWxkUmVxdWlyZXM6IHN5 c3RlbWQtcHl0aG9uMwogQnVpbGRSZXF1aXJlczogYXVnZWFzCitCdWlsZFJlcXVpcmVzOiBsaWJz ZWxpbnV4LWRldmVsCiAKIFJlcXVpcmVzOiBsaWJyZXBvcnQgPj0gJXtsaWJyZXBvcnRfdmVyfQog UmVxdWlyZXM6IHNhdHlyID49ICV7c2F0eXJfdmVyfQpAQCAtMzkxLDExICszNzMsMTMgQEAgUHJv dmlkZXM6IGJ1Zy1idWRkeSA9IDIuMjguMAogVmlydHVhbCBwYWNrYWdlIHRvIGluc3RhbGwgYWxs IG5lY2Vzc2FyeSBwYWNrYWdlcyBmb3IgdXNhZ2UgZnJvbSBkZXNrdG9wCiBlbnZpcm9ubWVudC4K IAorJWlmICV7d2l0aCBhdG9taWN9CiAlcGFja2FnZSBhdG9taWMKIFN1bW1hcnk6IFBhY2thZ2Ug dG8gbWFrZSBlYXN5IGRlZmF1bHQgaW5zdGFsbGF0aW9uIG9uIEF0b21pYyBob3N0cwogR3JvdXA6 IEFwcGxpY2F0aW9ucy9TeXN0ZW0KIFJlcXVpcmVzOiAle25hbWV9LWFkZG9uLWNvcmVkdW1wLWhl bHBlciA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQogQ29uZmxpY3RzOiAle25hbWV9LWFkZG9uLWNj cHAKKyVlbmRpZgogCiAlZGVzY3JpcHRpb24gYXRvbWljCiBQYWNrYWdlIHRvIGluc3RhbGwgYWxs IG5lY2Vzc2FyeSBwYWNrYWdlcyBmb3IgdXNhZ2UgZnJvbSBBdG9taWMKQEAgLTQxOCw2ICs0MDIs NyBAQCBTdW1tYXJ5OiBBQlJUIFB5dGhvbiBBUEkKIEdyb3VwOiBTeXN0ZW0gRW52aXJvbm1lbnQv TGlicmFyaWVzCiBSZXF1aXJlczogJXtuYW1lfSA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQogUmVx dWlyZXM6ICV7bmFtZX0tbGlicyA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQorUmVxdWlyZXM6ICV7 bmFtZX0tZGJ1cyA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQogUmVxdWlyZXM6IHB5Z29iamVjdDIK IFJlcXVpcmVzOiBkYnVzLXB5dGhvbgogUmVxdWlyZXM6IGxpYnJlcG9ydC1weXRob24KQEAgLTQ0 NSw2ICs0MzAsNyBAQCBTdW1tYXJ5OiBBQlJUIFB5dGhvbiAzIEFQSQogR3JvdXA6IFN5c3RlbSBF bnZpcm9ubWVudC9MaWJyYXJpZXMKIFJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3Jl bGVhc2V9CiBSZXF1aXJlczogJXtuYW1lfS1saWJzID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CitS ZXF1aXJlczogJXtuYW1lfS1kYnVzID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiBSZXF1aXJlczog cHlnb2JqZWN0MwogUmVxdWlyZXM6IHB5dGhvbjMtZGJ1cwogUmVxdWlyZXM6IGxpYnJlcG9ydC1w eXRob24zCkBAIC00OTMsNiArNDc5LDkgQEAgQ0ZMQUdTPSIle29wdGZsYWdzfSAtV2Vycm9yIiAl Y29uZmlndXJlIC0tZW5hYmxlLWRveHlnZW4tZG9jcyBcCiAlaWZuYXJjaCBhcm0gYXJtaGZwIGFy bXY3aGwgYXJtdjdsIGFhcmNoNjQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtLWVuYWJsZS1uYXRpdmUtdW53aW5kZXIgXAogJWVuZGlmCislaWYgJXt3aXRob3V0IGF0 b21pY30KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQt YXRvbWljIFwKKyVlbmRpZgogJWlmICV7P2hhdmVfa2V4ZWNfdG9vbHN9ID09IDAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWRpc2FibGUtYWRkb24tdm1jb3JlIFwK ICVlbmRpZgpAQCAtNTIwLDcgKzUwOSw3IEBAIGZpbmQgJFJQTV9CVUlMRF9ST09UIC1uYW1lICcq LmxhJyAtb3IgLW5hbWUgJyouYScgfCB4YXJncyBybSAtZgogbWtkaXIgLXAgJHtSUE1fQlVJTERf Uk9PVH0vJXtfaW5pdHJkZGlyfQogbWtkaXIgLXAgJFJQTV9CVUlMRF9ST09UL3Zhci9jYWNoZS9h YnJ0LWRpCiBta2RpciAtcCAkUlBNX0JVSUxEX1JPT1QvdmFyL3J1bi9hYnJ0Ci1ta2RpciAtcCAk UlBNX0JVSUxEX1JPT1QvdmFyL3RtcC9hYnJ0Citta2RpciAtcCAkUlBNX0JVSUxEX1JPT1QvdmFy L3Nwb29sL2FicnQKIG1rZGlyIC1wICRSUE1fQlVJTERfUk9PVC92YXIvc3Bvb2wvYWJydC11cGxv YWQKIG1rZGlyIC1wICRSUE1fQlVJTERfUk9PVCV7X2xvY2Fsc3RhdGVkaXJ9L2xpYi9hYnJ0CiAK QEAgLTYyNyw2ICs2MTYsNyBAQCBjaG93biAtUiBhYnJ0OmFicnQgJXtfbG9jYWxzdGF0ZWRpcn0v Y2FjaGUvYWJydC1kaQogIyB1cGRhdGUgaWNvbiBjYWNoZQogdG91Y2ggLS1uby1jcmVhdGUgJXtf ZGF0YWRpcn0vaWNvbnMvaGljb2xvciAmPi9kZXYvbnVsbCB8fCA6CiAKKyVpZiAle3dpdGggYXRv bWljfQogJXBvc3QgYXRvbWljCiBpZiBbIC1mIC9ldGMvYWJydC9wbHVnaW5zL0NDcHAuY29uZiBd OyB0aGVuCiAgICAgbXYgL2V0Yy9hYnJ0L3BsdWdpbnMvQ0NwcC5jb25mIC9ldGMvYWJydC9wbHVn aW5zL0NDcHAuY29uZi5ycG1zYXZlLmF0b21pYyB8fCBleGl0IDE7CkBAIC02NTQsNiArNjQ0LDcg QEAgZmkKIAogJXBvc3R1biBhdG9taWMKICVzeXN0ZW1kX3Bvc3R1bl93aXRoX3Jlc3RhcnQgYWJy dC1jb3JlZHVtcC1oZWxwZXIuc2VydmljZQorJWVuZGlmCiAKICVwb3N0IGxpYnMgLXAgL3NiaW4v bGRjb25maWcKIApAQCAtNzAwLDYgKzY5MSwxMSBAQCBzZXJ2aWNlIGFicnQtdXBsb2FkLXdhdGNo IGNvbmRyZXN0YXJ0ID4vZGV2L251bGwgMj4mMSB8fCA6CiAlcG9zdHRyYW5zIGd1aQogZ3RrLXVw ZGF0ZS1pY29uLWNhY2hlICV7X2RhdGFkaXJ9L2ljb25zL2hpY29sb3IgJj4vZGV2L251bGwgfHwg OgogCislcG9zdHRyYW5zIGRidXMKKyMgRm9yY2UgYWJydC1kYnVzIHRvIHJlc3RhcnQgbGlrZSB3 ZSBkbyB3aXRoIHRoZSBvdGhlciBzZXJ2aWNlcwora2lsbGFsbCBhYnJ0LWRidXMgPi9kZXYvbnVs bCAyPiYxIHx8IDoKKworCiAlZmlsZXMgLWYgJXtuYW1lfS5sYW5nCiAlZGVmYXR0cigtLHJvb3Qs cm9vdCwtKQogJWRvYyBSRUFETUUgQ09QWUlORwpAQCAtNzM2LDcgKzczMiw3IEBAIGd0ay11cGRh dGUtaWNvbi1jYWNoZSAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yICY+L2Rldi9udWxsIHx8IDoK ICV7X21hbmRpcn0vbWFuNS9hYnJ0X2V2ZW50LmNvbmYuNS5negogJWNvbmZpZyhub3JlcGxhY2Up ICV7X3N5c2NvbmZkaXJ9L2xpYnJlcG9ydC9ldmVudHMuZC9zbWFydF9ldmVudC5jb25mCiAle19t YW5kaXJ9L21hbjUvc21hcnRfZXZlbnQuY29uZi41Lmd6Ci0lZGlyICVhdHRyKDA3NTEsIGFicnQs IGFicnQpICV7X2xvY2Fsc3RhdGVkaXJ9L3RtcC8le25hbWV9CislZGlyICVhdHRyKDA3NTEsIGFi cnQsIGFicnQpICV7X2xvY2Fsc3RhdGVkaXJ9L3Nwb29sLyV7bmFtZX0KICVkaXIgJWF0dHIoMDcw MCwgYWJydCwgYWJydCkgJXtfbG9jYWxzdGF0ZWRpcn0vc3Bvb2wvJXtuYW1lfS11cGxvYWQKICMg YWJydGQgcnVucyBhcyByb290CiAlZGlyICVhdHRyKDA3NTUsIHJvb3QsIHJvb3QpICV7X2xvY2Fs c3RhdGVkaXJ9L3J1bi8le25hbWV9CkBAIC05ODcsNiArOTgzLDcgQEAgZ3RrLXVwZGF0ZS1pY29u LWNhY2hlICV7X2RhdGFkaXJ9L2ljb25zL2hpY29sb3IgJj4vZGV2L251bGwgfHwgOgogJWZpbGVz IGRlc2t0b3AKICVkZWZhdHRyKC0scm9vdCxyb290LC0pCiAKKyVpZiAle3dpdGggYXRvbWljfQog JWZpbGVzIGF0b21pYwogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKICVjb25maWcobm9yZXBsYWNl KSAle19zeXNjb25mZGlyfS8le25hbWV9L3BsdWdpbnMvQ0NwcF9BdG9taWMuY29uZgpAQCAtOTk2 LDYgKzk5Myw3IEBAIGd0ay11cGRhdGUtaWNvbi1jYWNoZSAle19kYXRhZGlyfS9pY29ucy9oaWNv bG9yICY+L2Rldi9udWxsIHx8IDoKICV7X2JpbmRpcn0vYWJydC1hY3Rpb24tc2F2ZS1wYWNrYWdl LWRhdGEKICV7X21hbmRpcn0vbWFuMS9hYnJ0LWFjdGlvbi1zYXZlLXBhY2thZ2UtZGF0YS4xLmd6 CiAle19tYW5kaXJ9L21hbjUvYWJydC1hY3Rpb24tc2F2ZS1wYWNrYWdlLWRhdGEuY29uZi41Lmd6 CislZW5kaWYKIAogJWZpbGVzIHBsdWdpbi1ib2RoaQogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkK QEAgLTEwNDUsOCArMTA0MywyNCBAQCBndGstdXBkYXRlLWljb24tY2FjaGUgJXtfZGF0YWRpcn0v aWNvbnMvaGljb2xvciAmPi9kZXYvbnVsbCB8fCA6CiAlY29uZmlnKG5vcmVwbGFjZSkgJXtfc3lz Y29uZmRpcn0vcHJvZmlsZS5kL2FicnQtY29uc29sZS1ub3RpZmljYXRpb24uc2gKIAogJWNoYW5n ZWxvZworKiBUdWUgSnVuIDA5IDIwMTUgSmFrdWIgRmlsYWsgPGpmaWxha0ByZWRoYXQuY29tPiAy LjYuMC0xCistIG1vdmUgdGhlIGRlZmF1bHQgZHVtcCBsb2NhdGlvbiB0byAvdmFyL3Nwb29sL2Fi cnQgZnJvbSAvdmFyL3RtcC9hYnJ0CistIGhvb2tzOiB1c2Ugcm9vdCBmb3Igb3duZXIgb2YgYWxs IGR1bXAgZGlyZWN0b3JpZXMKKy0gY2NwcDogZG8gbm90IHVubGluayBmYWlsZWQgYW5kIGJpZyB1 c2VyIGNvcmVzCistIGNjcHA6IGRvbid0IHNhdmUgdGhlIHN5c3RlbSBsb2dzIGJ5IGRlZmF1bHQK Ky0gY2NwcDogc3RvcCByZWFkaW5nIGhzX2Vycm9yLmxvZyBmcm9tIC90bXAKKy0gY2NwcDogZW11 bGF0ZSBzZWxpbnV4IGZvciBjcmVhdGlvbiBvZiBjb21wYXQgY29yZXMKKy0ga29vcHM6IGRvbid0 IHNhdmUgZG1lc2cgaWYga2VybmVsLmRtZXNnX3Jlc3RyaWN0PTEKKy0gZGJ1czogdmFsaWRhdGUg cGFzc2VkIGFyZ3VtZW50cworLSB0dXJuIG9mZiBleHBsb3JpbmcgY3Jhc2hlZCBwcm9jZXNzJ3Mg cm9vdCBkaXJlY3RvcmllcworLSBhYnJ0LXB5dGhvbjogYnVnIGZpeGVzIGFuZCBpbXByb3ZlbWVu dHMKKy0gZml4ZXMgZm9yIENWRS0yMDE1LTMzMTUsIENWRS0yMDE1LTMxNDIsIENWRS0yMDE1LTE4 NjksIENWRS0yMDE1LTE4NzAKKy0gZml4ZXMgZm9yIENWRS0yMDE1LTMxNDcsIENWRS0yMDE1LTMx NTEsIENWRS0yMDE1LTMxNTAsIENWRS0yMDE1LTMxNTkKKy0gc3BlYzogYWRkIGFicnQtZGJ1cyB0 byBScyBvZiBhYnJ0LXB5dGhvbiBhbmQgYWJydC1jbGkKKy0gc3BlYzogcmVzdGFydCBhYnJ0LWRi dXMgaW4gcG9zdHRyYW5zCisKICogV2VkIE1heSAyMCAyMDE1IE1hdGVqIEhhYnJuYWwgPG1oYWJy bmFsQHJlZGhhdC5jb20+IDIuNS4xLTMKLS0gYXBwbGV0OiBzd2l0Y2ggdG8gRC1CdXMgbWV0aG9k cworLSBhcHBsZXQ6IGZpeCBwcm9ibGVtIGluZm8gZG91YmxlIGZyZWUKIC0gdXBsb2FkOiB2YWxp ZGF0ZSBhbmQgc2FuaXRpemUgdXBsb2FkZWQgZHVtcCBkaXJlY3RvcmllcwogLSBhcHBsZXQ6IHN3 aXRjaCB0byBELUJ1cyBtZXRob2RzCiAtIGxpYjogYWRkIG5ldyBrZXJuZWwgdGFpbnQgZmxhZ3MK CmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBjNjExNjQxLi4xM2NhZmVmIDEw MDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLWQyNGI1ZjRlNDgy NmEwODMyZTZhMjFlNmIwODY0YzJlICBhYnJ0LTIuNS4xLnRhci5negorYjc2NGQ2YTJhMTJhYWFl OGNiYWIzZmI3ZmJlMzcwODkgIGFicnQtMi42LjAudGFyLmd6Cg==