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: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: - update to 122.0.6261.57 Date: Fri, 07 Aug 2026 16:06:02 GMT Message-ID: <178611876219.1.11762354378346084145.rpms-chromium-09195bfaaa32@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 09195bfaaa32c66e8da67538c626e07daa536fa6 ICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgIFJlcG8gICA6 IHJwbXMvY2hyb21pdW0KICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAgICAgICBDb21t aXQgOiAwOTE5NWJmYWFhMzJjNjZlOGRhNjc1MzhjNjI2ZTA3ZGFhNTM2ZmE2CiAgICAgICAgIEF1 dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAgIERhdGUgICA6IDIwMjQt MDItMjFUMTI6NDM6MDIrMDE6MDAKICAgICAgICAgU3RhdHMgIDogKzEzNDcvLTE4NjggaW4gMjIg ZmlsZShzKQogICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9y cG1zL2Nocm9taXVtL2MvMDkxOTViZmFhYTMyYzY2ZThkYTY3NTM4YzYyNmUwN2RhYTUzNmZhNj9i cmFuY2g9ZXBlbDktbmV4dAoKICAgICAgICAgTG9nOgogICAgICAgICAtIHVwZGF0ZSB0byAxMjIu MC42MjYxLjU3CiogSGlnaCBDVkUtMjAyNC0xNjY5OiBPdXQgb2YgYm91bmRzIG1lbW9yeSBhY2Nl c3MgaW4gQmxpbmsKKiBIaWdoIENWRS0yMDI0LTE2NzA6IFVzZSBhZnRlciBmcmVlIGluIE1vam8K KiBNZWRpdW0gQ1ZFLTIwMjQtMTY3MTogSW5hcHByb3ByaWF0ZSBpbXBsZW1lbnRhdGlvbiBpbiBT aXRlIElzb2xhdGlvbgoqIE1lZGl1bSBDVkUtMjAyNC0xNjcyOiBJbmFwcHJvcHJpYXRlIGltcGxl bWVudGF0aW9uIGluIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5CiogTWVkaXVtIENWRS0yMDI0LTE2 NzM6IFVzZSBhZnRlciBmcmVlIGluIEFjY2Vzc2liaWxpdHkKKiBNZWRpdW0gQ1ZFLTIwMjQtMTY3 NDogSW5hcHByb3ByaWF0ZSBpbXBsZW1lbnRhdGlvbiBpbiBOYXZpZ2F0aW9uCiogTWVkaXVtIENW RS0yMDI0LTE2NzU6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1lbnQgaW4gRG93bmxvYWQK KiBMb3cgQ1ZFLTIwMjQtMTY3NjogSW5hcHByb3ByaWF0ZSBpbXBsZW1lbnRhdGlvbiBpbiBOYXZp Z2F0aW9uLgoKLS0tCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMDUuMC41MTk1LjUyLXB5dGhvbi1z aXgtMS4xNi4wLnBhdGNoIGIvY2hyb21pdW0tMTA1LjAuNTE5NS41Mi1weXRob24tc2l4LTEuMTYu MC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk3YzJkZi4uMDAwMDAwMAot LS0gYS9jaHJvbWl1bS0xMDUuMC41MTk1LjUyLXB5dGhvbi1zaXgtMS4xNi4wLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEwMy4wLjUwNjAu NTMvdGhpcmRfcGFydHkvY2F0YXB1bHQvdGhpcmRfcGFydHkvc2l4L3NpeC5weS4xMTYgY2hyb21p dW0tMTAzLjAuNTA2MC41My90aGlyZF9wYXJ0eS9jYXRhcHVsdC90aGlyZF9wYXJ0eS9zaXgvc2l4 LnB5Ci0tLS0gY2hyb21pdW0tMTAzLjAuNTA2MC41My90aGlyZF9wYXJ0eS9jYXRhcHVsdC90aGly ZF9wYXJ0eS9zaXgvc2l4LnB5LjExNgkyMDIyLTA3LTA1IDEzOjMxOjI5LjQzNDY3MzYzOCArMDAw MAotKysrIGNocm9taXVtLTEwMy4wLjUwNjAuNTMvdGhpcmRfcGFydHkvY2F0YXB1bHQvdGhpcmRf cGFydHkvc2l4L3NpeC5weQkyMDIyLTA3LTA1IDIxOjUyOjAxLjg4NDU3ODc0OCArMDAwMAotQEAg LTI5LDcgKzI5LDcgQEAgaW1wb3J0IHN5cwotIGltcG9ydCB0eXBlcwotIAotIF9fYXV0aG9yX18g PSAiQmVuamFtaW4gUGV0ZXJzb24gPGJlbmphbWluQHB5dGhvbi5vcmc+IgotLV9fdmVyc2lvbl9f ID0gIjEuMTUuMCIKLStfX3ZlcnNpb25fXyA9ICIxLjE2LjAiCi0gCi0gCi0gIyBVc2VmdWwgZm9y IHZlcnkgY29hcnNlIHZlcnNpb24gZGlmZmVyZW50aWF0aW9uLgotQEAgLTcxLDYgKzcxLDExIEBA IGVsc2U6Ci0gICAgICAgICAgICAgTUFYU0laRSA9IGludCgoMSA8PCA2MykgLSAxKQotICAgICAg ICAgZGVsIFgKLSAKLStpZiBQWTM0OgotKyAgICBmcm9tIGltcG9ydGxpYi51dGlsIGltcG9ydCBz cGVjX2Zyb21fbG9hZGVyCi0rZWxzZToKLSsgICAgc3BlY19mcm9tX2xvYWRlciA9IE5vbmUKLSsK LSAKLSBkZWYgX2FkZF9kb2MoZnVuYywgZG9jKToKLSAgICAgIiIiQWRkIGRvY3VtZW50YXRpb24g dG8gYSBmdW5jdGlvbi4iIiIKLUBAIC0xODYsNiArMTkxLDExIEBAIGNsYXNzIF9TaXhNZXRhUGF0 aEltcG9ydGVyKG9iamVjdCk6Ci0gICAgICAgICAgICAgcmV0dXJuIHNlbGYKLSAgICAgICAgIHJl dHVybiBOb25lCi0gCi0rICAgIGRlZiBmaW5kX3NwZWMoc2VsZiwgZnVsbG5hbWUsIHBhdGgsIHRh cmdldD1Ob25lKToKLSsgICAgICAgIGlmIGZ1bGxuYW1lIGluIHNlbGYua25vd25fbW9kdWxlczoK LSsgICAgICAgICAgICByZXR1cm4gc3BlY19mcm9tX2xvYWRlcihmdWxsbmFtZSwgc2VsZikKLSsg ICAgICAgIHJldHVybiBOb25lCi0rCi0gICAgIGRlZiBfX2dldF9tb2R1bGUoc2VsZiwgZnVsbG5h bWUpOgotICAgICAgICAgdHJ5OgotICAgICAgICAgICAgIHJldHVybiBzZWxmLmtub3duX21vZHVs ZXNbZnVsbG5hbWVdCi1AQCAtMjIzLDYgKzIzMywxMiBAQCBjbGFzcyBfU2l4TWV0YVBhdGhJbXBv cnRlcihvYmplY3QpOgotICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgZ2V0X3NvdXJjZSA9IGdl dF9jb2RlICAjIHNhbWUgYXMgZ2V0X2NvZGUKLSAKLSsgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2Vs Ziwgc3BlYyk6Ci0rICAgICAgICByZXR1cm4gc2VsZi5sb2FkX21vZHVsZShzcGVjLm5hbWUpCi0r Ci0rICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgotKyAgICAgICAgcGFzcwotKwot IF9pbXBvcnRlciA9IF9TaXhNZXRhUGF0aEltcG9ydGVyKF9fbmFtZV9fKQotIAotIAotZGlmZiAt dXAgY2hyb21pdW0tMTAzLjAuNTA2MC41My90aGlyZF9wYXJ0eS9zaXgvc3JjL3NpeC5weS4xMTYg Y2hyb21pdW0tMTAzLjAuNTA2MC41My90aGlyZF9wYXJ0eS9zaXgvc3JjL3NpeC5weQotLS0tIGNo cm9taXVtLTEwMy4wLjUwNjAuNTMvdGhpcmRfcGFydHkvc2l4L3NyYy9zaXgucHkuMTE2CTIwMjIt MDctMDUgMTM6MzI6MjguOTE2Njg3NjU4ICswMDAwCi0rKysgY2hyb21pdW0tMTAzLjAuNTA2MC41 My90aGlyZF9wYXJ0eS9zaXgvc3JjL3NpeC5weQkyMDIyLTA3LTA1IDIxOjU5OjQyLjU2MTI0MDQw NyArMDAwMAotQEAgLTI5LDcgKzI5LDcgQEAgaW1wb3J0IHN5cwotIGltcG9ydCB0eXBlcwotIAot IF9fYXV0aG9yX18gPSAiQmVuamFtaW4gUGV0ZXJzb24gPGJlbmphbWluQHB5dGhvbi5vcmc+Igot LV9fdmVyc2lvbl9fID0gIjEuMTQuMCIKLStfX3ZlcnNpb25fXyA9ICIxLjE2LjAiCi0gCi0gCi0g IyBVc2VmdWwgZm9yIHZlcnkgY29hcnNlIHZlcnNpb24gZGlmZmVyZW50aWF0aW9uLgotQEAgLTcx LDYgKzcxLDExIEBAIGVsc2U6Ci0gICAgICAgICAgICAgTUFYU0laRSA9IGludCgoMSA8PCA2Mykg LSAxKQotICAgICAgICAgZGVsIFgKLSAKLStpZiBQWTM0OgotKyAgICBmcm9tIGltcG9ydGxpYi51 dGlsIGltcG9ydCBzcGVjX2Zyb21fbG9hZGVyCi0rZWxzZToKLSsgICAgc3BlY19mcm9tX2xvYWRl ciA9IE5vbmUKLSsKLSAKLSBkZWYgX2FkZF9kb2MoZnVuYywgZG9jKToKLSAgICAgIiIiQWRkIGRv Y3VtZW50YXRpb24gdG8gYSBmdW5jdGlvbi4iIiIKLUBAIC0xODYsNiArMTkxLDExIEBAIGNsYXNz IF9TaXhNZXRhUGF0aEltcG9ydGVyKG9iamVjdCk6Ci0gICAgICAgICAgICAgcmV0dXJuIHNlbGYK LSAgICAgICAgIHJldHVybiBOb25lCi0gCi0rICAgIGRlZiBmaW5kX3NwZWMoc2VsZiwgZnVsbG5h bWUsIHBhdGgsIHRhcmdldD1Ob25lKToKLSsgICAgICAgIGlmIGZ1bGxuYW1lIGluIHNlbGYua25v d25fbW9kdWxlczoKLSsgICAgICAgICAgICByZXR1cm4gc3BlY19mcm9tX2xvYWRlcihmdWxsbmFt ZSwgc2VsZikKLSsgICAgICAgIHJldHVybiBOb25lCi0rCi0gICAgIGRlZiBfX2dldF9tb2R1bGUo c2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAgdHJ5OgotICAgICAgICAgICAgIHJldHVybiBzZWxm Lmtub3duX21vZHVsZXNbZnVsbG5hbWVdCi1AQCAtMjIzLDYgKzIzMywxMiBAQCBjbGFzcyBfU2l4 TWV0YVBhdGhJbXBvcnRlcihvYmplY3QpOgotICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgZ2V0 X3NvdXJjZSA9IGdldF9jb2RlICAjIHNhbWUgYXMgZ2V0X2NvZGUKLSAKLSsgICAgZGVmIGNyZWF0 ZV9tb2R1bGUoc2VsZiwgc3BlYyk6Ci0rICAgICAgICByZXR1cm4gc2VsZi5sb2FkX21vZHVsZShz cGVjLm5hbWUpCi0rCi0rICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgotKyAgICAg ICAgcGFzcwotKwotIF9pbXBvcnRlciA9IF9TaXhNZXRhUGF0aEltcG9ydGVyKF9fbmFtZV9fKQot IAotIAotQEAgLTg5MCwxMiArOTA2LDExIEBAIGRlZiBlbnN1cmVfYmluYXJ5KHMsIGVuY29kaW5n PSd1dGYtOCcsIGUKLSAgICAgICAtIGBzdHJgIC0+IGVuY29kZWQgdG8gYGJ5dGVzYAotICAgICAg IC0gYGJ5dGVzYCAtPiBgYnl0ZXNgCi0gICAgICIiIgotKyAgICBpZiBpc2luc3RhbmNlKHMsIGJp bmFyeV90eXBlKToKLSsgICAgICAgIHJldHVybiBzCi0gICAgIGlmIGlzaW5zdGFuY2UocywgdGV4 dF90eXBlKToKLSAgICAgICAgIHJldHVybiBzLmVuY29kZShlbmNvZGluZywgZXJyb3JzKQotLSAg ICBlbGlmIGlzaW5zdGFuY2UocywgYmluYXJ5X3R5cGUpOgotLSAgICAgICAgcmV0dXJuIHMKLS0g ICAgZWxzZToKLS0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigibm90IGV4cGVjdGluZyB0eXBlICcl cyciICUgdHlwZShzKSkKLSsgICAgcmFpc2UgVHlwZUVycm9yKCJub3QgZXhwZWN0aW5nIHR5cGUg JyVzJyIgJSB0eXBlKHMpKQotIAotIAotIGRlZiBlbnN1cmVfc3RyKHMsIGVuY29kaW5nPSd1dGYt OCcsIGVycm9ycz0nc3RyaWN0Jyk6Ci1AQCAtOTA5LDEyICs5MjQsMTUgQEAgZGVmIGVuc3VyZV9z dHIocywgZW5jb2Rpbmc9J3V0Zi04JywgZXJybwotICAgICAgIC0gYHN0cmAgLT4gYHN0cmAKLSAg ICAgICAtIGBieXRlc2AgLT4gZGVjb2RlZCB0byBgc3RyYAotICAgICAiIiIKLS0gICAgaWYgbm90 IGlzaW5zdGFuY2UocywgKHRleHRfdHlwZSwgYmluYXJ5X3R5cGUpKToKLS0gICAgICAgIHJhaXNl IFR5cGVFcnJvcigibm90IGV4cGVjdGluZyB0eXBlICclcyciICUgdHlwZShzKSkKLSsgICAgIyBP cHRpbWl6YXRpb246IEZhc3QgcmV0dXJuIGZvciB0aGUgY29tbW9uIGNhc2UuCi0rICAgIGlmIHR5 cGUocykgaXMgc3RyOgotKyAgICAgICAgcmV0dXJuIHMKLSAgICAgaWYgUFkyIGFuZCBpc2luc3Rh bmNlKHMsIHRleHRfdHlwZSk6Ci0tICAgICAgICBzID0gcy5lbmNvZGUoZW5jb2RpbmcsIGVycm9y cykKLSsgICAgICAgIHJldHVybiBzLmVuY29kZShlbmNvZGluZywgZXJyb3JzKQotICAgICBlbGlm IFBZMyBhbmQgaXNpbnN0YW5jZShzLCBiaW5hcnlfdHlwZSk6Ci0tICAgICAgICBzID0gcy5kZWNv ZGUoZW5jb2RpbmcsIGVycm9ycykKLSsgICAgICAgIHJldHVybiBzLmRlY29kZShlbmNvZGluZywg ZXJyb3JzKQotKyAgICBlbGlmIG5vdCBpc2luc3RhbmNlKHMsICh0ZXh0X3R5cGUsIGJpbmFyeV90 eXBlKSk6Ci0rICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBleHBlY3RpbmcgdHlwZSAnJXMn IiAlIHR5cGUocykpCi0gICAgIHJldHVybiBzCi0gCi0gCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0t MTE5LW5vcmFyLnBhdGNoIGIvY2hyb21pdW0tMTE5LW5vcmFyLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCA1MWI3MTU1Li4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExOS1ub3Jh ci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3NhZmVfYnJvd3NpbmcvZG93bmxvYWRfcHJv dGVjdGlvbi9maWxlX2FuYWx5emVyLmNjLm5vdW5yYXIgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv Y2hyb21lL2Jyb3dzZXIvc2FmZV9icm93c2luZy9kb3dubG9hZF9wcm90ZWN0aW9uL2ZpbGVfYW5h bHl6ZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jaHJvbWUvYnJvd3Nlci9zYWZl X2Jyb3dzaW5nL2Rvd25sb2FkX3Byb3RlY3Rpb24vZmlsZV9hbmFseXplci5jYy5ub3VucmFyCTIw MjMtMTEtMDEgMTk6MTA6MTMuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0 NS4xMDUvY2hyb21lL2Jyb3dzZXIvc2FmZV9icm93c2luZy9kb3dubG9hZF9wcm90ZWN0aW9uL2Zp bGVfYW5hbHl6ZXIuY2MJMjAyMy0xMS0wNiAxNzoxNjo1NS42MzAyNTU5NzMgKzAxMDAKLUBAIC03 Nyw4ICs3Nyw2IEBAIHZvaWQgRmlsZUFuYWx5emVyOjpTdGFydChjb25zdCBiYXNlOjpGaWwKLSAK LSAgIGlmIChpbnNwZWN0aW9uX3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6WklQKSB7Ci0gICAg IFN0YXJ0RXh0cmFjdFppcEZlYXR1cmVzKCk7Ci0tICB9IGVsc2UgaWYgKGluc3BlY3Rpb25fdHlw ZSA9PSBEb3dubG9hZEZpbGVUeXBlOjpSQVIpIHsKLS0gICAgU3RhcnRFeHRyYWN0UmFyRmVhdHVy ZXMoKTsKLSAjaWYgQlVJTERGTEFHKElTX01BQykKLSAgIH0gZWxzZSBpZiAoaW5zcGVjdGlvbl90 eXBlID09IERvd25sb2FkRmlsZVR5cGU6OkRNRykgewotICAgICBTdGFydEV4dHJhY3REbWdGZWF0 dXJlcygpOwotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL2NvbW1vbi9z YWZlX2Jyb3dzaW5nL0JVSUxELmduLm5vdW5yYXIgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hy b21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0 NS4xMDUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduLm5vdW5yYXIJMjAyMy0x MS0wMSAxOToxMDoxNi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJTEQuZ24JMjAyMy0xMS0wNiAxNzoxNjo1 NS42MzAyNTU5NzMgKzAxMDAKLUBAIC0xNDMsNyArMTQzLDYgQEAgc291cmNlX3NldCgic2FmZV9i cm93c2luZyIpIHsKLSAgICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29udGVudC9j b21tb246ZmlsZV90eXBlX3BvbGljaWVzIiwKLSAgICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJv d3NpbmcvY29yZS9jb21tb24iLAotICAgICAgICIvL3RoaXJkX3BhcnR5L2x6bWFfc2RrL2dvb2ds ZTpzZXZlbl96aXBfcmVhZGVyIiwKLS0gICAgICAiLy90aGlyZF9wYXJ0eS91bnJhcjp1bnJhciIs Ci0gICAgIF0KLSAKLSAgICAgcHVibGljX2RlcHMgPSBbCi1kaWZmIC11cCBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXpl ci5jYy5ub3VucmFyIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9zZXJ2aWNlcy9maWxl X3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmNjCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuY2Mubm91 bnJhcgkyMDIzLTExLTA2IDE4OjA3OjMwLjU0OTI5MTgyMyArMDEwMAotKysrIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5 emVyLmNjCTIwMjMtMTEtMDYgMTg6MDg6MDAuNTEwMDc2OTQ1ICswMTAwCi1AQCAtNzQsNiArNzQs NyBAQCB2b2lkIFNhZmVBcmNoaXZlQW5hbHl6ZXI6OkFuYWx5emVSYXJGaWxlCi0gICAgIGNvbnN0 IGFic2w6Om9wdGlvbmFsPHN0ZDo6c3RyaW5nPiYgcGFzc3dvcmQsCi0gICAgIG1vam86OlBlbmRp bmdSZW1vdGU8Y2hyb21lOjptb2pvbTo6VGVtcG9yYXJ5RmlsZUdldHRlcj4gdGVtcF9maWxlX2dl dHRlciwKLSAgICAgQW5hbHl6ZVJhckZpbGVDYWxsYmFjayBjYWxsYmFjaykgewotKyNpZiAwCi0g ICBEQ0hFQ0socmFyX2ZpbGUuSXNWYWxpZCgpKTsKLSAgIHRlbXBfZmlsZV9nZXR0ZXJfLkJpbmQo c3RkOjptb3ZlKHRlbXBfZmlsZV9nZXR0ZXIpKTsKLSAgIGNhbGxiYWNrXyA9IHN0ZDo6bW92ZShj YWxsYmFjayk7Ci1AQCAtOTAsNiArOTEsOSBAQCB2b2lkIFNhZmVBcmNoaXZlQW5hbHl6ZXI6OkFu YWx5emVSYXJGaWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgLypwYXNzd29yZD0qL3Bhc3N3 b3JkLAotICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92ZShhbmFseXNpc19maW5pc2hl ZF9jYWxsYmFjayksCi0gICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptb3ZlKHRlbXBfZmls ZV9nZXR0ZXJfY2FsbGJhY2spLCAmcmVzdWx0c18pOwotKyNlbHNlCi0rICBOT1RSRUFDSEVEKCk7 Ci0rI2VuZGlmCi0gfQotIAotIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5hbHl6ZVNldmVu WmlwRmlsZSgKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9zZXJ2aWNl cy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmgubm91bnJhciBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXpl ci5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRp bC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaC5ub3VucmFyCTIwMjMtMTEtMDEgMTk6MTA6MTYuMDAw MDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL3NlcnZpY2Vz L2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaAkyMDIzLTExLTA2IDE3OjE2OjU1LjYz MDI1NTk3MyArMDEwMAotQEAgLTcsNyArNyw2IEBACi0gCi0gI2luY2x1ZGUgImNocm9tZS9jb21t b24vc2FmZV9icm93c2luZy9hcmNoaXZlX2FuYWx5emVyX3Jlc3VsdHMuaCIKLSAjaW5jbHVkZSAi Y2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9wdWJsaWMvbW9qb20vc2FmZV9hcmNoaXZlX2FuYWx5 emVyLm1vam9tLmgiCi0tI2luY2x1ZGUgImNocm9tZS91dGlsaXR5L3NhZmVfYnJvd3NpbmcvcmFy X2FuYWx5emVyLmgiCi0gI2luY2x1ZGUgImNocm9tZS91dGlsaXR5L3NhZmVfYnJvd3Npbmcvc2V2 ZW5femlwX2FuYWx5emVyLmgiCi0gI2luY2x1ZGUgImNocm9tZS91dGlsaXR5L3NhZmVfYnJvd3Np bmcvemlwX2FuYWx5emVyLmgiCi0gI2luY2x1ZGUgIm1vam8vcHVibGljL2NwcC9iaW5kaW5ncy9y ZW1vdGUuaCIKLUBAIC02Niw3ICs2NSw2IEBAIGNsYXNzIFNhZmVBcmNoaXZlQW5hbHl6ZXIgOiBw dWJsaWMgY2hyb20KLSAgIHZvaWQgVGltZW91dCgpOwotIAotICAgc2FmZV9icm93c2luZzo6Wmlw QW5hbHl6ZXIgemlwX2FuYWx5emVyXzsKLS0gIHNhZmVfYnJvd3Npbmc6OlJhckFuYWx5emVyIHJh cl9hbmFseXplcl87Ci0gICBzYWZlX2Jyb3dzaW5nOjpTZXZlblppcEFuYWx5emVyIHNldmVuX3pp cF9hbmFseXplcl87Ci0gI2lmIEJVSUxERkxBRyhJU19NQUMpCi0gICBzYWZlX2Jyb3dzaW5nOjpk bWc6OkRNR0FuYWx5emVyIGRtZ19hbmFseXplcl87CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTIw LWNsYW5nMTYtZGlzYWJsZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mby5wYXRjaCBiL2Nocm9taXVt LTEyMC1jbGFuZzE2LWRpc2FibGUtYXV0by11cGdyYWRlLWRlYnVnLWluZm8ucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhMmY0ODMuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0t MTIwLWNsYW5nMTYtZGlzYWJsZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mby5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNjIv YnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduLnRoYW4gY2hyb21pdW0tMTIwLjAuNjA5OS42 Mi9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24KLS0tLSBjaHJvbWl1bS0xMjAuMC42MDk5 LjYyL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbi50aGFuCTIwMjMtMTItMDYgMTk6Mjg6 MjUuOTk4MzI3MzE4ICswMTAwCi0rKysgY2hyb21pdW0tMTIwLjAuNjA5OS42Mi9idWlsZC9jb25m aWcvY29tcGlsZXIvQlVJTEQuZ24JMjAyMy0xMi0wNiAxOToyODozNC4xOTA1Mjg5MDYgKzAxMDAK LUBAIC03ODcsNyArNzg3LDcgQEAgY29uZmlnKCJjb21waWxlciIpIHsKLSAgICAgICAgICMgdG9v bGNoYWluIGhhcyB0aGlzIGZsYWcuCi0gICAgICAgICAjIFdlIG9ubHkgdXNlIG9uZSB2ZXJzaW9u IG9mIExMVk0gd2l0aGluIGEgYnVpbGQgc28gdGhlcmUncyBubyBuZWVkIHRvCi0gICAgICAgICAj IHVwZ3JhZGUgZGVidWcgaW5mbywgd2hpY2ggY2FuIGJlIGV4cGVuc2l2ZSBzaW5jZSBpdCBydW5z IHRoZSB2ZXJpZmllci4KLS0gICAgICAgIGxkZmxhZ3MgKz0gWyAiLVdsLC1tbGx2bSwtZGlzYWJs ZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mbyIgXQotKyAgICAgICAgbGRmbGFncyArPSBbICIiIF0K LSAgICAgICB9Ci0gICAgIH0KLSAKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMjAtZGlzYWJsZS1G Rm1wZWdBbGxvd0xpc3RzLnBhdGNoIGIvY2hyb21pdW0tMTIwLWRpc2FibGUtRkZtcGVnQWxsb3dM aXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTgyMTZkZC4uMDAwMDAw MAotLS0gYS9jaHJvbWl1bS0xMjAtZGlzYWJsZS1GRm1wZWdBbGxvd0xpc3RzLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41 Ni9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmNjLm1lIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv bWVkaWEvYmFzZS9tZWRpYV9zd2l0Y2hlcy5jYwotLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv bWVkaWEvYmFzZS9tZWRpYV9zd2l0Y2hlcy5jYy5tZQkyMDIzLTEyLTAyIDExOjQzOjIxLjk5MDc3 NTg5NyArMDEwMAotKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvbWVkaWEvYmFzZS9tZWRpYV9z d2l0Y2hlcy5jYwkyMDIzLTEyLTAyIDExOjQ1OjIzLjI0ODAwNjM3NyArMDEwMAotQEAgLTE2MzYs NyArMTYzNiw3IEBAIEJBU0VfRkVBVFVSRShrVXNlU2hhcmVkSW1hZ2VzRm9yUGVwcGVyVmkKLSAv LyBFbmFibGVzIEZGbXBlZyBhbGxvdyBsaXN0cyBmb3Igc3VwcG9ydGVkIGNvZGVjcyAvIGNvbnRh aW5lcnMuCi0gQkFTRV9GRUFUVVJFKGtGRm1wZWdBbGxvd0xpc3RzLAotICAgICAgICAgICAgICAi RkZtcGVnQWxsb3dMaXN0cyIsCi0tICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVfRU5BQkxFRF9C WV9ERUZBVUxUKTsKLSsgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9ERUZB VUxUKTsKLSAKLSAjaWYgQlVJTERGTEFHKEVOQUJMRV9GRk1QRUdfVklERU9fREVDT0RFUlMpCi0g Ly8gQWxsb3dzIGRlY29kaW5nIG9mIHRoZW9yYSAvIHZwMyBjb250ZW50LgoKZGlmZiAtLWdpdCBh L2Nocm9taXVtLTEyMS1hcm02NC1tZW1vcnlfdGFnZ2luZy5wYXRjaCBiL2Nocm9taXVtLTEyMS1h cm02NC1tZW1vcnlfdGFnZ2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg Y2Y4MDdkZC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMjEtYXJtNjQtbWVtb3J5X3RhZ2dpbmcu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0x MjEuMC42MTY3LjU3L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRp dGlvbl9hbGxvYy9wYXJ0aXRpb25fYWxsb2NfY29uZmlnLmgubWUgY2hyb21pdW0tMTIxLjAuNjE2 Ny41Ny9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxs b2MvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oCi0tLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9i YXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFy dGl0aW9uX2FsbG9jX2NvbmZpZy5oLm1lCTIwMjQtMDEtMTYgMTQ6MjA6NTIuNDAxODkwNjU3ICsw MTAwCi0rKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25f YWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oCTIw MjQtMDEtMTYgMTU6MDg6MDQuMDcwMTU2NDc0ICswMTAwCi1AQCAtMTYyLDcgKzE2Miw4IEBAIHN0 YXRpY19hc3NlcnQoc2l6ZW9mKHZvaWQqKSAhPSA4LCAiIik7Ci0gCi0gI2lmIGRlZmluZWQoQVJD SF9DUFVfQVJNNjQpICYmIGRlZmluZWQoX19jbGFuZ19fKSAmJiBcCi0gICAgICFkZWZpbmVkKEFE RFJFU1NfU0FOSVRJWkVSKSAmJiAgICAgICAgICAgICAgICAgICBcCi0tICAgIChCVUlMREZMQUco SVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKSkKLSsgICAgKEJVSUxERkxBRyhJU19M SU5VWCkgfHwgQlVJTERGTEFHKElTX0FORFJPSUQpKSAmJiBcCi0rICAgIF9fR0xJQkNfUFJFUkVR KDIsIDI5KQotICNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lORygpIDEKLSAjZWxz ZQotICNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lORygpIDAKCmRpZmYgLS1naXQg YS9jaHJvbWl1bS0xMjEtY29uc3RleHByLnBhdGNoIGIvY2hyb21pdW0tMTIxLWNvbnN0ZXhwci5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTBiNzE2Ni4uMDAwMDAwMAotLS0g YS9jaHJvbWl1bS0xMjEtY29uc3RleHByLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAs MCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL3BlcmZvcm1h bmNlX21hbmFnZXIvcmVzb3VyY2VfYXR0cmlidXRpb24vcXVlcnlfcGFyYW1zLmgubWUgY2hyb21p dW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL3BlcmZvcm1hbmNlX21hbmFnZXIvcmVzb3VyY2Vf YXR0cmlidXRpb24vcXVlcnlfcGFyYW1zLmgKLS0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Nv bXBvbmVudHMvcGVyZm9ybWFuY2VfbWFuYWdlci9yZXNvdXJjZV9hdHRyaWJ1dGlvbi9xdWVyeV9w YXJhbXMuaC5tZQkyMDI0LTAxLTE4IDE3OjAwOjI0Ljc5MTU4MjQyMiArMDEwMAotKysrIGNocm9t aXVtLTEyMS4wLjYxNjcuNTcvY29tcG9uZW50cy9wZXJmb3JtYW5jZV9tYW5hZ2VyL3Jlc291cmNl X2F0dHJpYnV0aW9uL3F1ZXJ5X3BhcmFtcy5oCTIwMjQtMDEtMTggMTc6MjI6MjEuNTIxNjgyODQ1 ICswMTAwCi1AQCAtMjcsNyArMjcsNyBAQCBzdHJ1Y3QgUXVlcnlQYXJhbXMgewotICAgUXVlcnlQ YXJhbXMoY29uc3QgUXVlcnlQYXJhbXMmIG90aGVyKTsKLSAgIFF1ZXJ5UGFyYW1zJiBvcGVyYXRv cj0oY29uc3QgUXVlcnlQYXJhbXMmIG90aGVyKTsKLSAKLS0gIGZyaWVuZCBjb25zdGV4cHIgYm9v bCBvcGVyYXRvcj09KGNvbnN0IFF1ZXJ5UGFyYW1zJiwKLSsgIGZyaWVuZCBib29sIG9wZXJhdG9y PT0oY29uc3QgUXVlcnlQYXJhbXMmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgUXVlcnlQYXJhbXMmKSA9IGRlZmF1bHQ7Ci0gCi0gICAvLyBJbmRpdmlkdWFsIHJl c291cmNlIGNvbnRleHRzIHRvIG1lYXN1cmUuCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTIxLWVs OC1zdXBwb3J0LTY0a3BhZ2UucGF0Y2ggYi9jaHJvbWl1bS0xMjEtZWw4LXN1cHBvcnQtNjRrcGFn ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTU2ZmM2NS4uMDAwMDAwMAot LS0gYS9jaHJvbWl1bS0xMjEtZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDEyNiArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNl L2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0 aW9uX2J1Y2tldC5oLmVsOC1zdXBwb3J0LTY0a3BhZ2UucGF0Y2ggY2hyb21pdW0tMTIxLjAuNjE2 Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uX2Fs bG9jL3BhcnRpdGlvbl9idWNrZXQuaAotLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L2Jhc2Uv YWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRp b25fYnVja2V0LmguZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaAkyMDI0LTAxLTMwIDIxOjI0OjEw LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L2Jhc2UvYWxsb2Nh dG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fYnVj a2V0LmgJMjAyNC0wMi0wMSAxNzoyMDozNy4xNzg4Nzc0NDggKzAxMDAKLUBAIC0xNDYsNyArMTQ2 LDEzIEBAIHN0cnVjdCBQYXJ0aXRpb25CdWNrZXQgewotICAgLy8gUmV0dXJucyBhIHNsb3QgbnVt YmVyIHN0YXJ0aW5nIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2xvdCBzcGFuLgotICAgUEFf QUxXQVlTX0lOTElORSBzaXplX3QgR2V0U2xvdE51bWJlcihzaXplX3Qgb2Zmc2V0X2luX3Nsb3Rf c3BhbikgY29uc3QgewotICAgICAvLyBTZWUgdGhlIHN0YXRpYyBhc3NlcnRpb24gZm9yIGBrUmVj aXByb2NhbFNoaWZ0YCBhYm92ZS4KLS0gICAgUEFfRENIRUNLKG9mZnNldF9pbl9zbG90X3NwYW4g PD0ga01heEJ1Y2tldGVkKTsKLSsgICAgLy8gVE9ETyhjYXNleS5zbWFsbGV5QGFybS5jb20pOiB0 cmlnZ2VycyBvbiBBYXJjaDY0L0xpbnV4Ci0rICAgIC8vIHN5c3RlbXMgd2l0aCA2NGsgc3lzdGVt IHBhZ2VzLiBDb25zdGFudHMgbmVlZCB0byBiZQotKyAgICAvLyBhZGp1c3RlZCB0byBwcmV2ZW50 IGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgYWxsb2NhdG9yCi0rICAgIC8vIGZyb20gb3ZlcmxhcHBp bmcuIEZvciBub3cgdGhpcyB3aWxsIGFsbG93IDY0ayBwYWdlcwotKyAgICAvLyB0byBmdW5jdGlv biBvbiBBYXJjaDY0L0xpbnV4IHN5c3RlbXMsIGFsYmVpdCBub3QKLSsgICAgLy8gdmVyeSBlZmZp Y2llbnRseS4KLSsgICAgLy8gUEFfRENIRUNLKG9mZnNldF9pbl9zbG90X3NwYW4gPD0ga01heEJ1 Y2tldGVkKTsKLSAgICAgUEFfRENIRUNLKHNsb3Rfc2l6ZSA8PSBrTWF4QnVja2V0ZWQpOwotIAot ICAgICBjb25zdCBzaXplX3Qgb2Zmc2V0X2luX3Nsb3QgPQotZGlmZiAtdXAgY2hyb21pdW0tMTIx LjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0 aW9uX2FsbG9jL3BhcnRpdGlvbl9wYWdlX2NvbnN0YW50cy5oLmVsOC1zdXBwb3J0LTY0a3BhZ2Uu cGF0Y2ggY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2Fs bG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9wYWdlX2NvbnN0YW50cy5oCi0t LS0gY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9j YXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9wYWdlX2NvbnN0YW50cy5oLmVsOC1z dXBwb3J0LTY0a3BhZ2UucGF0Y2gJMjAyNC0wMi0wMSAxNzoyMDozNy4xNzg4Nzc0NDggKzAxMDAK LSsrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxs b2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX3BhZ2VfY29uc3RhbnRzLmgJMjAy NC0wMi0wMSAxNzozMTowOC41MDAyNjg0NTcgKzAxMDAKLUBAIC0xNywxMCArMTcsOCBAQCBuYW1l c3BhY2UgcGFydGl0aW9uX2FsbG9jOjppbnRlcm5hbCB7Ci0gLy8gUGFydGl0aW9uUGFnZVNpemUo KSBpcyA0IHRpbWVzIHRoZSBPUyBwYWdlIHNpemUuCi0gc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qg a01heFNsb3RzUGVyU2xvdFNwYW4gPSA0ICogKDEgPDwgMTQpIC8ga1NtYWxsZXN0QnVja2V0Owot ICNlbGlmIEJVSUxERkxBRyhJU19MSU5VWCkgJiYgZGVmaW5lZChBUkNIX0NQVV9BUk02NCkKLS0v LyBTeXN0ZW0gcGFnZSBzaXplIGNhbiBiZSA0LCAxNiwgb3IgNjQga2lCIG9uIExpbnV4IG9uIGFy bTY0LiA2NCBraUIgaXMKLS0vLyBjdXJyZW50bHkgKGtNYXhTbG90c1BlclNsb3RTcGFuQml0cyA9 PSAxMykgbm90IHN1cHBvcnRlZCBieSB0aGUgY29kZSwKLS0vLyBzbyB3ZSB1c2UgdGhlIDE2IGtp QiBtYXhpbXVtICg2NCBraUIgd2lsbCBjcmFzaCkuCi0tc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qg a01heFNsb3RzUGVyU2xvdFNwYW4gPSA0ICogKDEgPDwgMTQpIC8ga1NtYWxsZXN0QnVja2V0Owot Ky8vIFN5c3RlbSBwYWdlIHNpemUgY2FuIGJlIDQsIDE2LCBvciA2NCBraUIgb24gTGludXggb24g QUFyY2g2NC4KLStzdGF0aWMgY29uc3RleHByIHNpemVfdCBrTWF4U2xvdHNQZXJTbG90U3BhbiA9 IDQgKiAoMSA8PCAxNikgLyBrU21hbGxlc3RCdWNrZXQ7Ci0gI2Vsc2UKLSAvLyBBIHNsb3Qgc3Bh biBjYW4gInNwYW4iIG11bHRpcGxlIFBhcnRpdGlvblBhZ2VzLCBidXQgdGhlbiBpdHMgc2xvdCBz aXplIGlzCi0gLy8gbGFyZ2VyLCBzbyBpdCBkb2Vzbid0IGhhdmUgYXMgbWFueSBzbG90cy4KLWRp ZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9h bGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fcGFnZS5oLmVsOC1zdXBwb3J0 LTY0a3BhZ2UucGF0Y2ggY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFy dGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9wYWdlLmgKLS0t LSBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2Nh dG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX3BhZ2UuaC5lbDgtc3VwcG9ydC02NGtw YWdlLnBhdGNoCTIwMjQtMDEtMzAgMjE6MjQ6MTAuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21p dW0tMTIxLjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMv cGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9wYWdlLmgJMjAyNC0wMi0wMSAxNzoyMDozNy4xNzg4 Nzc0NDggKzAxMDAKLUBAIC05NSwyNiArOTUsMjUgQEAgc3RydWN0IFNsb3RTcGFuTWV0YWRhdGEg ewotIAotICAgLy8gQ0hFQ0soKWVkIGluIEFsbG9jTmV3U2xvdFNwYW4oKS4KLSAgIC8vIFRoZSBt YXhpbXVtIG51bWJlciBvZiBiaXRzIG5lZWRlZCB0byBjb3ZlciBhbGwgY3VycmVudGx5IHN1cHBv cnRlZCBPU2VzLgotLSAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qga01heFNsb3RzUGVyU2xvdFNw YW5CaXRzID0gMTM7Ci0rICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBrTWF4U2xvdHNQZXJTbG90 U3BhbkJpdHMgPSAxNTsKLSAgIHN0YXRpY19hc3NlcnQoa01heFNsb3RzUGVyU2xvdFNwYW4gPCAo MSA8PCBrTWF4U2xvdHNQZXJTbG90U3BhbkJpdHMpLCAiIik7Ci0gCi0tICAvLyB8bWFya2VkX2Z1 bGx8IGlzbid0IGVxdWl2YWxlbnQgdG8gYmVpbmcgZnVsbC4gU2xvdCBzcGFuIGlzIG1hcmtlZCBh cyBmdWxsCi0tICAvLyBpZmYgaXQgaXNuJ3Qgb24gdGhlIGFjdGl2ZSBzbG90IHNwYW4gbGlzdCAo b3IgYW55IG90aGVyIGxpc3QpLgotLSAgdWludDMyX3QgbWFya2VkX2Z1bGwgOiAxOwotICAgLy8g fG51bV9hbGxvY2F0ZWRfc2xvdHN8IGlzIDAgZm9yIGVtcHR5IG9yIGRlY29tbWl0dGVkIHNsb3Qg c3BhbnMsIHdoaWNoIGNhbgotICAgLy8gYmUgZnVydGhlciBkaWZmZXJlbnRpYXRlZCBieSBjaGVj a2luZyBleGlzdGVuY2Ugb2YgdGhlIGZyZWVsaXN0LgotLSAgdWludDMyX3QgbnVtX2FsbG9jYXRl ZF9zbG90cyA6IGtNYXhTbG90c1BlclNsb3RTcGFuQml0czsKLS0gIHVpbnQzMl90IG51bV91bnBy b3Zpc2lvbmVkX3Nsb3RzIDoga01heFNsb3RzUGVyU2xvdFNwYW5CaXRzOwotKyAgdWludDE2X3Qg bnVtX2FsbG9jYXRlZF9zbG90cyA6IGtNYXhTbG90c1BlclNsb3RTcGFuQml0czsKLSsgIHVpbnQx Nl90IG51bV91bnByb3Zpc2lvbmVkX3Nsb3RzIDoga01heFNsb3RzUGVyU2xvdFNwYW5CaXRzOwot KwotKyAgLy8gfG1hcmtlZF9mdWxsfCBpc24ndCBlcXVpdmFsZW50IHRvIGJlaW5nIGZ1bGwuIFNs b3Qgc3BhbiBpcyBtYXJrZWQgYXMgZnVsbAotKyAgLy8gaWZmIGl0IGlzbid0IG9uIHRoZSBhY3Rp dmUgc2xvdCBzcGFuIGxpc3QgKG9yIGFueSBvdGhlciBsaXN0KS4KLSsgIGJvb2wgbWFya2VkX2Z1 bGwgOiAxOwotIAotICBwcml2YXRlOgotLSAgY29uc3QgdWludDMyX3QgY2FuX3N0b3JlX3Jhd19z aXplXyA6IDE7Ci0tICB1aW50MzJfdCBmcmVlbGlzdF9pc19zb3J0ZWRfIDogMTsKLS0gIHVpbnQz Ml90IHVudXNlZDFfIDogKDMyIC0gMSAtIDIgKiBrTWF4U2xvdHNQZXJTbG90U3BhbkJpdHMgLSAx IC0gMSk7Ci0rICBjb25zdCB1aW50OF90IGNhbl9zdG9yZV9yYXdfc2l6ZV8gOiAxOwotKyAgdWlu dDhfdCBmcmVlbGlzdF9pc19zb3J0ZWRfIDogMTsKLSAgIC8vIElmIHxpbl9lbXB0eV9jYWNoZV98 PT0xLCB8ZW1wdHlfY2FjaGVfaW5kZXh8IGlzIHVuZGVmaW5lZCBhbmQgbXVzdG4ndCBiZQotICAg Ly8gdXNlZC4KLS0gIHVpbnQxNl90IGluX2VtcHR5X2NhY2hlXyA6IDE7Ci0tICB1aW50MTZfdCBl bXB0eV9jYWNoZV9pbmRleF8gOiBrRW1wdHlDYWNoZUluZGV4Qml0czsgIC8vIDwga01heEZyZWVh YmxlU3BhbnMuCi0tICB1aW50MTZfdCB1bnVzZWQyXyA6ICgxNiAtIDEgLSBrRW1wdHlDYWNoZUlu ZGV4Qml0cyk7Ci0rICBib29sIGluX2VtcHR5X2NhY2hlXyA6IDE7Ci0rICB1aW50OF90IGVtcHR5 X2NhY2hlX2luZGV4XyA6IGtFbXB0eUNhY2hlSW5kZXhCaXRzOyAgLy8gPCBrTWF4RnJlZWFibGVT cGFucy4KLSAgIC8vIENhbiB1c2Ugb25seSA0OCBiaXRzICg2QikgaW4gdGhpcyBiaXRmaWVsZCwg YXMgdGhpcyBzdHJ1Y3R1cmUgaXMgZW1iZWRkZWQKLSAgIC8vIGluIFBhcnRpdGlvblBhZ2Ugd2hp Y2ggaGFzIDJCIHdvcnRoIG9mIGZpZWxkcyBhbmQgbXVzdCBmaXQgaW4gMzJCLgotIAotQEAgLTI3 OSwxOCArMjc4LDEzIEBAIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFNsb3RTcGFuTWV0YWRhdGEpIDwK LSAgICAgICAgICAgICAgICJTbG90U3Bhbk1ldGFkYXRhIG11c3QgZml0IGludG8gYSBQYWdlIE1l dGFkYXRhIHNsb3QuIik7Ci0gCi0gaW5saW5lIGNvbnN0ZXhwciBTbG90U3Bhbk1ldGFkYXRhOjpT bG90U3Bhbk1ldGFkYXRhKCkgbm9leGNlcHQKLS0gICAgOiBtYXJrZWRfZnVsbCgwKSwKLS0gICAg ICBudW1fYWxsb2NhdGVkX3Nsb3RzKDApLAotKyAgICA6IG51bV9hbGxvY2F0ZWRfc2xvdHMoMCks Ci0gICAgICAgbnVtX3VucHJvdmlzaW9uZWRfc2xvdHMoMCksCi0rICAgICAgbWFya2VkX2Z1bGwo MCksCi0gICAgICAgY2FuX3N0b3JlX3Jhd19zaXplXyhmYWxzZSksCi0gICAgICAgZnJlZWxpc3Rf aXNfc29ydGVkXyh0cnVlKSwKLS0gICAgICB1bnVzZWQxXygwKSwKLSAgICAgICBpbl9lbXB0eV9j YWNoZV8oMCksCi0tICAgICAgZW1wdHlfY2FjaGVfaW5kZXhfKDApLAotLSAgICAgIHVudXNlZDJf KDApIHsKLS0gICh2b2lkKXVudXNlZDFfOwotLSAgKHZvaWQpdW51c2VkMl87Ci0tfQotKyAgICAg IGVtcHR5X2NhY2hlX2luZGV4XygwKSB7fQotIAotIGlubGluZSBTbG90U3Bhbk1ldGFkYXRhOjpT bG90U3Bhbk1ldGFkYXRhKGNvbnN0IFNsb3RTcGFuTWV0YWRhdGEmKSA9IGRlZmF1bHQ7Ci0gCi1A QCAtODgzLDcgKzg3Nyw3IEBAIFBBX0FMV0FZU19JTkxJTkUgdm9pZCBTbG90U3Bhbk1ldGFkYXRh OjoKLSAKLSAgIHNpemVfdCBudW1fc2xvdHNfcGVyX3NwYW4gPSBidWNrZXQtPmdldF9zbG90c19w ZXJfc3BhbigpOwotICAgUEFfRENIRUNLKG51bV9zbG90c19wZXJfc3BhbiA8PSBrTWF4U2xvdHNQ ZXJTbG90U3Bhbik7Ci0tICBudW1fdW5wcm92aXNpb25lZF9zbG90cyA9IHN0YXRpY19jYXN0PHVp bnQzMl90PihudW1fc2xvdHNfcGVyX3NwYW4pOwotKyAgbnVtX3VucHJvdmlzaW9uZWRfc2xvdHMg PSBzdGF0aWNfY2FzdDx1aW50MTZfdD4obnVtX3Nsb3RzX3Blcl9zcGFuKTsKLSAgIFBBX0RDSEVD SyhudW1fdW5wcm92aXNpb25lZF9zbG90cyk7Ci0gCi0gICBUb1N1cGVyUGFnZUV4dGVudCgpLT5J bmNyZW1lbnROdW1iZXJPZk5vbmVtcHR5U2xvdFNwYW5zKCk7Ci1kaWZmIC11cCBjaHJvbWl1bS0x MjEuMC42MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0 aXRpb25fYWxsb2MvcGFydGl0aW9uX3Jvb3QuY2MuZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaCBj aHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9y L3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX3Jvb3QuY2MKLS0tLSBjaHJvbWl1bS0xMjEu MC42MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRp b25fYWxsb2MvcGFydGl0aW9uX3Jvb3QuY2MuZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaAkyMDI0 LTAxLTMwIDIxOjI0OjEwLjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTEyMS4wLjYxNjcu MTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxv Yy9wYXJ0aXRpb25fcm9vdC5jYwkyMDI0LTAyLTAxIDE3OjIwOjM3LjE3ODg3NzQ0OCArMDEwMAot QEAgLTk1MCwxMiArOTUwLDExIEBAIHZvaWQgUGFydGl0aW9uUm9vdDo6SW5pdChQYXJ0aXRpb25P cHRpb24KLSAgICAgICAgICAgICAgKGludGVybmFsOjpTeXN0ZW1QYWdlU2l6ZSgpID09IChzaXpl X3R7MX0gPDwgMTQpKSk7Ci0gI2VsaWYgQlVJTERGTEFHKElTX0xJTlVYKSAmJiBkZWZpbmVkKEFS Q0hfQ1BVX0FSTTY0KQotICAgICAvLyBDaGVjayBydW50aW1lIHBhZ2VzaXplLiBUaG91Z2ggdGhl IGNvZGUgaXMgY3VycmVudGx5IHRoZSBzYW1lLCBpdCBpcwotLSAgICAvLyBub3QgbWVyZ2VkIHdp dGggdGhlIElTX0FQUExFIGNhc2UgYWJvdmUgYXMgYSAxIDw8IDE2IGNhc2UgbmVlZHMgdG8gYmUK LS0gICAgLy8gYWRkZWQgaGVyZSBpbiB0aGUgZnV0dXJlLCB0byBhbGxvdyA2NCBraUIgcGFnZXNp emUuIFRoYXQgaXMgb25seQotLSAgICAvLyBzdXBwb3J0ZWQgb24gTGludXggb24gYXJtNjQsIG5v dCBvbiBJU19BUFBMRSwgYnV0IG5vdCB5ZXQgcHJlc2VudCBoZXJlCi0tICAgIC8vIGFzIHRoZSBy ZXN0IG9mIHRoZSBwYXJ0aXRpb24gYWxsb2NhdG9yIGRvZXMgbm90IGN1cnJlbnRseSBzdXBwb3J0 IGl0LgotKyAgICAvLyBub3QgbWVyZ2VkIHdpdGggdGhlIElTX0FQUExFIGNhc2UgYWJvdmUgYXMg YSAxIDw8IDE2IGNhc2UgaXMgb25seQotKyAgICAvLyBzdXBwb3J0ZWQgb24gTGludXggb24gQUFy Y2g2NC4KLSAgICAgUEFfQ0hFQ0soKGludGVybmFsOjpTeXN0ZW1QYWdlU2l6ZSgpID09IChzaXpl X3R7MX0gPDwgMTIpKSB8fAotLSAgICAgICAgICAgICAoaW50ZXJuYWw6OlN5c3RlbVBhZ2VTaXpl KCkgPT0gKHNpemVfdHsxfSA8PCAxNCkpKTsKLSsgICAgICAgICAgICAgKGludGVybmFsOjpTeXN0 ZW1QYWdlU2l6ZSgpID09IChzaXplX3R7MX0gPDwgMTQpKSB8fAotKyAgICAgICAgICAgICAoaW50 ZXJuYWw6OlN5c3RlbVBhZ2VTaXplKCkgPT0gKHNpemVfdHsxfSA8PCAxNikpKTsKLSAjZW5kaWYK LSAKLSAgICAgOjpwYXJ0aXRpb25fYWxsb2M6OmludGVybmFsOjpTY29wZWRHdWFyZCBndWFyZHts b2NrX307CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTIxLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBh dGNoIGIvY2hyb21pdW0tMTIxLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBiNjg2ZWQ3Li4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTEyMS1t aXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxNSArMCwwIEBA Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2NoZWNrX29wLmgubWlzc2lu Zy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9jaGVja19vcC5oCi0t LS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9jaGVja19vcC5oLm1pc3NpbmctaGVhZGVy LWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MDUuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvYmFzZS9jaGVja19vcC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA4ODY4 OTgyICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIEJBU0VfQ0hFQ0tfT1BfSF8KLSAj ZGVmaW5lIEJBU0VfQ0hFQ0tfT1BfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVk ZSA8Y3N0ZGRlZj4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDxzdHJpbmdfdmlldz4K LWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvY29udGFpbmVycy9mbGF0X21h cC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvY29u dGFpbmVycy9mbGF0X21hcC5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9jb250 YWluZXJzL2ZsYXRfbWFwLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDow NS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2NvbnRh aW5lcnMvZmxhdF9tYXAuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxMzg2OTA4OSArMDEwMAotQEAg LTUsNiArNSw3IEBACi0gI2lmbmRlZiBCQVNFX0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8KLSAjZGVm aW5lIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50Pgot ICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotICNpbmNsdWRlIDx0dXBsZT4KLSAjaW5jbHVkZSA8dHlw ZV90cmFpdHM+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2RlYnVnL3By b2ZpbGVyLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFz ZS9kZWJ1Zy9wcm9maWxlci5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9kZWJ1 Zy9wcm9maWxlci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MDUuMDAw MDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9kZWJ1Zy9wcm9m aWxlci5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA5ODY5MDA0ICswMTAwCi1AQCAtOCw2ICs4LDcg QEAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0gI2luY2x1ZGUgPHN0ZGludC5oPgotIAotKyNpbmNs dWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImJhc2UvYmFz ZV9leHBvcnQuaCIKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvbWVtb3J5 L3JlZl9jb3VudGVkLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0w MSAxOToxMDowNS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9i YXNlL21lbW9yeS9yZWZfY291bnRlZC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA4ODY4OTgyICsw MTAwCi1AQCAtNiw2ICs2LDcgQEAKLSAjZGVmaW5lIEJBU0VfTUVNT1JZX1JFRl9DT1VOVEVEX0hf Ci0gCi0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotKyNpbmNsdWRlIDxsaW1pdHM+Ci0gCi0gI2luY2x1 ZGUgPGxpbWl0cz4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLWRpZmYgLXVwIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZh Y2VfdHJhY2tlci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tl ci5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9i dWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWlzc2luZy1oZWFkZXItZmlsZXMJ MjAyMy0xMS0wMSAxOToxMDoxMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42 MDQ1LjEwNS9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNl X3RyYWNrZXIuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNDg2OTExMCArMDEwMAotQEAgLTcsNiAr Nyw3IEBACi0gCi0gI2luY2x1ZGUgPHN0ZGludC5oPgotIAotKyNpbmNsdWRlIDxjc3RkaW50Pgot ICNpbmNsdWRlIDxtYXA+Ci0gCi0gI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9mbGF0X3NldC5o IgotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL2Jyb3dzZXIvd2ViYXV0 aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1pc3NpbmctaGVhZGVyLWZp bGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhl bnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUu MTA1L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2df bW9kZWwuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjE2LjAwMDAwMDAw MCArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3dlYmF1 dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaAkyMDIzLTExLTA2IDE0OjM0 OjAxLjgxNzg2OTE3NCArMDEwMAotQEAgLTgsNiArOCw3IEBACi0gI2luY2x1ZGUgPG1lbW9yeT4K LSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci0rI2luY2x1ZGUgPHZhcmlh bnQ+Ci0gCi0gI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9zcGFuLmgiCi0gI2luY2x1ZGUgImJh c2UvZnVuY3Rpb25hbC9jYWxsYmFja19mb3J3YXJkLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwu Y2MubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL3Rl c3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCi0tLS0gY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBs LmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MTYuMDAwMDAwMDAwICsw MTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVy L2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE4ODY5MTk2ICsw MTAwCi1AQCAtMTEsNiArMTEsNyBAQAotICNpbmNsdWRlIDxxdWV1ZT4KLSAjaW5jbHVkZSA8dXRp bGl0eT4KLSAjaW5jbHVkZSA8dmVjdG9yPgotKyNpbmNsdWRlIDxjc3RyaW5nPgotIAotICNpbmNs dWRlICJiYXNlL2NoZWNrLmgiCi0gI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCi1k aWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUv YnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1 dG9maWxsX2FibGF0aW9uX3N0dWR5LmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21w b25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1p c3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MTkuMDAwMDAwMDAwICswMTAwCi0r KysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dz ZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNTg2OTEz MiArMDEwMAotQEAgLTcsNiArNyw3IEBACi0gCi0gI2luY2x1ZGUgPHN0ZGludC5oPgotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gY2xhc3MgR1VSTDsKLWRp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAv Y3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGll bnQuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9h cHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0w MSAxOToxMDoyMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9j b21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCTIwMjMtMTEt MDYgMTQ6MzQ6MDEuODEzODY5MDg5ICswMTAwCi1AQCAtNyw2ICs3LDcgQEAKLSAKLSAjaW5jbHVk ZSA8c3RkaW50Lmg+Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4K LSAKLSAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVu dF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0 b3JhZ2VfdmFsaWRhdG9yLmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRz L2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1p c3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjEuMDAwMDAwMDAwICswMTAwCi0r KysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQv aW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgx NDg2OTExMCArMDEwMAotQEAgLTcsNiArNyw3IEBACi0gCi0gI2luY2x1ZGUgPHN0ZGludC5oPgot IAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gbmFtZXNwYWNl IGZlYXR1cmVfZW5nYWdlbWVudCB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9j b21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdl X3ZhbGlkYXRvci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3Jh Z2VfdmFsaWRhdG9yLmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2Zl YXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5o Lm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjEuMDAwMDAwMDAwICswMTAw Ci0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1l bnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTExLTA2IDE0 OjM0OjAxLjgxNDg2OTExMCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05F TlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElE QVRPUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxf TkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4K LSAjaW5jbHVkZSA8c3RyaW5nPgotIAotICNpbmNsdWRlICJjb21wb25lbnRzL2ZlYXR1cmVfZW5n YWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oIgotZGlmZiAtdXAgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNl X2hlYWRfbW9kZWwuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCi0tLS0g Y2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2 aWNlX2hlYWRfbW9kZWwuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjIx LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMv b21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgJMjAyMy0xMS0wNiAxNDozNDow MS44MTU4NjkxMzIgKzAxMDAKLUBAIC03LDYgKzcsNyBAQAotIAotICNpbmNsdWRlIDxzdGRpbnQu aD4KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRl IDx1dGlsaXR5PgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42 MDQ1LjEwNS9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRp b24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5l cmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv Y29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3 b3JkX2dlbmVyYXRvci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjEu MDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9w YXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRv ci5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE0ODY5MTEwICswMTAwCi1AQCAtNyw2ICs3LDcgQEAK LSAKLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPHN0cmluZz4KLSAKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBv bmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1pc3Np bmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvcGF5bWVu dHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCi0tLS0gY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJp bnRfcGFyc2VyLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDoyMS4wMDAw MDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL3BheW1l bnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAkyMDIzLTExLTA2IDE0OjM0 OjAxLjgxNTg2OTEzMiArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRT X1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KLSAjZGVmaW5l IENPTVBPTkVOVFNfUEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9I XwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAjaW5jbHVk ZSA8c3RkaW50Lmg+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9naW4vdGlt ZV9jbGFtcGVyLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv Z2luL3RpbWVfY2xhbXBlci5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ2luL3RpbWVf Y2xhbXBlci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjguMDAwMDAw MDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ2luL3RpbWVfY2xhbXBlci5o CTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE4ODY5MTk2ICswMTAwCi1AQCAtNDgsNyArNDgsNyBAQCBj bGFzcyBHSU5fRVhQT1JUIFRpbWVDbGFtcGVyIHsKLSAgICAgY29uc3QgaW50NjRfdCBtaWNyb3Mg PSBub3dfbWljcm9zICUgMTAwMDsKLSAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZp Y2VzIHdpdGggdGltZXMgYmVmb3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5Ci0gICAgIC8vIGNv bmZpZ3VyZWQgaW5jb3JyZWN0bHkpLgotLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlv bk1pY3JvcyA8IDEwMDApIHsKLSsgICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlv bk1pY3JvcyA8IDEwMDApIHsKLSAgICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7Ci0gICAg IH0KLSAgICAgcmV0dXJuIENsYW1wVGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOwot ZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9p bmZvLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ3B1L2Nv bmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9ncHUv Y29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAx IDE5OjEwOjI4LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2dw dS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA5ODY5MDA0 ICswMTAwCi1AQCAtNyw2ICs3LDcgQEAKLSAKLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gCi0rI2lu Y2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dmVjdG9yPgot IAotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvbmV0L2Jhc2UvbmV0X2V4cG9ydC5o Lm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L25ldC9iYXNlL25l dF9leHBvcnQuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L25ldC9iYXNlL25ldF9leHBv cnQuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjMyLjAwMDAwMDAwMCAr MDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L25ldC9iYXNlL25ldF9leHBvcnQuaAky MDIzLTExLTA2IDE0OjM0OjAxLjgwOTg2OTAwNCArMDEwMAotQEAgLTUsNiArNSw4IEBACi0gI2lm bmRlZiBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCi0gI2RlZmluZSBORVRfQkFTRV9ORVRfRVhQT1JU X0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gLy8gRGVmaW5lcyBORVRfRVhQT1JUIHNv IHRoYXQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRlZCBieSB0aGUgbmV0IG1vZHVsZSBjYW4KLSAv LyBiZSBleHBvcnRlZCB0byBjb25zdW1lcnMsIGFuZCBORVRfRVhQT1JUX1BSSVZBVEUgdGhhdCBh bGxvd3MgdW5pdCB0ZXN0cyB0bwotIC8vIGFjY2VzcyBmZWF0dXJlcyBub3QgaW50ZW5kZWQgdG8g YmUgdXNlZCBkaXJlY3RseSBieSByZWFsIGNvbnN1bWVycy4KLWRpZmYgLXVwIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaC5taXNzaW5nLWhlYWRl ci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9p bmZvLmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9wZGYvZG9jdW1lbnRfYXR0YWNobWVu dF9pbmZvLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDozNC4wMDAwMDAw MDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9wZGYvZG9jdW1lbnRfYXR0YWNo bWVudF9pbmZvLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTU4NjkxMzIgKzAxMDAKLUBAIC03LDYg KzcsNyBAQAotIAotICNpbmNsdWRlIDxzdGRpbnQuaD4KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4K LSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIAotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgu bWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgKLS0tLSBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Bl cm1pc3Npb24uaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjM0LjAwMDAw MDAwMCArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3NhbmRib3gvbGludXgvc3lz Y2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEu ODA5ODY5MDA0ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFNBTkRCT1hfTElOVVhf U1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXwotICNkZWZpbmUgU0FOREJP WF9MSU5VWF9TWVNDQUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCi0gCi0rI2lu Y2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGJpdHNldD4KLSAjaW5jbHVkZSA8Y3N0ZGludD4K LSAjaW5jbHVkZSA8c3RyaW5nPgotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2Vy dmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvZ2VuZXJpY19zZW5zb3Ivc2Vuc29yX3JlYWRpbmcuaC5t aXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9zZXJ2aWNlcy9kZXZp Y2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCi0tLS0gY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvc2VydmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvZ2VuZXJpY19zZW5z b3Ivc2Vuc29yX3JlYWRpbmcuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEw OjM1LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3NlcnZpY2Vz L2RldmljZS9wdWJsaWMvY3BwL2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgJMjAyMy0x MS0wNiAxNDozNDowMS44MjA4NjkyMzggKzAxMDAKLUBAIC04LDYgKzgsOSBAQAotICNpbmNsdWRl IDxzdGRkZWYuaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gCi0rI2luY2x1ZGUgPGNzdGRkZWY+ Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgotIAotIG5h bWVzcGFjZSBkZXZpY2UgewotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2tpYS9l eHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MKLS0tLSBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYy5taXNzaW5nLWhlYWRl ci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjM1LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjCTIwMjMtMTEtMDYg MTQ6MzQ6MDEuODE4ODY5MTk2ICswMTAwCi1AQCAtMyw2ICszLDcgQEAKLSAvLyBmb3VuZCBpbiB0 aGUgTElDRU5TRSBmaWxlLgotIAotICNpbmNsdWRlICJza2lhL2V4dC9za2NvbG9yc3BhY2VfdHJm bi5oIgotKyNpbmNsdWRlIDxjbWF0aD4KLSAKLSAjaW5jbHVkZSA8Y21hdGg+Ci0gCi1kaWZmIC11 cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3Ry aW5ncy9zdHJpbmdfdmlldy5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYw NDUuMTA1L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgK LS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wv c3RyaW5ncy9zdHJpbmdfdmlldy5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6 MTA6MzYuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRf cGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAkyMDIzLTExLTA2IDE0 OjM0OjAxLjgwOTg2OTAwNCArMDEwMAotQEAgLTI3LDYgKzI3LDcgQEAKLSAjaWZuZGVmIEFCU0xf U1RSSU5HU19TVFJJTkdfVklFV19IXwotICNkZWZpbmUgQUJTTF9TVFJJTkdTX1NUUklOR19WSUVX X0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFsZ29yaXRobT4KLSAjaW5j bHVkZSA8Y2Fzc2VydD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLWRpZmYgLXVwIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJz LmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFy dHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaAotLS0tIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgu bWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMTo1OS4wMDAwMDAwMDAgKzAxMDAK LSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dM U0xBTkcvU2hhZGVyVmFycy5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODEwODY5MDI1ICswMTAwCi1A QCAtMTAsNiArMTAsNyBAQAotICNpZm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCi0gI2RlZmlu ZSBHTFNMQU5HX1NIQURFUlZBUlNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVk ZSA8YWxnb3JpdGhtPgotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8Y3N0ZGludD4KLWRp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9j b21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgubWlzc2luZy1oZWFkZXIt ZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2Nv bW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaAotLS0tIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dl Yl9ibHVldG9vdGhfZGV2aWNlX2lkLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAx OToxMDozNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2Rldmlj ZV9pZC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODEwODY5MDI1ICswMTAwCi1AQCAtNyw2ICs3LDcg QEAKLSAKLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2lu Y2x1ZGUgPGFycmF5PgotICNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxmdW5jdGlvbmFs PgotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvZGF3bi9zcmMv dGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgubWlzc2luZy1oZWFkZXIt ZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9s YW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42 MDQ1LjEwNS90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9w YXJzZXIvbmFtZXIuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEzOjUwLjAw MDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2Rh d24vc3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oCTIwMjMtMTEt MDYgMTQ6MzQ6MDEuODEwODY5MDI1ICswMTAwCi1AQCAtMTUsNiArMTUsNyBAQAotICNpZm5kZWYg U1JDX1RJTlRfTEFOR19TUElSVl9SRUFERVJfQVNUX1BBUlNFUl9OQU1FUl9IXwotICNkZWZpbmUg U1JDX1RJTlRfTEFOR19TUElSVl9SRUFERVJfQVNUX1BBUlNFUl9OQU1FUl9IXwotIAotKyNpbmNs dWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHVub3JkZXJlZF9t YXA+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaC5taXNzaW5nLWhlYWRlci1m aWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3Jv dXRlcl9saW5rLmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9pcGN6 L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAx OToxMToyMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgJMjAyMy0xMS0wNiAxNDozNDowMS44 MTk4NjkyMTcgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgSVBDWl9TUkNfSVBDWl9S T1VURVJfTElOS19IXwotICNkZWZpbmUgSVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXwotIAot KyNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGZ1bmN0 aW9uYWw+Ci0gI2luY2x1ZGUgPG1lbW9yeT4KLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUu MTA1L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVz L3RvbmVzLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3Ro aXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVz LmNjCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29s b3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MubWlzc2luZy1oZWFkZXItZmls ZXMJMjAyMy0xMS0wMSAxOToxMTo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9w YWxldHRlcy90b25lcy5jYwkyMDIzLTExLTA2IDE0OjM0OjAxLjgxOTg2OTIxNyArMDEwMAotQEAg LTE0LDYgKzE0LDcgQEAKLSAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAgKi8K LSAKLSsjaW5jbHVkZSA8Y21hdGg+Ci0gI2luY2x1ZGUgImNwcC9wYWxldHRlcy90b25lcy5oIgot IAotICNpbmNsdWRlICJjcHAvY2FtL2NhbS5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0 NS4xMDUvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9k bnNfc2RfdHh0X3JlY29yZC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYw NDUuMTA1L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMv ZG5zX3NkX3R4dF9yZWNvcmQuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3Bh cnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNv cmQuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjExOjU5LjAwMDAwMDAwMCAr MDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4v c3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAkyMDIzLTExLTA2 IDE0OjM0OjAxLjgxMDg2OTAyNSArMDEwMAotQEAgLTcsNiArNyw3IEBACi0gCi0gI2luY2x1ZGUg PHN0ZGludC5oPgotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxmdW5jdGlvbmFs PgotICNpbmNsdWRlIDxtYXA+Ci0gI2luY2x1ZGUgPHNldD4KLWRpZmYgLXVwIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFn cy5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3Bh cnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oCi0tLS0gY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdz LmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxNDo0OC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3Rh bnRzL2Fubm90YXRpb25fZmxhZ3MuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNTg2OTEzMiArMDEw MAotQEAgLTcsNiArNyw4IEBACi0gCi0gI2luY2x1ZGUgPHN0ZGludC5oPgotIAotKyNpbmNsdWRl IDxjc3RkaW50PgotKwotIG5hbWVzcGFjZSBwZGZpdW0gewotIG5hbWVzcGFjZSBhbm5vdGF0aW9u X2ZsYWdzIHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5 L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1pc3NpbmctaGVhZGVyLWZp bGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2Zp bGVyL2luc3RydW1lbnRhdGlvbi5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRf cGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgubWlzc2luZy1oZWFk ZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMjowMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVt ZW50YXRpb24uaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxMzg2OTA4OSArMDEwMAotQEAgLTE3LDYg KzE3LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2RlZmluZSBSVVlfUlVZ X1BST0ZJTEVSX0lOU1RSVU1FTlRBVElPTl9IXwotIAotICNpZmRlZiBSVVlfUFJPRklMRVIKLSsj aW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDxjc3RkaW8+Ci0gI2luY2x1ZGUgPG11dGV4Pgot ICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5taXNzaW5nLWhlYWRl ci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9z cmMvU3lzdGVtL0xSVUNhY2hlLmhwcAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1pc3NpbmctaGVhZGVy LWZpbGVzCTIwMjMtMTEtMDEgMTk6MTI6MTUuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNo ZS5ocHAJMjAyMy0xMS0wNiAxNDozNDowMS44MTA4NjkwMjUgKzAxMDAKLUBAIC0xNyw2ICsxNyw3 IEBACi0gCi0gI2luY2x1ZGUgIlN5c3RlbS9EZWJ1Zy5ocHAiCi0gCi0rI2luY2x1ZGUgPGNzdGRp bnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUg PGZ1bmN0aW9uYWw+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0 eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4 L1NpZ25hbHMuaW5jLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9T dXBwb3J0L1VuaXgvU2lnbmFscy5pbmMKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9y dC9Vbml4L1NpZ25hbHMuaW5jLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTI6 NDIuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFy dHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5p eC9TaWduYWxzLmluYwkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNDg2OTExMCArMDEwMAotQEAgLTQ1 LDYgKzQ1LDcgQEAKLSAjaW5jbHVkZSAibGx2bS9TdXBwb3J0L1NhdmVBbmRSZXN0b3JlLmgiCi0g I2luY2x1ZGUgImxsdm0vU3VwcG9ydC9yYXdfb3N0cmVhbS5oIgotICNpbmNsdWRlIDxhbGdvcml0 aG0+Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8 c3lzZXhpdHMuaD4KLSAjaWZkZWYgSEFWRV9CQUNLVFJBQ0UKLWRpZmYgLXVwIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5l bHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJu ZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90 aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3Nw ZWN0cm9ncmFtLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMzoyMC4wMDAw MDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS90Zmxp dGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgJMjAy My0xMS0wNiAxNDozNDowMS44MTM4NjkwODkgKzAxMDAKLUBAIC0zMSw2ICszMSw3IEBAIGxpbWl0 YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICNpZm5kZWYgVEVOU09SRkxPV19MSVRFX0tFUk5F TFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KLSAjZGVmaW5lIFRFTlNPUkZMT1dfTElURV9LRVJO RUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2lu Y2x1ZGUgPGNvbXBsZXg+Ci0gI2luY2x1ZGUgPGRlcXVlPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1k aWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92 dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2Fs bG9jLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRf cGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0 ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhp cmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMv ZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEt MDEgMTk6MTI6NDUuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv dGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXll cnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE3ODY5 MTc0ICswMTAwCi1AQCAtMjg4NCw2ICsyODg0LDcgQEAgc3RhdGljIHZvaWQgdm1hX2FsaWduZWRf ZnJlZSh2b2lkKiBWTUFfTgotIAotIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxl IGZ1bmN0aW9uczogdm1hQnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3RyaW5nLgotICNp ZiBWTUFfU1RBVFNfU1RSSU5HX0VOQUJMRUQKLSsjaW5jbHVkZSA8c3RkaW8uaD4KLSAgICAgc3Rh dGljIGlubGluZSB2b2lkIFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIs IHNpemVfdCBzdHJMZW4sIHVpbnQzMl90IG51bSkKLSAgICAgewotICAgICAgICAgc25wcmludGYo b3V0U3RyLCBzdHJMZW4sICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtKSk7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8v dXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4 ZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvYXVk aW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEt MDEgMTk6MTQ6MDUuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv dGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5jYwkyMDIzLTEx LTA2IDE0OjM0OjAxLjgxOTg2OTIxNyArMDEwMAotQEAgLTgsNiArOCw4IEBACi0gICogIGJlIGZv dW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgot ICAqLwotIAotKyNpbmNsdWRlIDxjc3RyaW5nPgotKwotICNpbmNsdWRlICJhdWRpby91dGlsaXR5 L2NoYW5uZWxfbWl4ZXIuaCIKLSAKLSAjaW5jbHVkZSAiYXVkaW8vdXRpbGl0eS9jaGFubmVsX21p eGluZ19tYXRyaXguaCIKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3Bh cnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1oZWFkZXIt ZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92 aWRlby9oMjY0L3Nwc19wYXJzZXIuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1oZWFk ZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxNDowNi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3Bz X3BhcnNlci5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE5ODY5MjE3ICswMTAwCi1AQCAtMTEsNiAr MTEsNyBAQAotICNpZm5kZWYgQ09NTU9OX1ZJREVPX0gyNjRfU1BTX1BBUlNFUl9IXwotICNkZWZp bmUgQ09NTU9OX1ZJREVPX0gyNjRfU1BTX1BBUlNFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgiCi0gI2luY2x1ZGUgInJ0Y19iYXNl L2JpdHN0cmVhbV9yZWFkZXIuaCIKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19w dWJsaWMuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGlj LmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxl cy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgubWlzc2luZy1oZWFkZXItZmls ZXMJMjAyMy0xMS0wMSAxOToxNDoxMS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21t b25fdHlwZXNfcHVibGljLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTk4NjkyMTcgKzAxMDAKLUBA IC0xMSw2ICsxMSw3IEBACi0gI2lmbmRlZiBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1PTl9U WVBFU19QVUJMSUNfSF8KLSAjZGVmaW5lIE1PRFVMRVNfSU5DTFVERV9NT0RVTEVfQ09NTU9OX1RZ UEVTX1BVQkxJQ19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxsaW1pdHM+ Ci0gCi0gI2luY2x1ZGUgImFic2wvdHlwZXMvb3B0aW9uYWwuaCIKLWRpZmYgLXVwIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91 dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYy5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRp bGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFk ZXIuY2MubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxNDoxMi4wMDAwMDAwMDAg KzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9k dWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MJMjAyMy0xMS0wNiAx NDozNDowMS44MTk4NjkyMTcgKzAxMDAKLUBAIC0xMCw2ICsxMCw3IEBACi0gCi0gI2luY2x1ZGUg Im1vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmgiCi0gCi0rI2lu Y2x1ZGUgPGNzdHJpbmc+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dmVjdG9yPgot IAotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdWkvYmFzZS9wcmVkaWN0aW9uL2th bG1hbl9maWx0ZXIuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCi0tLS0gY2hyb21pdW0tMTE5LjAu NjA0NS4xMDUvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5taXNzaW5nLWhlYWRl ci1maWxlcwkyMDIzLTExLTAxIDE5OjExOjI4LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgJMjAyMy0x MS0wNiAxNDozNDowMS44MTQ4NjkxMTAgKzAxMDAKLUBAIC03LDYgKzcsOCBAQAotIAotICNpbmNs dWRlIDxzdGRpbnQuaD4KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSsKLSAjaW5jbHVkZSAiYmFz ZS9jb21wb25lbnRfZXhwb3J0LmgiCi0gI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9tYXRyaXgz X2YuaCIKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3VpL2dmeC9nZW9tZXRy eS9saW5lYXJfZ3JhZGllbnQuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42 MDQ1LjEwNS91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgKLS0tLSBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWlzc2luZy1o ZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMToyOC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJv bWl1bS0xMTkuMC42MDQ1LjEwNS91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgJMjAy My0xMS0wNiAxNDozNDowMS44MTI4NjkwNjggKzAxMDAKLUBAIC03LDYgKzcsNyBAQAotIAotICNp bmNsdWRlIDxzdGRpbnQuaD4KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YXJy YXk+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGNzdGRpbnQ+Ci1kaWZmIC11cCBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaC5taXNz aW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9nZngvbGludXgvZHJt X3V0aWxfbGludXguaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3VpL2dmeC9saW51eC9k cm1fdXRpbF9saW51eC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTE6Mjgu MDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdWkvZ2Z4L2xpbnV4 L2RybV91dGlsX2xpbnV4LmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTk4NjkyMTcgKzAxMDAKLUBA IC05LDYgKzksOCBAQAotIAotICNpbmNsdWRlICJ1aS9nZngvYnVmZmVyX3R5cGVzLmgiCi0gCi0r I2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gbmFtZXNwYWNlIHVpIHsKLSAKLSBpbnQgR2V0Rm91ckND Rm9ybWF0RnJvbUJ1ZmZlckZvcm1hdChnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQpOwotZGlmZiAt dXAgY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvY3J5cHRvL2hrZGYuaC5tZSBjaHJvbWl1bS0xMjEu MC42MTY3LjEzOS9jcnlwdG8vaGtkZi5oCi0tLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvY3J5 cHRvL2hrZGYuaC5tZQkyMDI0LTAyLTAzIDE3OjI0OjQ5Ljk1Nzk0OTY3MCArMDEwMAotKysrIGNo cm9taXVtLTEyMS4wLjYxNjcuMTM5L2NyeXB0by9oa2RmLmgJMjAyNC0wMi0wMyAxNzoyNjowNS43 NTMzMTIxNzggKzAxMDAKLUBAIC03LDYgKzcsNyBAQAotIAotICNpbmNsdWRlIDxzdGRkZWYuaD4K LSAKLSsjaW5jbHVkZSA8dmVjdG9yPgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHN0 cmluZ192aWV3PgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvdWkvZGlzcGxh eS90eXBlcy9kaXNwbGF5X2NvbG9yX21hbmFnZW1lbnQuaC5tZSBjaHJvbWl1bS0xMjEuMC42MTY3 LjEzOS91aS9kaXNwbGF5L3R5cGVzL2Rpc3BsYXlfY29sb3JfbWFuYWdlbWVudC5oCi0tLS0gY2hy b21pdW0tMTIxLjAuNjE2Ny4xMzkvdWkvZGlzcGxheS90eXBlcy9kaXNwbGF5X2NvbG9yX21hbmFn ZW1lbnQuaC5tZQkyMDI0LTAyLTAzIDE4OjU1OjM0Ljg4OTQ5OTEwMSArMDEwMAotKysrIGNocm9t aXVtLTEyMS4wLjYxNjcuMTM5L3VpL2Rpc3BsYXkvdHlwZXMvZGlzcGxheV9jb2xvcl9tYW5hZ2Vt ZW50LmgJMjAyNC0wMi0wMyAxODo1NTo1OS42MDg5NDU2MjQgKzAxMDAKLUBAIC02LDYgKzYsNyBA QAotICNkZWZpbmUgVUlfRElTUExBWV9UWVBFU19ESVNQTEFZX0NPTE9SX01BTkFHRU1FTlRfSF8K LSAKLSAjaW5jbHVkZSA8dmVjdG9yPgotKyNpbmNsdWRlIDxtZW1vcnk+Ci0gCi0gI2luY2x1ZGUg InRoaXJkX3BhcnR5L3NraWEvbW9kdWxlcy9za2Ntcy9za2Ntcy5oIgotICNpbmNsdWRlICJ1aS9k aXNwbGF5L3R5cGVzL2Rpc3BsYXlfdHlwZXNfZXhwb3J0LmgiCi1kaWZmIC11cCBjaHJvbWl1bS0x MjEuMC42MTY3LjEzOS91aS9nZngveC92aXN1YWxfbWFuYWdlci5jYy5tZSBjaHJvbWl1bS0xMjEu MC42MTY3LjEzOS91aS9nZngveC92aXN1YWxfbWFuYWdlci5jYwotLS0tIGNocm9taXVtLTEyMS4w LjYxNjcuMTM5L3VpL2dmeC94L3Zpc3VhbF9tYW5hZ2VyLmNjLm1lCTIwMjQtMDItMDMgMjE6MjA6 MzIuMTI2Mjg1NTc4ICswMTAwCi0rKysgY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvdWkvZ2Z4L3gv dmlzdWFsX21hbmFnZXIuY2MJMjAyNC0wMi0wMyAyMToyMDo1MC4yNzI2MDcyNDggKzAxMDAKLUBA IC0yLDYgKzIsOCBAQAotIC8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5 IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSAvLyBmb3VuZCBpbiB0aGUgTElDRU5T RSBmaWxlLgotIAotKyNpbmNsdWRlIDxiaXRzZXQ+Ci0rCi0gI2luY2x1ZGUgInVpL2dmeC94L3Zp c3VhbF9tYW5hZ2VyLmgiCi0gCi0gI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfbnVtYmVy X2NvbnZlcnNpb25zLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9zaW1wbGVfZm9udF9kYXRhLmgubWUg Y2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZm9udHMvc2ltcGxlX2ZvbnRfZGF0YS5oCi0tLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvc2ltcGxlX2ZvbnRfZGF0 YS5oLm1lCTIwMjQtMDItMDMgMjI6NDc6MDUuNjMyNzEzMzgxICswMTAwCi0rKysgY2hyb21pdW0t MTIxLjAuNjE2Ny4xMzkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMv c2ltcGxlX2ZvbnRfZGF0YS5oCTIwMjQtMDItMDMgMjI6NDc6MzAuNzg4MjkzMDI3ICswMTAwCi1A QCAtMjYsNiArMjYsNyBAQAotIAotICNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPHV0aWxp dHk+Ci0rI2luY2x1ZGUgPG11dGV4PgotIAotICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcu aCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMv Y2FudmFzX3JvdGF0aW9uX2luX3ZlcnRpY2FsLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42 MTY3LjEzOS9jaHJvbWUvYnJvd3Nlci9wZXJmb3JtYW5jZV9tYW5hZ2VyL3BvbGljaWVzL3Byb2Jh YmlsaXR5X2Rpc3RyaWJ1dGlvbi5oLm1lIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L2Nocm9tZS9i cm93c2VyL3BlcmZvcm1hbmNlX21hbmFnZXIvcG9saWNpZXMvcHJvYmFiaWxpdHlfZGlzdHJpYnV0 aW9uLmgKLS0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS9jaHJvbWUvYnJvd3Nlci9wZXJmb3Jt YW5jZV9tYW5hZ2VyL3BvbGljaWVzL3Byb2JhYmlsaXR5X2Rpc3RyaWJ1dGlvbi5oLm1lCTIwMjQt MDItMDQgMDk6MjY6MDIuMjM5NDI3ODYwICswMTAwCi0rKysgY2hyb21pdW0tMTIxLjAuNjE2Ny4x MzkvY2hyb21lL2Jyb3dzZXIvcGVyZm9ybWFuY2VfbWFuYWdlci9wb2xpY2llcy9wcm9iYWJpbGl0 eV9kaXN0cmlidXRpb24uaAkyMDI0LTAyLTA0IDA5OjI2OjEwLjA1MTU2NTA4MSArMDEwMAotQEAg LTUsNiArNSw3IEBACi0gI2lmbmRlZiBDSFJPTUVfQlJPV1NFUl9QRVJGT1JNQU5DRV9NQU5BR0VS X1BPTElDSUVTX1BST0JBQklMSVRZX0RJU1RSSUJVVElPTl9IXwotICNkZWZpbmUgQ0hST01FX0JS T1dTRVJfUEVSRk9STUFOQ0VfTUFOQUdFUl9QT0xJQ0lFU19QUk9CQUJJTElUWV9ESVNUUklCVVRJ T05fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLSAjaW5j bHVkZSA8dmVjdG9yPgotIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEyMS1weXRob24zLWludmFs aWQtZXNjYXBlLXNlcXVlbmNlLnBhdGNoIGIvY2hyb21pdW0tMTIxLXB5dGhvbjMtaW52YWxpZC1l c2NhcGUtc2VxdWVuY2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYmY1 YjQuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTIxLXB5dGhvbjMtaW52YWxpZC1lc2NhcGUtc2Vx dWVuY2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi1kaWZmIC11cCBjaHJv bWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5p emUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Lm1lIGNocm9taXVt LTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9w eV92dWxjYW5pemUvaHRtbF9nZW5lcmF0aW9uX2NvbnRyb2xsZXIucHkKLS0tLSBjaHJvbWl1bS0x MjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlf dnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Lm1lCTIwMjQtMDEtMTUgMjA6 NDg6MjguMTc3Mzk3MTAyICswMTAwCi0rKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9w YXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVy YXRpb25fY29udHJvbGxlci5weQkyMDI0LTAxLTE1IDIwOjQ4OjQ2LjQyNzc2ODMyOCArMDEwMAot QEAgLTE4LDcgKzE4LDcgQEAgY2xhc3MgSFRNTEdlbmVyYXRpb25Db250cm9sbGVyKG9iamVjdCk6 Ci0gCi0gICBkZWYgR2V0SFRNTEZvcklubGluZVN0eWxlc2hlZXQoc2VsZiwgY29udGVudHMpOgot ICAgICBpZiBzZWxmLmN1cnJlbnRfbW9kdWxlIGlzIE5vbmU6Ci0tICAgICAgaWYgcmUuc2VhcmNo KCd1cmxcKC4rXCknLCBjb250ZW50cyk6Ci0rICAgICAgaWYgcmUuc2VhcmNoKHIndXJsXCguK1wp JywgY29udGVudHMpOgotICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAotICAgICAgICAgICAgICdE ZWZhdWx0IEhUTUxHZW5lcmF0aW9uQ29udHJvbGxlciBjYW5ub3QgaGFuZGxlIGlubGluZSBzdHls ZSB1cmxzJykKLSAgICAgICByZXR1cm4gY29udGVudHMKLWRpZmYgLXVwIGNocm9taXVtLTEyMS4w LjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxj YW5pemUvanNfdXRpbHMucHkubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9j YXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9qc191dGlscy5weQotLS0t IGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1 bGNhbml6ZS9weV92dWxjYW5pemUvanNfdXRpbHMucHkubWUJMjAyNC0wMS0xNSAyMDo0OTozOS4z NjM4NDUwODMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2Nh dGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5CTIwMjQt MDEtMTUgMjA6NDk6NTcuNDA3MjEyMDk4ICswMTAwCi1AQCAtNCw0ICs0LDQgQEAKLSAKLSAKLSBk ZWYgRXNjYXBlSlNJZk5lZWRlZChqcyk6Ci0tICByZXR1cm4ganMucmVwbGFjZSgnPC9zY3JpcHQ+ JywgJzxcL3NjcmlwdD4nKQotKyAgcmV0dXJuIGpzLnJlcGxhY2Uocic8L3NjcmlwdD4nLCByJzxc L3NjcmlwdD4nKQotZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9j YXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMu cHkubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24v cHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkKLS0tLSBjaHJvbWl1 bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUv cHlfdnVsY2FuaXplL3BhcnNlX2h0bWxfZGVwcy5weS5tZQkyMDI0LTAxLTE1IDIwOjUwOjExLjgx OTUwNTI1NCArMDEwMAotKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0 YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5 CTIwMjQtMDEtMTUgMjA6NTA6MzguNjExMDUwMjEzICswMTAwCi1AQCAtMjkzLDYgKzI5Myw2IEBA IGNsYXNzIEhUTUxNb2R1bGVQYXJzZXIoKToKLSAgICAgICBodG1sID0gJycKLSAgICAgZWxzZToK LSAgICAgICBpZiBodG1sLmZpbmQoJzwgL3NjcmlwdD4nKSAhPSAtMToKLS0gICAgICAgIHJhaXNl IEV4Y2VwdGlvbignRXNjYXBlIHNjcmlwdCB0YWdzIHdpdGggPFwvc2NyaXB0PicpCi0rICAgICAg ICByYWlzZSBFeGNlcHRpb24ocidFc2NhcGUgc2NyaXB0IHRhZ3Mgd2l0aCA8XC9zY3JpcHQ+JykK LSAKLSAgICAgcmV0dXJuIEhUTUxNb2R1bGVQYXJzZXJSZXN1bHRzKGh0bWwpCi1kaWZmIC11cCBj aHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxj YW5pemUvcHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5Lm1lIGNocm9taXVtLTEyMS4wLjYxNjcu NTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUv c3R5bGVfc2hlZXQucHkKLS0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2Nh dGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5Lm1l CTIwMjQtMDEtMTUgMjA6NDg6NTkuOTE3MDQyNzA5ICswMTAwCi0rKysgY2hyb21pdW0tMTIxLjAu NjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNh bml6ZS9zdHlsZV9zaGVldC5weQkyMDI0LTAxLTE1IDIwOjQ5OjI0LjQwMjU0MDc2MSArMDEwMAot QEAgLTYwLDcgKzYwLDcgQEAgY2xhc3MgUGFyc2VkU3R5bGVTaGVldChvYmplY3QpOgotICAgICAg IHJldHVybiAndXJsKGRhdGE6aW1hZ2UvJXM7YmFzZTY0LCVzKScgJSAoZXh0WzE6XSwgZGF0YS5k ZWNvZGUoJ3V0Zi04JykpCi0gCi0gICAgICMgSSdtIGFzc3VtaW5nIHdlIG9ubHkgaGF2ZSB1cmwo KSdzIGFzc29jaWF0ZWQgd2l0aCBpbWFnZXMKLS0gICAgcmV0dXJuIHJlLnN1YigndXJsXCgoP1A8 cXVvdGU+InxcJ3wpKD9QPHVybD5bXiJcJygpXSopKD9QPXF1b3RlKVwpJywKLSsgICAgcmV0dXJu IHJlLnN1YihyJ3VybFwoKD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCcoKV0qKSg/UD1xdW90 ZSlcKScsCi0gICAgICAgICAgICAgICAgICAgSW5saW5lVXJsLCBzZWxmLmNvbnRlbnRzKQotIAot ICAgZGVmIEFwcGVuZERpcmVjdGx5RGVwZW5kZW50RmlsZW5hbWVzVG8oc2VsZiwgZGVwZW5kZW50 X2ZpbGVuYW1lcyk6Ci1AQCAtNzIsNyArNzIsNyBAQCBjbGFzcyBQYXJzZWRTdHlsZVNoZWV0KG9i amVjdCk6Ci0gICAgICAgcmFpc2UgRXhjZXB0aW9uKCdAaW1wb3J0cyBhcmUgbm90IHN1cHBvcnRl ZCcpCi0gCi0gICAgIG1hdGNoZXMgPSByZS5maW5kYWxsKAotLSAgICAgICAgJ3VybFwoKD86WyJ8 XCddPykoW14iXCcoKV0qKSg/OlsifFwnXT8pXCknLAotKyAgICAgICAgcid1cmxcKCg/OlsifFwn XT8pKFteIlwnKCldKikoPzpbInxcJ10/KVwpJywKLSAgICAgICAgIHNlbGYuY29udGVudHMpCi0g Ci0gICAgIGRlZiByZXNvbHZlX3VybCh1cmwpOgotZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2 Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdG9vbHMvc3JjL3NjcmlwdHMvZ24v Z2VuZXJhdGVfdnVsa2FuX2ljZF9qc29uLnB5Lm1lIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhp cmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXRvb2xzL3NyYy9zY3JpcHRzL2duL2dlbmVyYXRl X3Z1bGthbl9pY2RfanNvbi5weQotLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFy dHkvdnVsa2FuLWRlcHMvdnVsa2FuLXRvb2xzL3NyYy9zY3JpcHRzL2duL2dlbmVyYXRlX3Z1bGth bl9pY2RfanNvbi5weS5tZQkyMDI0LTAxLTE1IDIwOjUwOjU2LjgxMDQyMDQwMCArMDEwMAotKysr IGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXRv b2xzL3NyYy9zY3JpcHRzL2duL2dlbmVyYXRlX3Z1bGthbl9pY2RfanNvbi5weQkyMDI0LTAxLTE1 IDIwOjUyOjMzLjUwNjM4NzI2MSArMDEwMAotQEAgLTI4LDcgKzI4LDcgQEAgaW1wb3J0IHBsYXRm b3JtCi0gaW1wb3J0IHN5cwotIAotIGRlZiBnbG9iX3NsYXNoKGRpcm5hbWUpOgotLSAgICAiIiJM aWtlIHJlZ3VsYXIgZ2xvYiBidXQgcmVwbGFjZXMgXCB3aXRoIC8gaW4gcmV0dXJuZWQgcGF0aHMu IiIiCi0rICAgICIiIkxpa2UgcmVndWxhciBnbG9iIGJ1dCByZXBsYWNlcyBcXCB3aXRoIC8gaW4g cmV0dXJuZWQgcGF0aHMuIiIiCi0gICAgIHJldHVybiBbcy5yZXBsYWNlKCdcXCcsICcvJykgZm9y IHMgaW4gZ2xvYi5nbG9iKGRpcm5hbWUpXQotIAotIGRlZiBtYWluKCk6Ci1kaWZmIC11cCBjaHJv bWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0 aW9uLWxheWVycy9zcmMvc2NyaXB0cy9nbi9nZW5lcmF0ZV92dWxrYW5fbGF5ZXJzX2pzb24ucHku bWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4t dmFsaWRhdGlvbi1sYXllcnMvc3JjL3NjcmlwdHMvZ24vZ2VuZXJhdGVfdnVsa2FuX2xheWVyc19q c29uLnB5Ci0tLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVw cy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL3NjcmlwdHMvZ24vZ2VuZXJhdGVfdnVsa2Fu X2xheWVyc19qc29uLnB5Lm1lCTIwMjQtMDEtMTUgMjA6NTI6MzguMDE2NDc5MDAwICswMTAwCi0r KysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4t dmFsaWRhdGlvbi1sYXllcnMvc3JjL3NjcmlwdHMvZ24vZ2VuZXJhdGVfdnVsa2FuX2xheWVyc19q c29uLnB5CTIwMjQtMDEtMTUgMjA6NTI6NDguODYzNjk5NjQwICswMTAwCi1AQCAtMjgsNyArMjgs NyBAQCBpbXBvcnQgcGxhdGZvcm0KLSBpbXBvcnQgc3lzCi0gCi0gZGVmIGdsb2Jfc2xhc2goZGly bmFtZSk6Ci0tICAgICIiIkxpa2UgcmVndWxhciBnbG9iIGJ1dCByZXBsYWNlcyBcIHdpdGggLyBp biByZXR1cm5lZCBwYXRocy4iIiIKLSsgICAgIiIiTGlrZSByZWd1bGFyIGdsb2IgYnV0IHJlcGxh Y2VzIFxcIHdpdGggLyBpbiByZXR1cm5lZCBwYXRocy4iIiIKLSAgICAgcmV0dXJuIFtzLnJlcGxh Y2UoJ1xcJywgJy8nKSBmb3IgcyBpbiBnbG9iLmdsb2IoZGlybmFtZSldCi0gCi0gZGVmIG1haW4o KToKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMjEtcmV2ZXJ0LWF2MWVuYy1lbDkucGF0Y2ggYi9j aHJvbWl1bS0xMjEtcmV2ZXJ0LWF2MWVuYy1lbDkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDNkZWJiZTYuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTIxLXJldmVydC1hdjFl bmMtZWw5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIxICswLDAgQEAKLWRpZmYgLXVwIGNo cm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2VuY29kZV9h Y2NlbGVyYXRvci5jYy5tZSBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L21lZGlhL2dwdS92YWFwaS92 YWFwaV92aWRlb19lbmNvZGVfYWNjZWxlcmF0b3IuY2MKLS0tLSBjaHJvbWl1bS0xMTQuMC41NzM1 LjM1L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19lbmNvZGVfYWNjZWxlcmF0b3IuY2MubWUJ MjAyMy0wNS0yMSAxMDowNTowMC4zNTc4NjAzMjkgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTQuMC41 NzM1LjM1L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19lbmNvZGVfYWNjZWxlcmF0b3IuY2MJ MjAyMy0wNS0yMSAxMDoxODowOS42NjU0MzI3MzUgKzAyMDAKLUBAIC00MSw3ICs0MSw2IEBACi0g I2luY2x1ZGUgIm1lZGlhL2dwdS9ncHVfdmlkZW9fZW5jb2RlX2FjY2VsZXJhdG9yX2hlbHBlcnMu aCIKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L2gyNjRfZHBiLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2dw dS9tYWNyb3MuaCIKLS0jaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL2F2MV92YWFwaV92aWRlb19l bmNvZGVyX2RlbGVnYXRlLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2dwdS92YWFwaS9oMjY0X3ZhYXBp X3ZpZGVvX2VuY29kZXJfZGVsZWdhdGUuaCIKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3Zh X3N1cmZhY2UuaCIKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX2NvbW1vbi5oIgot QEAgLTIwMCw3ICsxOTksNyBAQCBib29sIFZhYXBpVmlkZW9FbmNvZGVBY2NlbGVyYXRvcjo6SW5p dGlhCi0gCi0gICBjb25zdCBWaWRlb0NvZGVjIGNvZGVjID0gVmlkZW9Db2RlY1Byb2ZpbGVUb1Zp ZGVvQ29kZWMoY29uZmlnLm91dHB1dF9wcm9maWxlKTsKLSAgIGlmIChjb2RlYyAhPSBWaWRlb0Nv ZGVjOjprSDI2NCAmJiBjb2RlYyAhPSBWaWRlb0NvZGVjOjprVlA4ICYmCi0tICAgICAgY29kZWMg IT0gVmlkZW9Db2RlYzo6a1ZQOSAmJiBjb2RlYyAhPSBWaWRlb0NvZGVjOjprQVYxKSB7Ci0rICAg ICAgY29kZWMgIT0gVmlkZW9Db2RlYzo6a1ZQOSkgewotICAgICBNRURJQV9MT0coRVJST1IsIG1l ZGlhX2xvZy5nZXQoKSkKLSAgICAgICAgIDw8ICJVbnN1cHBvcnRlZCBwcm9maWxlOiAiIDw8IEdl dFByb2ZpbGVOYW1lKGNvbmZpZy5vdXRwdXRfcHJvZmlsZSk7Ci0gICAgIHJldHVybiBmYWxzZTsK LUBAIC0yOTMsNyArMjkyLDYgQEAgdm9pZCBWYWFwaVZpZGVvRW5jb2RlQWNjZWxlcmF0b3I6Oklu aXRpYQotICAgICAgICAgYnJlYWs7Ci0gICAgICAgY2FzZSBWaWRlb0NvZGVjOjprVlA4OgotICAg ICAgIGNhc2UgVmlkZW9Db2RlYzo6a1ZQOToKLS0gICAgICBjYXNlIFZpZGVvQ29kZWM6OmtBVjE6 Ci0gICAgICAgICBtb2RlID0gVmFhcGlXcmFwcGVyOjprRW5jb2RlQ29uc3RhbnRRdWFudGl6YXRp b25QYXJhbWV0ZXI7Ci0gICAgICAgICBicmVhazsKLSAgICAgICBkZWZhdWx0OgotQEAgLTM1Niwx MiArMzU0LDYgQEAgdm9pZCBWYWFwaVZpZGVvRW5jb2RlQWNjZWxlcmF0b3I6OkluaXRpYQotICAg ICAgICAgICAgIHZhYXBpX3dyYXBwZXJfLCBlcnJvcl9jYik7Ci0gICAgICAgfQotICAgICAgIGJy ZWFrOwotLSAgICBjYXNlIFZpZGVvQ29kZWM6OmtBVjE6Ci0tICAgICAgaWYgKCFJc0NvbmZpZ3Vy ZWRGb3JUZXN0aW5nKCkpIHsKLS0gICAgICAgIGVuY29kZXJfID0gc3RkOjptYWtlX3VuaXF1ZTxB VjFWYWFwaVZpZGVvRW5jb2RlckRlbGVnYXRlPigKLS0gICAgICAgICAgICB2YWFwaV93cmFwcGVy XywgZXJyb3JfY2IpOwotLSAgICAgIH0KLS0gICAgICBicmVhazsKLSAgICAgZGVmYXVsdDoKLSAg ICAgICBOT1RSRUFDSEVEKCkgPDwgIlVuc3VwcG9ydGVkIGNvZGVjIHR5cGUgIiA8PCBHZXRDb2Rl Y05hbWUob3V0cHV0X2NvZGVjXyk7Ci0gICAgICAgcmV0dXJuOwotQEAgLTgzNSwxMCArODI3LDYg QEAgVmFhcGlWaWRlb0VuY29kZUFjY2VsZXJhdG9yOjpDcmVhdGVFbmNvZAotICAgICBjYXNlIFZp ZGVvQ29kZWM6OmtWUDk6Ci0gICAgICAgcGljdHVyZSA9IG5ldyBWYWFwaVZQOVBpY3R1cmUoc3Rk Ojptb3ZlKHJlY29uc3RydWN0ZWRfc3VyZmFjZSkpOwotICAgICAgIGJyZWFrOwotLSAgICBjYXNl IFZpZGVvQ29kZWM6OmtBVjE6Ci0tICAgICAgcGljdHVyZSA9IG5ldyBWYWFwaUFWMVBpY3R1cmUo LypkaXNwbGF5X3ZhX3N1cmZhY2U9Ki9udWxscHRyLAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0ZDo6bW92ZShyZWNvbnN0cnVjdGVkX3N1cmZhY2UpKTsKLS0gICAgICBi cmVhazsKLSAgICAgZGVmYXVsdDoKLSAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgIH0KLWRpZmYg LXVwIGNocm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduLnJldmVy dC1hdjFlbmMgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24K LS0tLSBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbi5yZXZl cnQtYXYxZW5jCTIwMjMtMDUtMTggMDA6Mzc6NTcuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21p dW0tMTE0LjAuNTczNS4zNS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24JMjAyMy0wNS0yMCAxMzox NDoxMC43NTYxODM2MjYgKzAyMDAKLUBAIC0zOCw4ICszOCw2IEBAIHNvdXJjZV9zZXQoInZhYXBp IikgewotICAgc291cmNlcyA9IFsKLSAgICAgImF2MV92YWFwaV92aWRlb19kZWNvZGVyX2RlbGVn YXRlLmNjIiwKLSAgICAgImF2MV92YWFwaV92aWRlb19kZWNvZGVyX2RlbGVnYXRlLmgiLAotLSAg ICAiYXYxX3ZhYXBpX3ZpZGVvX2VuY29kZXJfZGVsZWdhdGUuY2MiLAotLSAgICAiYXYxX3ZhYXBp X3ZpZGVvX2VuY29kZXJfZGVsZWdhdGUuaCIsCi0gICAgICJoMjY0X3ZhYXBpX3ZpZGVvX2RlY29k ZXJfZGVsZWdhdGUuY2MiLAotICAgICAiaDI2NF92YWFwaV92aWRlb19kZWNvZGVyX2RlbGVnYXRl LmgiLAotICAgICAiaDI2NF92YWFwaV92aWRlb19lbmNvZGVyX2RlbGVnYXRlLmNjIiwKLUBAIC0x MDcsNyArMTA1LDYgQEAgc291cmNlX3NldCgidmFhcGkiKSB7Ci0gICAgICIvL21lZGlhL2dwdS9j aHJvbWVvczpjb21tb24iLAotICAgICAiLy9tZWRpYS9wYXJzZXJzIiwKLSAgICAgIi8vbW9qby9w dWJsaWMvY3BwL2JpbmRpbmdzIiwKLS0gICAgIi8vdGhpcmRfcGFydHkvbGliYW9tOmxpYmFvbXJj IiwKLSAgICAgIi8vdGhpcmRfcGFydHkvbGlidnB4OmxpYnZweHJjIiwKLSAgICAgIi8vdGhpcmRf cGFydHkvbGlieXV2IiwKLSAgICAgIi8vdWkvZ2Z4IiwKLWRpZmYgLXVwIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmNjLm1lIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmNjCi0tLS0gY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2MubWUJMjAy My0xMS0wMiAxNTowODozMC45MjEzMjU3NDcgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1 LjEwNS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5jYwkyMDIzLTExLTAyIDE1OjA5OjQ2 LjEyMzY5MjYwMiArMDEwMAotQEAgLTMxMjQsNiArMzEyNCw3IEBAIGJvb2wgVmFhcGlXcmFwcGVy OjpHZXRTdXBwb3J0ZWRQYWNrZWRIZWEKLSAgIHJldHVybiB0cnVlOwotIH0KLSAKLSsjaWYgMCAv L2Rpc2FibGUgQVYxIGR1ZSB0byBvbGQgbGlidmEgb24gZXBlbDkKLSBib29sIFZhYXBpV3JhcHBl cjo6R2V0TWluQVYxU2VnbWVudFNpemUoVmlkZW9Db2RlY1Byb2ZpbGUgcHJvZmlsZSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QmIG1pbl9zZWdfc2l6 ZSkgewotICAgQ0hFQ0soIWVuZm9yY2Vfc2VxdWVuY2VfYWZmaW5pdHlfIHx8Ci1AQCAtMzE0MSw2 ICszMTQyLDcgQEAgYm9vbCBWYWFwaVdyYXBwZXI6OkdldE1pbkFWMVNlZ21lbnRTaXplKAotIAot ICAgcmV0dXJuIHRydWU7Ci0gfQotKyNlbmRpZgotIAotIGJvb2wgVmFhcGlXcmFwcGVyOjpCbGl0 U3VyZmFjZShjb25zdCBWQVN1cmZhY2UmIHZhX3N1cmZhY2Vfc3JjLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBWQVN1cmZhY2UmIHZhX3N1cmZhY2VfZGVzdCwKLWRpZmYg LXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVy LmgubWUgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBw ZXIuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L21lZGlhL2dwdS92YWFwaS92YWFwaV93 cmFwcGVyLmgubWUJMjAyMy0xMS0wMiAxNTowOTo1OC45NzM5MjgzOTUgKzAxMDAKLSsrKyBjaHJv bWl1bS0xMTkuMC42MDQ1LjEwNS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oCTIwMjMt MTEtMDIgMTU6MTA6NDUuOTkwNzkxMTE0ICswMTAwCi1AQCAtNTUzLDkgKzU1MywxMSBAQCBjbGFz cyBNRURJQV9HUFVfRVhQT1JUIFZhYXBpV3JhcHBlcgotICAgICAgIGJvb2wmIHBhY2tlZF9wcHMs Ci0gICAgICAgYm9vbCYgcGFja2VkX3NsaWNlKTsKLSAKLSsjaWYgMCAvL2Rpc2FibGUgQVYxIGR1 ZSB0byBvbGQgbGlidmEgb24gZXBlbDkKLSAgIC8vIEdldHMgdGhlIG1pbmltdW0gc2VnbWVudCBi bG9jayBzaXplIHN1cHBvcnRlZCBmb3IgQVYxIGVuY29kaW5nLgotICAgW1tub2Rpc2NhcmRdXSBi b29sIEdldE1pbkFWMVNlZ21lbnRTaXplKFZpZGVvQ29kZWNQcm9maWxlIHByb2ZpbGUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QmIG1pbl9zZWdf c2l6ZSk7Ci0rI2VuZGlmCi0gCi0gICAvLyBCbGl0cyBhIFZBU3VyZmFjZSB8dmFfc3VyZmFjZV9z cmN8IGludG8gYW5vdGhlciBWQVN1cmZhY2UKLSAgIC8vIHx2YV9zdXJmYWNlX2Rlc3R8IGFwcGx5 aW5nIHBpeGVsIGZvcm1hdCBjb252ZXJzaW9uLCBjcm9wcGluZwotZGlmZiAtdXAgY2hyb21pdW0t MTIxLjAuNjE2Ny41Ny9tZWRpYS9ncHUvQlVJTEQuZ24udGhhbiBjaHJvbWl1bS0xMjEuMC42MTY3 LjU3L21lZGlhL2dwdS9CVUlMRC5nbgotLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvbWVkaWEv Z3B1L0JVSUxELmduLnRoYW4JMjAyNC0wMS0xNSAyMjowOToyMS4wMTAwMjkxNDcgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L21lZGlhL2dwdS9CVUlMRC5nbgkyMDI0LTAxLTE1IDIy OjEwOjA1LjE5MjI1OTM0MCArMDEwMAotQEAgLTM5MSwxMCArMzkxLDcgQEAgc291cmNlX3NldCgi Y29tbW9uIikgewotICAgICAgICJ2cDlfc3ZjX2xheWVyc19zdGF0ZWZ1bC5oIiwKLSAgICAgXQot ICAgICBjb25maWdzICs9IFsgIi8vdGhpcmRfcGFydHkvbGlidnB4OmxpYnZweF9jb25maWciIF0K LS0gICAgZGVwcyArPSBbCi0tICAgICAgIi8vdGhpcmRfcGFydHkvbGliYW9tOmxpYmFvbXJjIiwK LS0gICAgICAiLy90aGlyZF9wYXJ0eS9saWJ2cHg6bGlidnB4cmMiLAotLSAgICBdCi0rICAgIGRl cHMgKz0gWyAiLy90aGlyZF9wYXJ0eS9saWJ2cHg6bGlidnB4cmMiIF0KLSAgIH0KLSAgIGlmICh1 c2VfbGliZ2F2MV9wYXJzZXIpIHsKLSAgICAgc291cmNlcyArPSBbCgpkaWZmIC0tZ2l0IGEvY2hy b21pdW0tMTIxLXY4LWMrKzIwLnBhdGNoIGIvY2hyb21pdW0tMTIxLXY4LWMrKzIwLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjNiYjUwLi4wMDAwMDAwCi0tLSBhL2Nocm9t aXVtLTEyMS12OC1jKysyMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc0MyArMCwwIEBACi1j b21taXQgOTQwYWY5ZjJjODdiNDM2NTU5Yjk3YzUzNzYzYWE5ZWFhZjEyNTRlYgotQXV0aG9yOiBK ZXJlbXkgUm9tYW4gPGpicm9tYW5AY2hyb21pdW0ub3JnPgotRGF0ZTogICBXZWQgTm92IDE1IDE2 OjI0OjU0IDIwMjMgKzAwMDAKLQotICAgIFVzZSBDKysyMCBmZWF0dXJlcyB0byBzaW1wbGlmeSBi bGluazo6TmF0aXZlVmFsdWVUcmFpdHNCYXNlLgotICAgIAotICAgIFRoZXNlIGFsbG93IHNvbWUg b2YgdGhlIG1ldGFwcm9ncmFtbWluZyBiaXRzIHRvIGJlIHNpbXBsaWZpZWQgYSBsaXR0bGUuCi0g ICAgCi0gICAgQ2hhbmdlLUlkOiBJMDUyYjQzOTc1ODZkMjEzNDg0MDE2MTZlMTc5MmFmZGI5NjYy Zjk3NQotICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvNTAzMDMzNQotICAgIFJldmlld2VkLWJ5OiBZdWtpIFNo aWlubyA8eXVraXNoaWlub0BjaHJvbWl1bS5vcmc+Ci0gICAgQ29tbWl0LVF1ZXVlOiBKZXJlbXkg Um9tYW4gPGpicm9tYW5AY2hyb21pdW0ub3JnPgotICAgIENyLUNvbW1pdC1Qb3NpdGlvbjogcmVm cy9oZWFkcy9tYWluQHsjMTIyNDk3OH0KLQotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oIGIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRz LmgKLWluZGV4IDdmYzkxZDE0YWNjNzEuLjFlNWEwNzkwZGY2ZGEgMTAwNjQ0Ci0tLS0gYS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFp dHMuaAotKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9u YXRpdmVfdmFsdWVfdHJhaXRzLmgKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgVEhJUkRfUEFS VFlfQkxJTktfUkVOREVSRVJfQklORElOR1NfQ09SRV9WOF9OQVRJVkVfVkFMVUVfVFJBSVRTX0hf Ci0gI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9CSU5ESU5HU19DT1JFX1Y4X05B VElWRV9WQUxVRV9UUkFJVFNfSF8KLSAKLSsjaW5jbHVkZSA8Y29uY2VwdHM+Ci0gI2luY2x1ZGUg PHR5cGVfdHJhaXRzPgotIAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9i aW5kaW5ncy9jb3JlL3Y4L2lkbF90eXBlc19iYXNlLmgiCi1AQCAtMzAsNyArMzEsNyBAQCBjbGFz cyBFeGNlcHRpb25TdGF0ZTsKLSAvLyAgICAgcmV0dXJuIHRvSW50MzIoaXNvbGF0ZSwgdmFsdWUs IGV4Y2VwdGlvblN0YXRlLCBOb3JtYWxDb252ZXJzaW9uKTsKLSAvLyAgIH0KLSAvLyB9Ci0tdGVt cGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFNGSU5BRUhlbHBlciA9IHZvaWQ+Ci0rdGVtcGxh dGUgPHR5cGVuYW1lIFQ+Ci0gc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzOwotIAotIC8vIFRoaXMg ZGVjbGFyYXRpb24gc2VydmVzIG9ubHkgYXMgYSBibHVlcHJpbnQgZm9yIHNwZWNpYWxpemF0aW9u czogdGhlCi1AQCAtNDUsMjIgKzQ2LDE1IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czsKLSAK LSBuYW1lc3BhY2UgYmluZGluZ3MgewotIAotLXRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFt ZSA9IHZvaWQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzSGFzSXNOdWxsIDogc3RkOjpmYWxz ZV90eXBlIHt9OwotLQotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0c0hhc0lzTnVsbDwKLS0gICAgVCwKLS0gICAgc3RkOjp2b2lkX3Q8ZGVjbHR5cGUoc3Rk OjpkZWNsdmFsPFQ+KCkuSXNOdWxsKCkpPj4gOiBzdGQ6OnRydWVfdHlwZSB7fTsKLStzdHJ1Y3Qg SW1wbFR5cGVGb3IgewotKyAgdXNpbmcgdHlwZSA9IFQ7Ci0rfTsKLSAKLSB0ZW1wbGF0ZSA8dHlw ZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHNIYXNOdWxsVmFsdWUgewotLSAgLy8g dHJ1ZSBpZiB8VHwgc3VwcG9ydHMgSURMIG51bGwgdmFsdWUuCi0tICBzdGF0aWMgY29uc3RleHBy IGJvb2wgdmFsdWUgPQotLSAgICAgIC8vIFNjcmlwdFZhbHVlLCBTdHJpbmcsIGFuZCB1bmlvbiB0 eXBlcyBoYXZlIElzTnVsbCBtZW1iZXIgZnVuY3Rpb24uCi0tICAgICAgYmluZGluZ3M6Ok5hdGl2 ZVZhbHVlVHJhaXRzSGFzSXNOdWxsPFQ+Ojp2YWx1ZSB8fAotLSAgICAgIC8vIFBvaW50ZXIgdHlw ZXMgaGF2ZSBudWxscHRyIGFzIElETCBudWxsIHZhbHVlLgotLSAgICAgIHN0ZDo6aXNfcG9pbnRl cjxUPjo6dmFsdWU7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBJRExCYXNlPgot K3N0cnVjdCBJbXBsVHlwZUZvcjxUPiB7Ci0rICB1c2luZyB0eXBlID0gdHlwZW5hbWUgVDo6SW1w bFR5cGU7Ci0gfTsKLSAKLSB9ICAvLyBuYW1lc3BhY2UgYmluZGluZ3MKLUBAIC03OCwzNyArNzIs MTcgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVsbFZhbHVlIHsKLSAvLyBJZiBwcmVz ZW50LCB8TnVsbFZhbHVlKCl8IHdpbGwgYmUgdXNlZCB3aGVuIGNvbnZlcnRpbmcgZnJvbSB0aGUg bnVsbGFibGUgdHlwZQotIC8vIFQ/LCBhbmQgc2hvdWxkIGJlIHVzZWQgaWYgdGhlIGltcGwgdHlw ZSBoYXMgYW4gZXhpc3RpbmcgIm51bGwiIHN0YXRlLiBJZiBub3QKLSAvLyBwcmVzZW50LCBXVEY6 Ok9wdGlvbmFsIHdpbGwgYmUgdXNlZCB0byB3cmFwIHRoZSB0eXBlLgotLXRlbXBsYXRlIDx0eXBl bmFtZSBULCB0eXBlbmFtZSBTRklOQUVIZWxwZXIgPSB2b2lkPgotLXN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0c0Jhc2UgewotLSAgU1RBVElDX09OTFkoTmF0aXZlVmFsdWVUcmFpdHNCYXNlKTsKLS0K LS0gIHVzaW5nIEltcGxUeXBlID0gVDsKLS0KLS0gIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBoYXNf bnVsbF92YWx1ZSA9Ci0tICAgICAgYmluZGluZ3M6Ok5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVsbFZh bHVlPEltcGxUeXBlPjo6dmFsdWU7Ci0tCi0tICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gRXh0cmFB cmdzPgotLSAgc3RhdGljIGRlY2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUq IGlzb2xhdGUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXJn dW1lbnRfaW5kZXgsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6 TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFeHRyYUFyZ3MuLi4gZXh0cmFfYXJncykgewotLSAgICBy ZXR1cm4gTmF0aXZlVmFsdWVUcmFpdHM8c3RkOjpyZW1vdmVfcG9pbnRlcl90PFQ+Pjo6TmF0aXZl VmFsdWUoCi0tICAgICAgICBpc29sYXRlLCB2YWx1ZSwgZXhjZXB0aW9uX3N0YXRlLAotLSAgICAg ICAgc3RkOjpmb3J3YXJkPEV4dHJhQXJncz4oZXh0cmFfYXJncykuLi4pOwotLSAgfQotLX07Ci0t Ci0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTwK LS0gICAgVCwKLS0gICAgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8SURMQmFzZSwg VD46OnZhbHVlPj4gewotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2UgewotICAgU1RBVElD X09OTFkoTmF0aXZlVmFsdWVUcmFpdHNCYXNlKTsKLSAKLS0gIHVzaW5nIEltcGxUeXBlID0gdHlw ZW5hbWUgVDo6SW1wbFR5cGU7Ci0rICB1c2luZyBJbXBsVHlwZSA9IGJpbmRpbmdzOjpJbXBsVHlw ZUZvcjxUPjo6dHlwZTsKLSAKLSsgIC8vIFBvaW50ZXIgdHlwZXMgaGF2ZSBudWxscHRyIGFzIElE TCBudWxsIHZhbHVlLgotKyAgLy8gU2NyaXB0VmFsdWUsIFN0cmluZywgYW5kIHVuaW9uIHR5cGVz IGhhdmUgSXNOdWxsIG1lbWJlciBmdW5jdGlvbi4KLSAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBo YXNfbnVsbF92YWx1ZSA9Ci0tICAgICAgYmluZGluZ3M6Ok5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVs bFZhbHVlPEltcGxUeXBlPjo6dmFsdWU7Ci0rICAgICAgc3RkOjppc19wb2ludGVyX3Y8SW1wbFR5 cGU+IHx8Ci0rICAgICAgcmVxdWlyZXMoSW1wbFR5cGUgdmFsdWUpIHsgdmFsdWUuSXNOdWxsKCk7 IH07Ci0gCi0gICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gRXh0cmFBcmdzPgotICAgc3RhdGljIGRl Y2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVf dmFsdWVfdHJhaXRzX2J1ZmZlcl9zb3VyY2VzLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2J1ZmZlcl9zb3VyY2VzLmNj Ci1pbmRleCA1MDhlYTZkOGVlYTQ4Li4xOGRlNzFkODQwMjNmIDEwMDY0NAotLS0tIGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRz X2J1ZmZlcl9zb3VyY2VzLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5k aW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfYnVmZmVyX3NvdXJjZXMuY2MKLUBAIC03 LDYgKzcsNyBAQAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Nv cmVfZXhwb3J0LmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv ZXhlY3V0aW9uX2NvbnRleHQvZXhlY3V0aW9uX2NvbnRleHQuaCIKLSAjaW5jbHVkZSAidGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFtZS93ZWJfZmVhdHVyZS5oIgotKyNpbmNsdWRl ICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3R5cGVkX2FycmF5cy9mbGV4aWJsZV9h cnJheV9idWZmZXJfdmlldy5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL3R5cGVkX2FycmF5cy90eXBlZF9mbGV4aWJsZV9hcnJheV9idWZmZXJfdmlldy5oIgot IAotIG5hbWVzcGFjZSBibGluayB7Ci1AQCAtNjk4LDEyICs2OTksMTEgQEAgRE9NQXJyYXlCdWZm ZXJCYXNlKiBOYXRpdmVWYWx1ZVRyYWl0czwKLSAvLyBBcnJheUJ1ZmZlclZpZXcKLSAKLSB0ZW1w bGF0ZSA8dHlwZW5hbWUgVD4KLS1Ob3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAg IE5vdFNoYXJlZDxUPiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jh c2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0tICAgIE5hdGl2ZVZhbHVl KHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZh bHVlPiB2YWx1ZSwKLS0gICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9z dGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJW aWV3PgotK05vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxOb3RTaGFyZWQ8VD4+OjpOYXRp dmVWYWx1ZSgKLSsgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0rICAgIHY4OjpMb2NhbDx2ODo6 VmFsdWU+IHZhbHVlLAotKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0g ICByZXR1cm4gTmF0aXZlVmFsdWVJbXBsPAotICAgICAgIFJlY2lwZVRyYWl0PE5vdFNoYXJlZDxU Pj4sIFRvRE9NVmlld1R5cGU8VCwga05vdFNoYXJlZD4sCi0gICAgICAgTnVsbGFibGl0eTo6a0lz Tm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotQEAgLTcxMiwxMyArNzEyLDEy IEBAIE5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9Ci0gCi0gdGVtcGxhdGUgPHR5 cGVuYW1lIFQ+Ci0tTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBOb3RTaGFy ZWQ8VD4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERP TUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgotLSAgICBBcmd1bWVudFZhbHVlKHY4OjpJ c29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwK LS0gICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgICAg ICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0rICByZXF1aXJl cyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0rTm90U2hhcmVkPFQ+ IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZDxUPj46OkFyZ3VtZW50VmFsdWUoCi0rICAgIHY4 OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0rICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0 YXRlKSB7Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8Ci0gICAgICAgUmVjaXBlVHJhaXQ8 Tm90U2hhcmVkPFQ+PiwgVG9ET01WaWV3VHlwZTxULCBrTm90U2hhcmVkPiwKLSAgICAgICBOdWxs YWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCi1AQCAtNzI5 LDEyICs3MjgsMTEgQEAgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotIC8vIFtBbGxv d1NoYXJlZF0gQXJyYXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tTWF5 YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIE1heWJlU2hhcmVkPFQ+LAotLSAg ICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZl clZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0gICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xh dGUsCi0tICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAgICAg ICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0rICByZXF1aXJl cyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0rTWF5YmVTaGFyZWQ8 VD4gTmF0aXZlVmFsdWVUcmFpdHM8TWF5YmVTaGFyZWQ8VD4+OjpOYXRpdmVWYWx1ZSgKLSsgICAg djg6Oklzb2xhdGUqIGlzb2xhdGUsCi0rICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAot KyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4gTmF0aXZl VmFsdWVJbXBsPFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgVG9ET01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAotICAgICAgICAgICAgICAg ICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjpr Q2hlY2ssCi1AQCAtNzQzLDEzICs3NDEsMTIgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVU cmFpdHM8Ci0gfQotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLU1heWJlU2hhcmVkPFQ+IE5h dGl2ZVZhbHVlVHJhaXRzPAotLSAgICBNYXliZVNoYXJlZDxUPiwKLS0gICAgdHlwZW5hbWUgc3Rk OjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFs dWU+Pjo6Ci0tICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAgICAg ICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAotLSAgICAgICAgICAgICAgICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRl JiBleGNlcHRpb25fc3RhdGUpIHsKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERP TUFycmF5QnVmZmVyVmlldz4KLStNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxNYXli ZVNoYXJlZDxUPj46OkFyZ3VtZW50VmFsdWUoCi0rICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAot KyAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0rICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVl LAotKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4gQXJn dW1lbnRWYWx1ZUltcGw8UmVjaXBlVHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6 ZUNoZWNrOjprQ2hlY2ssCi1AQCAtNzYwLDEyICs3NTcsMTIgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0 aXZlVmFsdWVUcmFpdHM8Ci0gLy8gW0FsbG93U2hhcmVkLCBCdWZmZXJTb3VyY2VUeXBlTm9TaXpl TGltaXRdIEFycmF5QnVmZmVyVmlldwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLU1heWJl U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJRExCdWZmZXJTb3VyY2VUeXBlTm9T aXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0gICAg TmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAgICAgICAgICAgICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYg ZXhjZXB0aW9uX3N0YXRlKSB7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01B cnJheUJ1ZmZlclZpZXc+Ci0rTWF5YmVTaGFyZWQ8VD4KLStOYXRpdmVWYWx1ZVRyYWl0czxJRExC dWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFsdWUo Ci0rICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKLSsgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJu IE5hdGl2ZVZhbHVlSW1wbDwKLSAgICAgICBSZWNpcGVUcmFpdDxNYXliZVNoYXJlZDxUPj4sIFRv RE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKLSAgICAgICBOdWxsYWJsaXR5OjprSXNOb3RO dWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprRG9Ob3RDaGVjaywKLUBAIC03NzQsMTMgKzc3MSwx MiBAQCBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9Ci0gCi0gdGVtcGxhdGUg PHR5cGVuYW1lIFQ+Ci0tTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElE TEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4sCi0tICAgIHR5cGVu YW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywg VD46OnZhbHVlPj46OgotLSAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAot LSAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKLS0gICAgICAgICAgICAgICAg ICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgICAgICAgICAgICAgICBFeGNlcHRp b25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJv bTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0rTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFp dHM8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PAotKyAgICBNYXliZVNoYXJlZDxUPj4+ OjpBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0 YXRlKSB7Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8Ci0gICAgICAgUmVjaXBlVHJhaXQ8 TWF5YmVTaGFyZWQ8VD4+LCBUb0RPTVZpZXdUeXBlPFQsIGtNYXliZVNoYXJlZD4sCi0gICAgICAg TnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0RvTm90Q2hlY2ss Ci1AQCAtNzkxLDEyICs3ODcsMTEgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8 Ci0gLy8gTnVsbGFibGUgQXJyYXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+ Ci0tTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJRExOdWxsYWJsZTxOb3RT aGFyZWQ8VD4+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9v ZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0gICAgTmF0aXZlVmFsdWUodjg6 Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+ IHZhbHVlLAotLSAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRl KSB7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+ Ci0rTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPE5vdFNoYXJlZDxU Pj4+OjpOYXRpdmVWYWx1ZSgKLSsgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0rICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0 YXRlKSB7Ci0gICByZXR1cm4gTmF0aXZlVmFsdWVJbXBsPAotICAgICAgIFJlY2lwZVRyYWl0PE5v dFNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwga05vdFNoYXJlZD4sCi0gICAgICAgTnVsbGFi bGl0eTo6a0lzTnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotQEAgLTgwNSwxMyAr ODAwLDEyIEBAIE5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9Ci0gCi0gdGVtcGxh dGUgPHR5cGVuYW1lIFQ+Ci0tTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJ RExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0gICAg QXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgICAgICAgICAgICAgICBp bnQgYXJndW1lbnRfaW5kZXgsCi0tICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1 ZT4gdmFsdWUsCi0tICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9z dGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJW aWV3PgotK05vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3RTaGFy ZWQ8VD4+Pjo6QXJndW1lbnRWYWx1ZSgKLSsgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0rICAg IGludCBhcmd1bWVudF9pbmRleCwKLSsgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0r ICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSAgIHJldHVybiBBcmd1bWVu dFZhbHVlSW1wbDwKLSAgICAgICBSZWNpcGVUcmFpdDxOb3RTaGFyZWQ8VD4+LCBUb0RPTVZpZXdU eXBlPFQsIGtOb3RTaGFyZWQ+LAotICAgICAgIE51bGxhYmxpdHk6OmtJc051bGxhYmxlLCBCdWZm ZXJTaXplQ2hlY2s6OmtDaGVjaywKLUBAIC04MjIsMTIgKzgxNiwxMSBAQCBOb3RTaGFyZWQ8VD4g TmF0aXZlVmFsdWVUcmFpdHM8Ci0gLy8gTnVsbGFibGUgW0FsbG93U2hhcmVkXSBBcnJheUJ1ZmZl clZpZXcKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1NYXliZVNoYXJlZDxUPiBOYXRpdmVW YWx1ZVRyYWl0czwKLS0gICAgSURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+LAotLSAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+OjoKLS0gICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0t ICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAgICAgICAgICAg ICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0rICByZXF1aXJlcyBzdGQ6 OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0rTWF5YmVTaGFyZWQ8VD4gTmF0 aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFsdWUo Ci0rICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKLSsgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJu IE5hdGl2ZVZhbHVlSW1wbDxSZWNpcGVUcmFpdDxNYXliZVNoYXJlZDxUPj4sCi0gICAgICAgICAg ICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6a0lzTnVsbGFibGUsIEJ1ZmZlclNpemVDaGVj azo6a0NoZWNrLAotQEAgLTgzNiwxMyArODI5LDEyIEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZh bHVlVHJhaXRzPAotIH0KLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1NYXliZVNoYXJlZDxU PiBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+LAot LSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0gICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKLS0gICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0tICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0tICAgICAgICAgICAgICAg ICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpk ZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK01heWJlU2hhcmVkPFQ+IE5hdGl2 ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+Pj46OkFyZ3VtZW50VmFsdWUo Ci0rICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0r ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhj ZXB0aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8UmVjaXBlVHJhaXQ8 TWF5YmVTaGFyZWQ8VD4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5 cGU8VCwga01heWJlU2hhcmVkPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxsYWJs aXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCi1AQCAtODUzLDkgKzg0 NSw5IEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotIC8vIE51bGxhYmxlIFtB bGxvd1NoYXJlZCwgQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0XSBBcnJheUJ1ZmZlclZpZXcK LSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1NYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRy YWl0czwKLS0gICAgSURMTnVsbGFibGU8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1h eWJlU2hhcmVkPFQ+Pj4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19i YXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgotKyAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK01heWJlU2hhcmVkPFQ+Ci0r TmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxp bWl0PE1heWJlU2hhcmVkPFQ+Pj4+OjoKLSAgICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0gICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi1AQCAtODcwLDEzICs4NjIs MTEgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0gLy8gW0FsbG93U2hhcmVk LCBGbGV4aWJsZUFycmF5QnVmZmVyVmlld10gQXJyYXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxhdGUg PHR5cGVuYW1lIFQ+Ci0tVCBOYXRpdmVWYWx1ZVRyYWl0czxULAotLSAgICAgICAgICAgICAgICAg ICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKLS0gICAgICAgICAgICAgICAgICAgICAgICBz dGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0g ICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgICAgICAgICAgICAg ICBpbnQgYXJndW1lbnRfaW5kZXgsCi0tICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCi0tICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlv bl9zdGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJh eUJ1ZmZlclZpZXc+Ci0rVCBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6QXJndW1lbnRWYWx1ZSh2ODo6 SXNvbGF0ZSogaXNvbGF0ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBhcmd1bWVudF9pbmRleCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0 dXJuIEFyZ3VtZW50VmFsdWVJbXBsPFJlY2lwZVRyYWl0PFQ+LCBUb0ZsZXhpYmxlQXJyYXlCdWZm ZXJWaWV3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bGxhYmxpdHk6OmtJc05vdE51 bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZXNpemFibGVBbGxvd2FuY2U6OmtEaXNhbGxvd1Jlc2l6YWJsZSwKLUBAIC04ODgsMTMg Kzg3OCwxMiBAQCBUIE5hdGl2ZVZhbHVlVHJhaXRzPFQsCi0gLy8gQXJyYXlCdWZmZXJWaWV3Ci0g Ci0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tVCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJT b3VyY2VUeXBlTm9TaXplTGltaXQ8VD4sCi0tICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBz dGQ6OmVuYWJsZV9pZl90PAotLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXNfYmFzZV9v ZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgotLSAgICBBcmd1bWVudFZh bHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVu dF9pbmRleCwKLS0gICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwK LS0gICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0r ICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVyVmlldz4K LStUIE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxUPj46 OkFyZ3VtZW50VmFsdWUoCi0rICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICBpbnQgYXJn dW1lbnRfaW5kZXgsCi0rICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICBFeGNl cHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUlt cGw8Ci0gICAgICAgUmVjaXBlVHJhaXQ8VD4sIFRvRmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIE51 bGxhYmxpdHk6OmtJc05vdE51bGxhYmxlLAotICAgICAgIEJ1ZmZlclNpemVDaGVjazo6a0RvTm90 Q2hlY2ssIFJlc2l6YWJsZUFsbG93YW5jZTo6a0Rpc2FsbG93UmVzaXphYmxlLAotQEAgLTkwNSwx MyArODk0LDEyIEBAIFQgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6 ZUxpbWl0PFQ+LAotIC8vIE51bGxhYmxlIFtBbGxvd1NoYXJlZCwgRmxleGlibGVBcnJheUJ1ZmZl clZpZXddIEFycmF5QnVmZmVyVmlldwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLVQgTmF0 aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4sCi0tICAgICAgICAgICAgICAgICAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXNf YmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgotLSAgICBBcmd1 bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAgICAgICAgIGludCBh cmd1bWVudF9pbmRleCwKLS0gICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKLS0gICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRl KSB7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVy Vmlldz4KLStUIE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+Pjo6QXJndW1lbnRWYWx1 ZSgKLSsgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0rICAgIGludCBhcmd1bWVudF9pbmRleCwK LSsgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgIEV4Y2VwdGlvblN0YXRlJiBl eGNlcHRpb25fc3RhdGUpIHsKLSAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDxSZWNpcGVUcmFp dDxUPiwgVG9GbGV4aWJsZUFycmF5QnVmZmVyVmlldywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzaXphYmxlQWxsb3dhbmNlOjprRGlzYWxsb3dS ZXNpemFibGUsCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGlu Z3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwuaCBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19pbXBsLmgKLWlu ZGV4IDg5OTkyOWRjZjQ5ZjkuLjUwMTE1MDNkY2YxYzAgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1w bC5oCi0rKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25h dGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCi1AQCAtNSw2ICs1LDkgQEAKLSAjaWZuZGVmIFRISVJE X1BBUlRZX0JMSU5LX1JFTkRFUkVSX0JJTkRJTkdTX0NPUkVfVjhfTkFUSVZFX1ZBTFVFX1RSQUlU U19JTVBMX0hfCi0gI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9CSU5ESU5HU19D T1JFX1Y4X05BVElWRV9WQUxVRV9UUkFJVFNfSU1QTF9IXwotIAotKyNpbmNsdWRlIDxjb25jZXB0 cz4KLSsjaW5jbHVkZSA8dHlwZV90cmFpdHM+Ci0rCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Fi c2VpbC1jcHAvYWJzbC90eXBlcy9vcHRpb25hbC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L2lkbF90eXBlcy5oIgotICNpbmNsdWRlICJ0 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90 cmFpdHMuaCIKLUBAIC03MTUsOSArNzE4LDggQEAgc3RydWN0IENPUkVfRVhQT1JUIE5hdGl2ZVZh bHVlVHJhaXRzPAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2 ZVZhbHVlVHJhaXRzPAotLSAgICBULAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0 ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+IHsKLSsgIHJlcXVp cmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KLStzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8VD4gewotICAgLy8gTm90U2hhcmVkPFQ+IG9yIE1heWJlU2hhcmVkPFQ+ IHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCi0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklz b2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCi1AQCAtNzI5LDkgKzczMSw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czwKLS0gICAgSURMTnVsbGFibGU8VD4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lm X3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4gewotKyAg cmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK3N0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gewotICAgLy8gTm90U2hhcmVkPFQ+ IG9yIE1heWJlU2hhcmVkPFQ+IHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCi0gICBzdGF0aWMgVCog TmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi1AQCAtNzQzLDkgKzc0NCw4IEBAIHN0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgTm90U2hhcmVkPFQ+LAotLSAgICB0eXBlbmFt ZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+ Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZl clZpZXc+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZDxUPj4KLSAgICAgOiBw dWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE5vdFNoYXJlZDxUPj4gewotICAgc3RhdGljIE5v dFNoYXJlZDxUPiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi1AQCAt NzU4LDkgKzc1OCw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9OwotIAotIHRlbXBs YXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURMTnVs bGFibGU8Tm90U2hhcmVkPFQ+PiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgotKyAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK3N0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+PgotICAgICA6IHB1YmxpYyBOYXRp dmVWYWx1ZVRyYWl0c0Jhc2U8Tm90U2hhcmVkPFQ+PiB7Ci0gICBzdGF0aWMgTm90U2hhcmVkPFQ+ IE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC03NzMsOSArNzcy LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVu YW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBNYXliZVNoYXJlZDxUPiwK LS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlC dWZmZXJWaWV3LCBUPjo6dmFsdWU+PgotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwg RE9NQXJyYXlCdWZmZXJWaWV3PgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxNYXliZVNoYXJl ZDxUPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE1heWJlU2hhcmVkPFQ+ PiB7Ci0gICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlz b2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCi1AQCAtNzg4LDkgKzc4Niw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czwKLS0gICAgSURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVk PFQ+PiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9N QXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zy b208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExC dWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+PgotICAgICA6IHB1Ymxp YyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+IHsKLSAgIC8vIEZsZXhpYmxl QXJyYXlCdWZmZXJWaWV3IHVzZXMgdGhpcyBpbiBpdHMgaW1wbGVtZW50YXRpb24sIHNvIHdlIGNh bm5vdAotICAgLy8gZGVsZXRlIGl0LgotQEAgLTgwNSw5ICs4MDIsOCBAQCBzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+PiwKLS0gICAg dHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJW aWV3LCBUPjo6dmFsdWU+PgotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJy YXlCdWZmZXJWaWV3PgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxNYXli ZVNoYXJlZDxUPj4+Ci0gICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxNYXliZVNo YXJlZDxUPj4gewotICAgc3RhdGljIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlKHY4OjpJc29s YXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAgLTgyMCw5ICs4MTYsOSBAQCBzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSsgIHJlcXVpcmVz IHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KLSBzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8Ci0tICAgIElETE51bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVM aW1pdDxNYXliZVNoYXJlZDxUPj4+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0 ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Ci0rICAgIElETE51 bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4+Pgot ICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+IHsKLSAg IC8vIEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdCBtdXN0IGJlIHVzZWQgb25seSBhcyBhcmd1 bWVudHMuCi0gICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUq IGlzb2xhdGUsCi1AQCAtODM2LDExICs4MzIsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8Ci0tICAgIFQsCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0tICAgICAgICBz dGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Ci0tICAg IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Ci0rICByZXF1aXJlcyBzdGQ6OmRl cml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVyVmlldz4KLStzdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKLSAgIC8vIEZs ZXhpYmxlQXJyYXlCdWZmZXJWaWV3IG11c3QgYmUgdXNlZCBvbmx5IGFzIGFyZ3VtZW50cy4KLSAg IHN0YXRpYyBUIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotICAgICAgICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi1AQCAtODUzLDEwICs4NDYs OCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElETEJ1ZmZlclNvdXJjZVR5 cGVOb1NpemVMaW1pdDxUPiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKLS0gICAg ICAgIHN0ZDo6aXNfYmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4K LSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3 PgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGlt aXQ8VD4+Ci0gICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Ci0gICAvLyBC dWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQgYW5kIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3IG11 c3QgYmUgdXNlZCBvbmx5Ci0gICAvLyBhcyBhcmd1bWVudHMuCi1AQCAtODcxLDExICs4NjIsOCBA QCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUg VD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElETE51bGxhYmxlPFQ+LAotLSAg ICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotLSAgICAgICAgc3RkOjppc19iYXNlX29mPEZs ZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgotLSAgICA6IHB1YmxpYyBOYXRpdmVW YWx1ZVRyYWl0c0Jhc2U8VD4gewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxl eGlibGVBcnJheUJ1ZmZlclZpZXc+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxh YmxlPFQ+PiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4gewotICAgLy8gRmxleGli bGVBcnJheUJ1ZmZlclZpZXcgbXVzdCBiZSB1c2VkIG9ubHkgYXMgYXJndW1lbnRzLgotICAgc3Rh dGljIFQgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAg ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC0xMTM0LDkgKzExMjIsOCBA QCBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Ok5hdGl2ZVZhbHVlKAotIH0KLSAK LSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVs bGFibGU8SURMU2VxdWVuY2U8VD4+LAotLSAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFt ZSBzdGQ6OmVuYWJsZV9pZl90PAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmF0aXZl VmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpoYXNfbnVsbF92YWx1ZT4+Ci0rICByZXF1aXJl cyBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Omhhc19udWxsX3ZhbHVlCi0rc3Ry dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElETFNlcXVlbmNlPFQ+Pj4KLSAgICAg OiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPEhlYXBWZWN0b3I8QWRkTWVtYmVySWZOZWVk ZWQ8VD4+Kj4gewotICAgdXNpbmcgSW1wbFR5cGUgPSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0 czxJRExTZXF1ZW5jZTxUPj46OkltcGxUeXBlKjsKLSAKLUBAIC0xMjAzLDkgKzExOTAsOCBAQCBz dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMQXJyYXk8VD4+Ci0gICAgIDogcHVibGljIE5hdGl2 ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+PiB7fTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUg VD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMQXJyYXk8VD4+LAot LSAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8 VD4+OjpoYXNfbnVsbF92YWx1ZT4+Ci0rICByZXF1aXJlcyBOYXRpdmVWYWx1ZVRyYWl0czxJRExT ZXF1ZW5jZTxUPj46Omhhc19udWxsX3ZhbHVlCi0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElE TE51bGxhYmxlPElETEFycmF5PFQ+Pj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHM8 SURMTnVsbGFibGU8SURMU2VxdWVuY2U8VD4+PiB7fTsKLSAKLSAvLyBSZWNvcmQgdHlwZXMKLUBA IC0xMzM1LDEwICsxMzIxLDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETFJlY29yZDxL LCBWPj4KLSAKLSAvLyBDYWxsYmFjayBmdW5jdGlvbiB0eXBlcwotIHRlbXBsYXRlIDx0eXBlbmFt ZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgVCwKLS0gICAgdHlwZW5hbWUg c3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8Q2FsbGJhY2tGdW5jdGlvbkJhc2UsIFQ+ Ojp2YWx1ZT4+Ci0tICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewotKyAg cmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tGdW5jdGlvbkJhc2U+Ci0rc3Ry dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxU Kj4gewotICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotICAg ICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotICAgICAg ICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLUBA IC0xMzYxLDkgKzEzNDUsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0 ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElE TE51bGxhYmxlPFQ+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFz ZV9vZjxDYWxsYmFja0Z1bmN0aW9uQmFzZSwgVD46OnZhbHVlPj4KLSsgIHJlcXVpcmVzIHN0ZDo6 ZGVyaXZlZF9mcm9tPFQsIENhbGxiYWNrRnVuY3Rpb25CYXNlPgotK3N0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNC YXNlPElETE51bGxhYmxlPFQ+PiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1 ZT4gdmFsdWUsCi1AQCAtMTM5MiwxMCArMTM3NSw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czwKLSAKLSAvLyBDYWxsYmFjayBpbnRlcmZhY2UgdHlwZXMKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUg VD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIFQsCi0tICAgIHR5cGVuYW1lIHN0 ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPENhbGxiYWNrSW50ZXJmYWNlQmFzZSwgVD46 OnZhbHVlPj4KLS0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0rICBy ZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0ludGVyZmFjZUJhc2U+Ci0rc3Ry dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxU Kj4gewotICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotICAg ICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotICAgICAg ICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLUBA IC0xNDE4LDkgKzEzOTksOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0 ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElE TE51bGxhYmxlPFQ+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFz ZV9vZjxDYWxsYmFja0ludGVyZmFjZUJhc2UsIFQ+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6 OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0ludGVyZmFjZUJhc2U+Ci0rc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0 c0Jhc2U8SURMTnVsbGFibGU8VD4+IHsKLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNv bGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZh bHVlPiB2YWx1ZSwKLUBAIC0xNDQ5LDExICsxNDI5LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPAotIAotIC8vIERpY3Rpb25hcnkgdHlwZXMKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1z dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIFQsCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5h YmxlX2lmX3Q8Ci0tICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OkRpY3Rpb25hcnlC YXNlLCBUPjo6dmFsdWU+PgotLSAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+ IHsKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpEaWN0aW9uYXJ5 QmFzZT4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVU cmFpdHNCYXNlPFQqPiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlz b2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFs dWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9z dGF0ZSkgewotQEAgLTE0NjQsMTQgKzE0NDEsMTEgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PAotIC8vIFdlIGRvbid0IHN1cHBvcnQgbnVsbGFibGUgZGljdGlvbmFyeSB0eXBlcyBpbiBnZW5l cmFsIHNpbmNlIGl0J3MgcXVpdGUKLSAvLyBjb25mdXNpbmcgYW5kIG9mdGVuIG1pc3VzZWQuCi0g dGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJ RExOdWxsYWJsZTxUPiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKLS0gICAgICAg IHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6RGljdGlvbmFyeUJhc2UsIFQ+Ojp2YWx1ZSAmJgot LSAgICAgICAgKHN0ZDo6aXNfc2FtZTxULCBHUFVDb2xvclRhcmdldFN0YXRlPjo6dmFsdWUgfHwK LS0gICAgICAgICBzdGQ6OmlzX3NhbWU8VCwgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD46 OnZhbHVlIHx8Ci0tICAgICAgICAgc3RkOjppc19zYW1lPFQsIEdQVVZlcnRleEJ1ZmZlckxheW91 dD46OnZhbHVlKT4+Ci0tICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewot KyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgYmluZGluZ3M6OkRpY3Rpb25hcnlCYXNl PiAmJgotKyAgICAgICAgICAgKHN0ZDo6c2FtZV9hczxULCBHUFVDb2xvclRhcmdldFN0YXRlPiB8 fAotKyAgICAgICAgICAgIHN0ZDo6c2FtZV9hczxULCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht ZW50PiB8fAotKyAgICAgICAgICAgIHN0ZDo6c2FtZV9hczxULCBHUFVWZXJ0ZXhCdWZmZXJMYXlv dXQ+KQotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gOiBwdWJsaWMg TmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6 Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUm IGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAgLTE0ODMsMTEgKzE0NTcsOCBAQCBzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8Ci0gCi0gLy8gRW51bWVyYXRpb24gdHlwZXMKLSB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIFQsCi0tICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0tICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OkVu dW1lcmF0aW9uQmFzZSwgVD46OnZhbHVlPj4KLS0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFp dHNCYXNlPFQ+IHsKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpF bnVtZXJhdGlvbkJhc2U+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5h dGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Ci0gICBzdGF0aWMgVCBOYXRpdmVWYWx1ZSh2ODo6SXNv bGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs dWU+IHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2Vw dGlvbl9zdGF0ZSkgewotQEAgLTE0OTcsMTAgKzE0NjgsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVU cmFpdHM8Ci0gCi0gLy8gSW50ZXJmYWNlIHR5cGVzCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0t c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBULAotLSAgICB0eXBlbmFtZSBzdGQ6OmVu YWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxTY3JpcHRXcmFwcGFibGUsIFQ+Ojp2YWx1ZT4+Ci0t ICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewotKyAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgU2NyaXB0V3JhcHBhYmxlPgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSAgIHN0YXRpYyBp bmxpbmUgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7 Ci1AQCAtMTUyOCw5ICsxNDk3LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotIH07Ci0g Ci0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAg ICBJRExOdWxsYWJsZTxUPiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6Omlz X2Jhc2Vfb2Y8U2NyaXB0V3JhcHBhYmxlLCBUPjo6dmFsdWU+PgotKyAgcmVxdWlyZXMgc3RkOjpk ZXJpdmVkX2Zyb208VCwgU2NyaXB0V3JhcHBhYmxlPgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxJRExOdWxsYWJsZTxUPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPElE TE51bGxhYmxlPFQ+PiB7Ci0gICBzdGF0aWMgaW5saW5lIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29s YXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8 djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC0xNTY1LDEwICsxNTMzLDggQEAgc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2 ZVZhbHVlVHJhaXRzPAotLSAgICBULAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0 ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6VW5pb25CYXNlLCBUPjo6dmFsdWU+PgotLSAgICA6IHB1 YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZl ZF9mcm9tPFQsIGJpbmRpbmdzOjpVbmlvbkJhc2U+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewotICAgc3RhdGljIFQqIE5h dGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAg IHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgIEV4 Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLUBAIC0xNTg0LDEwICsxNTUwLDggQEAg c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+ Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJRExOdWxsYWJsZTxUPiwKLS0gICAg dHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OlVuaW9u QmFzZSwgVD46OnZhbHVlPj4KLS0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQq PiB7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBiaW5kaW5nczo6VW5pb25CYXNl PgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gOiBwdWJsaWMgTmF0 aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklz b2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4 Y2VwdGlvbl9zdGF0ZSkgewotQEAgLTE2MDgsOSArMTU3Miw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czwKLSAKLSAvLyBOdWxsYWJsZSB0eXBlcwotIHRlbXBsYXRlIDx0eXBlbmFtZSBJbm5l clR5cGU+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJRExOdWxsYWJsZTxJbm5l clR5cGU+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PCFOYXRpdmVWYWx1ZVRyYWl0 czxJbm5lclR5cGU+OjpoYXNfbnVsbF92YWx1ZT4+Ci0rICByZXF1aXJlcyghTmF0aXZlVmFsdWVU cmFpdHM8SW5uZXJUeXBlPjo6aGFzX251bGxfdmFsdWUpCi0rc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPElETE51bGxhYmxlPElubmVyVHlwZT4+Ci0gICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJh aXRzQmFzZTxJRExOdWxsYWJsZTxJbm5lclR5cGU+PiB7Ci0gICAvLyBodHRwczovL3dlYmlkbC5z cGVjLndoYXR3Zy5vcmcvI2VzLW51bGxhYmxlLXR5cGUKLSAgIHVzaW5nIEltcGxUeXBlID0KLUBA IC0xNjQyLDkgKzE2MDUsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8 SURMTnVsbGFibGU8VD4+PjsKLSAKLSAvLyBPcHRpb25hbCB0eXBlcwotIHRlbXBsYXRlIDx0eXBl bmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRpb25hbDxUPiwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Fy aXRobWV0aWM8Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOYXRpdmVW YWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6OmlzX2Fy aXRobWV0aWNfdjx0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+Ci0rc3Ry dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE9wdGlvbmFsPFQ+PgotICAgICA6IHB1YmxpYyBOYXRp dmVWYWx1ZVRyYWl0c0Jhc2U8dHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBl PiB7Ci0gICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJ bXBsVHlwZTsKLSAKLUBAIC0xNjY2LDkgKzE2MjgsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8SURMT3B0aW9uYWw8VD4sCi0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMT3B0aW9uYWw8VD4sCi0tICAgICAgICAgICAgICAgICAg ICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19wb2ludGVyPAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46Oklt cGxUeXBlPjo6dmFsdWU+PgotKyAgcmVxdWlyZXMgc3RkOjppc19wb2ludGVyX3Y8dHlwZW5hbWUg TmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlPgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxJRExPcHRpb25hbDxUPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPHR5 cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZT4gewotICAgdXNpbmcgSW1wbFR5 cGUgPSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU7Ci0gCgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tMTIyLWNsYW5nMTYtYnVpbGRmbGFncy5wYXRjaCBiL2Nocm9taXVtLTEy Mi1jbGFuZzE2LWJ1aWxkZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNjcyNWYzYgotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTEyMi1jbGFuZzE2LWJ1 aWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAu NjI2MS4zOS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ubWUgY2hyb21pdW0tMTIyLjAu NjI2MS4zOS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24KKy0tLSBjaHJvbWl1bS0xMjIu MC42MjYxLjM5L2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbi5tZQkyMDI0LTAyLTE5IDIx OjU4OjE1LjgzNTgxODE3NyArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuMzkvYnVpbGQv Y29uZmlnL2NvbXBpbGVyL0JVSUxELmduCTIwMjQtMDItMTkgMjE6NTk6MTEuNjYxODgwNjMzICsw MTAwCitAQCAtMTg1NiwxNSArMTg1NiwxMiBAQCBjb25maWcoImRlZmF1bHRfd2FybmluZ3MiKSB7 CisgCisgICAgICAgICAjIFRPRE8oY3JidWcuY29tLzE0OTQ4MDkpOiBFdmFsdWF0ZSBhbmQgcG9z c2libHkgZW5hYmxlLgorICAgICAgICAgIi1Xbm8tdmxhLWV4dGVuc2lvbiIsCistCistICAgICAg ICAjIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTQ5MDYwNyk6IEZpeCBhbmQgcmUtZW5hYmxlLgor LSAgICAgICAgIi1Xbm8tdGhyZWFkLXNhZmV0eS1yZWZlcmVuY2UtcmV0dXJuIiwKKyAgICAgICBd CisgCisgICAgICAgaWYgKCFpc19uYWNsKSB7CisgICAgICAgICBjZmxhZ3NfY2MgKz0gWworICAg ICAgICAgICAjIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTUxMzcyNCk6IEZpeCBhbmQgcmUtZW5h YmxlLgorLSAgICAgICAgICAiLVduby1jKysxMS1uYXJyb3dpbmctY29uc3QtcmVmZXJlbmNlIiwK KysgICAgICAgICAgIi1Xbm8tYysrMTEtbmFycm93aW5nIiwKKyAgICAgICAgIF0KKyAgICAgICB9 CisgICAgIH0KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMjItY2xhbmcxNi1kaXNhYmxlLWF1dG8t dXBncmFkZS1kZWJ1Zy1pbmZvLnBhdGNoIGIvY2hyb21pdW0tMTIyLWNsYW5nMTYtZGlzYWJsZS1h dXRvLXVwZ3JhZGUtZGVidWctaW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5jODMwY2FhCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTIyLWNsYW5nMTYt ZGlzYWJsZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mby5wYXRjaApAQCAtMCwwICsxLDEyIEBACitk aWZmIC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlM RC5nbi5tZSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlM RC5nbgorLS0tIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JV SUxELmduLm1lCTIwMjQtMDItMTIgMTQ6NDY6NTIuNjkxOTkyMjgyICswMTAwCisrKysgY2hyb21p dW0tMTIyLjAuNjI2MS4yOS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24JMjAyNC0wMi0x MiAxNDo0ODo1NC4yNTYyNzQwNjggKzAxMDAKK0BAIC03ODcsNyArNzg3LDcgQEAgY29uZmlnKCJj b21waWxlciIpIHsKKyAKKyAgICAgICAjIFdlIG9ubHkgdXNlIG9uZSB2ZXJzaW9uIG9mIExMVk0g d2l0aGluIGEgYnVpbGQgc28gdGhlcmUncyBubyBuZWVkIHRvCisgICAgICAgIyB1cGdyYWRlIGRl YnVnIGluZm8sIHdoaWNoIGNhbiBiZSBleHBlbnNpdmUgc2luY2UgaXQgcnVucyB0aGUgdmVyaWZp ZXIuCistICAgICAgbGRmbGFncyArPSBbICItV2wsLW1sbHZtLC1kaXNhYmxlLWF1dG8tdXBncmFk ZS1kZWJ1Zy1pbmZvIiBdCisrICAgICAgbGRmbGFncyArPSBbICIiIF0KKyAgICAgfQorIAorICAg ICAjIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTIxMTE1NSk6IGludmVzdGlnYXRlIHdoeSB0aGlz IGlzbid0IGVmZmVjdGl2ZSBvbgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEyMi1jb25zdGV4cHIu cGF0Y2ggYi9jaHJvbWl1bS0xMjItY29uc3RleHByLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjI4MjA2NmMKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMjIt Y29uc3RleHByLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK2RpZmYgLXVwIGNocm9taXVtLTEyMi4w LjYyNjEuMjkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2NvbW1vbi91bmlxdWVfaWRzLmgubWUg Y2hyb21pdW0tMTIyLjAuNjI2MS4yOS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvY29tbW9uL3Vu aXF1ZV9pZHMuaAorLS0tIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY29tcG9uZW50cy9hdXRvZmls bC9jb3JlL2NvbW1vbi91bmlxdWVfaWRzLmgubWUJMjAyNC0wMi0xMyAxMzowNzoyNC45ODIxODQ0 ODUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2NvbXBvbmVudHMvYXV0b2ZpbGwv Y29yZS9jb21tb24vdW5pcXVlX2lkcy5oCTIwMjQtMDItMTMgMTM6MDc6NDUuNTEwNTUxNTg5ICsw MTAwCitAQCAtMTM3LDcgKzEzNyw3IEBAIHN0cnVjdCBHbG9iYWxJZCB7CisgCisgICBmcmllbmQg Y29uc3RleHByIGF1dG8gb3BlcmF0b3I8PT4oY29uc3QgR2xvYmFsSWQ8UmVuZGVyZXJJZD4mIGxo cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHbG9iYWxJZDxS ZW5kZXJlcklkPiYgcmhzKSA9IGRlZmF1bHQ7CistICBmcmllbmQgY29uc3RleHByIGJvb2wgb3Bl cmF0b3I9PShjb25zdCBHbG9iYWxJZDxSZW5kZXJlcklkPiYgbGhzLAorKyAgZnJpZW5kIGJvb2wg b3BlcmF0b3I9PShjb25zdCBHbG9iYWxJZDxSZW5kZXJlcklkPiYgbGhzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR2xvYmFsSWQ8UmVuZGVyZXJJZD4mIHJocykg PSBkZWZhdWx0OworIH07CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Jhc2Uv dHlwZXMvc3Ryb25nX2FsaWFzLmgubWUgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9iYXNlL3R5cGVz L3N0cm9uZ19hbGlhcy5oCistLS0gY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9iYXNlL3R5cGVzL3N0 cm9uZ19hbGlhcy5oLm1lCTIwMjQtMDItMTMgMTQ6MTM6MjAuMzExMzc0Mjg4ICswMTAwCisrKysg Y2hyb21pdW0tMTIyLjAuNjI2MS4yOS9iYXNlL3R5cGVzL3N0cm9uZ19hbGlhcy5oCTIwMjQtMDIt MTMgMTI6MzA6MzguNTk2OTEzOTUxICswMTAwCitAQCAtMTEwLDcgKzExMCw3IEBAIGNsYXNzIFN0 cm9uZ0FsaWFzIHsKKyAgIC8vIGEgYFN0cm9uZ0FsaWFzPFc+YC4KKyAgIGZyaWVuZCBjb25zdGV4 cHIgYXV0byBvcGVyYXRvcjw9Pihjb25zdCBTdHJvbmdBbGlhcyYgbGhzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cm9uZ0FsaWFzJiByaHMpID0gZGVmYXVs dDsKKy0gIGZyaWVuZCBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0cm9uZ0FsaWFz JiBsaHMsCisrICBmcmllbmQgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0cm9uZ0FsaWFzJiBsaHMs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJvbmdBbGlhcyYg cmhzKSA9IGRlZmF1bHQ7CisgCisgICAvLyBIYXNoZXIgdG8gdXNlIGluIHN0ZDo6dW5vcmRlcmVk X21hcCwgc3RkOjp1bm9yZGVyZWRfc2V0LCBldGMuCitkaWZmIC11cCBjaHJvbWl1bS0xMjIuMC42 MjYxLjI5L2NvbXBvbmVudHMvcGVyZm9ybWFuY2VfbWFuYWdlci9yZXNvdXJjZV9hdHRyaWJ1dGlv bi9xdWVyeV9wYXJhbXMuaC5jb25zdGV4cHIgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9jb21wb25l bnRzL3BlcmZvcm1hbmNlX21hbmFnZXIvcmVzb3VyY2VfYXR0cmlidXRpb24vcXVlcnlfcGFyYW1z LmgKKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2NvbXBvbmVudHMvcGVyZm9ybWFuY2VfbWFu YWdlci9yZXNvdXJjZV9hdHRyaWJ1dGlvbi9xdWVyeV9wYXJhbXMuaC5jb25zdGV4cHIJMjAyNC0w Mi0wNyAxOTo0OTozMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5 L2NvbXBvbmVudHMvcGVyZm9ybWFuY2VfbWFuYWdlci9yZXNvdXJjZV9hdHRyaWJ1dGlvbi9xdWVy eV9wYXJhbXMuaAkyMDI0LTAyLTEzIDExOjEyOjUyLjkxMzMzODY5OSArMDEwMAorQEAgLTI5LDcg KzI5LDcgQEAgY2xhc3MgQ29udGV4dENvbGxlY3Rpb24geworICAgQ29udGV4dENvbGxlY3Rpb24o Y29uc3QgQ29udGV4dENvbGxlY3Rpb24mIG90aGVyKTsKKyAgIENvbnRleHRDb2xsZWN0aW9uJiBv cGVyYXRvcj0oY29uc3QgQ29udGV4dENvbGxlY3Rpb24mIG90aGVyKTsKKyAKKy0gIGZyaWVuZCBj b25zdGV4cHIgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENvbnRleHRDb2xsZWN0aW9uJiwKKysgIGZy aWVuZCBib29sIG9wZXJhdG9yPT0oY29uc3QgQ29udGV4dENvbGxlY3Rpb24mLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ29udGV4dENvbGxlY3Rpb24mKSA9IGRl ZmF1bHQ7CisgCisgICAvLyBBZGRzIGBjb250ZXh0YCB0byB0aGUgY29sbGVjdGlvbi4KK0BAIC02 Nyw3ICs2Nyw3IEBAIHN0cnVjdCBRdWVyeVBhcmFtcyB7CisgICBRdWVyeVBhcmFtcyhjb25zdCBR dWVyeVBhcmFtcyYgb3RoZXIpOworICAgUXVlcnlQYXJhbXMmIG9wZXJhdG9yPShjb25zdCBRdWVy eVBhcmFtcyYgb3RoZXIpOworIAorLSAgZnJpZW5kIGNvbnN0ZXhwciBib29sIG9wZXJhdG9yPT0o Y29uc3QgUXVlcnlQYXJhbXMmLAorKyAgZnJpZW5kIGJvb2wgb3BlcmF0b3I9PShjb25zdCBRdWVy eVBhcmFtcyYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBRdWVy eVBhcmFtcyYpID0gZGVmYXVsdDsKKyAKKyAgIC8vIFJlc291cmNlIHR5cGVzIHRvIG1lYXN1cmUu CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTIyLWRpc2FibGUtRkZtcGVnQWxsb3dMaXN0cy5wYXRj aCBiL2Nocm9taXVtLTEyMi1kaXNhYmxlLUZGbXBlZ0FsbG93TGlzdHMucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNmYjYwNgotLS0gL2Rldi9udWxsCisrKyBiL2No cm9taXVtLTEyMi1kaXNhYmxlLUZGbXBlZ0FsbG93TGlzdHMucGF0Y2gKQEAgLTAsMCArMSwxMiBA QAorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9tZWRpYS9iYXNlL21lZGlhX3N3aXRj aGVzLmNjLmRpc2FibGUtRkZtcGVnQWxsb3dMaXN0cyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L21l ZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuY2MKKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L21l ZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuY2MuZGlzYWJsZS1GRm1wZWdBbGxvd0xpc3RzCTIwMjQt MDItMTIgMTU6NTY6NTAuNzAzMTk2NDcxICswMTAwCisrKysgY2hyb21pdW0tMTIyLjAuNjI2MS4y OS9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmNjCTIwMjQtMDItMTIgMTc6MDg6NDIuMjY2MDc2 NDAxICswMTAwCitAQCAtMTY4Nyw3ICsxNjg3LDcgQEAgQkFTRV9GRUFUVVJFKGtVc2VXaW5kb3dC b3VuZHNGb3JQaXAsCisgLy8gRW5hYmxlcyBGRm1wZWcgYWxsb3cgbGlzdHMgZm9yIHN1cHBvcnRl ZCBjb2RlY3MgLyBjb250YWluZXJzLgorIEJBU0VfRkVBVFVSRShrRkZtcGVnQWxsb3dMaXN0cywK KyAgICAgICAgICAgICAgIkZGbXBlZ0FsbG93TGlzdHMiLAorLSAgICAgICAgICAgICBiYXNlOjpG RUFUVVJFX0VOQUJMRURfQllfREVGQVVMVCk7CisrICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVf RElTQUJMRURfQllfREVGQVVMVCk7CisgCisgLy8gRW5hYmxlcyBzZW5kaW5nIE1lZGlhTG9nIHRv IHRoZSBsb2cgc3RyZWFtLCB3aGljaCBpcyB1c2VmdWwgZm9yIGVhc2llcgorIC8vIGRldmVsb3Bt ZW50IGJ5IGVuc3VyaW5nIGxvZ3MgY2FuIGJlIHNlZW4gd2l0aG91dCBhIHJlbW90ZSBkZXNrdG9w IHNlc3Npb24uCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTIyLWVsOC1zdXBwb3J0LTY0a3BhZ2Uu cGF0Y2ggYi9jaHJvbWl1bS0xMjItZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzhhOGFjCi0tLSAvZGV2L251bGwKKysrIGIvY2hy b21pdW0tMTIyLWVsOC1zdXBwb3J0LTY0a3BhZ2UucGF0Y2gKQEAgLTAsMCArMSwxMjYgQEAKK2Rp ZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9h bGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fYnVja2V0LmguZWw4LXN1cHBv cnQtNjRrcGFnZS5wYXRjaCBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9w YXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX2J1Y2tldC5o CistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2Fs bG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9idWNrZXQuaC5lbDgtc3VwcG9y dC02NGtwYWdlLnBhdGNoCTIwMjQtMDEtMzAgMjE6MjQ6MTAuMDAwMDAwMDAwICswMTAwCisrKysg Y2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRv ci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9idWNrZXQuaAkyMDI0LTAyLTAxIDE3OjIw OjM3LjE3ODg3NzQ0OCArMDEwMAorQEAgLTE0Niw3ICsxNDYsMTMgQEAgc3RydWN0IFBhcnRpdGlv bkJ1Y2tldCB7CisgICAvLyBSZXR1cm5zIGEgc2xvdCBudW1iZXIgc3RhcnRpbmcgZnJvbSB0aGUg YmVnaW5uaW5nIG9mIHRoZSBzbG90IHNwYW4uCisgICBQQV9BTFdBWVNfSU5MSU5FIHNpemVfdCBH ZXRTbG90TnVtYmVyKHNpemVfdCBvZmZzZXRfaW5fc2xvdF9zcGFuKSBjb25zdCB7CisgICAgIC8v IFNlZSB0aGUgc3RhdGljIGFzc2VydGlvbiBmb3IgYGtSZWNpcHJvY2FsU2hpZnRgIGFib3ZlLgor LSAgICBQQV9EQ0hFQ0sob2Zmc2V0X2luX3Nsb3Rfc3BhbiA8PSBrTWF4QnVja2V0ZWQpOworKyAg ICAvLyBUT0RPKGNhc2V5LnNtYWxsZXlAYXJtLmNvbSk6IHRyaWdnZXJzIG9uIEFhcmNoNjQvTGlu dXgKKysgICAgLy8gc3lzdGVtcyB3aXRoIDY0ayBzeXN0ZW0gcGFnZXMuIENvbnN0YW50cyBuZWVk IHRvIGJlCisrICAgIC8vIGFkanVzdGVkIHRvIHByZXZlbnQgZGlmZmVyZW50IHBhcnRzIG9mIHRo ZSBhbGxvY2F0b3IKKysgICAgLy8gZnJvbSBvdmVybGFwcGluZy4gRm9yIG5vdyB0aGlzIHdpbGwg YWxsb3cgNjRrIHBhZ2VzCisrICAgIC8vIHRvIGZ1bmN0aW9uIG9uIEFhcmNoNjQvTGludXggc3lz dGVtcywgYWxiZWl0IG5vdAorKyAgICAvLyB2ZXJ5IGVmZmljaWVudGx5LgorKyAgICAvLyBQQV9E Q0hFQ0sob2Zmc2V0X2luX3Nsb3Rfc3BhbiA8PSBrTWF4QnVja2V0ZWQpOworICAgICBQQV9EQ0hF Q0soc2xvdF9zaXplIDw9IGtNYXhCdWNrZXRlZCk7CisgCisgICAgIGNvbnN0IHNpemVfdCBvZmZz ZXRfaW5fc2xvdCA9CitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNlL2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX3Bh Z2VfY29uc3RhbnRzLmguZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaCBjaHJvbWl1bS0xMjEuMC42 MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25f YWxsb2MvcGFydGl0aW9uX3BhZ2VfY29uc3RhbnRzLmgKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3 LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxs b2MvcGFydGl0aW9uX3BhZ2VfY29uc3RhbnRzLmguZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaAky MDI0LTAyLTAxIDE3OjIwOjM3LjE3ODg3NzQ0OCArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYx NjcuMTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9h bGxvYy9wYXJ0aXRpb25fcGFnZV9jb25zdGFudHMuaAkyMDI0LTAyLTAxIDE3OjMxOjA4LjUwMDI2 ODQ1NyArMDEwMAorQEAgLTE3LDEwICsxNyw4IEBAIG5hbWVzcGFjZSBwYXJ0aXRpb25fYWxsb2M6 OmludGVybmFsIHsKKyAvLyBQYXJ0aXRpb25QYWdlU2l6ZSgpIGlzIDQgdGltZXMgdGhlIE9TIHBh Z2Ugc2l6ZS4KKyBzdGF0aWMgY29uc3RleHByIHNpemVfdCBrTWF4U2xvdHNQZXJTbG90U3BhbiA9 IDQgKiAoMSA8PCAxNCkgLyBrU21hbGxlc3RCdWNrZXQ7CisgI2VsaWYgKEJVSUxERkxBRyhJU19B TkRST0lEKSB8fCBCVUlMREZMQUcoSVNfTElOVVgpKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0 KQorLS8vIFN5c3RlbSBwYWdlIHNpemUgY2FuIGJlIDQsIDE2LCBvciA2NCBraUIgb24gTGludXgg b24gYXJtNjQuIDY0IGtpQiBpcworLS8vIGN1cnJlbnRseSAoa01heFNsb3RzUGVyU2xvdFNwYW5C aXRzID09IDEzKSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBjb2RlLAorLS8vIHNvIHdlIHVzZSB0aGUg MTYga2lCIG1heGltdW0gKDY0IGtpQiB3aWxsIGNyYXNoKS4KKy1zdGF0aWMgY29uc3RleHByIHNp emVfdCBrTWF4U2xvdHNQZXJTbG90U3BhbiA9IDQgKiAoMSA8PCAxNCkgLyBrU21hbGxlc3RCdWNr ZXQ7CisrLy8gU3lzdGVtIHBhZ2Ugc2l6ZSBjYW4gYmUgNCwgMTYsIG9yIDY0IGtpQiBvbiBMaW51 eCBvbiBBQXJjaDY0LgorK3N0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGtNYXhTbG90c1BlclNsb3RT cGFuID0gNCAqICgxIDw8IDE2KSAvIGtTbWFsbGVzdEJ1Y2tldDsKKyAjZWxzZQorIC8vIEEgc2xv dCBzcGFuIGNhbiAic3BhbiIgbXVsdGlwbGUgUGFydGl0aW9uUGFnZXMsIGJ1dCB0aGVuIGl0cyBz bG90IHNpemUgaXMKKyAvLyBsYXJnZXIsIHNvIGl0IGRvZXNuJ3QgaGF2ZSBhcyBtYW55IHNsb3Rz LgorZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9wYWdlLmguZWw4LXN1 cHBvcnQtNjRrcGFnZS5wYXRjaCBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNlL2FsbG9jYXRv ci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX3BhZ2Uu aAorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9h bGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fcGFnZS5oLmVsOC1zdXBwb3J0 LTY0a3BhZ2UucGF0Y2gJMjAyNC0wMS0zMCAyMToyNDoxMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBj aHJvbWl1bS0xMjEuMC42MTY3LjEzOS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9y L3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX3BhZ2UuaAkyMDI0LTAyLTAxIDE3OjIwOjM3 LjE3ODg3NzQ0OCArMDEwMAorQEAgLTk1LDI2ICs5NSwyNSBAQCBzdHJ1Y3QgU2xvdFNwYW5NZXRh ZGF0YSB7CisgCisgICAvLyBDSEVDSygpZWQgaW4gQWxsb2NOZXdTbG90U3BhbigpLgorICAgLy8g VGhlIG1heGltdW0gbnVtYmVyIG9mIGJpdHMgbmVlZGVkIHRvIGNvdmVyIGFsbCBjdXJyZW50bHkg c3VwcG9ydGVkIE9TZXMuCistICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBrTWF4U2xvdHNQZXJT bG90U3BhbkJpdHMgPSAxMzsKKysgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGtNYXhTbG90c1Bl clNsb3RTcGFuQml0cyA9IDE1OworICAgc3RhdGljX2Fzc2VydChrTWF4U2xvdHNQZXJTbG90U3Bh biA8ICgxIDw8IGtNYXhTbG90c1BlclNsb3RTcGFuQml0cyksICIiKTsKKyAKKy0gIC8vIHxtYXJr ZWRfZnVsbHwgaXNuJ3QgZXF1aXZhbGVudCB0byBiZWluZyBmdWxsLiBTbG90IHNwYW4gaXMgbWFy a2VkIGFzIGZ1bGwKKy0gIC8vIGlmZiBpdCBpc24ndCBvbiB0aGUgYWN0aXZlIHNsb3Qgc3BhbiBs aXN0IChvciBhbnkgb3RoZXIgbGlzdCkuCistICB1aW50MzJfdCBtYXJrZWRfZnVsbCA6IDE7Cisg ICAvLyB8bnVtX2FsbG9jYXRlZF9zbG90c3wgaXMgMCBmb3IgZW1wdHkgb3IgZGVjb21taXR0ZWQg c2xvdCBzcGFucywgd2hpY2ggY2FuCisgICAvLyBiZSBmdXJ0aGVyIGRpZmZlcmVudGlhdGVkIGJ5 IGNoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgZnJlZWxpc3QuCistICB1aW50MzJfdCBudW1fYWxs b2NhdGVkX3Nsb3RzIDoga01heFNsb3RzUGVyU2xvdFNwYW5CaXRzOworLSAgdWludDMyX3QgbnVt X3VucHJvdmlzaW9uZWRfc2xvdHMgOiBrTWF4U2xvdHNQZXJTbG90U3BhbkJpdHM7CisrICB1aW50 MTZfdCBudW1fYWxsb2NhdGVkX3Nsb3RzIDoga01heFNsb3RzUGVyU2xvdFNwYW5CaXRzOworKyAg dWludDE2X3QgbnVtX3VucHJvdmlzaW9uZWRfc2xvdHMgOiBrTWF4U2xvdHNQZXJTbG90U3BhbkJp dHM7CisrCisrICAvLyB8bWFya2VkX2Z1bGx8IGlzbid0IGVxdWl2YWxlbnQgdG8gYmVpbmcgZnVs bC4gU2xvdCBzcGFuIGlzIG1hcmtlZCBhcyBmdWxsCisrICAvLyBpZmYgaXQgaXNuJ3Qgb24gdGhl IGFjdGl2ZSBzbG90IHNwYW4gbGlzdCAob3IgYW55IG90aGVyIGxpc3QpLgorKyAgYm9vbCBtYXJr ZWRfZnVsbCA6IDE7CisgCisgIHByaXZhdGU6CistICBjb25zdCB1aW50MzJfdCBjYW5fc3RvcmVf cmF3X3NpemVfIDogMTsKKy0gIHVpbnQzMl90IGZyZWVsaXN0X2lzX3NvcnRlZF8gOiAxOworLSAg dWludDMyX3QgdW51c2VkMV8gOiAoMzIgLSAxIC0gMiAqIGtNYXhTbG90c1BlclNsb3RTcGFuQml0 cyAtIDEgLSAxKTsKKysgIGNvbnN0IHVpbnQ4X3QgY2FuX3N0b3JlX3Jhd19zaXplXyA6IDE7Cisr ICB1aW50OF90IGZyZWVsaXN0X2lzX3NvcnRlZF8gOiAxOworICAgLy8gSWYgfGluX2VtcHR5X2Nh Y2hlX3w9PTEsIHxlbXB0eV9jYWNoZV9pbmRleHwgaXMgdW5kZWZpbmVkIGFuZCBtdXN0bid0IGJl CisgICAvLyB1c2VkLgorLSAgdWludDE2X3QgaW5fZW1wdHlfY2FjaGVfIDogMTsKKy0gIHVpbnQx Nl90IGVtcHR5X2NhY2hlX2luZGV4XyA6IGtFbXB0eUNhY2hlSW5kZXhCaXRzOyAgLy8gPCBrTWF4 RnJlZWFibGVTcGFucy4KKy0gIHVpbnQxNl90IHVudXNlZDJfIDogKDE2IC0gMSAtIGtFbXB0eUNh Y2hlSW5kZXhCaXRzKTsKKysgIGJvb2wgaW5fZW1wdHlfY2FjaGVfIDogMTsKKysgIHVpbnQ4X3Qg ZW1wdHlfY2FjaGVfaW5kZXhfIDoga0VtcHR5Q2FjaGVJbmRleEJpdHM7ICAvLyA8IGtNYXhGcmVl YWJsZVNwYW5zLgorICAgLy8gQ2FuIHVzZSBvbmx5IDQ4IGJpdHMgKDZCKSBpbiB0aGlzIGJpdGZp ZWxkLCBhcyB0aGlzIHN0cnVjdHVyZSBpcyBlbWJlZGRlZAorICAgLy8gaW4gUGFydGl0aW9uUGFn ZSB3aGljaCBoYXMgMkIgd29ydGggb2YgZmllbGRzIGFuZCBtdXN0IGZpdCBpbiAzMkIuCisgCitA QCAtMjc5LDE4ICsyNzgsMTMgQEAgc3RhdGljX2Fzc2VydChzaXplb2YoU2xvdFNwYW5NZXRhZGF0 YSkgPAorICAgICAgICAgICAgICAgIlNsb3RTcGFuTWV0YWRhdGEgbXVzdCBmaXQgaW50byBhIFBh Z2UgTWV0YWRhdGEgc2xvdC4iKTsKKyAKKyBpbmxpbmUgY29uc3RleHByIFNsb3RTcGFuTWV0YWRh dGE6OlNsb3RTcGFuTWV0YWRhdGEoKSBub2V4Y2VwdAorLSAgICA6IG1hcmtlZF9mdWxsKDApLAor LSAgICAgIG51bV9hbGxvY2F0ZWRfc2xvdHMoMCksCisrICAgIDogbnVtX2FsbG9jYXRlZF9zbG90 cygwKSwKKyAgICAgICBudW1fdW5wcm92aXNpb25lZF9zbG90cygwKSwKKysgICAgICBtYXJrZWRf ZnVsbCgwKSwKKyAgICAgICBjYW5fc3RvcmVfcmF3X3NpemVfKGZhbHNlKSwKKyAgICAgICBmcmVl bGlzdF9pc19zb3J0ZWRfKHRydWUpLAorLSAgICAgIHVudXNlZDFfKDApLAorICAgICAgIGluX2Vt cHR5X2NhY2hlXygwKSwKKy0gICAgICBlbXB0eV9jYWNoZV9pbmRleF8oMCksCistICAgICAgdW51 c2VkMl8oMCkgeworLSAgKHZvaWQpdW51c2VkMV87CistICAodm9pZCl1bnVzZWQyXzsKKy19Cisr ICAgICAgZW1wdHlfY2FjaGVfaW5kZXhfKDApIHt9CisgCisgaW5saW5lIFNsb3RTcGFuTWV0YWRh dGE6OlNsb3RTcGFuTWV0YWRhdGEoY29uc3QgU2xvdFNwYW5NZXRhZGF0YSYpID0gZGVmYXVsdDsK KyAKK0BAIC04ODMsNyArODc3LDcgQEAgUEFfQUxXQVlTX0lOTElORSB2b2lkIFNsb3RTcGFuTWV0 YWRhdGE6OgorIAorICAgc2l6ZV90IG51bV9zbG90c19wZXJfc3BhbiA9IGJ1Y2tldC0+Z2V0X3Ns b3RzX3Blcl9zcGFuKCk7CisgICBQQV9EQ0hFQ0sobnVtX3Nsb3RzX3Blcl9zcGFuIDw9IGtNYXhT bG90c1BlclNsb3RTcGFuKTsKKy0gIG51bV91bnByb3Zpc2lvbmVkX3Nsb3RzID0gc3RhdGljX2Nh c3Q8dWludDMyX3Q+KG51bV9zbG90c19wZXJfc3Bhbik7CisrICBudW1fdW5wcm92aXNpb25lZF9z bG90cyA9IHN0YXRpY19jYXN0PHVpbnQxNl90PihudW1fc2xvdHNfcGVyX3NwYW4pOworICAgUEFf RENIRUNLKG51bV91bnByb3Zpc2lvbmVkX3Nsb3RzKTsKKyAKKyAgIFRvU3VwZXJQYWdlRXh0ZW50 KCktPkluY3JlbWVudE51bWJlck9mTm9uZW1wdHlTbG90U3BhbnMoKTsKK2RpZmYgLXVwIGNocm9t aXVtLTEyMS4wLjYxNjcuMTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3Jj L3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fcm9vdC5jYy5lbDgtc3VwcG9ydC02NGtwYWdlLnBh dGNoIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxv Y2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fcm9vdC5jYworLS0tIGNocm9taXVt LTEyMS4wLjYxNjcuMTM5L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3Bh cnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fcm9vdC5jYy5lbDgtc3VwcG9ydC02NGtwYWdlLnBhdGNo CTIwMjQtMDEtMzAgMjE6MjQ6MTAuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAu NjE2Ny4xMzkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9u X2FsbG9jL3BhcnRpdGlvbl9yb290LmNjCTIwMjQtMDItMDEgMTc6MjA6MzcuMTc4ODc3NDQ4ICsw MTAwCitAQCAtOTUwLDEyICs5NTAsMTEgQEAgdm9pZCBQYXJ0aXRpb25Sb290OjpJbml0KFBhcnRp dGlvbk9wdGlvbgorICAgICAgICAgICAgICAoaW50ZXJuYWw6OlN5c3RlbVBhZ2VTaXplKCkgPT0g KHNpemVfdHsxfSA8PCAxNCkpKTsKKyAjZWxpZiBCVUlMREZMQUcoSVNfTElOVVgpICYmIGRlZmlu ZWQoQVJDSF9DUFVfQVJNNjQpCisgICAgIC8vIENoZWNrIHJ1bnRpbWUgcGFnZXNpemUuIFRob3Vn aCB0aGUgY29kZSBpcyBjdXJyZW50bHkgdGhlIHNhbWUsIGl0IGlzCistICAgIC8vIG5vdCBtZXJn ZWQgd2l0aCB0aGUgSVNfQVBQTEUgY2FzZSBhYm92ZSBhcyBhIDEgPDwgMTYgY2FzZSBuZWVkcyB0 byBiZQorLSAgICAvLyBhZGRlZCBoZXJlIGluIHRoZSBmdXR1cmUsIHRvIGFsbG93IDY0IGtpQiBw YWdlc2l6ZS4gVGhhdCBpcyBvbmx5CistICAgIC8vIHN1cHBvcnRlZCBvbiBMaW51eCBvbiBhcm02 NCwgbm90IG9uIElTX0FQUExFLCBidXQgbm90IHlldCBwcmVzZW50IGhlcmUKKy0gICAgLy8gYXMg dGhlIHJlc3Qgb2YgdGhlIHBhcnRpdGlvbiBhbGxvY2F0b3IgZG9lcyBub3QgY3VycmVudGx5IHN1 cHBvcnQgaXQuCisrICAgIC8vIG5vdCBtZXJnZWQgd2l0aCB0aGUgSVNfQVBQTEUgY2FzZSBhYm92 ZSBhcyBhIDEgPDwgMTYgY2FzZSBpcyBvbmx5CisrICAgIC8vIHN1cHBvcnRlZCBvbiBMaW51eCBv biBBQXJjaDY0LgorICAgICBQQV9DSEVDSygoaW50ZXJuYWw6OlN5c3RlbVBhZ2VTaXplKCkgPT0g KHNpemVfdHsxfSA8PCAxMikpIHx8CistICAgICAgICAgICAgIChpbnRlcm5hbDo6U3lzdGVtUGFn ZVNpemUoKSA9PSAoc2l6ZV90ezF9IDw8IDE0KSkpOworKyAgICAgICAgICAgICAoaW50ZXJuYWw6 OlN5c3RlbVBhZ2VTaXplKCkgPT0gKHNpemVfdHsxfSA8PCAxNCkpIHx8CisrICAgICAgICAgICAg IChpbnRlcm5hbDo6U3lzdGVtUGFnZVNpemUoKSA9PSAoc2l6ZV90ezF9IDw8IDE2KSkpOworICNl bmRpZgorIAorICAgICA6OnBhcnRpdGlvbl9hbGxvYzo6aW50ZXJuYWw6OlNjb3BlZEd1YXJkIGd1 YXJke2xvY2tffTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMjItbWlzc2luZy1oZWFkZXItZmls ZXMucGF0Y2ggYi9jaHJvbWl1bS0xMjItbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE2YmQ3MAotLS0gL2Rldi9udWxsCisrKyBi L2Nocm9taXVtLTEyMi1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaApAQCAtMCwwICsxLDE5MSBA QAorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9iYXNlL2NoZWNrX29wLmgubWlzc2lu Zy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9iYXNlL2NoZWNrX29wLmgKKy0t LSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Jhc2UvY2hlY2tfb3AuaC5taXNzaW5nLWhlYWRlci1m aWxlcwkyMDI0LTAyLTA3IDE5OjQ5OjIwLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEy Mi4wLjYyNjEuMjkvYmFzZS9jaGVja19vcC5oCTIwMjQtMDItMTIgMTQ6NTk6NDguMTM2NDE1MDYw ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ0hFQ0tfT1BfSF8KKyAjZGVm aW5lIEJBU0VfQ0hFQ0tfT1BfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8 Y3N0ZGRlZj4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxzdHJpbmdfdmlldz4KK2Rp ZmYgLXVwIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgu bWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9iYXNlL2NvbnRhaW5l cnMvZmxhdF9tYXAuaAorLS0tIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvYmFzZS9jb250YWluZXJz L2ZsYXRfbWFwLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyNC0wMi0wNyAxOTo0OToyMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Jhc2UvY29udGFpbmVycy9m bGF0X21hcC5oCTIwMjQtMDItMTIgMTQ6NTk6NDguMTM2NDE1MDYwICswMTAwCitAQCAtNSw2ICs1 LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXworICNkZWZpbmUgQkFT RV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1 ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPHR1cGxlPgorICNpbmNsdWRlIDx0eXBlX3RyYWl0 cz4KK2RpZmYgLXVwIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY2hyb21lL2Jyb3dzZXIvd2ViYXV0 aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1pc3NpbmctaGVhZGVyLWZp bGVzIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVu dGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oCistLS0gY2hyb21pdW0tMTIyLjAuNjI2MS4y OS9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21v ZGVsLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyNC0wMi0xMiAxNDo1OTo0OC4xMzc0MTUwNzkg KzAxMDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Nocm9tZS9icm93c2VyL3dlYmF1dGhu L2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaAkyMDI0LTAyLTEyIDE1OjI4OjE3 LjE2ODM5NTc4NyArMDEwMAorQEAgLTksNiArOSw3IEBACisgI2luY2x1ZGUgPG9wdGlvbmFsPgor ICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8dmFyaWFu dD4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL3NwYW4uaCIKKyAjaW5jbHVkZSAiYmFz ZS9mdW5jdGlvbmFsL2NhbGxiYWNrX2ZvcndhcmQuaCIKK2RpZmYgLXVwIGNocm9taXVtLTEyMi4w LjYyNjEuMjkvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNj Lm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY2hyb21lL3Rlc3Qv Y2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCistLS0gY2hyb21pdW0tMTIyLjAu NjI2MS4yOS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2Mu bWlzc2luZy1oZWFkZXItZmlsZXMJMjAyNC0wMi0wNyAxOTo0OToyNy4wMDAwMDAwMDAgKzAxMDAK KysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJv bWUvd2ViX3ZpZXdfaW1wbC5jYwkyMDI0LTAyLTEyIDE0OjU5OjQ4LjEzNzQxNTA3OSArMDEwMAor QEAgLTExLDYgKzExLDcgQEAKKyAjaW5jbHVkZSA8cXVldWU+CisgI2luY2x1ZGUgPHV0aWxpdHk+ CisgI2luY2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8Y3N0cmluZz4KKyAKKyAjaW5jbHVkZSAi YmFzZS9jaGVjay5oIgorICNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfcGF0aC5oIgorZGlmZiAt dXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9p bnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1pc3NpbmctaGVhZGVyLWZp bGVzIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQv aW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAorLS0tIGNocm9taXVtLTEy Mi4wLjYyNjEuMjkvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJf ZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDI0LTAyLTA3 IDE5OjQ5OjMwLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY29t cG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92 YWxpZGF0b3IuaAkyMDI0LTAyLTEyIDE0OjU5OjQ4LjEzODQxNTA5NyArMDEwMAorQEAgLTUsNiAr NSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9O RVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXworICNkZWZpbmUgQ09NUE9ORU5UU19GRUFU VVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8K KyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorICNpbmNsdWRl ICJjb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3Zh bGlkYXRvci5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9naW4vdGltZV9jbGFt cGVyLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9naW4vdGlt ZV9jbGFtcGVyLmgKKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2dpbi90aW1lX2NsYW1wZXIu aC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDI0LTAyLTA3IDE5OjQ5OjM1LjAwMDAwMDAwMCArMDEw MAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvZ2luL3RpbWVfY2xhbXBlci5oCTIwMjQtMDIt MTIgMTQ6NTk6NDguMTM4NDE1MDk3ICswMTAwCitAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBHSU5f RVhQT1JUIFRpbWVDbGFtcGVyIHsKKyAgICAgY29uc3QgaW50NjRfdCBtaWNyb3MgPSBub3dfbWlj cm9zICUgMTAwMDsKKyAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZpY2VzIHdpdGgg dGltZXMgYmVmb3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5CisgICAgIC8vIGNvbmZpZ3VyZWQg aW5jb3JyZWN0bHkpLgorLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8 IDEwMDApIHsKKysgICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8 IDEwMDApIHsKKyAgICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7CisgICAgIH0KKyAgICAg cmV0dXJuIENsYW1wVGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOworZGlmZiAtdXAg Y2hyb21pdW0tMTIyLjAuNjI2MS4yOS9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWlzc2luZy1oZWFk ZXItZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9uZXQvYmFzZS9uZXRfZXhwb3J0LmgKKy0t LSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L25ldC9iYXNlL25ldF9leHBvcnQuaC5taXNzaW5nLWhl YWRlci1maWxlcwkyMDI0LTAyLTA3IDE5OjQ5OjM4LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9t aXVtLTEyMi4wLjYyNjEuMjkvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCTIwMjQtMDItMTIgMTQ6NTk6 NDguMTM5NDE1MTE2ICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIE5FVF9CQVNFX05F VF9FWFBPUlRfSF8KKyAjZGVmaW5lIE5FVF9CQVNFX05FVF9FWFBPUlRfSF8KKyAKKysjaW5jbHVk ZSA8Y3N0ZGludD4KKysKKyAvLyBEZWZpbmVzIE5FVF9FWFBPUlQgc28gdGhhdCBmdW5jdGlvbmFs aXR5IGltcGxlbWVudGVkIGJ5IHRoZSBuZXQgbW9kdWxlIGNhbgorIC8vIGJlIGV4cG9ydGVkIHRv IGNvbnN1bWVycywgYW5kIE5FVF9FWFBPUlRfUFJJVkFURSB0aGF0IGFsbG93cyB1bml0IHRlc3Rz IHRvCisgLy8gYWNjZXNzIGZlYXR1cmVzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5 IGJ5IHJlYWwgY29uc3VtZXJzLgorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGly ZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oLm1pc3NpbmctaGVh ZGVyLWZpbGVzIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9h YnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAorLS0tIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhp cmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5taXNzaW5nLWhl YWRlci1maWxlcwkyMDI0LTAyLTA3IDE5OjQ5OjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9t aXVtLTEyMi4wLjYyNjEuMjkvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3Ry aW5nX3ZpZXcuaAkyMDI0LTAyLTEyIDE0OjU5OjQ4LjE0MjQxNTE3MiArMDEwMAorQEAgLTI3LDYg KzI3LDcgQEAKKyAjaWZuZGVmIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXworICNkZWZpbmUg QUJTTF9TVFJJTkdTX1NUUklOR19WSUVXX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2lu Y2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8Y2Fzc2VydD4KKyAjaW5jbHVkZSA8Y3N0ZGRl Zj4KK2RpZmYgLXVwIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhpcmRfcGFydHkvZGF3bi9zcmMv dGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgubWlzc2luZy1oZWFkZXIt ZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xh bmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaAorLS0tIGNocm9taXVtLTEyMi4wLjYy NjEuMjkvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFy c2VyL25hbWVyLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyNC0wMi0wNyAxOTo1MDo0NC4wMDAw MDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L3RoaXJkX3BhcnR5L2Rhd24v c3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oCTIwMjQtMDItMTIg MTQ6NTk6NDguMTQyNDE1MTcyICswMTAwCitAQCAtMjgsNiArMjgsNyBAQAorICNpZm5kZWYgU1JD X1RJTlRfTEFOR19TUElSVl9SRUFERVJfQVNUX1BBUlNFUl9OQU1FUl9IXworICNkZWZpbmUgU1JD X1RJTlRfTEFOR19TUElSVl9SRUFERVJfQVNUX1BBUlNFUl9OQU1FUl9IXworIAorKyNpbmNsdWRl IDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+ CisgI2luY2x1ZGUgPHZlY3Rvcj4KK2RpZmYgLXVwIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhp cmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMu Y2MubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0 eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5jYworLS0t IGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0 aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyNC0w Mi0wNyAxOTo1MjozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5 L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3Rv bmVzLmNjCTIwMjQtMDItMTIgMTQ6NTk6NDguMTQzNDE1MTkwICswMTAwCitAQCAtMTQsNiArMTQs NyBAQAorICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICAqLworIAorKyNpbmNs dWRlIDxjbWF0aD4KKyAjaW5jbHVkZSAiY3BwL3BhbGV0dGVzL3RvbmVzLmgiCisgCisgI2luY2x1 ZGUgImNwcC9jYW0vY2FtLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L3RoaXJk X3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1pc3NpbmctaGVh ZGVyLWZpbGVzIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkv cHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgKKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L3Ro aXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1pc3Npbmct aGVhZGVyLWZpbGVzCTIwMjQtMDItMDcgMTk6NTI6NTkuMDAwMDAwMDAwICswMTAwCisrKysgY2hy b21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0 cnVtZW50YXRpb24uaAkyMDI0LTAyLTEyIDE0OjU5OjQ4LjE0MzQxNTE5MCArMDEwMAorQEAgLTE3 LDYgKzE3LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgI2RlZmluZSBSVVlf UlVZX1BST0ZJTEVSX0lOU1RSVU1FTlRBVElPTl9IXworIAorICNpZmRlZiBSVVlfUFJPRklMRVIK KysjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxjc3RkaW8+CisgI2luY2x1ZGUgPG11dGV4 PgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L3Ro aXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBw b3J0L1VuaXgvU2lnbmFscy5pbmMubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAu NjI2MS4yOS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2 bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCistLS0gY2hyb21pdW0tMTIyLjAuNjI2MS4y OS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIv U3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjQtMDItMDcg MTk6NTQ6NDUuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGly ZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9y dC9Vbml4L1NpZ25hbHMuaW5jCTIwMjQtMDItMTIgMTQ6NTk6NDguMTQzNDE1MTkwICswMTAwCitA QCAtNDUsNiArNDUsNyBAQAorICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvU2F2ZUFuZFJlc3RvcmUu aCIKKyAjaW5jbHVkZSAibGx2bS9TdXBwb3J0L3Jhd19vc3RyZWFtLmgiCisgI2luY2x1ZGUgPGFs Z29yaXRobT4KKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNs dWRlIDxzeXNleGl0cy5oPgorICNpZmRlZiBIQVZFX0JBQ0tUUkFDRQorZGlmZiAtdXAgY2hyb21p dW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9r ZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21p dW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9r ZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgKKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5 L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwv c3BlY3Ryb2dyYW0uaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDI0LTAyLTA3IDE5OjUzOjE3LjAw MDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhpcmRfcGFydHkvdGZs aXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oCTIw MjQtMDItMTIgMTQ6NTk6NDguMTQzNDE1MTkwICswMTAwCitAQCAtMzEsNiArMzEsNyBAQCBsaW1p dGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAjaWZuZGVmIFRFTlNPUkZMT1dfTElURV9LRVJO RUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCisgI2RlZmluZSBURU5TT1JGTE9XX0xJVEVfS0VS TkVMU19JTlRFUk5BTF9TUEVDVFJPR1JBTV9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNp bmNsdWRlIDxjb21wbGV4PgorICNpbmNsdWRlIDxkZXF1ZT4KKyAjaW5jbHVkZSA8dmVjdG9yPgor ZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92 dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2Fs bG9jLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9w YXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRl cm5hbC92bWEvdmtfbWVtX2FsbG9jLmgKKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L3RoaXJk X3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4 dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDI0LTAyLTA3 IDE5OjU0OjIwLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhp cmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMv ZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCTIwMjQtMDItMTIgMTQ6NTk6NDguMTQ1NDE1MjI4 ICswMTAwCitAQCAtMjg4NCw2ICsyODg0LDcgQEAgc3RhdGljIHZvaWQgdm1hX2FsaWduZWRfZnJl ZSh2b2lkKiBWTUFfTgorIAorIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxlIGZ1 bmN0aW9uczogdm1hQnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3RyaW5nLgorICNpZiBW TUFfU1RBVFNfU1RSSU5HX0VOQUJMRUQKKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgc3RhdGlj IGlubGluZSB2b2lkIFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIsIHNp emVfdCBzdHJMZW4sIHVpbnQzMl90IG51bSkKKyAgICAgeworICAgICAgICAgc25wcmludGYob3V0 U3RyLCBzdHJMZW4sICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtKSk7CitkaWZm IC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGls aXR5L2NoYW5uZWxfbWl4ZXIuY2MubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAu NjI2MS4yOS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNj CistLS0gY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRp bGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjQtMDItMDcgMTk6 NTM6MTcuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9w YXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCTIwMjQtMDItMTIgMTQ6 NTk6NDguMTQ1NDE1MjI4ICswMTAwCitAQCAtOCw2ICs4LDggQEAKKyAgKiAgYmUgZm91bmQgaW4g dGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCisgICovCisg CisrI2luY2x1ZGUgPGNzdHJpbmc+CisrCisgI2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5l bF9taXhlci5oIgorIAorICNpbmNsdWRlICJhdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4aW5nX21h dHJpeC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS93ZWJy dGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgubWlzc2luZy1o ZWFkZXItZmlsZXMgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS90aGlyZF9wYXJ0eS93ZWJydGMvbW9k dWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgKKy0tLSBjaHJvbWl1bS0x MjIuMC42MjYxLjI5L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2Nv bW1vbl90eXBlc19wdWJsaWMuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDI0LTAyLTA3IDE5OjUz OjE3LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvdGhpcmRfcGFy dHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oCTIw MjQtMDItMTIgMTQ6NTk6NDguMTQ1NDE1MjI4ICswMTAwCitAQCAtMTEsNiArMTEsNyBAQAorICNp Zm5kZWYgTU9EVUxFU19JTkNMVURFX01PRFVMRV9DT01NT05fVFlQRVNfUFVCTElDX0hfCisgI2Rl ZmluZSBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1PTl9UWVBFU19QVUJMSUNfSF8KKyAKKysj aW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8bGltaXRzPgorIAorICNpbmNsdWRlICJhYnNs L3R5cGVzL29wdGlvbmFsLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L3VpL2dm eC9saW51eC9kcm1fdXRpbF9saW51eC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTEy Mi4wLjYyNjEuMjkvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgKKy0tLSBjaHJvbWl1bS0x MjIuMC42MjYxLjI5L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5oLm1pc3NpbmctaGVhZGVy LWZpbGVzCTIwMjQtMDItMDcgMTk6NTA6MDUuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0t MTIyLjAuNjI2MS4yOS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaAkyMDI0LTAyLTEyIDE0 OjU5OjQ4LjE0NzQxNTI2NSArMDEwMAorQEAgLTksNiArOSw4IEBACisgCisgI2luY2x1ZGUgInVp L2dmeC9idWZmZXJfdHlwZXMuaCIKKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKysKKyBuYW1lc3Bh Y2UgdWkgeworIAorIGludCBHZXRGb3VyQ0NGb3JtYXRGcm9tQnVmZmVyRm9ybWF0KGdmeDo6QnVm ZmVyRm9ybWF0IGZvcm1hdCk7CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTIyLW5vcmFyLnBhdGNo IGIvY2hyb21pdW0tMTIyLW5vcmFyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjJkNzgzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMjItbm9yYXIucGF0 Y2gKQEAgLTAsMCArMSw2MyBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9jaHJv bWUvYnJvd3Nlci9zYWZlX2Jyb3dzaW5nL2Rvd25sb2FkX3Byb3RlY3Rpb24vZmlsZV9hbmFseXpl ci5jYy5ub3VucmFyIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY2hyb21lL2Jyb3dzZXIvc2FmZV9i cm93c2luZy9kb3dubG9hZF9wcm90ZWN0aW9uL2ZpbGVfYW5hbHl6ZXIuY2MKKy0tLSBjaHJvbWl1 bS0xMjIuMC42MjYxLjI5L2Nocm9tZS9icm93c2VyL3NhZmVfYnJvd3NpbmcvZG93bmxvYWRfcHJv dGVjdGlvbi9maWxlX2FuYWx5emVyLmNjLm5vdW5yYXIJMjAyNC0wMi0wNyAxOTo0OToyNS4wMDAw MDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Nocm9tZS9icm93c2VyL3Nh ZmVfYnJvd3NpbmcvZG93bmxvYWRfcHJvdGVjdGlvbi9maWxlX2FuYWx5emVyLmNjCTIwMjQtMDIt MTEgMTg6NTU6MjkuOTY0NDUwNjA0ICswMTAwCitAQCAtNzksOCArNzksNiBAQCB2b2lkIEZpbGVB bmFseXplcjo6U3RhcnQoY29uc3QgYmFzZTo6RmlsCisgCisgICBpZiAoaW5zcGVjdGlvbl90eXBl ID09IERvd25sb2FkRmlsZVR5cGU6OlpJUCkgeworICAgICBTdGFydEV4dHJhY3RaaXBGZWF0dXJl cygpOworLSAgfSBlbHNlIGlmIChpbnNwZWN0aW9uX3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6 UkFSKSB7CistICAgIFN0YXJ0RXh0cmFjdFJhckZlYXR1cmVzKCk7CisgI2lmIEJVSUxERkxBRyhJ U19NQUMpCisgICB9IGVsc2UgaWYgKGluc3BlY3Rpb25fdHlwZSA9PSBEb3dubG9hZEZpbGVUeXBl OjpETUcpIHsKKyAgICAgU3RhcnRFeHRyYWN0RG1nRmVhdHVyZXMoKTsKK2RpZmYgLXVwIGNocm9t aXVtLTEyMi4wLjYyNjEuMjkvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduLm5v dW5yYXIgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3Npbmcv QlVJTEQuZ24KKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Nocm9tZS9jb21tb24vc2FmZV9i cm93c2luZy9CVUlMRC5nbi5ub3VucmFyCTIwMjQtMDItMDcgMTk6NDk6MjcuMDAwMDAwMDAwICsw MTAwCisrKysgY2hyb21pdW0tMTIyLjAuNjI2MS4yOS9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3Np bmcvQlVJTEQuZ24JMjAyNC0wMi0xMSAxODo1NToyOS45NjU0NTA2MjkgKzAxMDAKK0BAIC0xNDMs NyArMTQzLDYgQEAgc291cmNlX3NldCgic2FmZV9icm93c2luZyIpIHsKKyAgICAgICAiLy9jb21w b25lbnRzL3NhZmVfYnJvd3NpbmcvY29udGVudC9jb21tb246ZmlsZV90eXBlX3BvbGljaWVzIiwK KyAgICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29yZS9jb21tb24iLAorICAgICAg ICIvL3RoaXJkX3BhcnR5L2x6bWFfc2RrL2dvb2dsZTpzZXZlbl96aXBfcmVhZGVyIiwKKy0gICAg ICAiLy90aGlyZF9wYXJ0eS91bnJhcjp1bnJhciIsCisgICAgIF0KKyAKKyAgICAgcHVibGljX2Rl cHMgPSBbCitkaWZmIC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Nocm9tZS9zZXJ2aWNlcy9m aWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmNjLm5vdW5yYXIgY2hyb21pdW0tMTIyLjAu NjI2MS4yOS9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5j YworLS0tIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9z YWZlX2FyY2hpdmVfYW5hbHl6ZXIuY2Mubm91bnJhcgkyMDI0LTAyLTA3IDE5OjQ5OjI3LjAwMDAw MDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuMjkvY2hyb21lL3NlcnZpY2VzL2Zp bGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuY2MJMjAyNC0wMi0xMSAyMzo0OToyNS4wNjEz MjQwMDcgKzAxMDAKK0BAIC03NCw2ICs3NCw3IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6 QW5hbHl6ZVJhckZpbGUKKyAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxzdGQ6OnN0cmluZz4mIHBh c3N3b3JkLAorICAgICBtb2pvOjpQZW5kaW5nUmVtb3RlPGNocm9tZTo6bW9qb206OlRlbXBvcmFy eUZpbGVHZXR0ZXI+IHRlbXBfZmlsZV9nZXR0ZXIsCisgICAgIEFuYWx5emVSYXJGaWxlQ2FsbGJh Y2sgY2FsbGJhY2spIHsKKysjaWYgMAorICAgRENIRUNLKHJhcl9maWxlLklzVmFsaWQoKSk7Cisg ICB0ZW1wX2ZpbGVfZ2V0dGVyXy5CaW5kKHN0ZDo6bW92ZSh0ZW1wX2ZpbGVfZ2V0dGVyKSk7Cisg ICBjYWxsYmFja18gPSBzdGQ6Om1vdmUoY2FsbGJhY2spOworQEAgLTkwLDYgKzkxLDkgQEAgdm9p ZCBTYWZlQXJjaGl2ZUFuYWx5emVyOjpBbmFseXplUmFyRmlsZQorICAgICAgICAgICAgICAgICAg ICAgICAgIC8qcGFzc3dvcmQ9Ki9wYXNzd29yZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBz dGQ6Om1vdmUoYW5hbHlzaXNfZmluaXNoZWRfY2FsbGJhY2spLAorICAgICAgICAgICAgICAgICAg ICAgICAgIHN0ZDo6bW92ZSh0ZW1wX2ZpbGVfZ2V0dGVyX2NhbGxiYWNrKSwgJnJlc3VsdHNfKTsK KysjZWxzZQorKyAgTk9UUkVBQ0hFRCgpOworKyNlbmRpZgorIH0KKyAKKyB2b2lkIFNhZmVBcmNo aXZlQW5hbHl6ZXI6OkFuYWx5emVTZXZlblppcEZpbGUoCitkaWZmIC11cCBjaHJvbWl1bS0xMjIu MC42MjYxLjI5L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVy Lmgubm91bnJhciBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0 aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmgKKy0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjI5L2No cm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmgubm91bnJhcgky MDI0LTAyLTA3IDE5OjQ5OjI3LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYy NjEuMjkvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaAky MDI0LTAyLTExIDE4OjU1OjI5Ljk2NjQ1MDY1MyArMDEwMAorQEAgLTksNyArOSw2IEBACisgCisg I2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9hcmNoaXZlX2FuYWx5emVyX3Jl c3VsdHMuaCIKKyAjaW5jbHVkZSAiY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9wdWJsaWMvbW9q b20vc2FmZV9hcmNoaXZlX2FuYWx5emVyLm1vam9tLmgiCistI2luY2x1ZGUgImNocm9tZS91dGls aXR5L3NhZmVfYnJvd3NpbmcvcmFyX2FuYWx5emVyLmgiCisgI2luY2x1ZGUgImNocm9tZS91dGls aXR5L3NhZmVfYnJvd3Npbmcvc2V2ZW5femlwX2FuYWx5emVyLmgiCisgI2luY2x1ZGUgImNocm9t ZS91dGlsaXR5L3NhZmVfYnJvd3NpbmcvemlwX2FuYWx5emVyLmgiCisgI2luY2x1ZGUgIm1vam8v cHVibGljL2NwcC9iaW5kaW5ncy9yZW1vdGUuaCIKK0BAIC02Nyw3ICs2Niw2IEBAIGNsYXNzIFNh ZmVBcmNoaXZlQW5hbHl6ZXIgOiBwdWJsaWMgY2hyb20KKyAgIHZvaWQgVGltZW91dCgpOworIAor ICAgc2FmZV9icm93c2luZzo6WmlwQW5hbHl6ZXIgemlwX2FuYWx5emVyXzsKKy0gIHNhZmVfYnJv d3Npbmc6OlJhckFuYWx5emVyIHJhcl9hbmFseXplcl87CisgICBzYWZlX2Jyb3dzaW5nOjpTZXZl blppcEFuYWx5emVyIHNldmVuX3ppcF9hbmFseXplcl87CisgI2lmIEJVSUxERkxBRyhJU19NQUMp CisgICBzYWZlX2Jyb3dzaW5nOjpkbWc6OkRNR0FuYWx5emVyIGRtZ19hbmFseXplcl87CgpkaWZm IC0tZ2l0IGEvY2hyb21pdW0tMTIyLXJldmVydC1hdjFlbmMtZWw5LnBhdGNoIGIvY2hyb21pdW0t MTIyLXJldmVydC1hdjFlbmMtZWw5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjU4NjFiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMjItcmV2ZXJ0LWF2 MWVuYy1lbDkucGF0Y2gKQEAgLTAsMCArMSw5OCBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAu NTczNS4zNS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfdmlkZW9fZW5jb2RlX2FjY2VsZXJhdG9yLmNj Lm1lIGNocm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2Vu Y29kZV9hY2NlbGVyYXRvci5jYworLS0tIGNocm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3ZpZGVvX2VuY29kZV9hY2NlbGVyYXRvci5jYy5tZQkyMDIzLTA1LTIxIDEw OjA1OjAwLjM1Nzg2MDMyOSArMDIwMAorKysrIGNocm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEv Z3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2VuY29kZV9hY2NlbGVyYXRvci5jYwkyMDIzLTA1LTIxIDEw OjE4OjA5LjY2NTQzMjczNSArMDIwMAorQEAgLTQxLDcgKzQxLDYgQEAKKyAjaW5jbHVkZSAibWVk aWEvZ3B1L2dwdV92aWRlb19lbmNvZGVfYWNjZWxlcmF0b3JfaGVscGVycy5oIgorICNpbmNsdWRl ICJtZWRpYS9ncHUvaDI2NF9kcGIuaCIKKyAjaW5jbHVkZSAibWVkaWEvZ3B1L21hY3Jvcy5oIgor LSNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvYXYxX3ZhYXBpX3ZpZGVvX2VuY29kZXJfZGVsZWdh dGUuaCIKKyAjaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL2gyNjRfdmFhcGlfdmlkZW9fZW5jb2Rl cl9kZWxlZ2F0ZS5oIgorICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFfc3VyZmFjZS5oIgor ICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfY29tbW9uLmgiCitAQCAtMjAwLDcgKzE5 OSw3IEBAIGJvb2wgVmFhcGlWaWRlb0VuY29kZUFjY2VsZXJhdG9yOjpJbml0aWEKKyAKKyAgIGNv bnN0IFZpZGVvQ29kZWMgY29kZWMgPSBWaWRlb0NvZGVjUHJvZmlsZVRvVmlkZW9Db2RlYyhjb25m aWcub3V0cHV0X3Byb2ZpbGUpOworICAgaWYgKGNvZGVjICE9IFZpZGVvQ29kZWM6OmtIMjY0ICYm IGNvZGVjICE9IFZpZGVvQ29kZWM6OmtWUDggJiYKKy0gICAgICBjb2RlYyAhPSBWaWRlb0NvZGVj OjprVlA5ICYmIGNvZGVjICE9IFZpZGVvQ29kZWM6OmtBVjEpIHsKKysgICAgICBjb2RlYyAhPSBW aWRlb0NvZGVjOjprVlA5KSB7CisgICAgIE1FRElBX0xPRyhFUlJPUiwgbWVkaWFfbG9nLmdldCgp KQorICAgICAgICAgPDwgIlVuc3VwcG9ydGVkIHByb2ZpbGU6ICIgPDwgR2V0UHJvZmlsZU5hbWUo Y29uZmlnLm91dHB1dF9wcm9maWxlKTsKKyAgICAgcmV0dXJuIGZhbHNlOworQEAgLTI5Myw3ICsy OTIsNiBAQCB2b2lkIFZhYXBpVmlkZW9FbmNvZGVBY2NlbGVyYXRvcjo6SW5pdGlhCisgICAgICAg ICBicmVhazsKKyAgICAgICBjYXNlIFZpZGVvQ29kZWM6OmtWUDg6CisgICAgICAgY2FzZSBWaWRl b0NvZGVjOjprVlA5OgorLSAgICAgIGNhc2UgVmlkZW9Db2RlYzo6a0FWMToKKyAgICAgICAgIG1v ZGUgPSBWYWFwaVdyYXBwZXI6OmtFbmNvZGVDb25zdGFudFF1YW50aXphdGlvblBhcmFtZXRlcjsK KyAgICAgICAgIGJyZWFrOworICAgICAgIGRlZmF1bHQ6CitAQCAtMzU2LDEyICszNTQsNiBAQCB2 b2lkIFZhYXBpVmlkZW9FbmNvZGVBY2NlbGVyYXRvcjo6SW5pdGlhCisgICAgICAgICAgICAgdmFh cGlfd3JhcHBlcl8sIGVycm9yX2NiKTsKKyAgICAgICB9CisgICAgICAgYnJlYWs7CistICAgIGNh c2UgVmlkZW9Db2RlYzo6a0FWMToKKy0gICAgICBpZiAoIUlzQ29uZmlndXJlZEZvclRlc3Rpbmco KSkgeworLSAgICAgICAgZW5jb2Rlcl8gPSBzdGQ6Om1ha2VfdW5pcXVlPEFWMVZhYXBpVmlkZW9F bmNvZGVyRGVsZWdhdGU+KAorLSAgICAgICAgICAgIHZhYXBpX3dyYXBwZXJfLCBlcnJvcl9jYik7 CistICAgICAgfQorLSAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorICAgICAgIE5PVFJFQUNI RUQoKSA8PCAiVW5zdXBwb3J0ZWQgY29kZWMgdHlwZSAiIDw8IEdldENvZGVjTmFtZShvdXRwdXRf Y29kZWNfKTsKKyAgICAgICByZXR1cm47CitAQCAtODM1LDEwICs4MjcsNiBAQCBWYWFwaVZpZGVv RW5jb2RlQWNjZWxlcmF0b3I6OkNyZWF0ZUVuY29kCisgICAgIGNhc2UgVmlkZW9Db2RlYzo6a1ZQ OToKKyAgICAgICBwaWN0dXJlID0gbmV3IFZhYXBpVlA5UGljdHVyZShzdGQ6Om1vdmUocmVjb25z dHJ1Y3RlZF9zdXJmYWNlKSk7CisgICAgICAgYnJlYWs7CistICAgIGNhc2UgVmlkZW9Db2RlYzo6 a0FWMToKKy0gICAgICBwaWN0dXJlID0gbmV3IFZhYXBpQVYxUGljdHVyZSgvKmRpc3BsYXlfdmFf c3VyZmFjZT0qL251bGxwdHIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RkOjptb3ZlKHJlY29uc3RydWN0ZWRfc3VyZmFjZSkpOworLSAgICAgIGJyZWFrOworICAgICBk ZWZhdWx0OgorICAgICAgIHJldHVybiBudWxscHRyOworICAgfQorZGlmZiAtdXAgY2hyb21pdW0t MTE0LjAuNTczNS4zNS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24ucmV2ZXJ0LWF2MWVuYyBjaHJv bWl1bS0xMTQuMC41NzM1LjM1L21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgorLS0tIGNocm9taXVt LTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduLnJldmVydC1hdjFlbmMJMjAy My0wNS0xOCAwMDozNzo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTQuMC41NzM1 LjM1L21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgkyMDIzLTA1LTIwIDEzOjE0OjEwLjc1NjE4MzYy NiArMDIwMAorQEAgLTM4LDggKzM4LDYgQEAgc291cmNlX3NldCgidmFhcGkiKSB7CisgICBzb3Vy Y2VzID0gWworICAgICAiYXYxX3ZhYXBpX3ZpZGVvX2RlY29kZXJfZGVsZWdhdGUuY2MiLAorICAg ICAiYXYxX3ZhYXBpX3ZpZGVvX2RlY29kZXJfZGVsZWdhdGUuaCIsCistICAgICJhdjFfdmFhcGlf dmlkZW9fZW5jb2Rlcl9kZWxlZ2F0ZS5jYyIsCistICAgICJhdjFfdmFhcGlfdmlkZW9fZW5jb2Rl cl9kZWxlZ2F0ZS5oIiwKKyAgICAgImgyNjRfdmFhcGlfdmlkZW9fZGVjb2Rlcl9kZWxlZ2F0ZS5j YyIsCisgICAgICJoMjY0X3ZhYXBpX3ZpZGVvX2RlY29kZXJfZGVsZWdhdGUuaCIsCisgICAgICJo MjY0X3ZhYXBpX3ZpZGVvX2VuY29kZXJfZGVsZWdhdGUuY2MiLAorZGlmZiAtdXAgY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2MubWUgY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2MKKy0tLSBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5jYy5t ZQkyMDIzLTExLTAyIDE1OjA4OjMwLjkyMTMyNTc0NyArMDEwMAorKysrIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmNjCTIwMjMtMTEtMDIgMTU6 MDk6NDYuMTIzNjkyNjAyICswMTAwCitAQCAtMzEyNCw2ICszMTI0LDcgQEAgYm9vbCBWYWFwaVdy YXBwZXI6OkdldFN1cHBvcnRlZFBhY2tlZEhlYQorICAgcmV0dXJuIHRydWU7CisgfQorIAorKyNp ZiAwIC8vZGlzYWJsZSBBVjEgZHVlIHRvIG9sZCBsaWJ2YSBvbiBlcGVsOQorIGJvb2wgVmFhcGlX cmFwcGVyOjpHZXRNaW5BVjFTZWdtZW50U2l6ZShWaWRlb0NvZGVjUHJvZmlsZSBwcm9maWxlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCYgbWluX3Nl Z19zaXplKSB7CisgICBDSEVDSyghZW5mb3JjZV9zZXF1ZW5jZV9hZmZpbml0eV8gfHwKK0BAIC0z MTQxLDYgKzMxNDIsNyBAQCBib29sIFZhYXBpV3JhcHBlcjo6R2V0TWluQVYxU2VnbWVudFNpemUo CisgCisgICByZXR1cm4gdHJ1ZTsKKyB9CisrI2VuZGlmCisgCisgYm9vbCBWYWFwaVdyYXBwZXI6 OkJsaXRTdXJmYWNlKGNvbnN0IFZBU3VyZmFjZSYgdmFfc3VyZmFjZV9zcmMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZBU3VyZmFjZSYgdmFfc3VyZmFjZV9kZXN0LAor ZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dy YXBwZXIuaC5tZSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlf d3JhcHBlci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvbWVkaWEvZ3B1L3ZhYXBpL3Zh YXBpX3dyYXBwZXIuaC5tZQkyMDIzLTExLTAyIDE1OjA5OjU4Ljk3MzkyODM5NSArMDEwMAorKysr IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmgJ MjAyMy0xMS0wMiAxNToxMDo0NS45OTA3OTExMTQgKzAxMDAKK0BAIC01NTMsOSArNTUzLDExIEBA IGNsYXNzIE1FRElBX0dQVV9FWFBPUlQgVmFhcGlXcmFwcGVyCisgICAgICAgYm9vbCYgcGFja2Vk X3BwcywKKyAgICAgICBib29sJiBwYWNrZWRfc2xpY2UpOworIAorKyNpZiAwIC8vZGlzYWJsZSBB VjEgZHVlIHRvIG9sZCBsaWJ2YSBvbiBlcGVsOQorICAgLy8gR2V0cyB0aGUgbWluaW11bSBzZWdt ZW50IGJsb2NrIHNpemUgc3VwcG9ydGVkIGZvciBBVjEgZW5jb2RpbmcuCisgICBbW25vZGlzY2Fy ZF1dIGJvb2wgR2V0TWluQVYxU2VnbWVudFNpemUoVmlkZW9Db2RlY1Byb2ZpbGUgcHJvZmlsZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCYgbWlu X3NlZ19zaXplKTsKKysjZW5kaWYKKyAKKyAgIC8vIEJsaXRzIGEgVkFTdXJmYWNlIHx2YV9zdXJm YWNlX3NyY3wgaW50byBhbm90aGVyIFZBU3VyZmFjZQorICAgLy8gfHZhX3N1cmZhY2VfZGVzdHwg YXBwbHlpbmcgcGl4ZWwgZm9ybWF0IGNvbnZlcnNpb24sIGNyb3BwaW5nCgpkaWZmIC0tZ2l0IGEv Y2hyb21pdW0tMTIyLXY4LWMrKzIwLnBhdGNoIGIvY2hyb21pdW0tMTIyLXY4LWMrKzIwLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNDBkYjIKLS0tIC9kZXYvbnVs bAorKysgYi9jaHJvbWl1bS0xMjItdjgtYysrMjAucGF0Y2gKQEAgLTAsMCArMSw3NDAgQEAKK2Nv bW1pdCA5NDBhZjlmMmM4N2I0MzY1NTliOTdjNTM3NjNhYTllYWFmMTI1NGViCitBdXRob3I6IEpl cmVteSBSb21hbiA8amJyb21hbkBjaHJvbWl1bS5vcmc+CitEYXRlOiAgIFdlZCBOb3YgMTUgMTY6 MjQ6NTQgMjAyMyArMDAwMAorCisgICAgVXNlIEMrKzIwIGZlYXR1cmVzIHRvIHNpbXBsaWZ5IGJs aW5rOjpOYXRpdmVWYWx1ZVRyYWl0c0Jhc2UuCisgICAgCisgICAgVGhlc2UgYWxsb3cgc29tZSBv ZiB0aGUgbWV0YXByb2dyYW1taW5nIGJpdHMgdG8gYmUgc2ltcGxpZmllZCBhIGxpdHRsZS4KKyAg ICAKKyAgICBDaGFuZ2UtSWQ6IEkwNTJiNDM5NzU4NmQyMTM0ODQwMTYxNmUxNzkyYWZkYjk2NjJm OTc1CisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJj ZS5jb20vYy9jaHJvbWl1bS9zcmMvKy81MDMwMzM1CisgICAgUmV2aWV3ZWQtYnk6IFl1a2kgU2hp aW5vIDx5dWtpc2hpaW5vQGNocm9taXVtLm9yZz4KKyAgICBDb21taXQtUXVldWU6IEplcmVteSBS b21hbiA8amJyb21hbkBjaHJvbWl1bS5vcmc+CisgICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZz L2hlYWRzL21haW5AeyMxMjI0OTc4fQorCitkaWZmIC11cCBjaHJvbWl1bS0xMjIuMC42MjYxLjU3 L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVl X3RyYWl0c19idWZmZXJfc291cmNlcy5jYy5tZSBjaHJvbWl1bS0xMjIuMC42MjYxLjU3L3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0 c19idWZmZXJfc291cmNlcy5jYworLS0tIGNocm9taXVtLTEyMi4wLjYyNjEuNTcvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2J1 ZmZlcl9zb3VyY2VzLmNjLm1lCTIwMjQtMDItMjEgMDE6MjA6NTMuMTM4OTQ2NTAwICswMTAwCisr KysgY2hyb21pdW0tMTIyLjAuNjI2MS41Ny90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5k aW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfYnVmZmVyX3NvdXJjZXMuY2MJMjAyNC0w Mi0yMSAxMjozMzo1My4yMjYyMDcxMDMgKzAxMDAKK0BAIC03LDcgKzcsNiBAQAorICNpbmNsdWRl ICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2NvcmVfZXhwb3J0LmgiCisgI2luY2x1 ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZXhlY3V0aW9uX2NvbnRleHQvZXhl Y3V0aW9uX2NvbnRleHQuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9mcmFtZS93ZWJfZmVhdHVyZS5oIgorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9jb3JlL3R5cGVkX2FycmF5cy9mbGV4aWJsZV9hcnJheV9idWZmZXJfdmlldy5oIgor ICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3R5cGVkX2FycmF5cy90 eXBlZF9mbGV4aWJsZV9hcnJheV9idWZmZXJfdmlldy5oIgorIAorIG5hbWVzcGFjZSBibGluayB7 CitAQCAtNjk5LDExICs2OTgsMTIgQEAgRE9NQXJyYXlCdWZmZXJCYXNlKiBOYXRpdmVWYWx1ZVRy YWl0czwKKyAvLyBBcnJheUJ1ZmZlclZpZXcKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0g IHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KKy1Ob3RT aGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Tm90U2hhcmVkPFQ+Pjo6TmF0aXZlVmFsdWUoCist ICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1 ZSwKKy0gICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK05vdFNoYXJlZDxU PiBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgTm90U2hhcmVkPFQ+LAorKyAgICB0eXBlbmFtZSBz dGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2 YWx1ZT4+OjoKKysgICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgICAg ICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICAgICAgICAgICAgICBF eGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gTmF0aXZlVmFsdWVJ bXBsPAorICAgICAgIFJlY2lwZVRyYWl0PE5vdFNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwg a05vdFNoYXJlZD4sCisgICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNp emVDaGVjazo6a0NoZWNrLAorQEAgLTcxMiwxMiArNzEyLDEzIEBAIE5vdFNoYXJlZDxUPiBOYXRp dmVWYWx1ZVRyYWl0czxOb3RTaGFyZWQKKyB9CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cist ICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CistTm90 U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZDxUPj46OkFyZ3VtZW50VmFsdWUo CistICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICBpbnQgYXJndW1lbnRfaW5kZXgsCist ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAgICBFeGNlcHRpb25TdGF0ZSYgZXhj ZXB0aW9uX3N0YXRlKSB7CisrTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBO b3RTaGFyZWQ8VD4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNl X29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgorKyAgICBBcmd1bWVudFZhbHVl KHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9p bmRleCwKKysgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysg ICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICBy ZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8CisgICAgICAgUmVjaXBlVHJhaXQ8Tm90U2hhcmVkPFQ+ PiwgVG9ET01WaWV3VHlwZTxULCBrTm90U2hhcmVkPiwKKyAgICAgICBOdWxsYWJsaXR5OjprSXNO b3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCitAQCAtNzI4LDExICs3MjksMTIg QEAgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZAorIC8vIFtBbGxvd1No YXJlZF0gQXJyYXlCdWZmZXJWaWV3CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1 aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CistTWF5YmVTaGFy ZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8TWF5YmVTaGFyZWQ8VD4+OjpOYXRpdmVWYWx1ZSgKKy0g ICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCistICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVl LAorLSAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisrTWF5YmVTaGFyZWQ8 VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIE1heWJlU2hhcmVkPFQ+LAorKyAgICB0eXBlbmFt ZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+ Ojp2YWx1ZT4+OjoKKysgICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAg ICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICAgICAgICAgICAg ICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gTmF0aXZlVmFs dWVJbXBsPFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgVG9ET01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAorICAgICAgICAgICAgICAgICAg ICAgICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hl Y2ssCitAQCAtNzQxLDEyICs3NDMsMTMgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFp dHM8TWF5YmVTaAorIH0KKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0 ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KKy1NYXliZVNoYXJlZDxUPiBO YXRpdmVWYWx1ZVRyYWl0czxNYXliZVNoYXJlZDxUPj46OkFyZ3VtZW50VmFsdWUoCistICAgIHY4 OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICBpbnQgYXJndW1lbnRfaW5kZXgsCistICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0 YXRlKSB7CisrTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIE1heWJlU2hh cmVkPFQ+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxE T01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKysgICAgQXJndW1lbnRWYWx1ZSh2ODo6 SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgs CisrICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCisrICAgICAg ICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0dXJu IEFyZ3VtZW50VmFsdWVJbXBsPFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUb0RPTVZpZXdUeXBlPFQsIGtNYXliZVNoYXJlZD4sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZl clNpemVDaGVjazo6a0NoZWNrLAorQEAgLTc1NywxMiArNzYwLDEyIEBAIE1heWJlU2hhcmVkPFQ+ IE5hdGl2ZVZhbHVlVHJhaXRzPE1heWJlU2gKKyAvLyBbQWxsb3dTaGFyZWQsIEJ1ZmZlclNvdXJj ZVR5cGVOb1NpemVMaW1pdF0gQXJyYXlCdWZmZXJWaWV3CisgCisgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+ CistTWF5YmVTaGFyZWQ8VD4KKy1OYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBl Tm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFsdWUoCistICAgIHY4OjpJc29s YXRlKiBpc29sYXRlLAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgRXhj ZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZh bHVlVHJhaXRzPAorKyAgICBJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFy ZWQ8VD4+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxE T01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKysgICAgTmF0aXZlVmFsdWUodjg6Oklz b2xhdGUqIGlzb2xhdGUsCisrICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZh bHVlLAorKyAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7 CisgICByZXR1cm4gTmF0aXZlVmFsdWVJbXBsPAorICAgICAgIFJlY2lwZVRyYWl0PE1heWJlU2hh cmVkPFQ+PiwgVG9ET01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAorICAgICAgIE51bGxhYmxp dHk6OmtJc05vdE51bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtEb05vdENoZWNrLAorQEAgLTc3 MSwxMiArNzc0LDEzIEBAIE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1MK KyB9CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRf ZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CistTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVU cmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PAorLSAgICBNYXliZVNoYXJlZDxU Pj4+OjpBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9u X3N0YXRlKSB7CisrTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElETEJ1 ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4sCisrICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46 OnZhbHVlPj46OgorKyAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAg ICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKysgICAgICAgICAgICAgICAgICB2 ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAgICBFeGNlcHRpb25T dGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8Cisg ICAgICAgUmVjaXBlVHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LCBUb0RPTVZpZXdUeXBlPFQsIGtNYXli ZVNoYXJlZD4sCisgICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVD aGVjazo6a0RvTm90Q2hlY2ssCitAQCAtNzg3LDExICs3OTEsMTIgQEAgTWF5YmVTaGFyZWQ8VD4g TmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZgorIC8vIE51bGxhYmxlIEFycmF5QnVmZmVyVmlldwor IAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208 VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLU5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJ RExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFsdWUoCistICAgIHY4OjpJc29sYXRl KiBpc29sYXRlLAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgRXhjZXB0 aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK05vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRy YWl0czwKKysgICAgSURMTnVsbGFibGU8Tm90U2hhcmVkPFQ+PiwKKysgICAgdHlwZW5hbWUgc3Rk OjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFs dWU+Pjo6CisrICAgIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAgICAg ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAgRXhj ZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0dXJuIE5hdGl2ZVZhbHVlSW1w bDwKKyAgICAgICBSZWNpcGVUcmFpdDxOb3RTaGFyZWQ8VD4+LCBUb0RPTVZpZXdUeXBlPFQsIGtO b3RTaGFyZWQ+LAorICAgICAgIE51bGxhYmxpdHk6OmtJc051bGxhYmxlLCBCdWZmZXJTaXplQ2hl Y2s6OmtDaGVjaywKK0BAIC04MDAsMTIgKzgwNSwxMyBAQCBOb3RTaGFyZWQ8VD4gTmF0aXZlVmFs dWVUcmFpdHM8SURMTnVsbGFiCisgfQorIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVx dWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLU5vdFNoYXJl ZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+Pjo6QXJndW1l bnRWYWx1ZSgKKy0gICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCistICAgIGludCBhcmd1bWVudF9p bmRleCwKKy0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCistICAgIEV4Y2VwdGlvblN0 YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKytOb3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8 CisrICAgIElETE51bGxhYmxlPE5vdFNoYXJlZDxUPj4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5h YmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46 OgorKyAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAgICAgICAg ICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKysgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8 djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhj ZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8CisgICAgICAgUmVj aXBlVHJhaXQ8Tm90U2hhcmVkPFQ+PiwgVG9ET01WaWV3VHlwZTxULCBrTm90U2hhcmVkPiwKKyAg ICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCitA QCAtODE2LDExICs4MjIsMTIgQEAgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51 bGxhYgorIC8vIE51bGxhYmxlIFtBbGxvd1NoYXJlZF0gQXJyYXlCdWZmZXJWaWV3CisgCisgdGVt cGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01B cnJheUJ1ZmZlclZpZXc+CistTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVs bGFibGU8TWF5YmVTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFsdWUoCistICAgIHY4OjpJc29sYXRlKiBp c29sYXRlLAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgRXhjZXB0aW9u U3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJh aXRzPAorKyAgICBJRExOdWxsYWJsZTxNYXliZVNoYXJlZDxUPj4sCisrICAgIHR5cGVuYW1lIHN0 ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZh bHVlPj46OgorKyAgICBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAg ICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCisrICAgICAgICAgICAgICAgIEV4 Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKyAgIHJldHVybiBOYXRpdmVWYWx1ZUlt cGw8UmVjaXBlVHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LAorICAgICAgICAgICAgICAgICAgICAgICAg ICBUb0RPTVZpZXdUeXBlPFQsIGtNYXliZVNoYXJlZD4sCisgICAgICAgICAgICAgICAgICAgICAg ICAgIE51bGxhYmxpdHk6OmtJc051bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKK0BA IC04MjksMTIgKzgzNiwxMyBAQCBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExO dWxsCisgfQorIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJp dmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLU1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZh bHVlVHJhaXRzPElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+Pj46OkFyZ3VtZW50VmFsdWUoCist ICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICBpbnQgYXJndW1lbnRfaW5kZXgsCistICAg IHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0 aW9uX3N0YXRlKSB7CisrTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElE TE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+PiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZf dDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6CisrICAg IEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgICAgICAgICAgICAgICAg aW50IGFyZ3VtZW50X2luZGV4LAorKyAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs dWU+IHZhbHVlLAorKyAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25f c3RhdGUpIHsKKyAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDxSZWNpcGVUcmFpdDxNYXliZVNo YXJlZDxUPj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9ET01WaWV3VHlwZTxULCBr TWF5YmVTaGFyZWQ+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bGxhYmxpdHk6OmtJ c051bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKK0BAIC04NDUsOSArODUzLDkgQEAg TWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbAorIC8vIE51bGxhYmxlIFtB bGxvd1NoYXJlZCwgQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0XSBBcnJheUJ1ZmZlclZpZXcK KyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9t PFQsIERPTUFycmF5QnVmZmVyVmlldz4KKy1NYXliZVNoYXJlZDxUPgorLU5hdGl2ZVZhbHVlVHJh aXRzPElETE51bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJl ZDxUPj4+Pjo6CisrTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElETE51 bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4+LAor KyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKyAgICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCisgICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtODYyLDExICs4NzAs MTMgQEAgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMQnVmZmVyUworIC8vIFtBbGxv d1NoYXJlZCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXddIEFycmF5QnVmZmVyVmlldworIAorIHRl bXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxl eGlibGVBcnJheUJ1ZmZlclZpZXc+CistVCBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6QXJndW1lbnRW YWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkg eworK1QgTmF0aXZlVmFsdWVUcmFpdHM8VCwKKysgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8CisrICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjppc19iYXNl X29mPEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6CisrICAgIEFyZ3VtZW50 VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgICAgICAgICAgICAgICAgaW50IGFyZ3Vt ZW50X2luZGV4LAorKyAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVl LAorKyAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsK KyAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDxSZWNpcGVUcmFpdDxUPiwgVG9GbGV4aWJsZUFy cmF5QnVmZmVyVmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5Ojpr SXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmVzaXphYmxlQWxsb3dhbmNlOjprRGlzYWxsb3dSZXNpemFibGUsCitAQCAt ODc4LDEyICs4ODgsMTMgQEAgVCBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6QXJndW1lbnRWYWx1ZSh2 OAorIC8vIEFycmF5QnVmZmVyVmlldworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVx dWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+CistVCBO YXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8VD4+OjpBcmd1 bWVudFZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgaW50IGFyZ3VtZW50 X2luZGV4LAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgRXhjZXB0aW9u U3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK1QgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVy U291cmNlVHlwZU5vU2l6ZUxpbWl0PFQ+LAorKyAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUg c3RkOjplbmFibGVfaWZfdDwKKysgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OmlzX2Jhc2Vf b2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKysgICAgQXJndW1lbnRW YWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAgICAgICAgICBpbnQgYXJndW1l bnRfaW5kZXgsCisrICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUs CisrICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewor ICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBsPAorICAgICAgIFJlY2lwZVRyYWl0PFQ+LCBUb0Zs ZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwKKyAgICAg ICBCdWZmZXJTaXplQ2hlY2s6OmtEb05vdENoZWNrLCBSZXNpemFibGVBbGxvd2FuY2U6OmtEaXNh bGxvd1Jlc2l6YWJsZSwKK0BAIC04OTQsMTIgKzkwNSwxMyBAQCBUIE5hdGl2ZVZhbHVlVHJhaXRz PElETEJ1ZmZlclNvdXJjZVR5cGVOCisgLy8gTnVsbGFibGUgW0FsbG93U2hhcmVkLCBGbGV4aWJs ZUFycmF5QnVmZmVyVmlld10gQXJyYXlCdWZmZXJWaWV3CisgCisgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVy Vmlldz4KKy1UIE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+Pjo6QXJndW1lbnRWYWx1 ZSgKKy0gICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCistICAgIGludCBhcmd1bWVudF9pbmRleCwK Ky0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCistICAgIEV4Y2VwdGlvblN0YXRlJiBl eGNlcHRpb25fc3RhdGUpIHsKKytUIE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+LAor KyAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKysgICAgICAg ICAgICAgICAgICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+OjoKKysgICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwK KysgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCisrICAgICAgICAgICAgICAg ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCisrICAgICAgICAgICAgICAgICAgRXhjZXB0 aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBs PFJlY2lwZVRyYWl0PFQ+LCBUb0ZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE51bGxhYmxpdHk6OmtJc051bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6 OmtDaGVjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNpemFibGVBbGxvd2FuY2U6 OmtEaXNhbGxvd1Jlc2l6YWJsZSwKK2RpZmYgLXVwIGNocm9taXVtLTEyMi4wLjYyNjEuNTcvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJh aXRzLmgubWUgY2hyb21pdW0tMTIyLjAuNjI2MS41Ny90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHMuaAorLS0tIGNocm9taXVtLTEy Mi4wLjYyNjEuNTcvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9u YXRpdmVfdmFsdWVfdHJhaXRzLmgubWUJMjAyNC0wMi0yMSAwMToyMDo1My4xMzg5NDY1MDAgKzAx MDAKKysrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjU3L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oCTIwMjQtMDItMjEgMTI6MzM6 NTMuMjI1MjA3MDc1ICswMTAwCitAQCAtNSw3ICs1LDYgQEAKKyAjaWZuZGVmIFRISVJEX1BBUlRZ X0JMSU5LX1JFTkRFUkVSX0JJTkRJTkdTX0NPUkVfVjhfTkFUSVZFX1ZBTFVFX1RSQUlUU19IXwor ICNkZWZpbmUgVEhJUkRfUEFSVFlfQkxJTktfUkVOREVSRVJfQklORElOR1NfQ09SRV9WOF9OQVRJ VkVfVkFMVUVfVFJBSVRTX0hfCisgCistI2luY2x1ZGUgPGNvbmNlcHRzPgorICNpbmNsdWRlIDx0 eXBlX3RyYWl0cz4KKyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmlu ZGluZ3MvY29yZS92OC9pZGxfdHlwZXNfYmFzZS5oIgorQEAgLTMxLDcgKzMwLDcgQEAgY2xhc3Mg RXhjZXB0aW9uU3RhdGU7CisgLy8gICAgIHJldHVybiB0b0ludDMyKGlzb2xhdGUsIHZhbHVlLCBl eGNlcHRpb25TdGF0ZSwgTm9ybWFsQ29udmVyc2lvbik7CisgLy8gICB9CisgLy8gfQorLXRlbXBs YXRlIDx0eXBlbmFtZSBUPgorK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBTRklOQUVI ZWxwZXIgPSB2b2lkPgorIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czsKKyAKKyAvLyBUaGlzIGRl Y2xhcmF0aW9uIHNlcnZlcyBvbmx5IGFzIGEgYmx1ZXByaW50IGZvciBzcGVjaWFsaXphdGlvbnM6 IHRoZQorQEAgLTQ2LDE1ICs0NSwyMiBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM7CisgCisg bmFtZXNwYWNlIGJpbmRpbmdzIHsKKyAKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUg PSB2b2lkPgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0c0hhc0lzTnVsbCA6IHN0ZDo6ZmFsc2Vf dHlwZSB7fTsKKysKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1zdHJ1Y3QgSW1wbFR5cGVGb3Ig eworLSAgdXNpbmcgdHlwZSA9IFQ7CistfTsKKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHNIYXNJ c051bGw8CisrICAgIFQsCisrICAgIHN0ZDo6dm9pZF90PGRlY2x0eXBlKHN0ZDo6ZGVjbHZhbDxU PigpLklzTnVsbCgpKT4+IDogc3RkOjp0cnVlX3R5cGUge307CisgCisgdGVtcGxhdGUgPHR5cGVu YW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBJRExCYXNlPgorLXN0cnVj dCBJbXBsVHlwZUZvcjxUPiB7CistICB1c2luZyB0eXBlID0gdHlwZW5hbWUgVDo6SW1wbFR5cGU7 Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVsbFZhbHVlIHsKKysgIC8vIHRydWUgaWYg fFR8IHN1cHBvcnRzIElETCBudWxsIHZhbHVlLgorKyAgc3RhdGljIGNvbnN0ZXhwciBib29sIHZh bHVlID0KKysgICAgICAvLyBTY3JpcHRWYWx1ZSwgU3RyaW5nLCBhbmQgdW5pb24gdHlwZXMgaGF2 ZSBJc051bGwgbWVtYmVyIGZ1bmN0aW9uLgorKyAgICAgIGJpbmRpbmdzOjpOYXRpdmVWYWx1ZVRy YWl0c0hhc0lzTnVsbDxUPjo6dmFsdWUgfHwKKysgICAgICAvLyBQb2ludGVyIHR5cGVzIGhhdmUg bnVsbHB0ciBhcyBJREwgbnVsbCB2YWx1ZS4KKysgICAgICBzdGQ6OmlzX3BvaW50ZXI8VD46OnZh bHVlOworIH07CisgCisgfSAgLy8gbmFtZXNwYWNlIGJpbmRpbmdzCitAQCAtNzIsMTcgKzc4LDM3 IEBAIHN0cnVjdCBJbXBsVHlwZUZvcjxUPiB7CisgLy8gSWYgcHJlc2VudCwgfE51bGxWYWx1ZSgp fCB3aWxsIGJlIHVzZWQgd2hlbiBjb252ZXJ0aW5nIGZyb20gdGhlIG51bGxhYmxlIHR5cGUKKyAv LyBUPywgYW5kIHNob3VsZCBiZSB1c2VkIGlmIHRoZSBpbXBsIHR5cGUgaGFzIGFuIGV4aXN0aW5n ICJudWxsIiBzdGF0ZS4gSWYgbm90CisgLy8gcHJlc2VudCwgV1RGOjpPcHRpb25hbCB3aWxsIGJl IHVzZWQgdG8gd3JhcCB0aGUgdHlwZS4KKy10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyt0ZW1wbGF0 ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgU0ZJTkFFSGVscGVyID0gdm9pZD4KKyBzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHNCYXNlIHsKKyAgIFNUQVRJQ19PTkxZKE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZSk7CisgCistICB1c2luZyBJbXBsVHlwZSA9IGJpbmRpbmdzOjpJbXBsVHlwZUZvcjxUPjo6dHlw ZTsKKysgIHVzaW5nIEltcGxUeXBlID0gVDsKKysKKysgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBo YXNfbnVsbF92YWx1ZSA9CisrICAgICAgYmluZGluZ3M6Ok5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVs bFZhbHVlPEltcGxUeXBlPjo6dmFsdWU7CisrCisrICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gRXh0 cmFBcmdzPgorKyAgc3RhdGljIGRlY2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg YXJndW1lbnRfaW5kZXgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRyYUFyZ3MuLi4gZXh0cmFfYXJncykgeworKyAg ICByZXR1cm4gTmF0aXZlVmFsdWVUcmFpdHM8c3RkOjpyZW1vdmVfcG9pbnRlcl90PFQ+Pjo6TmF0 aXZlVmFsdWUoCisrICAgICAgICBpc29sYXRlLCB2YWx1ZSwgZXhjZXB0aW9uX3N0YXRlLAorKyAg ICAgICAgc3RkOjpmb3J3YXJkPEV4dHJhQXJncz4oZXh0cmFfYXJncykuLi4pOworKyAgfQorK307 CisrCisrdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTwKKysgICAgVCwKKysgICAgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8SURMQmFz ZSwgVD46OnZhbHVlPj4geworKyAgU1RBVElDX09OTFkoTmF0aXZlVmFsdWVUcmFpdHNCYXNlKTsK KysKKysgIHVzaW5nIEltcGxUeXBlID0gdHlwZW5hbWUgVDo6SW1wbFR5cGU7CisgCistICAvLyBQ b2ludGVyIHR5cGVzIGhhdmUgbnVsbHB0ciBhcyBJREwgbnVsbCB2YWx1ZS4KKy0gIC8vIFNjcmlw dFZhbHVlLCBTdHJpbmcsIGFuZCB1bmlvbiB0eXBlcyBoYXZlIElzTnVsbCBtZW1iZXIgZnVuY3Rp b24uCisgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaGFzX251bGxfdmFsdWUgPQorLSAgICAgIHN0 ZDo6aXNfcG9pbnRlcl92PEltcGxUeXBlPiB8fAorLSAgICAgIHJlcXVpcmVzKEltcGxUeXBlIHZh bHVlKSB7IHZhbHVlLklzTnVsbCgpOyB9OworKyAgICAgIGJpbmRpbmdzOjpOYXRpdmVWYWx1ZVRy YWl0c0hhc051bGxWYWx1ZTxJbXBsVHlwZT46OnZhbHVlOworIAorICAgLy8gVGhpcyBzaG91bGQg b25seSBiZSB0cnVlIGZvciBjZXJ0YWluIHN1YmNsYXNzZXMgb2YgU2NyaXB0V3JhcHBhYmxlCisg ICAvLyB0aGF0IHNhdGlzZnkgdGhlIGFzc3VtcHRpb25zIG9mIENyZWF0ZUlETFNlcXVlbmNlRnJv bVY4QXJyYXlTbG93KCkgd2l0aAorZGlmZiAtdXAgY2hyb21pdW0tMTIyLjAuNjI2MS41Ny90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFp dHNfaW1wbC5oLm1lIGNocm9taXVtLTEyMi4wLjYyNjEuNTcvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwuaAorLS0tIGNo cm9taXVtLTEyMi4wLjYyNjEuNTcvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mv Y29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwuaC5tZQkyMDI0LTAyLTIxIDAxOjIwOjUz LjEzODk0NjUwMCArMDEwMAorKysrIGNocm9taXVtLTEyMi4wLjYyNjEuNTcvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwu aAkyMDI0LTAyLTIxIDEyOjMzOjUzLjIyNzIwNzEzMSArMDEwMAorQEAgLTUsOSArNSw2IEBACisg I2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9CSU5ESU5HU19DT1JFX1Y4X05BVElW RV9WQUxVRV9UUkFJVFNfSU1QTF9IXworICNkZWZpbmUgVEhJUkRfUEFSVFlfQkxJTktfUkVOREVS RVJfQklORElOR1NfQ09SRV9WOF9OQVRJVkVfVkFMVUVfVFJBSVRTX0lNUExfSF8KKyAKKy0jaW5j bHVkZSA8Y29uY2VwdHM+CistI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorLQorICNpbmNsdWRlICJ0 aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvdHlwZXMvb3B0aW9uYWwuaCIKKyAjaW5jbHVkZSAi dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9pZGxfdHlwZXMuaCIK KyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9u YXRpdmVfdmFsdWVfdHJhaXRzLmgiCitAQCAtNzM2LDggKzczMyw5IEBAIHN0cnVjdCBDT1JFX0VY UE9SVCBOYXRpdmVWYWx1ZVRyYWl0czwKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgor LSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLXN0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiB7Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAor KyAgICBULAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxE T01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+IHsKKyAgIC8vIE5vdFNoYXJlZDxUPiBvciBN YXliZVNoYXJlZDxUPiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgorICAgc3RhdGljIFQqIE5hdGl2 ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorQEAgLTc0OSw4ICs3NDcsOSBAQCBzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8VD4geworIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICBy ZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PiB7Cisrc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPAorKyAgICBJRExOdWxsYWJsZTxUPiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVf aWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PiB7Cisg ICAvLyBOb3RTaGFyZWQ8VD4gb3IgTWF5YmVTaGFyZWQ8VD4gc2hvdWxkIGJlIHVzZWQgaW5zdGVh ZC4KKyAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC03NjIs OCArNzYxLDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgorIH07 CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJv bTxULCBET01BcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNo YXJlZDxUPj4KKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIE5vdFNoYXJlZDxUPiwK KysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlC dWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jh c2U8Tm90U2hhcmVkPFQ+PiB7CisgICBzdGF0aWMgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlKHY4 OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC03NzYsOCArNzc2LDkgQEAgc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZDxUPj4KKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFt ZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3 PgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+Pgor K3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMTnVsbGFibGU8Tm90U2hhcmVkPFQ+ PiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJy YXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0 c0Jhc2U8Tm90U2hhcmVkPFQ+PiB7CisgICBzdGF0aWMgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVl KHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC03OTAsOCArNzkxLDkgQEAgc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPE5vdAorIH07CisgCisgdGVtcGxhdGUgPHR5 cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZl clZpZXc+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPE1heWJlU2hhcmVkPFQ+PgorK3N0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgTWF5YmVTaGFyZWQ8VD4sCisrICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46 OnZhbHVlPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE1heWJlU2hhcmVk PFQ+PiB7CisgICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUq IGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtODA0LDggKzgwNiw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czxNYXliZVNoYXJlZDxUPj4KKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgor LSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLXN0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5 YmVTaGFyZWQ8VD4+PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMQnVmZmVy U291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+PiwKKysgICAgdHlwZW5hbWUgc3Rk OjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFs dWU+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+ IHsKKyAgIC8vIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3IHVzZXMgdGhpcyBpbiBpdHMgaW1wbGVt ZW50YXRpb24sIHNvIHdlIGNhbm5vdAorICAgLy8gZGVsZXRlIGl0LgorQEAgLTgyMCw4ICs4MjMs OSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlCisgfTsKKyAKKyB0 ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERP TUFycmF5QnVmZmVyVmlldz4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8 TWF5YmVTaGFyZWQ8VD4+PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMTnVs bGFibGU8TWF5YmVTaGFyZWQ8VD4+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0 ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+CisgICAgIDogcHVi bGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxNYXliZVNoYXJlZDxUPj4geworICAgc3RhdGljIE1h eWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAor QEAgLTgzNCw5ICs4MzgsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8 TWF5CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVy aXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KKyBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8CistICAgIElETE51bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXli ZVNoYXJlZDxUPj4+PgorKyAgICBJRExOdWxsYWJsZTxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXpl TGltaXQ8TWF5YmVTaGFyZWQ8VD4+PiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxz dGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorICAgICA6IHB1 YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+IHsKKyAgIC8vIEJ1ZmZl clNvdXJjZVR5cGVOb1NpemVMaW1pdCBtdXN0IGJlIHVzZWQgb25seSBhcyBhcmd1bWVudHMuCisg ICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUs CitAQCAtODUwLDggKzg1NCwxMSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisgfTsKKyAK KyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQs IEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3PgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6 IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4geworK3N0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czwKKysgICAgVCwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKysgICAgICAg IHN0ZDo6aXNfYmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4KKysg ICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKKyAgIC8vIEZsZXhpYmxlQXJy YXlCdWZmZXJWaWV3IG11c3QgYmUgdXNlZCBvbmx5IGFzIGFyZ3VtZW50cy4KKyAgIHN0YXRpYyBU IE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAg ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtODY0LDggKzg3MSwxMCBAQCBzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0CisgfTsKKyAKKyB0ZW1wbGF0ZSA8 dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIEZsZXhpYmxlQXJy YXlCdWZmZXJWaWV3PgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VU eXBlTm9TaXplTGltaXQ8VD4+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBJRExC dWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8VD4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxl X2lmX3Q8CisrICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Cisg ICAvLyBCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQgYW5kIEZsZXhpYmxlQXJyYXlCdWZmZXJW aWV3IG11c3QgYmUgdXNlZCBvbmx5CisgICAvLyBhcyBhcmd1bWVudHMuCitAQCAtODgwLDggKzg4 OSwxMSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlCisgfTsKKyAK KyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQs IEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3PgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExO dWxsYWJsZTxUPj4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKKytzdHJ1Y3Qg TmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElETE51bGxhYmxlPFQ+LAorKyAgICB0eXBlbmFtZSBz dGQ6OmVuYWJsZV9pZl90PAorKyAgICAgICAgc3RkOjppc19iYXNlX29mPEZsZXhpYmxlQXJyYXlC dWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jh c2U8VD4geworICAgLy8gRmxleGlibGVBcnJheUJ1ZmZlclZpZXcgbXVzdCBiZSB1c2VkIG9ubHkg YXMgYXJndW1lbnRzLgorICAgc3RhdGljIFQgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xh dGUsCisgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwK K0BAIC0xMjE3LDggKzEyMjksOSBAQCBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46 Ok5hdGl2CisgfQorIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgTmF0aXZl VmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpoYXNfbnVsbF92YWx1ZQorLXN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJRExTZXF1ZW5jZTxUPj4+Cisrc3RydWN0IE5hdGl2 ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElETFNlcXVlbmNlPFQ+PiwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5hdGl2ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+Pjo6aGFzX251bGxf dmFsdWU+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8SGVhcFZlY3RvcjxB ZGRNZW1iZXJJZk5lZWRlZDxUPj4qPiB7CisgICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIE5h dGl2ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+Pjo6SW1wbFR5cGUqOworIAorQEAgLTEyOTQs OCArMTMwNyw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExBcnJheTxUPj4KKyAgICAg OiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+IHt9OworIAorIHRlbXBs YXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVu Y2U8VD4+OjpoYXNfbnVsbF92YWx1ZQorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxs YWJsZTxJRExBcnJheTxUPj4+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxl PElETEFycmF5PFQ+PiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjpl bmFibGVfaWZfdDwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hdGl2ZVZhbHVlVHJh aXRzPElETFNlcXVlbmNlPFQ+Pjo6aGFzX251bGxfdmFsdWU+PgorICAgICA6IHB1YmxpYyBOYXRp dmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJRExTZXF1ZW5jZTxUPj4+IHt9OworIAorIC8vIFJl Y29yZCB0eXBlcworQEAgLTE0MjUsOCArMTQzOSwxMCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8SURMUmVjb3JkPEssIFY+CisgCisgLy8gQ2FsbGJhY2sgZnVuY3Rpb24gdHlwZXMKKyB0ZW1w bGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIENhbGxi YWNrRnVuY3Rpb25CYXNlPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBO YXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Cisr ICAgIFQsCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPENh bGxiYWNrRnVuY3Rpb25CYXNlLCBUPjo6dmFsdWU+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1 ZVRyYWl0c0Jhc2U8VCo+IHsKKyAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9u X3N0YXRlKSB7CitAQCAtMTQ0OSw4ICsxNDY1LDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PFQ+IDogcHVibGljIE5hdAorIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1 aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0Z1bmN0aW9uQmFzZT4KKy1zdHJ1Y3Qg TmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPAorKyAgICBJRExOdWxsYWJsZTxUPiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZf dDxzdGQ6OmlzX2Jhc2Vfb2Y8Q2FsbGJhY2tGdW5jdGlvbkJhc2UsIFQ+Ojp2YWx1ZT4+CisgICAg IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxJRExOdWxsYWJsZTxUPj4geworICAgc3Rh dGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAg ICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorQEAgLTE0NzksOCArMTQ5Niwx MCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+CisgCisgLy8gQ2Fs bGJhY2sgaW50ZXJmYWNlIHR5cGVzCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJl cyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0ludGVyZmFjZUJhc2U+Cistc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewor K3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgVCwKKysgICAgdHlwZW5hbWUgc3RkOjpl bmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8Q2FsbGJhY2tJbnRlcmZhY2VCYXNlLCBUPjo6dmFs dWU+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKyAgIHN0YXRp YyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CitAQCAtMTUwNCw4ICsxNTIz LDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdAorIAorIC8vIElu dGVyZmFjZSB0eXBlcworIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpk ZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tJbnRlcmZhY2VCYXNlPgorLXN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4KKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisrICAg IElETE51bGxhYmxlPFQ+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNf YmFzZV9vZjxDYWxsYmFja0ludGVyZmFjZUJhc2UsIFQ+Ojp2YWx1ZT4+CisgICAgIDogcHVibGlj IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxJRExOdWxsYWJsZTxUPj4geworICAgc3RhdGljIFQqIE5h dGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAg IHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorQEAgLTE1MzQsOCArMTU1NCwxMSBAQCBzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+CisgCisgLy8gRGljdGlvbmFyeSB0 eXBlcworIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zy b208VCwgYmluZGluZ3M6OkRpY3Rpb25hcnlCYXNlPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKytzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8CisrICAgIFQsCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8Cisr ICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OkRpY3Rpb25hcnlCYXNlLCBUPjo6dmFs dWU+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKyAgIHN0YXRp YyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CitAQCAtMTU0NiwxMSArMTU2 OSwxNCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0CisgLy8gV2Ug ZG9uJ3Qgc3VwcG9ydCBudWxsYWJsZSBkaWN0aW9uYXJ5IHR5cGVzIGluIGdlbmVyYWwgc2luY2Ug aXQncyBxdWl0ZQorIC8vIGNvbmZ1c2luZyBhbmQgb2Z0ZW4gbWlzdXNlZC4KKyB0ZW1wbGF0ZSA8 dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpE aWN0aW9uYXJ5QmFzZT4gJiYKKy0gICAgICAgICAgIChzdGQ6OnNhbWVfYXM8VCwgR1BVQ29sb3JU YXJnZXRTdGF0ZT4gfHwKKy0gICAgICAgICAgICBzdGQ6OnNhbWVfYXM8VCwgR1BVUmVuZGVyUGFz c0NvbG9yQXR0YWNobWVudD4gfHwKKy0gICAgICAgICAgICBzdGQ6OnNhbWVfYXM8VCwgR1BVVmVy dGV4QnVmZmVyTGF5b3V0PikKKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8 VD4+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4geworK3N0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKKysgICAgSURMTnVsbGFibGU8VD4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5h YmxlX2lmX3Q8CisrICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OkRpY3Rpb25hcnlC YXNlLCBUPjo6dmFsdWUgJiYKKysgICAgICAgIChzdGQ6OmlzX3NhbWU8VCwgR1BVQ29sb3JUYXJn ZXRTdGF0ZT46OnZhbHVlIHx8CisrICAgICAgICAgc3RkOjppc19zYW1lPFQsIEdQVVJlbmRlclBh c3NDb2xvckF0dGFjaG1lbnQ+Ojp2YWx1ZSB8fAorKyAgICAgICAgIHN0ZDo6aXNfc2FtZTxULCBH UFVWZXJ0ZXhCdWZmZXJMYXlvdXQ+Ojp2YWx1ZSk+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1 ZVRyYWl0c0Jhc2U8VCo+IHsKKyAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9u X3N0YXRlKSB7CitAQCAtMTU2Miw4ICsxNTg4LDExIEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxJRExOdWxsYWJsZTxUPj4KKyAKKyAvLyBFbnVtZXJhdGlvbiB0eXBlcworIHRlbXBsYXRlIDx0 eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgYmluZGluZ3M6OkVu dW1lcmF0aW9uQmFzZT4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0 aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisrICAg IFQsCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8CisrICAgICAgICBzdGQ6OmlzX2Jh c2Vfb2Y8YmluZGluZ3M6OkVudW1lcmF0aW9uQmFzZSwgVD46OnZhbHVlPj4KKysgICAgOiBwdWJs aWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKKyAgIHN0YXRpYyBUIE5hdGl2ZVZhbHVlKHY4 OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYg ZXhjZXB0aW9uX3N0YXRlKSB7CitAQCAtMTU3Myw4ICsxNjAyLDEwIEBAIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXQKKyAKKyAvLyBJbnRlcmZhY2UgdHlwZXMKKyB0ZW1w bGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIFNjcmlw dFdyYXBwYWJsZT4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZl VmFsdWVUcmFpdHNCYXNlPFQqPiB7Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBU LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxTY3JpcHRX cmFwcGFibGUsIFQ+Ojp2YWx1ZT4+CisrICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTxUKj4geworICAgLy8gVGhpcyBzaWduaWZpZXMgdGhhdCBDcmVhdGVJRExTZXF1ZW5jZUZyb21W OEFycmF5U2xvdygpIG1heSBhcHBseQorICAgLy8gY2VydGFpbiBvcHRpbWl6YXRpb24gYmFzZWQg b24gYXNzdW1wdGlvbnMgYWJvdXQgYE5hdGl2ZVZhbHVlKClgCisgICAvLyBpbXBsZW1lbnRhdGlv biBiZWxvdy4gRm9yIHN1YmNsYXNzZXMgb2YgU2NyaXB0V3JhcHBhYmxlIHRoYXQgaGF2ZQorQEAg LTE2MTEsOCArMTY0Miw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBO YXQKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJp dmVkX2Zyb208VCwgU2NyaXB0V3JhcHBhYmxlPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJ RExOdWxsYWJsZTxUPj4KKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElETE51bGxh YmxlPFQ+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxT Y3JpcHRXcmFwcGFibGUsIFQ+Ojp2YWx1ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJh aXRzQmFzZTxJRExOdWxsYWJsZTxUPj4geworICAgc3RhdGljIGlubGluZSBUKiBOYXRpdmVWYWx1 ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg djg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtMTY0Nyw4ICsxNjc5LDEwIEBAIHN0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4KKyB9OworIAorIHRlbXBsYXRlIDx0 eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgYmluZGluZ3M6OlVu aW9uQmFzZT4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFs dWVUcmFpdHNCYXNlPFQqPiB7Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBULAor KyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6 VW5pb25CYXNlLCBUPjo6dmFsdWU+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jh c2U8VCo+IHsKKyAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7 CitAQCAtMTY2NCw4ICsxNjk4LDEwIEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1 YmxpYyBOYXQKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgYmluZGluZ3M6OlVuaW9uQmFzZT4KKy1zdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8SURMTnVsbGFibGU8VD4+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxU Kj4geworK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMTnVsbGFibGU8VD4sCisr ICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPGJpbmRpbmdzOjpV bmlvbkJhc2UsIFQ+Ojp2YWx1ZT4+CisrICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTxUKj4geworICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAor ICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorICAg ICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsK K0BAIC0xNjg2LDggKzE3MjIsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFi bGU8VD4+CisgCisgLy8gTnVsbGFibGUgdHlwZXMKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgSW5uZXJU eXBlPgorLSAgcmVxdWlyZXMoIU5hdGl2ZVZhbHVlVHJhaXRzPElubmVyVHlwZT46Omhhc19udWxs X3ZhbHVlKQorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJbm5lclR5cGU+ PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMTnVsbGFibGU8SW5uZXJUeXBl PiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwhTmF0aXZlVmFsdWVUcmFpdHM8SW5u ZXJUeXBlPjo6aGFzX251bGxfdmFsdWU+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0 c0Jhc2U8SURMTnVsbGFibGU8SW5uZXJUeXBlPj4geworICAgLy8gaHR0cHM6Ly93ZWJpZGwuc3Bl Yy53aGF0d2cub3JnLyNlcy1udWxsYWJsZS10eXBlCisgICB1c2luZyBJbXBsVHlwZSA9CitAQCAt MTcxOSw4ICsxNzU2LDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElE TAorIAorIC8vIE9wdGlvbmFsIHR5cGVzCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1 aXJlcyBzdGQ6OmlzX2FyaXRobWV0aWNfdjx0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6 SW1wbFR5cGU+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE9wdGlvbmFsPFQ+PgorK3N0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRpb25hbDxUPiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2FyaXRobWV0aWM8Cisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxU Pjo6SW1wbFR5cGU+Ojp2YWx1ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTx0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+IHsKKyAgIHVzaW5nIElt cGxUeXBlID0gdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlOworIAorQEAg LTE3NDIsOCArMTc4MCw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRpb25hbDxU Pj4KKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjppc19w b2ludGVyX3Y8dHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlPgorLXN0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRpb25hbDxUPj4KKytzdHJ1Y3QgTmF0aXZlVmFsdWVU cmFpdHM8SURMT3B0aW9uYWw8VD4sCisrICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19wb2ludGVyPAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlPjo6dmFsdWU+ PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8dHlwZW5hbWUgTmF0aXZlVmFs dWVUcmFpdHM8VD46OkltcGxUeXBlPiB7CisgICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIE5h dGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZTsKKyAKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS5z cGVjIGIvY2hyb21pdW0uc3BlYwppbmRleCA3NzFlYzc3Li41MjgzMzJhIDEwMDY0NAotLS0gYS9j aHJvbWl1bS5zcGVjCisrKyBiL2Nocm9taXVtLnNwZWMKQEAgLTMwMCw3ICszMDAsNyBAQAogJWVu ZGlmCiAKIE5hbWU6CWNocm9taXVtJXtjaHJvbWl1bV9jaGFubmVsfQotVmVyc2lvbjogMTIxLjAu NjE2Ny4xODQKK1ZlcnNpb246IDEyMi4wLjYyNjEuNTcKIFJlbGVhc2U6IDElez9kaXN0fQogU3Vt bWFyeTogQSBXZWJLaXQgKEJsaW5rKSBwb3dlcmVkIHdlYiBicm93c2VyIHRoYXQgR29vZ2xlIGRv ZXNuJ3Qgd2FudCB5b3UgdG8gdXNlCiBVcmw6IGh0dHA6Ly93d3cuY2hyb21pdW0ub3JnL0hvbWUK QEAgLTMxOSw3ICszMTksNyBAQCBQYXRjaDI6IGNocm9taXVtLTEyMC1zeXN0ZW0tbGlidXNiLnBh dGNoCiBQYXRjaDU6IGNocm9taXVtLTc3LjAuMzg2NS43NS1uby16bGliLW1hbmdsZS5wYXRjaAog CiAjIERvIG5vdCB1c2UgdW5yYXIgY29kZSwgaXQgaXMgbm9uLWZyZWUKLVBhdGNoNjogY2hyb21p dW0tMTE5LW5vcmFyLnBhdGNoCitQYXRjaDY6IGNocm9taXVtLTEyMi1ub3Jhci5wYXRjaAogCiAj IFRyeSB0byBsb2FkIHdpZGV2aW5lIGZyb20gb3RoZXIgcGxhY2VzCiBQYXRjaDg6IGNocm9taXVt LTExNy13aWRldmluZS1vdGhlci1sb2NhdGlvbnMucGF0Y2gKQEAgLTM0Niw5ICszNDYsNiBAQCBQ YXRjaDY1OiBjaHJvbWl1bS05MS4wLjQ0NzIuNzctamF2YS1vbmx5LWFsbG93ZWQtaW4tYW5kcm9p ZC1idWlsZHMucGF0Y2gKICMgVXBkYXRlIHJqc21pbiB0byAxLjIuMAogUGF0Y2g2OTogY2hyb21p dW0tMTAzLjAuNTA2MC41My11cGRhdGUtcmpzbWluLXRvLTEuMi4wLnBhdGNoCiAKLSMgVXBkYXRl IHNpeCB0byAxLjE2LjAKLVBhdGNoNzA6IGNocm9taXVtLTEwNS4wLjUxOTUuNTItcHl0aG9uLXNp eC0xLjE2LjAucGF0Y2gKLQogIyBEaXNhYmxlIHRlc3RzIG9uIHJlbW90aW5nIGJ1aWxkCiBQYXRj aDgyOiBjaHJvbWl1bS05OC4wLjQ3NTguMTAyLXJlbW90aW5nLW5vLXRlc3RzLnBhdGNoCiAKQEAg LTQxMSw3ICs0MDgsNyBAQCBQYXRjaDExNzogY2hyb21pdW0tMTE4LXNpZ3RyYXBfc3lzdGVtX2Zm bXBlZy5wYXRjaAogUGF0Y2gxMTg6IGNocm9taXVtLTEyMS1zeXN0ZW0tb2xkLWZmbXBlZy5wYXRj aAogCiAjIHJldmVydCBBVjEgVkFBUEkgdmlkZW8gZW5jb2RlIGR1ZSB0byBvbGQgbGlidmEgb24g ZWw5Ci1QYXRjaDEzMDogY2hyb21pdW0tMTIxLXJldmVydC1hdjFlbmMtZWw5LnBhdGNoCitQYXRj aDEzMDogY2hyb21pdW0tMTIyLXJldmVydC1hdjFlbmMtZWw5LnBhdGNoCiAKICMgZmlsZSBjb25m bGljdCB3aXRoIG9sZCBrZXJuZWwgb24gZWw4L2VsOQogUGF0Y2gxNDA6IGNocm9taXVtLTExOC1k bWFfYnVmX2V4cG9ydF9zeW5jX2ZpbGUtY29uZmxpY3QucGF0Y2gKQEAgLTQzMiwxNiArNDI5LDE0 IEBAIFBhdGNoMzA0OiBjaHJvbWl1bS0xMTctc3RyaW5nLWNvbnZlcnQucGF0Y2gKIAogUGF0Y2gz MDY6IGNocm9taXVtLTExOS1hc3NlcnQucGF0Y2gKIAotIyBkaXNhYmxlIG1lbW9yeSB0YWdnaW5n IGluIGVwZWw3IGFuZCBlcGVsOCBvbiBhYXJjaDY0IGR1ZSB0byBuZXcgZmVhdHVyZSBJRlVOQy1S ZXNvbHZlcgotIyBub3Qgc3VwcG9ydGVkIGluIG9sZCBnbGliYyA8IDIuMzAsIGVycm9yOiBmYXRh bCBlcnJvcjogJ3N5cy9pZnVuYy5oJyBmaWxlIG5vdCBmb3VuZAotUGF0Y2gzMDc6IGNocm9taXVt LTEyMS1hcm02NC1tZW1vcnlfdGFnZ2luZy5wYXRjaAotCiAjIGNvbXBpbGVyIGVycm9ycyBvbiBl cGVsCi1QYXRjaDMwODogY2hyb21pdW0tMTIxLXY4LWMrKzIwLnBhdGNoCi1QYXRjaDMwOTogY2hy b21pdW0tMTIxLWNvbnN0ZXhwci5wYXRjaAorUGF0Y2gzMDc6IGNocm9taXVtLTEyMi1jbGFuZzE2 LWJ1aWxkZmxhZ3MucGF0Y2gKKyMgcmV2ZXJ0IGl0IGZvciBvbGQgY2xhbmcgb24gcmhlbCBhbmQg ZjM4CitQYXRjaDMwODogY2hyb21pdW0tMTIyLXY4LWMrKzIwLnBhdGNoCitQYXRjaDMwOTogY2hy b21pdW0tMTIyLWNvbnN0ZXhwci5wYXRjaAogCiAjIG1pc3NpbmcgaW5jbHVkZSBoZWFkZXIgZmls ZXMKLVBhdGNoMzEwOiBjaHJvbWl1bS0xMjEtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKK1Bh dGNoMzEwOiBjaHJvbWl1bS0xMjItbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKIAogIyBjbGFu ZyB3YXJuaW5ncwogUGF0Y2gzMTE6IGNocm9taXVtLTExNS1jbGFuZy13YXJuaW5ncy5wYXRjaApA QCAtNDY0LDE5ICs0NTksMTYgQEAgUGF0Y2gzNTQ6IGNocm9taXVtLTEyMC1zcGxpdC10aHJlc2hv bGQtZm9yLXJlZy13aXRoLWhpbnQucGF0Y2gKIFBhdGNoMzU1OiBjaHJvbWl1bS0xMjEtbnVsbHB0 cl90LXdpdGhvdXQtbmFtZXNwYWNlLXN0ZC5wYXRjaAogCiAjIGRpc2FibGUgRkZtcGVnQWxsb3dM aXN0cyBieSBkZWZhdWx0IHRvIGFsbG93IGV4dGVybmFsIGZmbXBlZwotcGF0Y2gzNTY6IGNocm9t aXVtLTEyMC1kaXNhYmxlLUZGbXBlZ0FsbG93TGlzdHMucGF0Y2gKK3BhdGNoMzU2OiBjaHJvbWl1 bS0xMjItZGlzYWJsZS1GRm1wZWdBbGxvd0xpc3RzLnBhdGNoCiAKICMgcmVtb3ZlIGxkZmxhZ3Mg LVdsLC1tbGx2bSwtZGlzYWJsZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mbyB3aGljaCBpcyBub3Qg c3VwcG9ydGVkCi1QYXRjaDM1NzogY2hyb21pdW0tMTIwLWNsYW5nMTYtZGlzYWJsZS1hdXRvLXVw Z3JhZGUtZGVidWctaW5mby5wYXRjaAorUGF0Y2gzNTc6IGNocm9taXVtLTEyMi1jbGFuZzE2LWRp c2FibGUtYXV0by11cGdyYWRlLWRlYnVnLWluZm8ucGF0Y2gKIAogIyBzZXQgY2xhbmdfbGliIHBh dGgKIFBhdGNoMzU4OiBjaHJvbWl1bS0xMjEtcnVzdC1jbGFuZ19saWIucGF0Y2gKIAotIyBweXRo b24zLWludmFsaWQtZXNjYXBlLXNlcXVlbmNlCi1QYXRjaDM1OTogY2hyb21pdW0tMTIxLXB5dGhv bjMtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2UucGF0Y2gKLQogIyB1cHN0cmVhbSBwYXRjaGVzCi1Q YXRjaDQwMDogY2hyb21pdW0tMTIxLWVsOC1zdXBwb3J0LTY0a3BhZ2UucGF0Y2gKK1BhdGNoNDAw OiBjaHJvbWl1bS0xMjItZWw4LXN1cHBvcnQtNjRrcGFnZS5wYXRjaAogCiAjIFVzZSBjaHJvbWl1 bS1sYXRlc3QucHkgdG8gZ2VuZXJhdGUgY2xlYW4gdGFyYmFsbCBmcm9tIHJlbGVhc2VkIGJ1aWxk IHRhcmJhbGxzLCBmb3VuZCBoZXJlOgogIyBodHRwOi8vYnVpbGQuY2hyb21pdW0ub3JnL2J1aWxk Ym90L29mZmljaWFsLwpAQCAtMTA0OCw2ICsxMDQwLDExIEBAIHVkZXYuCiAlcGF0Y2ggLVA4IC1w MSAtYiAud2lkZXZpbmUtb3RoZXItbG9jYXRpb25zCiAlcGF0Y2ggLVAxMSAtcDEgLWIgLnB5Mwog CisjIEZlZG9yYSBicmFuZGVkIHVzZXIgYWdlbnQKKyVpZiAwJXs/ZmVkb3JhfQorJXBhdGNoIC1Q MTIgLXAxIC1iIC5mZWRvcmEtdXNlci1hZ2VudAorJWVuZGlmCisKICVwYXRjaCAtUDIwIC1wMSAt YiAuZGlzYWJsZS1mb250LXRlc3QKIAogJWlmICEgJXtidW5kbGVtaW5pemlwfQpAQCAtMTA1Nyw3 ICsxMDU0LDYgQEAgdWRldi4KIAogJXBhdGNoIC1QNjUgLXAxIC1iIC5qYXZhLW9ubHktYWxsb3dl ZAogJXBhdGNoIC1QNjkgLXAxIC1iIC51cGRhdGUtcmpzbWluLXRvLTEuMi4wCi0lcGF0Y2ggLVA3 MCAtcDEgLWIgLnVwZGF0ZS1zaXgtdG8tMS4xNi4wCiAlcGF0Y2ggLVA4MiAtcDEgLWIgLnJlbW90 aW5nLW5vLXRlc3RzCiAKICVpZiAhICV7YnVuZGxlYnJvdGxpfQpAQCAtMTA3NCwxMSArMTA3MCw2 IEBAIHVkZXYuCiAlcGF0Y2ggLVA5MSAtcDEgLWIgLnN5c3RlbS1vcHVzCiAlZW5kaWYKIAotIyBG ZWRvcmEgYnJhbmRlZCB1c2VyIGFnZW50Ci0laWYgMCV7P2ZlZG9yYX0KLSVwYXRjaCAtUDEyIC1w MSAtYiAuZmVkb3JhLXVzZXItYWdlbnQKLSVlbmRpZgotCiAlaWYgISAle2J1bmRsZWZmbXBlZ2Zy ZWV9CiAlaWYgMCV7P3JoZWx9ID09IDkgfHwgMCV7P2ZlZG9yYX0gPT0gMzcKICVwYXRjaCAtUDEx NSAtcDEgLWIgLmZmbXBlZy01LngtZHVyYXRpb24KQEAgLTEwOTIsMjIgKzEwODMsMjIgQEAgdWRl di4KICVpZiAwJXs/cmhlbH0gPT0gNwogJXBhdGNoIC1QMTAwIC1wMSAtYiAuZWw3LW1lbWZkLWZj bnRsLWluY2x1ZGUKICVwYXRjaCAtUDEwMSAtcDEgLWIgLndheWxhbmQtc3RybmR1cC1lcnJvcgot JXBhdGNoIC1QMTAyIC1wMSAtYiAuZGVmYXVsdC1jb25zdHJ1Y3Rvci1pbnZvbHZpbmctYW5vbnlt b3VzLXVuaW9uCisjcGF0Y2ggLVAxMDIgLXAxIC1iIC5kZWZhdWx0LWNvbnN0cnVjdG9yLWludm9s dmluZy1hbm9ueW1vdXMtdW5pb24KICVwYXRjaCAtUDEwMyAtcDEgLWIgLmVwZWw3LWhlYWRlci13 b3JrYXJvdW5kcwogJXBhdGNoIC1QMTA0IC1wMSAtYiAuZWw3Y3VwcwogJXBhdGNoIC1QMTA1IC1w MSAtYiAuZWw3LW9sZC1saWJkcm0KICVwYXRjaCAtUDEwNiAtcDEgLWIgLmVsNy1lcmFzZS1maXgK LSVwYXRjaCAtUDEwNyAtcDEgLWIgLmVsNy1leHRyYS1vcGVyYXRvci1lcXVhbGVxdWFsCisjcGF0 Y2ggLVAxMDcgLXAxIC1iIC5lbDctZXh0cmEtb3BlcmF0b3ItZXF1YWxlcXVhbAogJXBhdGNoIC1Q MTA4IC1wMSAtYiAuZWw3X3Y0bDJfcXVhbnRpemF0aW9uCiAlcGF0Y2ggLVAxMDkgLXAxIC1iIC53 aXJlbGVzcwogJXBhdGNoIC1QMTEwIC1wMSAtYiAuYnVpbGRmbGFnLWVsNwotJXBhdGNoIC1QMTEx IC1wMSAtYiAuY29uc3RleHByCisjcGF0Y2ggLVAxMTEgLXAxIC1iIC5jb25zdGV4cHIKICVwYXRj aCAtUDExMyAtcDEgLWIgLmVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcKICVwYXRjaCAtUDExNCAt cDEgLVIgLWIgLmNsYW5nLWJ1aWxkLWZhaWx1cmUKLSVwYXRjaCAtUDMwMCAtcDEgLWIgLm5vX21h dGNoaW5nX2NvbnN0cnVjdG9yCisjcGF0Y2ggLVAzMDAgLXAxIC1iIC5ub19tYXRjaGluZ19jb25z dHJ1Y3RvcgogJXBhdGNoIC1QMzAxIC1wMSAtYiAud29ya2Fyb3VuZF9jbGFuZy1Ta0NvbG9yNGYK ICVwYXRjaCAtUDMwMiAtcDEgLWIgLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmlu ZGluZwotJXBhdGNoIC1QMzAzIC1wMSAtYiAudHlwZW5hbWUKKyNwYXRjaCAtUDMwMyAtcDEgLWIg LnR5cGVuYW1lCiAlcGF0Y2ggLVAzMDQgLXAxIC1iIC5zdHJpbmctY29udmVydAogJXBhdGNoIC1Q MzA2IC1wMSAtYiAuYXNzZXJ0CiAlZW5kaWYKQEAgLTExMjAsMTQgKzExMTEsOSBAQCB1ZGV2Lgog JXBhdGNoIC1QMTMwIC1wMSAtYiAucmV2ZXJ0LWF2MWVuYwogJWVuZGlmCiAKLSVpZmFyY2ggYWFy Y2g2NAotJWlmIDAlez9yaGVsfSA8PSA4Ci0lcGF0Y2ggLVAzMDcgLXAxIC1iIC5tZW1vcnlfdGFn Z2luZwotJWVuZGlmCi0lZW5kaWYKLQotJWlmIDAlez9yaGVsfSB8fCAwJXs/ZmVkb3JhfSA8IDM5 Ci0lcGF0Y2ggLVAzMDggLXAxIC1SIC1iIC52OC1jKysyMAorJWlmIDAlez9yaGVsfSB8fCAwJXs/ ZmVkb3JhfSAmJiAwJXs/ZmVkb3JhfSA8IDM5CislcGF0Y2ggLVAzMDcgLXAxIC1iIC5jbGFuZzE2 LWJ1aWxkZmxhZworJXBhdGNoIC1QMzA4IC1wMSAtYiAudjgtYysrMjAKICVwYXRjaCAtUDMwOSAt cDEgLWIgLmNvbnN0ZXhwcgogJWVuZGlmCiAKQEAgLTExNDgsNyArMTEzNCw2IEBAIHVkZXYuCiAl cGF0Y2ggLVAzNTYgLXAxIC1iIC5kaXNhYmxlLUZGbXBlZ0FsbG93TGlzdHMKICVwYXRjaCAtUDM1 NyAtcDEgLWIgLmNsYW5nMTYtZGlzYWJsZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mbwogJXBhdGNo IC1QMzU4IC1wMSAtYiAucnVzdC1jbGFuZ19saWIKLSVwYXRjaCAtUDM1OSAtcDEgLWIgLnB5dGhv bjMtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2UKIAogJSVpZmFyY2ggYWFyY2g2NAogJWlmIDAlez9y aGVsfSA9PSA4CkBAIC0xMjQwLDYgKzEyMjUsNyBAQCBDWFhGTEFHUz0iJENGTEFHUyIKIENGTEFH Uz0iJEZMQUdTIgogQ1hYRkxBR1M9IiRGTEFHUyIKICVlbmRpZgorCiAjIHJlZHVjZSB0aGUgc2l6 ZSBvZiByZWxvY2F0aW9ucwogJWlmIDAlez9mZWRvcmF9IHx8IDAlez9yaGVsfSA+IDkKIExERkxB R1M9IiRMREZMQUdTIC1XbCwteixwYWNrLXJlbGF0aXZlLXJlbG9jcyIKQEAgLTE5MzIsNiArMTkx OCwyMCBAQCBnZXRlbnQgZ3JvdXAgY2hyb21lLXJlbW90ZS1kZXNrdG9wID4vZGV2L251bGwgfHwg Z3JvdXBhZGQgLXIgY2hyb21lLXJlbW90ZS1kZXNrdAogJXtjaHJvbWl1bV9wYXRofS9jaHJvbWVk cml2ZXIKIAogJWNoYW5nZWxvZworKiBXZWQgRmViIDIxIDIwMjQgVGhhbiBOZ28gPHRoYW5AcmVk aGF0LmNvbT4gLSAxMjIuMC42MjYxLjU3LTEKKy0gdXBkYXRlIHRvIDEyMi4wLjYyNjEuNTcKKyAg ICogSGlnaCBDVkUtMjAyNC0xNjY5OiBPdXQgb2YgYm91bmRzIG1lbW9yeSBhY2Nlc3MgaW4gQmxp bmsKKyAgICogSGlnaCBDVkUtMjAyNC0xNjcwOiBVc2UgYWZ0ZXIgZnJlZSBpbiBNb2pvCisgICAq IE1lZGl1bSBDVkUtMjAyNC0xNjcxOiBJbmFwcHJvcHJpYXRlIGltcGxlbWVudGF0aW9uIGluIFNp dGUgSXNvbGF0aW9uCisgICAqIE1lZGl1bSBDVkUtMjAyNC0xNjcyOiBJbmFwcHJvcHJpYXRlIGlt cGxlbWVudGF0aW9uIGluIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5CisgICAqIE1lZGl1bSBDVkUt MjAyNC0xNjczOiBVc2UgYWZ0ZXIgZnJlZSBpbiBBY2Nlc3NpYmlsaXR5CisgICAqIE1lZGl1bSBD VkUtMjAyNC0xNjc0OiBJbmFwcHJvcHJpYXRlIGltcGxlbWVudGF0aW9uIGluIE5hdmlnYXRpb24K KyAgICogTWVkaXVtIENWRS0yMDI0LTE2NzU6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1l bnQgaW4gRG93bmxvYWQKKyAgICogTG93IENWRS0yMDI0LTE2NzY6IEluYXBwcm9wcmlhdGUgaW1w bGVtZW50YXRpb24gaW4gTmF2aWdhdGlvbi4KKworKiBTdW4gRmViIDE4IDIwMjQgVGhhbiBOZ28g PHRoYW5AcmVkaGF0LmNvbT4gLSAxMjIuMC42MjYxLjM5LTEKKy0gdXBkYXRlIHRvIDEyMi4wLjYy NjEuMzkKKwogKiBXZWQgRmViIDE0IDIwMjQgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAx MjEuMC42MTY3LjE4NC0xCiAtIHVwZGF0ZSB0byAxMjEuMC42MTY3LjE4NAogCgpkaWZmIC0tZ2l0 IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggNzkwNDczNy4uOWRjOWQ1OSAxMDA2NDQKLS0tIGEv c291cmNlcworKysgYi9zb3VyY2VzCkBAIC0yLDQgKzIsNCBAQCBTSEE1MTIgKG5vZGUtdjIwLjYu MS1saW51eC1hcm02NC50YXIueHopID0gYWRmY2FmMmMyMjYxNDc5N2ZkNjlmYjQ2ZDk0YzFjYmY2 NGRlYQogU0hBNTEyIChub2RlLXYyMC42LjEtbGludXgteDY0LnRhci54eikgPSA3ZTE1YzA1MDQx YTlhNTBmMDA0NjI2NmFhZGIyZTA5MmE1YWVmYmVjMTliZTFjN2M4MDk0NzFhZGQ1MjBjYjU3Yzdk ZjNjNDdkODhiMTg4OGIyOWJmMjk3OWRjYTNjOTJhZGRkZmQ5NjUzNzBmYTJhOWRhNGVhMDIxODY0 NjRmZAogU0hBNTEyIChsaW51eC1hcm02NC0wLjE5LjIudGd6KSA9IDhhMGQ4ZmVjNjc4NmZmZmNk Njk1NGQwMDgyMDAzN2E1NWQ2MWU2MDc2MmM3NDMwMGRmMDgwMWY4ZGIyNzA1NzU2MmMyMjFhMDYz YmVkZmI4ZGY1NmFmOWJhODBhYmIzNjYzMzY5ODdlODgxNzgyYzU5OTZlNmY4NzFhYmQzZGM2CiBT SEE1MTIgKGxpbnV4LXg2NC0wLjE5LjIudGd6KSA9IGEzMWNjNzRjNGJmYTU0ZjliNzVkNzM1YTFj ZmM5NDRkM2I1ZWZiN2MwNmJmYmE5NTQyZGE5YTY0MmFlMGIyZDIzNWVhMDBhZTg0ZDNhZDA1NzJj NDA2NDA1MTEwZmU3YjYxMzc3YWYwZmQxNTgwMzgwNmVmNzhkMjBmYzZmMDVkCi1TSEE1MTIgKGNo cm9taXVtLTEyMS4wLjYxNjcuMTg0LWNsZWFuLnRhci54eikgPSBiYmNiMGFhZTIwOTMzMTNhY2U0 MTZmODE0YTNlNjY0YTc5ZWJlNmI2NjhhMWNiY2Q0N2ZhODI4NWM0ZmVmMGEzMTA2YzRkMTVhMTY0 YzJlYTQ2NjMwYWMyZTNmODBhMDJiNGQ4ZDkyNWM5NTEyYjQ4YjQxMWRkMDA4NDlhMWMyMAorU0hB NTEyIChjaHJvbWl1bS0xMjIuMC42MjYxLjU3LWNsZWFuLnRhci54eikgPSAzNDNhZTAyNTA2MTRm Y2Y3NDRmZWYwNWVhNmY3YzdiOWQwNjYzN2JmNTZlYjg2YWNjMDQ2NzJkYTEyMDZmMzhjODg4MDVi ZjY5NmI3OTMxNzZjZGQ3NTFjY2RjZWE5NTlkMzBlNTE3NTUwYmNjZTgwNjAyNmM5MGM5MDU3M2M2 Ygo=