From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from ol0router01.airtag.info ([88.190.231.88]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1RYKzx-0001r1-Ur for ptxdist@pengutronix.de; Wed, 07 Dec 2011 18:09:40 +0100 Received: from localhost (localhost [127.0.0.1]) by ol0router01.airtag.info (Postfix) with ESMTP id 598B11FA279 for ; Wed, 7 Dec 2011 18:09:29 +0100 (CET) Received: from ol0router01.airtag.info ([127.0.0.1]) by localhost (ol0smtp01.airtag.local [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S1uV0H8JN3gk for ; Wed, 7 Dec 2011 18:09:28 +0100 (CET) Received: from HQ0SBS01.airtag.local (hq0sbs01.airtag.local [10.4.0.10]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client CN "*.airtag.com", Issuer "GlobalSign Organization Validation CA - G2" (verified OK)) by ol0router01.airtag.info (Postfix) with ESMTPS id AD55B1FA268 for ; Wed, 7 Dec 2011 18:09:27 +0100 (CET) From: =?utf-8?B?QmVub8OudCBCVVJOSUNIT04=?= Date: Wed, 7 Dec 2011 17:08:44 +0000 Message-ID: <3944866A166FC34A948C72DD5EDDCA2A1DC6F445@HQ0SBS01.airtag.local> References: <3944866A166FC34A948C72DD5EDDCA2A1DC6F400@HQ0SBS01.airtag.local> <20111207165515.GC11859@pengutronix.de> In-Reply-To: <20111207165515.GC11859@pengutronix.de> Content-Language: fr-FR Content-Type: multipart/mixed; boundary="_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_" MIME-Version: 1.0 Subject: Re: [ptxdist] [PATCH 1/2] lua: Correct implementation for version 5.1.4 Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: "ptxdist@pengutronix.de" --_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T2ssIHdpbGwgdGhlbiBzZW5kIGFsbCBteSBwYXRjaGVzIGFzIGF0dGFjaG1lbnRzLi4uDQoNCkVu Y2xvc2VkIGFyZToNCiAtIDIgcGF0Y2hlcyBmb3IgbHVhLg0KIC0gMSBwYXRjaCBmb3IgeG1scnBj LWMNCiAtIDEgcGF0Y2ggZm9yIHBocDUNCg0KUmVnYXJkcywNCg0KQmVuDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogcHR4ZGlzdC1ib3VuY2VzQHBlbmd1dHJvbml4LmRl IFttYWlsdG86cHR4ZGlzdC0NCj4gYm91bmNlc0BwZW5ndXRyb25peC5kZV0gT24gQmVoYWxmIE9m IE1pY2hhZWwgT2xicmljaA0KPiBTZW50OiBXZWRuZXNkYXksIERlY2VtYmVyIDA3LCAyMDExIDU6 NTUgUE0NCj4gVG86IHB0eGRpc3RAcGVuZ3V0cm9uaXguZGUNCj4gU3ViamVjdDogUmU6IFtwdHhk aXN0XSBbUEFUQ0ggMS8yXSBsdWE6IENvcnJlY3QgaW1wbGVtZW50YXRpb24gZm9yIHZlcnNpb24N Cj4gNS4xLjQNCj4NCj4gUGF0Y2ggZG9lcyBub3QgYXBwbHkuIFBsZWFzZSByZXNlbmQuDQo+DQo+ IE1pY2hhZWwNCj4NCj4gLS0NCj4gUGVuZ3V0cm9uaXggZS5LLiAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gSW5kdXN0cmlhbCBMaW51 eCBTb2x1dGlvbnMgICAgICAgICAgICAgICAgIHwgaHR0cDovL3d3dy5wZW5ndXRyb25peC5kZS8g IHwNCj4gUGVpbmVyIFN0ci4gNi04LCAzMTEzNyBIaWxkZXNoZWltLCBHZXJtYW55IHwgUGhvbmU6 ICs0OS01MTIxLTIwNjkxNy0wICAgIHwNCj4gQW10c2dlcmljaHQgSGlsZGVzaGVpbSwgSFJBIDI2 ODYgICAgICAgICAgIHwgRmF4OiAgICs0OS01MTIxLTIwNjkxNy01NTU1IHwNCj4NCj4gLS0NCj4g cHR4ZGlzdCBtYWlsaW5nIGxpc3QNCj4gcHR4ZGlzdEBwZW5ndXRyb25peC5kZQ0KDQpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXw0KDQpDZSBjb3VycmllbCBldCB0b3V0ZXMgbGVzIHBp w6hjZXMgam9pbnRlcyBzb250IGNvbmZpZGVudGllbHMgZXQgcGV1dmVudCDDqnRyZSBjb3V2ZXJ0 cyBwYXIgdW4gcHJpdmlsw6hnZSBvdSB1bmUgcHJvdGVjdGlvbiBsw6lnYWxlLiBJbCBlc3Qgw6l0 YWJsaSDDoCBs4oCZYXR0ZW50aW9uIGV4Y2x1c2l2ZSBkZSBzZXMgZGVzdGluYXRhaXJlcy4gVG91 dGUgdXRpbGlzYXRpb24gZGUgY2UgY291cnJpZWwgbm9uIGNvbmZvcm1lIMOgIHNhIGRlc3RpbmF0 aW9uLCB0b3V0ZSBkaWZmdXNpb24gb3UgdG91dGUgcHVibGljYXRpb24sIHRvdGFsZSBvdSBwYXJ0 aWVsbGUsIGVzdCBpbnRlcmRpdGUsIHNhdWYgYXV0b3Jpc2F0aW9uIGV4cHJlc3NlIHByw6lhbGFi bGUuDQpUaGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudCBhcmUgY29uZmlkZW50aWFsIGFuZCBt YXkgYmUgbGVnYWxseSBwcml2aWxlZ2VkIG9yIG90aGVyd2lzZSBwcm90ZWN0ZWQgZnJvbSBkaXNj bG9zdXJlLiBJdCBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgc3RhdGVkIGFkZHJlc3NlZShzKSBh bmQgYWNjZXNzIHRvIGl0IGJ5IGFueSBvdGhlciBwZXJzb24ocykgaXMgdW5hdXRob3JpemVkLiBB bnkgdXNlLCBkaXNzZW1pbmF0aW9uIG9yIGRpc2Nsb3N1cmUgbm90IGluIGFjY29yZGFuY2Ugd2l0 aCBpdHMgcHVycG9zZSwgZWl0aGVyIGluIHdob2xlIG9yIGluIHBhcnQsIGlzIHByb2hpYml0ZWQg d2l0aG91dCBvdXIgcHJpb3IgZm9ybWFsIGFwcHJvdmFsLg0K --_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_ Content-Type: application/octet-stream; name="0001-lua-Correct-implementation-for-version-5.1.4.patch" Content-Description: 0001-lua-Correct-implementation-for-version-5.1.4.patch Content-Disposition: attachment; filename="0001-lua-Correct-implementation-for-version-5.1.4.patch"; size=77157; creation-date="Wed, 07 Dec 2011 16:00:19 GMT"; modification-date="Wed, 07 Dec 2011 16:00:19 GMT" Content-Transfer-Encoding: base64 RnJvbSBhYjM0MzNiZTc3ZGFjODYwYmM3NjExZWNlYmE5NDI0YzQwNWJjOGE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8 YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgpEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTI6MDA6 MTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvMl0gbHVhOiBDb3JyZWN0IGltcGxlbWVudGF0aW9u IGZvciB2ZXJzaW9uIDUuMS40ClRvOiBwdHhkaXN0QHBlbmd1dHJvbml4LmRlCgotLS0KIHBhdGNo ZXMvbHVhLTUuMS40L2F1dG9jb25maXplLmRpZmYgICAgICAgICAgICAgICB8ICA5MTIgKysrKysr KysrKysrKysrKysrKysrKwogcGF0Y2hlcy9sdWEtNS4xLjQvYXV0b21ha2l6ZS5kaWZmICAgICAg ICAgICAgICAgIHwgIDExMyArKysKIHBhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1hdXRvY29u Zml6ZS5kaWZmICAgICB8ICA5MTAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBwYXRjaGVzL2x1YS01 LjEuNC9sdWEtNS4xLjMtYXV0b2dlbi5zaC5kaWZmICAgICAgfCAgIDI2IC0KIHBhdGNoZXMvbHVh LTUuMS40L2x1YS01LjEuMy1hdXRvbWFraXplLmRpZmYgICAgICB8ICAxMTEgLS0tCiBwYXRjaGVz L2x1YS01LjEuNC9sdWEtNS4xLjMtcmVtb3ZlLU1ha2VmaWxlLmRpZmYgfCAgMTQ5IC0tLS0KIHBh dGNoZXMvbHVhLTUuMS40L3JlbW92ZS1NYWtlZmlsZS5kaWZmICAgICAgICAgICB8ICAxNDkgKysr KwogcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg NyArLQogcnVsZXMvbHVhLm1ha2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgMiArLQogOSBmaWxlcyBjaGFuZ2VkLCAxMTc4IGluc2VydGlvbnMoKyksIDEyMDEgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvYXV0b2NvbmZpemUu ZGlmZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40L2F1dG9tYWtpemUuZGlm ZgogZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1hdXRvY29u Zml6ZS5kaWZmCiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4z LWF1dG9nZW4uc2guZGlmZgogZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40L2x1 YS01LjEuMy1hdXRvbWFraXplLmRpZmYKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01 LjEuNC9sdWEtNS4xLjMtcmVtb3ZlLU1ha2VmaWxlLmRpZmYKIGNyZWF0ZSBtb2RlIDEwMDY0NCBw YXRjaGVzL2x1YS01LjEuNC9yZW1vdmUtTWFrZWZpbGUuZGlmZgoKZGlmZiAtLWdpdCBhL3BhdGNo ZXMvbHVhLTUuMS40L2F1dG9jb25maXplLmRpZmYgYi9wYXRjaGVzL2x1YS01LjEuNC9hdXRvY29u Zml6ZS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ODJmM2UKLS0t IC9kZXYvbnVsbAorKysgYi9wYXRjaGVzL2x1YS01LjEuNC9hdXRvY29uZml6ZS5kaWZmCkBAIC0w LDAgKzEsOTEyIEBACitTdWJqZWN0OiBBZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiBh ZGQgYXV0b2NvbmYgZmlsZXMKK0Zyb206IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgor CitUaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0byBwdHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1l bnUgZW50cnkgdW5kZXIKK3NjcmlwdGluZyBsYW5ndWFnZXMuIEFuZCBhIHBhdGNoIHRoYXQgbWFr ZXMgaXQgcG9zc2libGUgdG8gdXNlIGF1dG9jb25mCit0byBidWlsZC4KKworVGhpcyBwYXJ0IG9m IHRoZSBwYXRjaCBhZGRzIHRoZSBhdXRvY29uZiBmaWxlcy4KKworU2lnbmVkLW9mZi1ieTogRXJ3 aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2Vi ZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+CisKKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAg ICAgICAgICAgfCAgIDY4ICsrKysKKyBldGMvbHVhLnBjLmluICAgICAgICAgICAgIHwgICAzMiAr Cisgc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5pbiB8ICA3NzcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgODc3IGluc2VydGlv bnMoKykKKworSW5kZXg6IGx1YS01LjEuNC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBsdWEtNS4x LjQvY29uZmlndXJlLmFjCTIwMTEtMTItMDYgMTE6NDc6NDkuNjc1MDc2MzE0ICswMTAwCitAQCAt MCwwICsxLDcwIEBACisrQUNfUFJFUkVRKFsyLjY3XSkKKytBQ19JTklUKFtBdXRvdG9vbGl6ZWQg THVhXSxbNS4xLjRdLFtdLFtsdWEtYXRdKQorKworK0FDX0NPTkZJR19NQUNST19ESVIoW200XSkK KysKKytBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmhdKQorK0FDX0NPTkZJR19TUkNESVIoW3Ny Yy9sYXBpLmNdKQorKworK0FNX0lOSVRfQVVUT01BS0UoWzEuOSBmb3JlaWduXSkKKysKKytBQ19Q Uk9HX0NDCisrTFRfSU5JVAorKworK0FDX0FSR19XSVRIKAorKyAgW3JlYWRsaW5lXSwKKysgIFtB U19IRUxQX1NUUklORyhbLS13aXRoLXJlYWRsaW5lXSxbVXNlIHJlYWRsaW5lIGZvciBpbnRlcnBy ZXRlciBpbnB1dCBbZGVmYXVsdD15ZXNdXSldLAorKyAgW3VzZV9yZWFkbGluZT0kd2l0aHZhbF0s CisrICBbdXNlX3JlYWRsaW5lPXllc10KKyspCisrCisrTFVBX0xJQlM9Ii1sbSIKKysKKysjIENo ZWNrIGZvciByZWFkbGluZQorK1JFQURMSU5FX0RFRlM9IiN1bmRlZiBMVUFfVVNFX1JFQURMSU5F IgorK2lmIHRlc3QgIngkdXNlX3JlYWRsaW5lIiA9PSAieHllcyI7IHRoZW4KKysgIEFDX0NIRUNL X0xJQihbcmVhZGxpbmVdLCBbcmVhZGxpbmVdLCBbXSwgW3VzZV9yZWFkbGluZT1ub10pCisrICBB Q19DSEVDS19IRUFERVJTKFtyZWFkbGluZS9yZWFkbGluZS5oIHJlYWRsaW5lL2hpc3RvcnkuaF0s IFtdLCBbdXNlX3JlYWRsaW5lPW5vXSkKKysgIGlmIHRlc3QgIngkdXNlX3JlYWRsaW5lIiA9PSAi eG5vIjsgdGhlbgorKyAgICBBQ19NU0dfV0FSTihbcmVhZGxpbmUgaGVhZGVycyBjb3VsZCBub3Qg YmUgZm91bmQsIGRpc2FibGluZyByZWFkbGluZSBzdXBwb3J0XSkKKysgIGVsc2UKKysgICAgUkVB RExJTkVfREVGUz0iI2RlZmluZSBMVUFfVVNFX1JFQURMSU5FIgorKyAgICBMVUFfTElCUz0iJExV QV9MSUJTIC1scmVhZGxpbmUiCisrICBmaQorK2ZpCisrQUNfU1VCU1QoUkVBRExJTkVfREVGUykK KysKKytjYXNlICIkaG9zdCIgaW4KKysgICotbWluZ3cqKSAgdXNlX29zPXdpbjMyICA7OworKyAg Ki1kYXJ3aW4qKSB1c2Vfb3M9bWFjb3N4IDs7CisrICAqKSAgICAgICAgIHVzZV9vcz1wb3NpeCAg OzsKKytlc2FjCisrCisrUE9TSVhfREVGUz0iI3VuZGVmIExVQV9VU0VfUE9TSVgiCisrTFVBX0RM X0RFRlM9IiN1bmRlZiBMVUFfVVNFX0RMT1BFTiIKKytMVUFfQlVJTERfQVNfRExMX0RFRlM9IiN1 bmRlZiBMVUFfQlVJTERfQVNfRExMIgorKworK2lmIHRlc3QgIngkdXNlX29zIiA9PSAieHdpbjMy IjsgdGhlbgorKyAgTFVBX0JVSUxEX0FTX0RMTF9ERUZTPSIjZGVmaW5lIExVQV9CVUlMRF9BU19E TEwiCisrZWxpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInhtYWNvc3giOyB0aGVuCisrICBQT1NJWF9E RUZTPSIjZGVmaW5lIExVQV9VU0VfUE9TSVgiCisrICBMVUFfRExfREVGUz0iI2RlZmluZSBMVUFf RExfRFlMRCIKKytlbGlmIHRlc3QgIngkdXNlX29zIiA9PSAieHBvc2l4IjsgdGhlbgorKyAgUE9T SVhfREVGUz0iI2RlZmluZSBMVUFfVVNFX1BPU0lYIgorKyAgTFVBX0RMX0RFRlM9IiNkZWZpbmUg TFVBX0RMX0RMT1BFTiIKKysgIExVQV9MSUJTPSIkTFVBX0xJQlMgLWxkbCIKKytmaQorK0FDX1NV QlNUKFBPU0lYX0RFRlMpCisrQUNfU1VCU1QoTFVBX0RMX0RFRlMpCisrQUNfU1VCU1QoTFVBX0JV SUxEX0FTX0RMTF9ERUZTKQorKworK0FDX1NVQlNUKExVQV9MSUJTKQorKworK0FDX0NPTkZJR19G SUxFUyhbTWFrZWZpbGUKKysgICAgICAgICAgICAgICAgIHNyYy9NYWtlZmlsZQorKyAgICAgICAg ICAgICAgICAgc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZQorKyAgICAgICAgICAgICAgICAgZXRjL01h a2VmaWxlCisrICAgICAgICAgICAgICAgICBldGMvbHVhLnBjCisrICAgICAgICAgICAgICAgICBk b2MvTWFrZWZpbGUKKysJCSB0ZXN0L01ha2VmaWxlXSkKKytBQ19PVVRQVVQKK0luZGV4OiBsdWEt NS4xLjQvZXRjL2x1YS5wYy5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGx1YS01LjEuNC9ldGMvbHVhLnBjLmluCTIw MTEtMTItMDYgMTE6NDQ6NTIuMTAzODI2ODgwICswMTAwCitAQCAtMCwwICsxLDMyIEBACisrIyBs dWEucGMgLS0gcGtnLWNvbmZpZyBkYXRhIGZvciBMdWEKKysKKysjIHZhcnMgZnJvbSBpbnN0YWxs IE1ha2VmaWxlCisrCisrIyBncmVwICdeVj0nIC4uL01ha2VmaWxlCisrVj0gNS4xCisrIyBncmVw ICdeUj0nIC4uL01ha2VmaWxlCisrUj0gQFZFUlNJT05ACisrCisrIyBncmVwICdeSU5TVEFMTF8u Kj0nIC4uL01ha2VmaWxlIHwgc2VkICdzL0lOU1RBTExfVE9QL3ByZWZpeC8nCisrIyBwbHVzIGF1 dG90b29saWZpY2F0aW9uCisrcHJlZml4PSBAcHJlZml4QAorK0lOU1RBTExfQklOPSAke3ByZWZp eH0vYmluCisrSU5TVEFMTF9JTkM9ICR7cHJlZml4fS9pbmNsdWRlCisrSU5TVEFMTF9MSUI9ICR7 cHJlZml4fS9saWIKKytJTlNUQUxMX01BTj0gJHtwcmVmaXh9L21hbi9tYW4xCisrSU5TVEFMTF9M TU9EPSAke3ByZWZpeH0vc2hhcmUvbHVhLyR7Vn0KKytJTlNUQUxMX0NNT0Q9ICR7cHJlZml4fS9s aWIvbHVhLyR7Vn0KKysKKysjIGNhbm9uaWNhbCB2YXJzCisrZXhlY19wcmVmaXg9JHtwcmVmaXh9 CisrbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYgorK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1 ZGUKKysKKytOYW1lOiBMdWEKKytEZXNjcmlwdGlvbjogQW4gRXh0ZW5zaWJsZSBFeHRlbnNpb24g TGFuZ3VhZ2UKKytWZXJzaW9uOiAke1J9CisrUmVxdWlyZXM6IAorK0xpYnM6IC1MJHtsaWJkaXJ9 IC1sbHVhIC1sbQorK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9CisrCisrIyAoZW5kIG9mIGx1YS5w YykKK0luZGV4OiBsdWEtNS4xLjQvc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5pbgorPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysr IGx1YS01LjEuNC9zcmMvbHVhY29uZi5oLnRlbXBsYXRlLmluCTIwMTEtMTItMDYgMTE6NDQ6NTIu MTAzODI2ODgwICswMTAwCitAQCAtMCwwICsxLDc3NyBAQAorKy8qCisrKiogJElkOiBsdWFjb25m LmgsdiAxLjgyYSAyMDA2LzA0LzEwIDE4OjI3OjIzIHJvYmVydG8gRXhwICQKKysqKiBDb25maWd1 cmF0aW9uIGZpbGUgZm9yIEx1YQorKyoqIFNlZSBDb3B5cmlnaHQgTm90aWNlIGluIGx1YS5oCisr Ki8KKysKKysKKysjaWZuZGVmIGxjb25maWdfaAorKyNkZWZpbmUgbGNvbmZpZ19oCisrCisrI2lu Y2x1ZGUgPGxpbWl0cy5oPgorKyNpbmNsdWRlIDxzdGRkZWYuaD4KKysKKysvKgorKyoqID09PT09 PT09PT09PT09PT09CisrKiogQXV0b3Rvb2xpZmljYXRpb24KKysqKiA9PT09PT09PT09PT09PT09 PQorKyovCisrCisrLyoqIGF1dG90b29saXplIHBhdGNoICoqLworK0BQT1NJWF9ERUZTQAorK0BM VUFfRExfREVGU0AKKytATFVBX0JVSUxEX0FTX0RMTF9ERUZTQAorK0BSRUFETElORV9ERUZTQAor Ky8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8KKysKKysvKgorKyoqID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyoqIFNl YXJjaCBmb3IgIkBAIiB0byBmaW5kIGFsbCBjb25maWd1cmFibGUgZGVmaW5pdGlvbnMuCisrKiog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorKyovCisrCisrCisrLyoKKytAQCBMVUFfQU5TSSBjb250cm9scyB0aGUgdXNl IG9mIG5vbi1hbnNpIGZlYXR1cmVzLgorKyoqIENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3Ug d2FudCBMdWEgdG8gYXZvaWQgdGhlIHVzZSBvZiBhbnkKKysqKiBub24tYW5zaSBmZWF0dXJlIG9y IGxpYnJhcnkuCisrKi8KKysjaWYgZGVmaW5lZChfX1NUUklDVF9BTlNJX18pCisrI2RlZmluZSBM VUFfQU5TSQorKyNlbmRpZgorKworKworKyNpZiAhZGVmaW5lZChMVUFfQU5TSSkgJiYgZGVmaW5l ZChfV0lOMzIpCisrI2RlZmluZSBMVUFfV0lOCisrI2VuZGlmCisrCisrI2lmIGRlZmluZWQoTFVB X1VTRV9MSU5VWCkKKysjZGVmaW5lIExVQV9VU0VfUE9TSVgKKysjZGVmaW5lIExVQV9VU0VfRExP UEVOCQkvKiBuZWVkcyBhbiBleHRyYSBsaWJyYXJ5OiAtbGRsICovCisrI2RlZmluZSBMVUFfVVNF X1JFQURMSU5FCS8qIG5lZWRzIHNvbWUgZXh0cmEgbGlicmFyaWVzICovCisrI2VuZGlmCisrCisr I2lmIGRlZmluZWQoTFVBX1VTRV9NQUNPU1gpCisrI2RlZmluZSBMVUFfVVNFX1BPU0lYCisrI2Rl ZmluZSBMVUFfRExfRFlMRAkJLyogZG9lcyBub3QgbmVlZCBleHRyYSBsaWJyYXJ5ICovCisrI2Vu ZGlmCisrCisrCisrCisrLyoKKytAQCBMVUFfVVNFX1BPU0lYIGluY2x1ZGVzIGFsbCBmdW5jdGlv bmFsbGl0eSBsaXN0ZWQgYXMgWC9PcGVuIFN5c3RlbQorK0AqIEludGVyZmFjZXMgRXh0ZW5zaW9u IChYU0kpLgorKyoqIENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3VyIHN5c3RlbSBpcyBYU0kg Y29tcGF0aWJsZS4KKysqLworKyNpZiBkZWZpbmVkKExVQV9VU0VfUE9TSVgpCisrI2RlZmluZSBM VUFfVVNFX01LU1RFTVAKKysjZGVmaW5lIExVQV9VU0VfSVNBVFRZCisrI2RlZmluZSBMVUFfVVNF X1BPUEVOCisrI2RlZmluZSBMVUFfVVNFX1VMT05HSk1QCisrI2VuZGlmCisrCisrCisrLyoKKytA QCBMVUFfUEFUSCBhbmQgTFVBX0NQQVRIIGFyZSB0aGUgbmFtZXMgb2YgdGhlIGVudmlyb25tZW50 IHZhcmlhYmxlcyB0aGF0CisrQCogTHVhIGNoZWNrIHRvIHNldCBpdHMgcGF0aHMuCisrQEAgTFVB X0lOSVQgaXMgdGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHRoYXQgTHVhCisr QCogY2hlY2tzIGZvciBpbml0aWFsaXphdGlvbiBjb2RlLgorKyoqIENIQU5HRSB0aGVtIGlmIHlv dSB3YW50IGRpZmZlcmVudCBuYW1lcy4KKysqLworKyNkZWZpbmUgTFVBX1BBVEggICAgICAgICJM VUFfUEFUSCIKKysjZGVmaW5lIExVQV9DUEFUSCAgICAgICAiTFVBX0NQQVRIIgorKyNkZWZpbmUg TFVBX0lOSVQJIkxVQV9JTklUIgorKworKworKy8qCisrQEAgTFVBX1BBVEhfREVGQVVMVCBpcyB0 aGUgZGVmYXVsdCBwYXRoIHRoYXQgTHVhIHVzZXMgdG8gbG9vayBmb3IKKytAKiBMdWEgbGlicmFy aWVzLgorK0BAIExVQV9DUEFUSF9ERUZBVUxUIGlzIHRoZSBkZWZhdWx0IHBhdGggdGhhdCBMdWEg dXNlcyB0byBsb29rIGZvcgorK0AqIEMgbGlicmFyaWVzLgorKyoqIENIQU5HRSB0aGVtIGlmIHlv dXIgbWFjaGluZSBoYXMgYSBub24tY29udmVudGlvbmFsIGRpcmVjdG9yeQorKyoqIGhpZXJhcmNo eSBvciBpZiB5b3Ugd2FudCB0byBpbnN0YWxsIHlvdXIgbGlicmFyaWVzIGluCisrKiogbm9uLWNv bnZlbnRpb25hbCBkaXJlY3Rvcmllcy4KKysqLworKyNpZiBkZWZpbmVkKF9XSU4zMikKKysvKgor KyoqIEluIFdpbmRvd3MsIGFueSBleGNsYW1hdGlvbiBtYXJrICgnIScpIGluIHRoZSBwYXRoIGlz IHJlcGxhY2VkIGJ5IHRoZQorKyoqIHBhdGggb2YgdGhlIGRpcmVjdG9yeSBvZiB0aGUgZXhlY3V0 YWJsZSBmaWxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCisrKi8KKysjZGVmaW5lIExVQV9MRElS CSIhXFxsdWFcXCIKKysjZGVmaW5lIExVQV9DRElSCSIhXFwiCisrI2RlZmluZSBMVUFfUEFUSF9E RUZBVUxUICBcCisrCQkiLlxcPy5sdWE7IiAgTFVBX0xESVIiPy5sdWE7IiAgTFVBX0xESVIiP1xc aW5pdC5sdWE7IiBcCisrCQkgICAgICAgICAgICAgTFVBX0NESVIiPy5sdWE7IiAgTFVBX0NESVIi P1xcaW5pdC5sdWEiCisrI2RlZmluZSBMVUFfQ1BBVEhfREVGQVVMVCBcCisrCSIuXFw/LmRsbDsi ICBMVUFfQ0RJUiI/LmRsbDsiIExVQV9DRElSImxvYWRhbGwuZGxsIgorKworKyNlbHNlCisrCisr LyoqIGF1dG90b29saXplIHBhdGNoICoqLworKyNkZWZpbmUgTFVBX0xESVIJIiVsdWFfZGF0YWRp ciUvbHVhLzUuMS8iCisrI2RlZmluZSBMVUFfQ0RJUgkiJWx1YV9saWJkaXIlL2x1YS81LjEvIgor Ky8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8KKysKKysjZGVmaW5lIExVQV9QQVRIX0RFRkFVTFQg IFwKKysJCSIuLz8ubHVhOyIgIExVQV9MRElSIj8ubHVhOyIgIExVQV9MRElSIj8vaW5pdC5sdWE7 IiBcCisrCQkgICAgICAgICAgICBMVUFfQ0RJUiI/Lmx1YTsiICBMVUFfQ0RJUiI/L2luaXQubHVh IgorKyNkZWZpbmUgTFVBX0NQQVRIX0RFRkFVTFQgXAorKwkiLi8/LnNvOyIgIExVQV9DRElSIj8u c287IiBMVUFfQ0RJUiJsb2FkYWxsLnNvIgorKyNlbmRpZgorKworKworKy8qCisrQEAgTFVBX0RJ UlNFUCBpcyB0aGUgZGlyZWN0b3J5IHNlcGFyYXRvciAoZm9yIHN1Ym1vZHVsZXMpLgorKyoqIENI QU5HRSBpdCBpZiB5b3VyIG1hY2hpbmUgZG9lcyBub3QgdXNlICIvIiBhcyB0aGUgZGlyZWN0b3J5 IHNlcGFyYXRvcgorKyoqIGFuZCBpcyBub3QgV2luZG93cy4gKE9uIFdpbmRvd3MgTHVhIGF1dG9t YXRpY2FsbHkgdXNlcyAiXCIuKQorKyovCisrI2lmIGRlZmluZWQoX1dJTjMyKQorKyNkZWZpbmUg TFVBX0RJUlNFUAkiXFwiCisrI2Vsc2UKKysjZGVmaW5lIExVQV9ESVJTRVAJIi8iCisrI2VuZGlm CisrCisrCisrLyoKKytAQCBMVUFfUEFUSFNFUCBpcyB0aGUgY2hhcmFjdGVyIHRoYXQgc2VwYXJh dGVzIHRlbXBsYXRlcyBpbiBhIHBhdGguCisrQEAgTFVBX1BBVEhfTUFSSyBpcyB0aGUgc3RyaW5n IHRoYXQgbWFya3MgdGhlIHN1YnN0aXR1dGlvbiBwb2ludHMgaW4gYQorK0AqIHRlbXBsYXRlLgor K0BAIExVQV9FWEVDRElSIGluIGEgV2luZG93cyBwYXRoIGlzIHJlcGxhY2VkIGJ5IHRoZSBleGVj dXRhYmxlJ3MKKytAKiBkaXJlY3RvcnkuCisrQEAgTFVBX0lHTUFSSyBpcyBhIG1hcmsgdG8gaWdu b3JlIGFsbCBiZWZvcmUgaXQgd2hlbiBidWxkaW5nIHRoZQorK0AqIGx1YW9wZW5fIGZ1bmN0aW9u IG5hbWUuCisrKiogQ0hBTkdFIHRoZW0gaWYgZm9yIHNvbWUgcmVhc29uIHlvdXIgc3lzdGVtIGNh bm5vdCB1c2UgdGhvc2UKKysqKiBjaGFyYWN0ZXJzLiAoRS5nLiwgaWYgb25lIG9mIHRob3NlIGNo YXJhY3RlcnMgaXMgYSBjb21tb24gY2hhcmFjdGVyCisrKiogaW4gZmlsZS9kaXJlY3RvcnkgbmFt ZXMuKSBQcm9iYWJseSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoZW0uCisrKi8KKysjZGVm aW5lIExVQV9QQVRIU0VQCSI7IgorKyNkZWZpbmUgTFVBX1BBVEhfTUFSSwkiPyIKKysjZGVmaW5l IExVQV9FWEVDRElSCSIhIgorKyNkZWZpbmUgTFVBX0lHTUFSSwkiLSIKKysKKysKKysvKgorK0BA IExVQV9JTlRFR0VSIGlzIHRoZSBpbnRlZ3JhbCB0eXBlIHVzZWQgYnkgbHVhX3B1c2hpbnRlZ2Vy L2x1YV90b2ludGVnZXIuCisrKiogQ0hBTkdFIHRoYXQgaWYgcHRyZGlmZl90IGlzIG5vdCBhZGVx dWF0ZSBvbiB5b3VyIG1hY2hpbmUuIChPbiBtb3N0CisrKiogbWFjaGluZXMsIHB0cmRpZmZfdCBn aXZlcyBhIGdvb2QgY2hvaWNlIGJldHdlZW4gaW50IG9yIGxvbmcuKQorKyovCisrI2RlZmluZSBM VUFfSU5URUdFUglwdHJkaWZmX3QKKysKKysKKysvKgorK0BAIExVQV9BUEkgaXMgYSBtYXJrIGZv ciBhbGwgY29yZSBBUEkgZnVuY3Rpb25zLgorK0BAIExVQUxJQl9BUEkgaXMgYSBtYXJrIGZvciBh bGwgc3RhbmRhcmQgbGlicmFyeSBmdW5jdGlvbnMuCisrKiogQ0hBTkdFIHRoZW0gaWYgeW91IG5l ZWQgdG8gZGVmaW5lIHRob3NlIGZ1bmN0aW9ucyBpbiBzb21lIHNwZWNpYWwgd2F5LgorKyoqIEZv ciBpbnN0YW5jZSwgaWYgeW91IHdhbnQgdG8gY3JlYXRlIG9uZSBXaW5kb3dzIERMTCB3aXRoIHRo ZSBjb3JlIGFuZAorKyoqIHRoZSBsaWJyYXJpZXMsIHlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGZv bGxvd2luZyBkZWZpbml0aW9uIChkZWZpbmUKKysqKiBMVUFfQlVJTERfQVNfRExMIHRvIGdldCBp dCkuCisrKi8KKysjaWYgZGVmaW5lZChMVUFfQlVJTERfQVNfRExMKQorKworKyNpZiBkZWZpbmVk KExVQV9DT1JFKSB8fCBkZWZpbmVkKExVQV9MSUIpCisrI2RlZmluZSBMVUFfQVBJIF9fZGVjbHNw ZWMoZGxsZXhwb3J0KQorKyNlbHNlCisrI2RlZmluZSBMVUFfQVBJIF9fZGVjbHNwZWMoZGxsaW1w b3J0KQorKyNlbmRpZgorKworKyNlbHNlCisrCisrI2RlZmluZSBMVUFfQVBJCQlleHRlcm4KKysK KysjZW5kaWYKKysKKysvKiBtb3JlIG9mdGVuIHRoYW4gbm90IHRoZSBsaWJzIGdvIHRvZ2V0aGVy IHdpdGggdGhlIGNvcmUgKi8KKysjZGVmaW5lIExVQUxJQl9BUEkJTFVBX0FQSQorKworKworKy8q CisrQEAgTFVBSV9GVU5DIGlzIGEgbWFyayBmb3IgYWxsIGV4dGVybiBmdW5jdGlvbnMgdGhhdCBh cmUgbm90IHRvIGJlCisrQCogZXhwb3J0ZWQgdG8gb3V0c2lkZSBtb2R1bGVzLgorK0BAIExVQUlf REFUQSBpcyBhIG1hcmsgZm9yIGFsbCBleHRlcm4gKGNvbnN0KSB2YXJpYWJsZXMgdGhhdCBhcmUg bm90IHRvCisrQCogYmUgZXhwb3J0ZWQgdG8gb3V0c2lkZSBtb2R1bGVzLgorKyoqIENIQU5HRSB0 aGVtIGlmIHlvdSBuZWVkIHRvIG1hcmsgdGhlbSBpbiBzb21lIHNwZWNpYWwgd2F5LiBFbGYvZ2Nj CisrKiogKHZlcnNpb25zIDMuMiBhbmQgbGF0ZXIpIG1hcmsgdGhlbSBhcyAiaGlkZGVuIiB0byBv cHRpbWl6ZSBhY2Nlc3MKKysqKiB3aGVuIEx1YSBpcyBjb21waWxlZCBhcyBhIHNoYXJlZCBsaWJy YXJ5LgorKyovCisrI2lmIGRlZmluZWQobHVhYWxsX2MpCisrI2RlZmluZSBMVUFJX0ZVTkMJc3Rh dGljCisrI2RlZmluZSBMVUFJX0RBVEEJLyogZW1wdHkgKi8KKysKKysjZWxpZiBkZWZpbmVkKF9f R05VQ19fKSAmJiAoKF9fR05VQ19fKjEwMCArIF9fR05VQ19NSU5PUl9fKSA+PSAzMDIpICYmIFwK KysgICAgICBkZWZpbmVkKF9fRUxGX18pCisrI2RlZmluZSBMVUFJX0ZVTkMJX19hdHRyaWJ1dGVf XygodmlzaWJpbGl0eSgiaGlkZGVuIikpKSBleHRlcm4KKysjZGVmaW5lIExVQUlfREFUQQlMVUFJ X0ZVTkMKKysKKysjZWxzZQorKyNkZWZpbmUgTFVBSV9GVU5DCWV4dGVybgorKyNkZWZpbmUgTFVB SV9EQVRBCWV4dGVybgorKyNlbmRpZgorKworKworKworKy8qCisrQEAgTFVBX1FMIGRlc2NyaWJl cyBob3cgZXJyb3IgbWVzc2FnZXMgcXVvdGUgcHJvZ3JhbSBlbGVtZW50cy4KKysqKiBDSEFOR0Ug aXQgaWYgeW91IHdhbnQgYSBkaWZmZXJlbnQgYXBwZWFyYW5jZS4KKysqLworKyNkZWZpbmUgTFVB X1FMKHgpCSInIiB4ICInIgorKyNkZWZpbmUgTFVBX1FTCQlMVUFfUUwoIiVzIikKKysKKysKKysv KgorK0BAIExVQV9JRFNJWkUgZ2l2ZXMgdGhlIG1heGltdW0gc2l6ZSBmb3IgdGhlIGRlc2NyaXB0 aW9uIG9mIHRoZSBzb3VyY2UKKytAKiBvZiBhIGZ1bmN0aW9uIGluIGRlYnVnIGluZm9ybWF0aW9u LgorKyoqIENIQU5HRSBpdCBpZiB5b3Ugd2FudCBhIGRpZmZlcmVudCBzaXplLgorKyovCisrI2Rl ZmluZSBMVUFfSURTSVpFCTYwCisrCisrCisrLyoKKysqKiB7PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrKiogU3RhbmQt YWxvbmUgY29uZmlndXJhdGlvbgorKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysqLworKworKyNpZiBkZWZpbmVk KGx1YV9jKSB8fCBkZWZpbmVkKGx1YWFsbF9jKQorKworKy8qCisrQEAgbHVhX3N0ZGluX2lzX3R0 eSBkZXRlY3RzIHdoZXRoZXIgdGhlIHN0YW5kYXJkIGlucHV0IGlzIGEgJ3R0eScgKHRoYXQKKytA KiBpcywgd2hldGhlciB3ZSdyZSBydW5uaW5nIGx1YSBpbnRlcmFjdGl2ZWx5KS4KKysqKiBDSEFO R0UgaXQgaWYgeW91IGhhdmUgYSBiZXR0ZXIgZGVmaW5pdGlvbiBmb3Igbm9uLVBPU0lYL25vbi1X aW5kb3dzCisrKiogc3lzdGVtcy4KKysqLworKyNpZiBkZWZpbmVkKExVQV9VU0VfSVNBVFRZKQor KyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjZGVmaW5lIGx1YV9zdGRpbl9pc190dHkoKQlpc2F0dHko MCkKKysjZWxpZiBkZWZpbmVkKExVQV9XSU4pCisrI2luY2x1ZGUgPGlvLmg+CisrI2luY2x1ZGUg PHN0ZGlvLmg+CisrI2RlZmluZSBsdWFfc3RkaW5faXNfdHR5KCkJX2lzYXR0eShfZmlsZW5vKHN0 ZGluKSkKKysjZWxzZQorKyNkZWZpbmUgbHVhX3N0ZGluX2lzX3R0eSgpCTEgIC8qIGFzc3VtZSBz dGRpbiBpcyBhIHR0eSAqLworKyNlbmRpZgorKworKworKy8qCisrQEAgTFVBX1BST01QVCBpcyB0 aGUgZGVmYXVsdCBwcm9tcHQgdXNlZCBieSBzdGFuZC1hbG9uZSBMdWEuCisrQEAgTFVBX1BST01Q VDIgaXMgdGhlIGRlZmF1bHQgY29udGludWF0aW9uIHByb21wdCB1c2VkIGJ5IHN0YW5kLWFsb25l IEx1YS4KKysqKiBDSEFOR0UgdGhlbSBpZiB5b3Ugd2FudCBkaWZmZXJlbnQgcHJvbXB0cy4gKFlv dSBjYW4gYWxzbyBjaGFuZ2UgdGhlCisrKiogcHJvbXB0cyBkeW5hbWljYWxseSwgYXNzaWduaW5n IHRvIGdsb2JhbHMgX1BST01QVC9fUFJPTVBUMi4pCisrKi8KKysjZGVmaW5lIExVQV9QUk9NUFQJ CSI+ICIKKysjZGVmaW5lIExVQV9QUk9NUFQyCQkiPj4gIgorKworKworKy8qCisrQEAgTFVBX1BS T0dOQU1FIGlzIHRoZSBkZWZhdWx0IG5hbWUgZm9yIHRoZSBzdGFuZC1hbG9uZSBMdWEgcHJvZ3Jh bS4KKysqKiBDSEFOR0UgaXQgaWYgeW91ciBzdGFuZC1hbG9uZSBpbnRlcnByZXRlciBoYXMgYSBk aWZmZXJlbnQgbmFtZSBhbmQKKysqKiB5b3VyIHN5c3RlbSBpcyBub3QgYWJsZSB0byBkZXRlY3Qg dGhhdCBuYW1lIGF1dG9tYXRpY2FsbHkuCisrKi8KKysjZGVmaW5lIExVQV9QUk9HTkFNRQkJImx1 YSIKKysKKysKKysvKgorK0BAIExVQV9NQVhJTlBVVCBpcyB0aGUgbWF4aW11bSBsZW5ndGggZm9y IGFuIGlucHV0IGxpbmUgaW4gdGhlCisrQCogc3RhbmQtYWxvbmUgaW50ZXJwcmV0ZXIuCisrKiog Q0hBTkdFIGl0IGlmIHlvdSBuZWVkIGxvbmdlciBsaW5lcy4KKysqLworKyNkZWZpbmUgTFVBX01B WElOUFVUCTUxMgorKworKworKy8qCisrQEAgbHVhX3JlYWRsaW5lIGRlZmluZXMgaG93IHRvIHNo b3cgYSBwcm9tcHQgYW5kIHRoZW4gcmVhZCBhIGxpbmUgZnJvbQorK0AqIHRoZSBzdGFuZGFyZCBp bnB1dC4KKytAQCBsdWFfc2F2ZWxpbmUgZGVmaW5lcyBob3cgdG8gInNhdmUiIGEgcmVhZCBsaW5l IGluIGEgImhpc3RvcnkiLgorK0BAIGx1YV9mcmVlbGluZSBkZWZpbmVzIGhvdyB0byBmcmVlIGEg bGluZSByZWFkIGJ5IGx1YV9yZWFkbGluZS4KKysqKiBDSEFOR0UgdGhlbSBpZiB5b3Ugd2FudCB0 byBpbXByb3ZlIHRoaXMgZnVuY3Rpb25hbGl0eSAoZS5nLiwgYnkgdXNpbmcKKysqKiBHTlUgcmVh ZGxpbmUgYW5kIGhpc3RvcnkgZmFjaWxpdGllcykuCisrKi8KKysjaWYgZGVmaW5lZChMVUFfVVNF X1JFQURMSU5FKQorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxyZWFkbGluZS9yZWFk bGluZS5oPgorKyNpbmNsdWRlIDxyZWFkbGluZS9oaXN0b3J5Lmg+CisrI2RlZmluZSBsdWFfcmVh ZGxpbmUoTCxiLHApCSgodm9pZClMLCAoKGIpPXJlYWRsaW5lKHApKSAhPSBOVUxMKQorKyNkZWZp bmUgbHVhX3NhdmVsaW5lKEwsaWR4KSBcCisrCWlmIChsdWFfc3RybGVuKEwsaWR4KSA+IDApICAv KiBub24tZW1wdHkgbGluZT8gKi8gXAorKwkgIGFkZF9oaXN0b3J5KGx1YV90b3N0cmluZyhMLCBp ZHgpKTsgIC8qIGFkZCBpdCB0byBoaXN0b3J5ICovCisrI2RlZmluZSBsdWFfZnJlZWxpbmUoTCxi KQkoKHZvaWQpTCwgZnJlZShiKSkKKysjZWxzZQorKyNkZWZpbmUgbHVhX3JlYWRsaW5lKEwsYixw KQlcCisrCSgodm9pZClMLCBmcHV0cyhwLCBzdGRvdXQpLCBmZmx1c2goc3Rkb3V0KSwgIC8qIHNo b3cgcHJvbXB0ICovIFwKKysJZmdldHMoYiwgTFVBX01BWElOUFVULCBzdGRpbikgIT0gTlVMTCkg IC8qIGdldCBsaW5lICovCisrI2RlZmluZSBsdWFfc2F2ZWxpbmUoTCxpZHgpCXsgKHZvaWQpTDsg KHZvaWQpaWR4OyB9CisrI2RlZmluZSBsdWFfZnJlZWxpbmUoTCxiKQl7ICh2b2lkKUw7ICh2b2lk KWI7IH0KKysjZW5kaWYKKysKKysjZW5kaWYKKysKKysvKiB9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisrCisrCisr LyoKKytAQCBMVUFJX0dDUEFVU0UgZGVmaW5lcyB0aGUgZGVmYXVsdCBwYXVzZSBiZXR3ZWVuIGdh cmJhZ2UtY29sbGVjdG9yIGN5Y2xlcworK0AqIGFzIGEgcGVyY2VudGFnZS4KKysqKiBDSEFOR0Ug aXQgaWYgeW91IHdhbnQgdGhlIEdDIHRvIHJ1biBmYXN0ZXIgb3Igc2xvd2VyIChoaWdoZXIgdmFs dWVzCisrKiogbWVhbiBsYXJnZXIgcGF1c2VzIHdoaWNoIG1lYW4gc2xvd2VyIGNvbGxlY3Rpb24u KSBZb3UgY2FuIGFsc28gY2hhbmdlCisrKiogdGhpcyB2YWx1ZSBkeW5hbWljYWxseS4KKysqLwor KyNkZWZpbmUgTFVBSV9HQ1BBVVNFCTIwMCAgLyogMjAwJSAod2FpdCBtZW1vcnkgdG8gZG91Ymxl IGJlZm9yZSBuZXh0IEdDKSAqLworKworKworKy8qCisrQEAgTFVBSV9HQ01VTCBkZWZpbmVzIHRo ZSBkZWZhdWx0IHNwZWVkIG9mIGdhcmJhZ2UgY29sbGVjdGlvbiByZWxhdGl2ZSB0bworK0AqIG1l bW9yeSBhbGxvY2F0aW9uIGFzIGEgcGVyY2VudGFnZS4KKysqKiBDSEFOR0UgaXQgaWYgeW91IHdh bnQgdG8gY2hhbmdlIHRoZSBncmFudWxhcml0eSBvZiB0aGUgZ2FyYmFnZQorKyoqIGNvbGxlY3Rp b24uIChIaWdoZXIgdmFsdWVzIG1lYW4gY29hcnNlciBjb2xsZWN0aW9ucy4gMCByZXByZXNlbnRz CisrKiogaW5maW5pdHksIHdoZXJlIGVhY2ggc3RlcCBwZXJmb3JtcyBhIGZ1bGwgY29sbGVjdGlv bi4pIFlvdSBjYW4gYWxzbworKyoqIGNoYW5nZSB0aGlzIHZhbHVlIGR5bmFtaWNhbGx5LgorKyov CisrI2RlZmluZSBMVUFJX0dDTVVMCTIwMCAvKiBHQyBydW5zICd0d2ljZSB0aGUgc3BlZWQnIG9m IG1lbW9yeSBhbGxvY2F0aW9uICovCisrCisrCisrCisrLyoKKytAQCBMVUFfQ09NUEFUX0dFVE4g Y29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBnZXRuIGJlaGF2aW9yLgorKyoqIENIQU5H RSBpdCAoZGVmaW5lIGl0KSBpZiB5b3Ugd2FudCBleGFjdCBjb21wYXRpYmlsaXR5IHdpdGggdGhl CisrKiogYmVoYXZpb3Igb2Ygc2V0bi9nZXRuIGluIEx1YSA1LjAuCisrKi8KKysjdW5kZWYgTFVB X0NPTVBBVF9HRVROCisrCisrLyoKKytAQCBMVUFfQ09NUEFUX0xPQURMSUIgY29udHJvbHMgY29t cGF0aWJpbGl0eSBhYm91dCBnbG9iYWwgbG9hZGxpYi4KKysqKiBDSEFOR0UgaXQgdG8gdW5kZWZp bmVkIGFzIHNvb24gYXMgeW91IGRvIG5vdCBuZWVkIGEgZ2xvYmFsICdsb2FkbGliJworKyoqIGZ1 bmN0aW9uICh0aGUgZnVuY3Rpb24gaXMgc3RpbGwgYXZhaWxhYmxlIGFzICdwYWNrYWdlLmxvYWRs aWInKS4KKysqLworKyN1bmRlZiBMVUFfQ09NUEFUX0xPQURMSUIKKysKKysvKgorK0BAIExVQV9D T01QQVRfVkFSQVJHIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgdmFyYXJnIGZlYXR1 cmUuCisrKiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBzb29uIGFzIHlvdXIgcHJvZ3JhbXMg dXNlIG9ubHkgJy4uLicgdG8KKysqKiBhY2Nlc3MgdmFyYXJnIHBhcmFtZXRlcnMgKGluc3RlYWQg b2YgdGhlIG9sZCAnYXJnJyB0YWJsZSkuCisrKi8KKysjZGVmaW5lIExVQV9DT01QQVRfVkFSQVJH CisrCisrLyoKKytAQCBMVUFfQ09NUEFUX01PRCBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGgg b2xkIG1hdGgubW9kIGZ1bmN0aW9uLgorKyoqIENIQU5HRSBpdCB0byB1bmRlZmluZWQgYXMgc29v biBhcyB5b3VyIHByb2dyYW1zIHVzZSAnbWF0aC5mbW9kJyBvcgorKyoqIHRoZSBuZXcgJyUnIG9w ZXJhdG9yIGluc3RlYWQgb2YgJ21hdGgubW9kJy4KKysqLworKyNkZWZpbmUgTFVBX0NPTVBBVF9N T0QKKysKKysvKgorK0BAIExVQV9DT01QQVRfTFNUUiBjb250cm9scyBjb21wYXRpYmlsaXR5IHdp dGggb2xkIGxvbmcgc3RyaW5nIG5lc3RpbmcKKytAKiBmYWNpbGl0eS4KKysqKiBDSEFOR0UgaXQg dG8gMiBpZiB5b3Ugd2FudCB0aGUgb2xkIGJlaGF2aW91ciwgb3IgdW5kZWZpbmUgaXQgdG8gdHVy bgorKyoqIG9mZiB0aGUgYWR2aXNvcnkgZXJyb3Igd2hlbiBuZXN0aW5nIFtbLi4uXV0uCisrKi8K KysjZGVmaW5lIExVQV9DT01QQVRfTFNUUgkJMQorKworKy8qCisrQEAgTFVBX0NPTVBBVF9HRklO RCBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkICdzdHJpbmcuZ2ZpbmQnIG5hbWUuCisr KiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBzb29uIGFzIHlvdSByZW5hbWUgJ3N0cmluZy5n ZmluZCcgdG8KKysqKiAnc3RyaW5nLmdtYXRjaCcuCisrKi8KKysjZGVmaW5lIExVQV9DT01QQVRf R0ZJTkQKKysKKysvKgorK0BAIExVQV9DT01QQVRfT1BFTkxJQiBjb250cm9scyBjb21wYXRpYmls aXR5IHdpdGggb2xkICdsdWFMX29wZW5saWInCisrQCogYmVoYXZpb3IuCisrKiogQ0hBTkdFIGl0 IHRvIHVuZGVmaW5lZCBhcyBzb29uIGFzIHlvdSByZXBsYWNlIHRvICdsdWFMX3JlZ2lzdGVyJwor KyoqIHlvdXIgdXNlcyBvZiAnbHVhTF9vcGVubGliJworKyovCisrI2RlZmluZSBMVUFfQ09NUEFU X09QRU5MSUIKKysKKysKKysKKysvKgorK0BAIGx1YWlfYXBpY2hlY2sgaXMgdGhlIGFzc2VydCBt YWNybyB1c2VkIGJ5IHRoZSBMdWEtQyBBUEkuCisrKiogQ0hBTkdFIGx1YWlfYXBpY2hlY2sgaWYg eW91IHdhbnQgTHVhIHRvIHBlcmZvcm0gc29tZSBjaGVja3MgaW4gdGhlCisrKiogcGFyYW1ldGVy cyBpdCBnZXRzIGZyb20gQVBJIGNhbGxzLiBUaGlzIG1heSBzbG93IGRvd24gdGhlIGludGVycHJl dGVyCisrKiogYSBiaXQsIGJ1dCBtYXkgYmUgcXVpdGUgdXNlZnVsIHdoZW4gZGVidWdnaW5nIEMg Y29kZSB0aGF0IGludGVyZmFjZXMKKysqKiB3aXRoIEx1YS4gQSB1c2VmdWwgcmVkZWZpbml0aW9u IGlzIHRvIHVzZSBhc3NlcnQuaC4KKysqLworKyNpZiBkZWZpbmVkKExVQV9VU0VfQVBJQ0hFQ0sp CisrI2luY2x1ZGUgPGFzc2VydC5oPgorKyNkZWZpbmUgbHVhaV9hcGljaGVjayhMLG8pCXsgKHZv aWQpTDsgYXNzZXJ0KG8pOyB9CisrI2Vsc2UKKysjZGVmaW5lIGx1YWlfYXBpY2hlY2soTCxvKQl7 ICh2b2lkKUw7IH0KKysjZW5kaWYKKysKKysKKysvKgorK0BAIExVQUlfQklUU0lOVCBkZWZpbmVz IHRoZSBudW1iZXIgb2YgYml0cyBpbiBhbiBpbnQuCisrKiogQ0hBTkdFIGhlcmUgaWYgTHVhIGNh bm5vdCBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUgbnVtYmVyIG9mIGJpdHMgb2YKKysqKiB5b3Vy IG1hY2hpbmUuIFByb2JhYmx5IHlvdSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgdGhpcy4KKysqLwor Ky8qIGF2b2lkIG92ZXJmbG93cyBpbiBjb21wYXJpc29uICovCisrI2lmIElOVF9NQVgtMjAgPCAz Mjc2MAorKyNkZWZpbmUgTFVBSV9CSVRTSU5UCTE2CisrI2VsaWYgSU5UX01BWCA+IDIxNDc0ODM2 NDBMCisrLyogaW50IGhhcyBhdCBsZWFzdCAzMiBiaXRzICovCisrI2RlZmluZSBMVUFJX0JJVFNJ TlQJMzIKKysjZWxzZQorKyNlcnJvciAieW91IG11c3QgZGVmaW5lIExVQV9CSVRTSU5UIHdpdGgg bnVtYmVyIG9mIGJpdHMgaW4gYW4gaW50ZWdlciIKKysjZW5kaWYKKysKKysKKysvKgorK0BAIExV QUlfVUlOVDMyIGlzIGFuIHVuc2lnbmVkIGludGVnZXIgd2l0aCBhdCBsZWFzdCAzMiBiaXRzLgor K0BAIExVQUlfSU5UMzIgaXMgYW4gc2lnbmVkIGludGVnZXIgd2l0aCBhdCBsZWFzdCAzMiBiaXRz LgorK0BAIExVQUlfVU1FTSBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyIGJpZyBlbm91Z2ggdG8gY291 bnQgdGhlIHRvdGFsCisrQCogbWVtb3J5IHVzZWQgYnkgTHVhLgorK0BAIExVQUlfTUVNIGlzIGEg c2lnbmVkIGludGVnZXIgYmlnIGVub3VnaCB0byBjb3VudCB0aGUgdG90YWwgbWVtb3J5CisrQCog dXNlZCBieSBMdWEuCisrKiogQ0hBTkdFIGhlcmUgaWYgZm9yIHNvbWUgd2VpcmQgcmVhc29uIHRo ZSBkZWZhdWx0IGRlZmluaXRpb25zIGFyZSBub3QKKysqKiBnb29kIGVub3VnaCBmb3IgeW91ciBt YWNoaW5lLiAoVGhlIGRlZmluaXRpb25zIGluIHRoZSAnZWxzZScKKysqKiBwYXJ0IGFsd2F5cyB3 b3JrcywgYnV0IG1heSB3YXN0ZSBzcGFjZSBvbiBtYWNoaW5lcyB3aXRoIDY0LWJpdAorKyoqIGxv bmdzLikgUHJvYmFibHkgeW91IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0aGlzLgorKyovCisrI2lm IExVQUlfQklUU0lOVCA+PSAzMgorKyNkZWZpbmUgTFVBSV9VSU5UMzIJdW5zaWduZWQgaW50Cisr I2RlZmluZSBMVUFJX0lOVDMyCWludAorKyNkZWZpbmUgTFVBSV9NQVhJTlQzMglJTlRfTUFYCisr I2RlZmluZSBMVUFJX1VNRU0Jc2l6ZV90CisrI2RlZmluZSBMVUFJX01FTQlwdHJkaWZmX3QKKysj ZWxzZQorKy8qIDE2LWJpdCBpbnRzICovCisrI2RlZmluZSBMVUFJX1VJTlQzMgl1bnNpZ25lZCBs b25nCisrI2RlZmluZSBMVUFJX0lOVDMyCWxvbmcKKysjZGVmaW5lIExVQUlfTUFYSU5UMzIJTE9O R19NQVgKKysjZGVmaW5lIExVQUlfVU1FTQl1bnNpZ25lZCBsb25nCisrI2RlZmluZSBMVUFJX01F TQlsb25nCisrI2VuZGlmCisrCisrCisrLyoKKytAQCBMVUFJX01BWENBTExTIGxpbWl0cyB0aGUg bnVtYmVyIG9mIG5lc3RlZCBjYWxscy4KKysqKiBDSEFOR0UgaXQgaWYgeW91IG5lZWQgcmVhbGx5 IGRlZXAgcmVjdXJzaXZlIGNhbGxzLiBUaGlzIGxpbWl0IGlzCisrKiogYXJiaXRyYXJ5OyBpdHMg b25seSBwdXJwb3NlIGlzIHRvIHN0b3AgaW5maW5pdGUgcmVjdXJzaW9uIGJlZm9yZQorKyoqIGV4 aGF1c3RpbmcgbWVtb3J5LgorKyovCisrI2RlZmluZSBMVUFJX01BWENBTExTCTIwMDAwCisrCisr CisrLyoKKytAQCBMVUFJX01BWENTVEFDSyBsaW1pdHMgdGhlIG51bWJlciBvZiBMdWEgc3RhY2sg c2xvdHMgdGhhdCBhIEMgZnVuY3Rpb24KKytAKiBjYW4gdXNlLgorKyoqIENIQU5HRSBpdCBpZiB5 b3UgbmVlZCBsb3RzIG9mIChMdWEpIHN0YWNrIHNwYWNlIGZvciB5b3VyIEMKKysqKiBmdW5jdGlv bnMuIFRoaXMgbGltaXQgaXMgYXJiaXRyYXJ5OyBpdHMgb25seSBwdXJwb3NlIGlzIHRvIHN0b3Ag QworKyoqIGZ1bmN0aW9ucyB0byBjb25zdW1lIHVubGltaXRlZCBzdGFjayBzcGFjZS4KKysqLwor KyNkZWZpbmUgTFVBSV9NQVhDU1RBQ0sJMjA0OAorKworKworKworKy8qCisrKiogez09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorKyoqIENIQU5HRSAodG8gc21hbGxlciB2YWx1ZXMpIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlv bnMgaWYgeW91ciBzeXN0ZW0KKysqKiBoYXMgYSBzbWFsbCBDIHN0YWNrLiAoT3IgeW91IG1heSB3 YW50IHRvIGNoYW5nZSB0aGVtIHRvIGxhcmdlcgorKyoqIHZhbHVlcyBpZiB5b3VyIHN5c3RlbSBo YXMgYSBsYXJnZSBDIHN0YWNrIGFuZCB0aGVzZSBsaW1pdHMgYXJlCisrKiogdG9vIHJpZ2lkIGZv ciB5b3UuKSBTb21lIG9mIHRoZXNlIGNvbnN0YW50cyBjb250cm9sIHRoZSBzaXplIG9mCisrKiog c3RhY2stYWxsb2NhdGVkIGFycmF5cyB1c2VkIGJ5IHRoZSBjb21waWxlciBvciB0aGUgaW50ZXJw cmV0ZXIsIHdoaWxlCisrKiogb3RoZXJzIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiByZWN1 cnNpdmUgY2FsbHMgdGhhdCB0aGUgY29tcGlsZXIKKysqKiBvciB0aGUgaW50ZXJwcmV0ZXIgY2Fu IHBlcmZvcm0uIFZhbHVlcyB0b28gbGFyZ2UgbWF5IGNhdXNlIGEgQyBzdGFjaworKyoqIG92ZXJm bG93IGZvciBzb21lIGZvcm1zIG9mIGRlZXAgY29uc3RydWN0cy4KKysqKiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisr Ki8KKysKKysKKysvKgorK0BAIExVQUlfTUFYQ0NBTExTIGlzIHRoZSBtYXhpbXVtIGRlcHRoIGZv ciBuZXN0ZWQgQyBjYWxscyAoc2hvcnQpIGFuZAorK0AqIHN5bnRhY3RpY2FsIG5lc3RlZCBub24t dGVybWluYWxzIGluIGEgcHJvZ3JhbS4KKysqLworKyNkZWZpbmUgTFVBSV9NQVhDQ0FMTFMJCTIw MAorKworKworKy8qCisrQEAgTFVBSV9NQVhWQVJTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBs b2NhbCB2YXJpYWJsZXMgcGVyIGZ1bmN0aW9uCisrQCogKG11c3QgYmUgc21hbGxlciB0aGFuIDI1 MCkuCisrKi8KKysjZGVmaW5lIExVQUlfTUFYVkFSUwkJMjAwCisrCisrCisrLyoKKytAQCBMVUFJ X01BWFVQVkFMVUVTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB1cHZhbHVlcyBwZXIgZnVuY3Rp b24KKytAKiAobXVzdCBiZSBzbWFsbGVyIHRoYW4gMjUwKS4KKysqLworKyNkZWZpbmUgTFVBSV9N QVhVUFZBTFVFUwk2MAorKworKworKy8qCisrQEAgTFVBTF9CVUZGRVJTSVpFIGlzIHRoZSBidWZm ZXIgc2l6ZSB1c2VkIGJ5IHRoZSBsYXV4bGliIGJ1ZmZlciBzeXN0ZW0uCisrKi8KKysjZGVmaW5l IExVQUxfQlVGRkVSU0laRQkJQlVGU0laCisrCisrLyogfT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworKworKworKwor KworKy8qCisrKiogez09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorK0BAIExVQV9OVU1CRVIgaXMgdGhlIHR5cGUgb2YgbnVt YmVycyBpbiBMdWEuCisrKiogQ0hBTkdFIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgb25seSBp ZiB5b3Ugd2FudCB0byBidWlsZCBMdWEKKysqKiB3aXRoIGEgbnVtYmVyIHR5cGUgZGlmZmVyZW50 IGZyb20gZG91YmxlLiBZb3UgbWF5IGFsc28gbmVlZCB0bworKyoqIGNoYW5nZSBsdWFfbnVtYmVy MmludCAmIGx1YV9udW1iZXIyaW50ZWdlci4KKysqKiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrKi8KKysKKysjZGVm aW5lIExVQV9OVU1CRVJfRE9VQkxFCisrI2RlZmluZSBMVUFfTlVNQkVSCWRvdWJsZQorKworKy8q CisrQEAgTFVBSV9VQUNOVU1CRVIgaXMgdGhlIHJlc3VsdCBvZiBhbiAndXN1YWwgYXJndW1lbnQg Y29udmVyc2lvbicKKytAKiBvdmVyIGEgbnVtYmVyLgorKyovCisrI2RlZmluZSBMVUFJX1VBQ05V TUJFUglkb3VibGUKKysKKysKKysvKgorK0BAIExVQV9OVU1CRVJfU0NBTiBpcyB0aGUgZm9ybWF0 IGZvciByZWFkaW5nIG51bWJlcnMuCisrQEAgTFVBX05VTUJFUl9GTVQgaXMgdGhlIGZvcm1hdCBm b3Igd3JpdGluZyBudW1iZXJzLgorK0BAIGx1YV9udW1iZXIyc3RyIGNvbnZlcnRzIGEgbnVtYmVy IHRvIGEgc3RyaW5nLgorK0BAIExVQUlfTUFYTlVNQkVSMlNUUiBpcyBtYXhpbXVtIHNpemUgb2Yg cHJldmlvdXMgY29udmVyc2lvbi4KKytAQCBsdWFfc3RyMm51bWJlciBjb252ZXJ0cyBhIHN0cmlu ZyB0byBhIG51bWJlci4KKysqLworKyNkZWZpbmUgTFVBX05VTUJFUl9TQ0FOCQkiJWxmIgorKyNk ZWZpbmUgTFVBX05VTUJFUl9GTVQJCSIlLjE0ZyIKKysjZGVmaW5lIGx1YV9udW1iZXIyc3RyKHMs bikJc3ByaW50ZigocyksIExVQV9OVU1CRVJfRk1ULCAobikpCisrI2RlZmluZSBMVUFJX01BWE5V TUJFUjJTVFIJMzIgLyogMTYgZGlnaXRzLCBzaWduLCBwb2ludCwgYW5kIFwwICovCisrI2RlZmlu ZSBsdWFfc3RyMm51bWJlcihzLHApCXN0cnRvZCgocyksIChwKSkKKysKKysKKysvKgorK0BAIFRo ZSBsdWFpX251bSogbWFjcm9zIGRlZmluZSB0aGUgcHJpbWl0aXZlIG9wZXJhdGlvbnMgb3ZlciBu dW1iZXJzLgorKyovCisrI2lmIGRlZmluZWQoTFVBX0NPUkUpCisrI2luY2x1ZGUgPG1hdGguaD4K KysjZGVmaW5lIGx1YWlfbnVtYWRkKGEsYikJKChhKSsoYikpCisrI2RlZmluZSBsdWFpX251bXN1 YihhLGIpCSgoYSktKGIpKQorKyNkZWZpbmUgbHVhaV9udW1tdWwoYSxiKQkoKGEpKihiKSkKKysj ZGVmaW5lIGx1YWlfbnVtZGl2KGEsYikJKChhKS8oYikpCisrI2RlZmluZSBsdWFpX251bW1vZChh LGIpCSgoYSkgLSBmbG9vcigoYSkvKGIpKSooYikpCisrI2RlZmluZSBsdWFpX251bXBvdyhhLGIp CShwb3coYSxiKSkKKysjZGVmaW5lIGx1YWlfbnVtdW5tKGEpCQkoLShhKSkKKysjZGVmaW5lIGx1 YWlfbnVtZXEoYSxiKQkJKChhKT09KGIpKQorKyNkZWZpbmUgbHVhaV9udW1sdChhLGIpCQkoKGEp PChiKSkKKysjZGVmaW5lIGx1YWlfbnVtbGUoYSxiKQkJKChhKTw9KGIpKQorKyNkZWZpbmUgbHVh aV9udW1pc25hbihhKQkoIWx1YWlfbnVtZXEoKGEpLCAoYSkpKQorKyNlbmRpZgorKworKworKy8q CisrQEAgbHVhX251bWJlcjJpbnQgaXMgYSBtYWNybyB0byBjb252ZXJ0IGx1YV9OdW1iZXIgdG8g aW50LgorK0BAIGx1YV9udW1iZXIyaW50ZWdlciBpcyBhIG1hY3JvIHRvIGNvbnZlcnQgbHVhX051 bWJlciB0byBsdWFfSW50ZWdlci4KKysqKiBDSEFOR0UgdGhlbSBpZiB5b3Uga25vdyBhIGZhc3Rl ciB3YXkgdG8gY29udmVydCBhIGx1YV9OdW1iZXIgdG8KKysqKiBpbnQgKHdpdGggYW55IHJvdW5k aW5nIG1ldGhvZCBhbmQgd2l0aG91dCB0aHJvd2luZyBlcnJvcnMpIGluIHlvdXIKKysqKiBzeXN0 ZW0uIEluIFBlbnRpdW0gbWFjaGluZXMsIGEgbmFpdmUgdHlwZWNhc3QgZnJvbSBkb3VibGUgdG8g aW50CisrKiogaW4gQyBpcyBleHRyZW1lbHkgc2xvdywgc28gYW55IGFsdGVybmF0aXZlIGlzIHdv cnRoIHRyeWluZy4KKysqLworKworKy8qIE9uIGEgUGVudGl1bSwgcmVzb3J0IHRvIGEgdHJpY2sg Ki8KKysjaWYgZGVmaW5lZChMVUFfTlVNQkVSX0RPVUJMRSkgJiYgIWRlZmluZWQoTFVBX0FOU0kp ICYmICFkZWZpbmVkKF9fU1NFMl9fKSAmJiBcCisrICAgIChkZWZpbmVkKF9faTM4NikgfHwgZGVm aW5lZCAoX01fSVg4NikgfHwgZGVmaW5lZChfX2kzODZfXykpCisrCisrLyogT24gYSBNaWNyb3Nv ZnQgY29tcGlsZXIsIHVzZSBhc3NlbWJsZXIgKi8KKysjaWYgZGVmaW5lZChfTVNDX1ZFUikKKysK KysjZGVmaW5lIGx1YV9udW1iZXIyaW50KGksZCkgICBfX2FzbSBmbGQgZCAgIF9fYXNtIGZpc3Rw IGkKKysjZGVmaW5lIGx1YV9udW1iZXIyaW50ZWdlcihpLG4pCQlsdWFfbnVtYmVyMmludChpLCBu KQorKworKy8qIHRoZSBuZXh0IHRyaWNrIHNob3VsZCB3b3JrIG9uIGFueSBQZW50aXVtLCBidXQg c29tZXRpbWVzIGNsYXNoZXMKKysgICB3aXRoIGEgRGlyZWN0WCBpZGlvc3luY3Jhc3kgKi8KKysj ZWxzZQorKworK3VuaW9uIGx1YWlfQ2FzdCB7IGRvdWJsZSBsX2Q7IGxvbmcgbF9sOyB9OworKyNk ZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKSBcCisrICB7IHZvbGF0aWxlIHVuaW9uIGx1YWlfQ2Fz dCB1OyB1LmxfZCA9IChkKSArIDY3NTUzOTk0NDEwNTU3NDQuMDsgKGkpID0gdS5sX2w7IH0KKysj ZGVmaW5lIGx1YV9udW1iZXIyaW50ZWdlcihpLG4pCQlsdWFfbnVtYmVyMmludChpLCBuKQorKwor KyNlbmRpZgorKworKworKy8qIHRoaXMgb3B0aW9uIGFsd2F5cyB3b3JrcywgYnV0IG1heSBiZSBz bG93ICovCisrI2Vsc2UKKysjZGVmaW5lIGx1YV9udW1iZXIyaW50KGksZCkJKChpKT0oaW50KShk KSkKKysjZGVmaW5lIGx1YV9udW1iZXIyaW50ZWdlcihpLGQpCSgoaSk9KGx1YV9JbnRlZ2VyKShk KSkKKysKKysjZW5kaWYKKysKKysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisrCisrCisrLyoKKytAQCBMVUFJ X1VTRVJfQUxJR05NRU5UX1QgaXMgYSB0eXBlIHRoYXQgcmVxdWlyZXMgbWF4aW11bSBhbGlnbm1l bnQuCisrKiogQ0hBTkdFIGl0IGlmIHlvdXIgc3lzdGVtIHJlcXVpcmVzIGFsaWdubWVudHMgbGFy Z2VyIHRoYW4gZG91YmxlLiAoRm9yCisrKiogaW5zdGFuY2UsIGlmIHlvdXIgc3lzdGVtIHN1cHBv cnRzIGxvbmcgZG91YmxlcyBhbmQgdGhleSBtdXN0IGJlCisrKiogYWxpZ25lZCBpbiAxNi1ieXRl IGJvdW5kYXJpZXMsIHRoZW4geW91IHNob3VsZCBhZGQgbG9uZyBkb3VibGUgaW4gdGhlCisrKiog dW5pb24uKSBQcm9iYWJseSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMuCisrKi8KKysj ZGVmaW5lIExVQUlfVVNFUl9BTElHTk1FTlRfVAl1bmlvbiB7IGRvdWJsZSB1OyB2b2lkICpzOyBs b25nIGw7IH0KKysKKysKKysvKgorK0BAIExVQUlfVEhST1cvTFVBSV9UUlkgZGVmaW5lIGhvdyBM dWEgZG9lcyBleGNlcHRpb24gaGFuZGxpbmcuCisrKiogQ0hBTkdFIHRoZW0gaWYgeW91IHByZWZl ciB0byB1c2UgbG9uZ2ptcC9zZXRqbXAgZXZlbiB3aXRoIEMrKworKyoqIG9yIGlmIHdhbnQvZG9u J3QgdG8gdXNlIF9sb25nam1wL19zZXRqbXAgaW5zdGVhZCBvZiByZWd1bGFyCisrKiogbG9uZ2pt cC9zZXRqbXAuIEJ5IGRlZmF1bHQsIEx1YSBoYW5kbGVzIGVycm9ycyB3aXRoIGV4Y2VwdGlvbnMg d2hlbgorKyoqIGNvbXBpbGluZyBhcyBDKysgY29kZSwgd2l0aCBfbG9uZ2ptcC9fc2V0am1wIHdo ZW4gYXNrZWQgdG8gdXNlIHRoZW0sCisrKiogYW5kIHdpdGggbG9uZ2ptcC9zZXRqbXAgb3RoZXJ3 aXNlLgorKyovCisrI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCisrLyogQysrIGV4Y2VwdGlvbnMg Ki8KKysjZGVmaW5lIExVQUlfVEhST1coTCxjKQl0aHJvdyhjKQorKyNkZWZpbmUgTFVBSV9UUlko TCxjLGEpCXRyeSB7IGEgfSBjYXRjaCguLi4pIFwKKysJeyBpZiAoKGMpLT5zdGF0dXMgPT0gMCkg KGMpLT5zdGF0dXMgPSAtMTsgfQorKyNkZWZpbmUgbHVhaV9qbXBidWYJaW50ICAvKiBkdW1teSB2 YXJpYWJsZSAqLworKworKyNlbGlmIGRlZmluZWQoTFVBX1VTRV9VTE9OR0pNUCkKKysvKiBpbiBV bml4LCB0cnkgX2xvbmdqbXAvX3NldGptcCAobW9yZSBlZmZpY2llbnQpICovCisrI2RlZmluZSBM VUFJX1RIUk9XKEwsYykJX2xvbmdqbXAoKGMpLT5iLCAxKQorKyNkZWZpbmUgTFVBSV9UUlkoTCxj LGEpCWlmIChfc2V0am1wKChjKS0+YikgPT0gMCkgeyBhIH0KKysjZGVmaW5lIGx1YWlfam1wYnVm CWptcF9idWYKKysKKysjZWxzZQorKy8qIGRlZmF1bHQgaGFuZGxpbmcgd2l0aCBsb25nIGp1bXBz ICovCisrI2RlZmluZSBMVUFJX1RIUk9XKEwsYykJbG9uZ2ptcCgoYyktPmIsIDEpCisrI2RlZmlu ZSBMVUFJX1RSWShMLGMsYSkJaWYgKHNldGptcCgoYyktPmIpID09IDApIHsgYSB9CisrI2RlZmlu ZSBsdWFpX2ptcGJ1ZglqbXBfYnVmCisrCisrI2VuZGlmCisrCisrCisrLyoKKytAQCBMVUFfTUFY Q0FQVFVSRVMgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNhcHR1cmVzIHRoYXQgYSBwYXR0ZXJu CisrQCogY2FuIGRvIGR1cmluZyBwYXR0ZXJuLW1hdGNoaW5nLgorKyoqIENIQU5HRSBpdCBpZiB5 b3UgbmVlZCBtb3JlIGNhcHR1cmVzLiBUaGlzIGxpbWl0IGlzIGFyYml0cmFyeS4KKysqLworKyNk ZWZpbmUgTFVBX01BWENBUFRVUkVTCQkzMgorKworKworKy8qCisrQEAgbHVhX3RtcG5hbSBpcyB0 aGUgZnVuY3Rpb24gdGhhdCB0aGUgT1MgbGlicmFyeSB1c2VzIHRvIGNyZWF0ZSBhCisrQCogdGVt cG9yYXJ5IG5hbWUuCisrQEAgTFVBX1RNUE5BTUJVRlNJWkUgaXMgdGhlIG1heGltdW0gc2l6ZSBv ZiBhIG5hbWUgY3JlYXRlZCBieSBsdWFfdG1wbmFtLgorKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBo YXZlIGFuIGFsdGVybmF0aXZlIHRvIHRtcG5hbSAod2hpY2ggaXMgY29uc2lkZXJlZAorKyoqIGlu c2VjdXJlKSBvciBpZiB5b3Ugd2FudCB0aGUgb3JpZ2luYWwgdG1wbmFtIGFueXdheS4gIEJ5IGRl ZmF1bHQsIEx1YQorKyoqIHVzZXMgdG1wbmFtIGV4Y2VwdCB3aGVuIFBPU0lYIGlzIGF2YWlsYWJs ZSwgd2hlcmUgaXQgdXNlcyBta3N0ZW1wLgorKyovCisrI2lmIGRlZmluZWQobG9zbGliX2MpIHx8 IGRlZmluZWQobHVhYWxsX2MpCisrCisrI2lmIGRlZmluZWQoTFVBX1VTRV9NS1NURU1QKQorKyNp bmNsdWRlIDx1bmlzdGQuaD4KKysjZGVmaW5lIExVQV9UTVBOQU1CVUZTSVpFCTMyCisrI2RlZmlu ZSBsdWFfdG1wbmFtKGIsZSkJeyBcCisrCXN0cmNweShiLCAiL3RtcC9sdWFfWFhYWFhYIik7IFwK KysJZSA9IG1rc3RlbXAoYik7IFwKKysJaWYgKGUgIT0gLTEpIGNsb3NlKGUpOyBcCisrCWUgPSAo ZSA9PSAtMSk7IH0KKysKKysjZWxzZQorKyNkZWZpbmUgTFVBX1RNUE5BTUJVRlNJWkUJTF90bXBu YW0KKysjZGVmaW5lIGx1YV90bXBuYW0oYixlKQkJeyBlID0gKHRtcG5hbShiKSA9PSBOVUxMKTsg fQorKyNlbmRpZgorKworKyNlbmRpZgorKworKworKy8qCisrQEAgbHVhX3BvcGVuIHNwYXducyBh IG5ldyBwcm9jZXNzIGNvbm5lY3RlZCB0byB0aGUgY3VycmVudCBvbmUgdGhyb3VnaAorK0AqIHRo ZSBmaWxlIHN0cmVhbXMuCisrKiogQ0hBTkdFIGl0IGlmIHlvdSBoYXZlIGEgd2F5IHRvIGltcGxl bWVudCBpdCBpbiB5b3VyIHN5c3RlbS4KKysqLworKyNpZiBkZWZpbmVkKExVQV9VU0VfUE9QRU4p CisrCisrI2RlZmluZSBsdWFfcG9wZW4oTCxjLG0pCSgodm9pZClMLCBwb3BlbihjLG0pKQorKyNk ZWZpbmUgbHVhX3BjbG9zZShMLGZpbGUpCSgodm9pZClMLCAocGNsb3NlKGZpbGUpICE9IC0xKSkK KysKKysjZWxpZiBkZWZpbmVkKExVQV9XSU4pCisrCisrI2RlZmluZSBsdWFfcG9wZW4oTCxjLG0p CSgodm9pZClMLCBfcG9wZW4oYyxtKSkKKysjZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKQkoKHZv aWQpTCwgKF9wY2xvc2UoZmlsZSkgIT0gLTEpKQorKworKyNlbHNlCisrCisrI2RlZmluZSBsdWFf cG9wZW4oTCxjLG0pCSgodm9pZCkoKHZvaWQpYywgbSksICBcCisrCQlsdWFMX2Vycm9yKEwsIExV QV9RTCgicG9wZW4iKSAiIG5vdCBzdXBwb3J0ZWQiKSwgKEZJTEUqKTApCisrI2RlZmluZSBsdWFf cGNsb3NlKEwsZmlsZSkJCSgodm9pZCkoKHZvaWQpTCwgZmlsZSksIDApCisrCisrI2VuZGlmCisr CisrLyoKKytAQCBMVUFfRExfKiBkZWZpbmUgd2hpY2ggZHluYW1pYy1saWJyYXJ5IHN5c3RlbSBM dWEgc2hvdWxkIHVzZS4KKysqKiBDSEFOR0UgaGVyZSBpZiBMdWEgaGFzIHByb2JsZW1zIGNob29z aW5nIHRoZSBhcHByb3ByaWF0ZQorKyoqIGR5bmFtaWMtbGlicmFyeSBzeXN0ZW0gZm9yIHlvdXIg cGxhdGZvcm0gKGVpdGhlciBXaW5kb3dzJyBETEwsIE1hYydzCisrKiogZHlsZCwgb3IgVW5peCdz IGRsb3BlbikuIElmIHlvdXIgc3lzdGVtIGlzIHNvbWUga2luZCBvZiBVbml4LCB0aGVyZQorKyoq IGlzIGEgZ29vZCBjaGFuY2UgdGhhdCBpdCBoYXMgZGxvcGVuLCBzbyBMVUFfRExfRExPUEVOIHdp bGwgd29yayBmb3IKKysqKiBpdC4gIFRvIHVzZSBkbG9wZW4geW91IGFsc28gbmVlZCB0byBhZGFw dCB0aGUgc3JjL01ha2VmaWxlIChwcm9iYWJseQorKyoqIGFkZGluZyAtbGRsIHRvIHRoZSBsaW5r ZXIgb3B0aW9ucyksIHNvIEx1YSBkb2VzIG5vdCBzZWxlY3QgaXQKKysqKiBhdXRvbWF0aWNhbGx5 LiAgKFdoZW4geW91IGNoYW5nZSB0aGUgbWFrZWZpbGUgdG8gYWRkIC1sZGwsIHlvdSBtdXN0Cisr KiogYWxzbyBhZGQgLURMVUFfVVNFX0RMT1BFTi4pCisrKiogSWYgeW91IGRvIG5vdCB3YW50IGFu eSBraW5kIG9mIGR5bmFtaWMgbGlicmFyeSwgdW5kZWZpbmUgYWxsIHRoZXNlCisrKiogb3B0aW9u cy4KKysqKiBCeSBkZWZhdWx0LCBfV0lOMzIgZ2V0cyBMVUFfRExfRExMIGFuZCBNQUMgT1MgWCBn ZXRzIExVQV9ETF9EWUxELgorKyovCisrI2lmIGRlZmluZWQoTFVBX1VTRV9ETE9QRU4pCisrI2Rl ZmluZSBMVUFfRExfRExPUEVOCisrI2VuZGlmCisrCisrI2lmIGRlZmluZWQoTFVBX1dJTikKKysj ZGVmaW5lIExVQV9ETF9ETEwKKysjZW5kaWYKKysKKysKKysvKgorK0BAIExVQUlfRVhUUkFTUEFD RSBhbGxvd3MgeW91IHRvIGFkZCB1c2VyLXNwZWNpZmljIGRhdGEgaW4gYSBsdWFfU3RhdGUKKytA KiAodGhlIGRhdGEgZ29lcyBqdXN0ICpiZWZvcmUqIHRoZSBsdWFfU3RhdGUgcG9pbnRlcikuCisr KiogQ0hBTkdFIChkZWZpbmUpIHRoaXMgaWYgeW91IHJlYWxseSBuZWVkIHRoYXQuIFRoaXMgdmFs dWUgbXVzdCBiZQorKyoqIGEgbXVsdGlwbGUgb2YgdGhlIG1heGltdW0gYWxpZ25tZW50IHJlcXVp cmVkIGZvciB5b3VyIG1hY2hpbmUuCisrKi8KKysjZGVmaW5lIExVQUlfRVhUUkFTUEFDRQkJMAor KworKworKy8qCisrQEAgbHVhaV91c2Vyc3RhdGUqIGFsbG93IHVzZXItc3BlY2lmaWMgYWN0aW9u cyBvbiB0aHJlYWRzLgorKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBkZWZpbmVkIExVQUlfRVhUUkFT UEFDRSBhbmQgbmVlZCB0byBkbyBzb21ldGhpbmcKKysqKiBleHRyYSB3aGVuIGEgdGhyZWFkIGlz IGNyZWF0ZWQvZGVsZXRlZC9yZXN1bWVkL3lpZWxkZWQuCisrKi8KKysjZGVmaW5lIGx1YWlfdXNl cnN0YXRlb3BlbihMKQkJKCh2b2lkKUwpCisrI2RlZmluZSBsdWFpX3VzZXJzdGF0ZWNsb3NlKEwp CQkoKHZvaWQpTCkKKysjZGVmaW5lIGx1YWlfdXNlcnN0YXRldGhyZWFkKEwsTDEpCSgodm9pZClM KQorKyNkZWZpbmUgbHVhaV91c2Vyc3RhdGVmcmVlKEwpCQkoKHZvaWQpTCkKKysjZGVmaW5lIGx1 YWlfdXNlcnN0YXRlcmVzdW1lKEwsbikJKCh2b2lkKUwpCisrI2RlZmluZSBsdWFpX3VzZXJzdGF0 ZXlpZWxkKEwsbikJKCh2b2lkKUwpCisrCisrCisrLyoKKytAQCBMVUFfSU5URlJNTEVOIGlzIHRo ZSBsZW5ndGggbW9kaWZpZXIgZm9yIGludGVnZXIgY29udmVyc2lvbnMKKytAKiBpbiAnc3RyaW5n LmZvcm1hdCcuCisrQEAgTFVBX0lOVEZSTV9UIGlzIHRoZSBpbnRlZ2VyIHR5cGUgY29ycmVzcG9k aW5nIHRvIHRoZSBwcmV2aW91cyBsZW5ndGgKKytAKiBtb2RpZmllci4KKysqKiBDSEFOR0UgdGhl bSBpZiB5b3VyIHN5c3RlbSBzdXBwb3J0cyBsb25nIGxvbmcgb3IgZG9lcyBub3Qgc3VwcG9ydCBs b25nLgorKyovCisrCisrI2lmIGRlZmluZWQoTFVBX1VTRUxPTkdMT05HKQorKworKyNkZWZpbmUg TFVBX0lOVEZSTUxFTgkJImxsIgorKyNkZWZpbmUgTFVBX0lOVEZSTV9UCQlsb25nIGxvbmcKKysK KysjZWxzZQorKworKyNkZWZpbmUgTFVBX0lOVEZSTUxFTgkJImwiCisrI2RlZmluZSBMVUFfSU5U RlJNX1QJCWxvbmcKKysKKysjZW5kaWYKKysKKysKKysKKysvKiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisrCisr LyoKKysqKiBMb2NhbCBjb25maWd1cmF0aW9uLiBZb3UgY2FuIHVzZSB0aGlzIHNwYWNlIHRvIGFk ZCB5b3VyIHJlZGVmaW5pdGlvbnMKKysqKiB3aXRob3V0IG1vZGlmeWluZyB0aGUgbWFpbiBwYXJ0 IG9mIHRoZSBmaWxlLgorKyovCisrCisrCisrCisrI2VuZGlmCisrCmRpZmYgLS1naXQgYS9wYXRj aGVzL2x1YS01LjEuNC9hdXRvbWFraXplLmRpZmYgYi9wYXRjaGVzL2x1YS01LjEuNC9hdXRvbWFr aXplLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRhZTcyNAotLS0g L2Rldi9udWxsCisrKyBiL3BhdGNoZXMvbHVhLTUuMS40L2F1dG9tYWtpemUuZGlmZgpAQCAtMCww ICsxLDExMyBAQAorU3ViamVjdDogQWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogYWRk IGF1dG9tYWtlIGZpbGVzCitGcm9tOiBFcndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KKwor VGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51 IGVudHJ5IHVuZGVyCitzY3JpcHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2Vz IGl0IHBvc3NpYmxlIHRvIHVzZSBhdXRvY29uZgordG8gYnVpbGQuCisKK1RoaXMgcGFydCBvZiB0 aGUgcGF0Y2ggYWRkcyB0aGUgYXV0b21ha2UgZmlsZXMuCisKK1NpZ25lZC1vZmYtYnk6IEVyd2lu IFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgorU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVs IDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgorCistLS0KKyBNYWtlZmlsZS5hbSAgICAgIHwg ICAgMyArKysKKyBkb2MvTWFrZWZpbGUuYW0gIHwgICAgNSArKysrKworIGV0Yy9NYWtlZmlsZS5h bSAgfCAgICA4ICsrKysrKysrCisgc3JjL01ha2VmaWxlLmFtICB8ICAgNDUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgdGVzdC9NYWtlZmlsZS5hbSB8ICAg IDUgKysrKysKKyA1IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKykKKworSW5kZXg6IGx1 YS01LjEuNC9kb2MvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBsdWEtNS4xLjQvZG9jL01ha2VmaWxl LmFtCTIwMTEtMTItMDYgMTE6NDk6MDMuNDkxODI2OTQ1ICswMTAwCitAQCAtMCwwICsxLDUgQEAK KyttYW4xX01BTlMgPSBsdWEuMSBsdWFjLjEKKysKKytFWFRSQV9ESVNUID0gXAorKwljb250ZW50 cy5odG1sICBsdWEuMSAgIGx1YWMuaHRtbCAgbHVhLmh0bWwgICAgIG1hbnVhbC5odG1sIFwKKysJ bG9nby5naWYgICAgICAgbHVhYy4xICBsdWEuY3NzICAgIHJlYWRtZS5odG1sCitJbmRleDogbHVh LTUuMS40L2V0Yy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGx1YS01LjEuNC9ldGMvTWFrZWZpbGUu YW0JMjAxMS0xMi0wNiAxMTo0OTowMy40OTE4MjY5NDUgKzAxMDAKK0BAIC0wLDAgKzEsOCBAQAor K2luY2x1ZGVfSEVBREVSUyA9IGx1YS5ocHAKKysKKytwa2djb25maWdkaXIgPSAkKGxpYmRpcikv cGtnY29uZmlnCisrcGtnY29uZmlnX0RBVEEgPSBsdWEucGMKKysKKytFWFRSQV9ESVNUID0gXAor KwlhbGwuYyAgICAgIGx1YS5pY28gICAgbHVhLnBjLmluICBub3BhcnNlci5jICBzdHJpY3QubHVh IFwKKysJbHVhdnMuYmF0ICBtaW4uYyAgICAgIFJFQURNRQorSW5kZXg6IGx1YS01LjEuNC9NYWtl ZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAorKysrIGx1YS01LjEuNC9NYWtlZmlsZS5hbQkyMDExLTEyLTA2IDExOjUw OjE0LjU1OTA3NjI2NSArMDEwMAorQEAgLTAsMCArMSw1IEBACisrQUNMT0NBTF9BTUZMQUdTID0g LUkgbTQKKysKKytTVUJESVJTID0gc3JjIGRvYyBldGMgdGVzdAorKworK0VYVFJBX0RJU1QgPSBh dXRvZ2VuLnNoIENPUFlSSUdIVCBISVNUT1JZIElOU1RBTEwgUkVBRE1FCitJbmRleDogbHVhLTUu MS40L3NyYy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGx1YS01LjEuNC9zcmMvTWFrZWZpbGUuYW0J MjAxMS0xMi0wNiAxMTo0OTowMy40OTE4MjY5NDUgKzAxMDAKK0BAIC0wLDAgKzEsNDUgQEAKKytB TV9DRkxBR1MgPSAtV2FsbAorKworK2luY2x1ZGVfSEVBREVSUyA9IGx1YS5oIGx1YWxpYi5oIGxh dXhsaWIuaAorK25vZGlzdF9pbmNsdWRlX0hFQURFUlMgPSBsdWFjb25mLmgKKysKKytsaWJfTFRM SUJSQVJJRVMgPSBsaWJsdWEubGEKKytsaWJsdWFfbGFfTERGTEFHUyA9IC1yZWxlYXNlIEBWRVJT SU9OQAorK2xpYmx1YV9sYV9TT1VSQ0VTID0gXAorKwlsYXBpLmMgbGNvZGUuYyBsZGVidWcuYyBs ZG8uYyBsZHVtcC5jIGxmdW5jLmMgbGdjLmMgbGxleC5jIGxtZW0uYyBcCisrCWxvYmplY3QuYyBs b3Bjb2Rlcy5jIGxwYXJzZXIuYyBsc3RhdGUuYyBsc3RyaW5nLmMgbHRhYmxlLmMgbHRtLmMgIFwK KysJbHVuZHVtcC5jIGx2bS5jIGx6aW8uYyBcCisrCWxhdXhsaWIuYyBsYmFzZWxpYi5jIGxkYmxp Yi5jIGxpb2xpYi5jIGxtYXRobGliLmMgbG9zbGliLmMgbHRhYmxpYi5jIFwKKysJbHN0cmxpYi5j IGxvYWRsaWIuYyBsaW5pdC5jIFwKKysJbGFwaS5oIGxkZWJ1Zy5oIGxnYy5oIGxtZW0uaCBscGFy c2VyLmggbHRhYmxlLmggbHppby5oIGxkby5oIGxsZXguaCBcCisrCWxvYmplY3QuaCBsc3RhdGUu aCBsdG0uaCBsdW5kdW1wLmggbGNvZGUuaCBsZnVuYy5oIGxsaW1pdHMuaCBsb3Bjb2Rlcy5oIFwK KysJbHN0cmluZy5oIGx2bS5oCisrCisrYmluX1BST0dSQU1TID0gbHVhIGx1YWMKKysKKytsdWFf U09VUkNFUyA9IGx1YS5jCisrbHVhX0xEQUREID0gbGlibHVhLmxhIEBMVUFfTElCU0AKKytsdWFf REVQRU5ERU5DSUVTID0gbGlibHVhLmxhCisrCisrbHVhY19TT1VSQ0VTID0gbHVhYy5jIHByaW50 LmMKKytsdWFjX0xEQUREID0gbGlibHVhLmxhIEBMVUFfTElCU0AKKytsdWFjX0RFUEVOREVOQ0lF UyA9IGxpYmx1YS5sYQorKworKyMgbHVhYyBtdXN0IGJlIGxpbmtlZCBzdGF0aWNhbGx5IGJlY2F1 c2UgaXQgdXNlcyBmdW5jdGlvbnMgdGhhdAorKyMgZG9uJ3QgZ2V0IGV4cG9ydGVkIHRvIHRoZSBz aGFyZWQgb2JqZWN0CisrbHVhY19MREZMQUdTID0gLXN0YXRpYworKworK0VYVFJBX0RJU1QgPSBs dWFjb25mLmgudGVtcGxhdGUuaW4KKytCVUlMVF9TT1VSQ0VTID0gbHVhY29uZi5oCisrQ0xFQU5G SUxFUyA9IGx1YWNvbmYuaAorKworK3JlYWRsaW5lX2RlZnMgPSBAUkVBRExJTkVfREVGU0AKKysK KytlZGl0ID0gCXNlZCBcCisrCSAgLWUgJ3MsJWx1YV9kYXRhZGlyJSwkKGRhdGFkaXIpLGcnIFwK KysJICAtZSAncywlbHVhX2xpYmRpciUsJChsaWJkaXIpLGcnCisrCisrbHVhY29uZi5oIDogbHVh Y29uZi5oLnRlbXBsYXRlCisrCXJtIC1mIGx1YWNvbmYuaCBsdWFjb25mLmgudG1wCisrCSQoZWRp dCkgbHVhY29uZi5oLnRlbXBsYXRlID4gbHVhY29uZi5oLnRtcAorKwltdiBsdWFjb25mLmgudG1w IGx1YWNvbmYuaAorSW5kZXg6IGx1YS01LjEuNC90ZXN0L01ha2VmaWxlLmFtCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysg bHVhLTUuMS40L3Rlc3QvTWFrZWZpbGUuYW0JMjAxMS0xMi0wNiAxMTo0OTowMy40OTE4MjY5NDUg KzAxMDAKK0BAIC0wLDAgKzEsNSBAQAorK0VYVFJBX0RJU1QgPSBcCisrCWJpc2VjdC5sdWEgIGVu di5sdWEgICAgICAgICBmaWIubHVhICAgICAgbGlmZS5sdWEgICAgICAgICAgcHJpbnRmLmx1YSBc CisrCXNpZXZlLmx1YSAgIHRyYWNlLWNhbGxzLmx1YSBjZi5sdWEgICAgICAgZmFjdG9yaWFsLmx1 YSAgICAgZ2xvYmFscy5sdWEgXAorKwlsdWFjLmx1YSAgICBSRUFETUUgICAgICAgICAgc29ydC5s dWEgICAgIHRyYWNlLWdsb2JhbHMubHVhIGVjaG8ubHVhIFwKKysJZmliZm9yLmx1YSAgaGVsbG8u bHVhICAgICAgIHJlYWRvbmx5Lmx1YSB0YWJsZS5sdWEgICAgICAgICB4ZC5sdWEKZGlmZiAtLWdp dCBhL3BhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1hdXRvY29uZml6ZS5kaWZmIGIvcGF0Y2hl cy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9jb25maXplLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGY5ZmY4ZmYuLjAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvbHVh LTUuMS4zLWF1dG9jb25maXplLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw5MTAgKzAsMCBAQAot U3ViamVjdDogQWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogYWRkIGF1dG9jb25mIGZp bGVzCi1Gcm9tOiBFcndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KLQotVGhpcyBwYXRjaCBh ZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVy Ci1zY3JpcHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxl IHRvIHVzZSBhdXRvY29uZgotdG8gYnVpbGQuCi0KLVRoaXMgcGFydCBvZiB0aGUgcGF0Y2ggYWRk cyB0aGUgYXV0b2NvbmYgZmlsZXMuCi0KLVNpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5A ZXJ3aW5yb2wuY29tPgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVs QHBlbmd1dHJvbml4LmRlPgotCi0tLS0KLSBjb25maWd1cmUuYWMgICAgICAgICAgICAgIHwgICA2 OCArKysrCi0gZXRjL2x1YS5wYy5pbiAgICAgICAgICAgICB8ICAgMzIgKwotIHNyYy9sdWFjb25m LmgudGVtcGxhdGUuaW4gfCAgNzc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDg3NyBpbnNlcnRpb25zKCspCi0KLUluZGV4 OiBsdWEtNS4xLjQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysg bHVhLTUuMS40L2NvbmZpZ3VyZS5hYwotQEAgLTAsMCArMSw2OCBAQAotK0FDX1BSRVJFUSgyLjU5 KQotK0FDX0lOSVQoW0F1dG90b29saXplZCBMdWFdLCBbNS4xLjRdLCBbXSwgW2x1YS1hdF0pCi0r Ci0rQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKLStBQ19DT05GSUdfU1JDRElSKFtzcmMv bGFwaS5jXSkKLSsKLStBTV9JTklUX0FVVE9NQUtFKFsxLjkgZm9yZWlnbl0pCi0rCi0rQUNfUFJP R19DQwotK0FDX1BST0dfTElCVE9PTAotKwotK0FDX0FSR19XSVRIKAotKyAgW3JlYWRsaW5lXSwK LSsgIFtBQ19IRUxQX1NUUklORyhbLS13aXRoLXJlYWRsaW5lXSwgW1VzZSByZWFkbGluZSBmb3Ig aW50ZXJwcmV0ZXIgaW5wdXQgW2RlZmF1bHQ9eWVzXV0pXSwKLSsgIFt1c2VfcmVhZGxpbmU9JHdp dGh2YWxdLAotKyAgW3VzZV9yZWFkbGluZT15ZXNdCi0rKQotKwotK0xVQV9MSUJTPSItbG0iCi0r Ci0rIyBDaGVjayBmb3IgcmVhZGxpbmUKLStSRUFETElORV9ERUZTPSIjdW5kZWYgTFVBX1VTRV9S RUFETElORSIKLStpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0gInh5ZXMiOyB0aGVuCi0rICBB Q19DSEVDS19MSUIoW3JlYWRsaW5lXSwgW3JlYWRsaW5lXSwgW10sIFt1c2VfcmVhZGxpbmU9bm9d KQotKyAgQUNfQ0hFQ0tfSEVBREVSUyhbcmVhZGxpbmUvcmVhZGxpbmUuaCByZWFkbGluZS9oaXN0 b3J5LmhdLCBbXSwgW3VzZV9yZWFkbGluZT1ub10pCi0rICBpZiB0ZXN0ICJ4JHVzZV9yZWFkbGlu ZSIgPT0gInhubyI7IHRoZW4KLSsgICAgQUNfTVNHX1dBUk4oW3JlYWRsaW5lIGhlYWRlcnMgY291 bGQgbm90IGJlIGZvdW5kLCBkaXNhYmxpbmcgcmVhZGxpbmUgc3VwcG9ydF0pCi0rICBlbHNlCi0r ICAgIFJFQURMSU5FX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9SRUFETElORSIKLSsgICAgTFVBX0xJ QlM9IiRMVUFfTElCUyAtbHJlYWRsaW5lIgotKyAgZmkKLStmaQotK0FDX1NVQlNUKFJFQURMSU5F X0RFRlMpCi0rCi0rY2FzZSAiJGhvc3QiIGluCi0rICAqLW1pbmd3KikgIHVzZV9vcz13aW4zMiAg OzsKLSsgICotZGFyd2luKikgdXNlX29zPW1hY29zeCA7OwotKyAgKikgICAgICAgICB1c2Vfb3M9 cG9zaXggIDs7Ci0rZXNhYwotKwotK1BPU0lYX0RFRlM9IiN1bmRlZiBMVUFfVVNFX1BPU0lYIgot K0xVQV9ETF9ERUZTPSIjdW5kZWYgTFVBX1VTRV9ETE9QRU4iCi0rTFVBX0JVSUxEX0FTX0RMTF9E RUZTPSIjdW5kZWYgTFVBX0JVSUxEX0FTX0RMTCIKLSsKLStpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0g Inh3aW4zMiI7IHRoZW4KLSsgIExVQV9CVUlMRF9BU19ETExfREVGUz0iI2RlZmluZSBMVUFfQlVJ TERfQVNfRExMIgotK2VsaWYgdGVzdCAieCR1c2Vfb3MiID09ICJ4bWFjb3N4IjsgdGhlbgotKyAg UE9TSVhfREVGUz0iI2RlZmluZSBMVUFfVVNFX1BPU0lYIgotKyAgTFVBX0RMX0RFRlM9IiNkZWZp bmUgTFVBX0RMX0RZTEQiCi0rZWxpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInhwb3NpeCI7IHRoZW4K LSsgIFBPU0lYX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9QT1NJWCIKLSsgIExVQV9ETF9ERUZTPSIj ZGVmaW5lIExVQV9ETF9ETE9QRU4iCi0rICBMVUFfTElCUz0iJExVQV9MSUJTIC1sZGwiCi0rZmkK LStBQ19TVUJTVChQT1NJWF9ERUZTKQotK0FDX1NVQlNUKExVQV9ETF9ERUZTKQotK0FDX1NVQlNU KExVQV9CVUlMRF9BU19ETExfREVGUykKLSsKLStBQ19TVUJTVChMVUFfTElCUykKLSsKLStBQ19D T05GSUdfRklMRVMoW01ha2VmaWxlCi0rICAgICAgICAgICAgICAgICBzcmMvTWFrZWZpbGUKLSsg ICAgICAgICAgICAgICAgIHNyYy9sdWFjb25mLmgudGVtcGxhdGUKLSsgICAgICAgICAgICAgICAg IGV0Yy9NYWtlZmlsZQotKyAgICAgICAgICAgICAgICAgZXRjL2x1YS5wYwotKyAgICAgICAgICAg ICAgICAgZG9jL01ha2VmaWxlCi0rCQkgdGVzdC9NYWtlZmlsZV0pCi0rQUNfT1VUUFVUCi1JbmRl eDogbHVhLTUuMS40L2V0Yy9sdWEucGMuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsr KyBsdWEtNS4xLjQvZXRjL2x1YS5wYy5pbgotQEAgLTAsMCArMSwzMiBAQAotKyMgbHVhLnBjIC0t IHBrZy1jb25maWcgZGF0YSBmb3IgTHVhCi0rCi0rIyB2YXJzIGZyb20gaW5zdGFsbCBNYWtlZmls ZQotKwotKyMgZ3JlcCAnXlY9JyAuLi9NYWtlZmlsZQotK1Y9IDUuMQotKyMgZ3JlcCAnXlI9JyAu Li9NYWtlZmlsZQotK1I9IDUuMS4zCi0rCi0rIyBncmVwICdeSU5TVEFMTF8uKj0nIC4uL01ha2Vm aWxlIHwgc2VkICdzL0lOU1RBTExfVE9QL3ByZWZpeC8nCi0rIyBwbHVzIGF1dG90b29saWZpY2F0 aW9uCi0rcHJlZml4PSBAcHJlZml4QAotK0lOU1RBTExfQklOPSAke3ByZWZpeH0vYmluCi0rSU5T VEFMTF9JTkM9ICR7cHJlZml4fS9pbmNsdWRlCi0rSU5TVEFMTF9MSUI9ICR7cHJlZml4fS9saWIK LStJTlNUQUxMX01BTj0gJHtwcmVmaXh9L21hbi9tYW4xCi0rSU5TVEFMTF9MTU9EPSAke3ByZWZp eH0vc2hhcmUvbHVhLyR7Vn0KLStJTlNUQUxMX0NNT0Q9ICR7cHJlZml4fS9saWIvbHVhLyR7Vn0K LSsKLSsjIGNhbm9uaWNhbCB2YXJzCi0rZXhlY19wcmVmaXg9JHtwcmVmaXh9Ci0rbGliZGlyPSR7 ZXhlY19wcmVmaXh9L2xpYgotK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKLSsKLStOYW1l OiBMdWEKLStEZXNjcmlwdGlvbjogQW4gRXh0ZW5zaWJsZSBFeHRlbnNpb24gTGFuZ3VhZ2UKLStW ZXJzaW9uOiAke1J9Ci0rUmVxdWlyZXM6IAotK0xpYnM6IC1MJHtsaWJkaXJ9IC1sbHVhIC1sbQot K0NmbGFnczogLUkke2luY2x1ZGVkaXJ9Ci0rCi0rIyAoZW5kIG9mIGx1YS5wYykKLUluZGV4OiBs dWEtNS4xLjQvc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5pbgotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAotKysrIGx1YS01LjEuNC9zcmMvbHVhY29uZi5oLnRlbXBsYXRlLmluCi1AQCAtMCwwICsx LDc3NyBAQAotKy8qCi0rKiogJElkOiBsdWFjb25mLmgsdiAxLjgyYSAyMDA2LzA0LzEwIDE4OjI3 OjIzIHJvYmVydG8gRXhwICQKLSsqKiBDb25maWd1cmF0aW9uIGZpbGUgZm9yIEx1YQotKyoqIFNl ZSBDb3B5cmlnaHQgTm90aWNlIGluIGx1YS5oCi0rKi8KLSsKLSsKLSsjaWZuZGVmIGxjb25maWdf aAotKyNkZWZpbmUgbGNvbmZpZ19oCi0rCi0rI2luY2x1ZGUgPGxpbWl0cy5oPgotKyNpbmNsdWRl IDxzdGRkZWYuaD4KLSsKLSsvKgotKyoqID09PT09PT09PT09PT09PT09Ci0rKiogQXV0b3Rvb2xp ZmljYXRpb24KLSsqKiA9PT09PT09PT09PT09PT09PQotKyovCi0rCi0rLyoqIGF1dG90b29saXpl IHBhdGNoICoqLwotK0BQT1NJWF9ERUZTQAotK0BMVUFfRExfREVGU0AKLStATFVBX0JVSUxEX0FT X0RMTF9ERUZTQAotK0BSRUFETElORV9ERUZTQAotKy8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8K LSsKLSsvKgotKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotKyoqIFNlYXJjaCBmb3IgIkBAIiB0byBmaW5kIGFsbCBj b25maWd1cmFibGUgZGVmaW5pdGlvbnMuCi0rKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyovCi0rCi0rCi0rLyoK LStAQCBMVUFfQU5TSSBjb250cm9scyB0aGUgdXNlIG9mIG5vbi1hbnNpIGZlYXR1cmVzLgotKyoq IENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3Ugd2FudCBMdWEgdG8gYXZvaWQgdGhlIHVzZSBv ZiBhbnkKLSsqKiBub24tYW5zaSBmZWF0dXJlIG9yIGxpYnJhcnkuCi0rKi8KLSsjaWYgZGVmaW5l ZChfX1NUUklDVF9BTlNJX18pCi0rI2RlZmluZSBMVUFfQU5TSQotKyNlbmRpZgotKwotKwotKyNp ZiAhZGVmaW5lZChMVUFfQU5TSSkgJiYgZGVmaW5lZChfV0lOMzIpCi0rI2RlZmluZSBMVUFfV0lO Ci0rI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9MSU5VWCkKLSsjZGVmaW5lIExVQV9V U0VfUE9TSVgKLSsjZGVmaW5lIExVQV9VU0VfRExPUEVOCQkvKiBuZWVkcyBhbiBleHRyYSBsaWJy YXJ5OiAtbGRsICovCi0rI2RlZmluZSBMVUFfVVNFX1JFQURMSU5FCS8qIG5lZWRzIHNvbWUgZXh0 cmEgbGlicmFyaWVzICovCi0rI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9NQUNPU1gp Ci0rI2RlZmluZSBMVUFfVVNFX1BPU0lYCi0rI2RlZmluZSBMVUFfRExfRFlMRAkJLyogZG9lcyBu b3QgbmVlZCBleHRyYSBsaWJyYXJ5ICovCi0rI2VuZGlmCi0rCi0rCi0rCi0rLyoKLStAQCBMVUFf VVNFX1BPU0lYIGluY2x1ZGVzIGFsbCBmdW5jdGlvbmFsbGl0eSBsaXN0ZWQgYXMgWC9PcGVuIFN5 c3RlbQotK0AqIEludGVyZmFjZXMgRXh0ZW5zaW9uIChYU0kpLgotKyoqIENIQU5HRSBpdCAoZGVm aW5lIGl0KSBpZiB5b3VyIHN5c3RlbSBpcyBYU0kgY29tcGF0aWJsZS4KLSsqLwotKyNpZiBkZWZp bmVkKExVQV9VU0VfUE9TSVgpCi0rI2RlZmluZSBMVUFfVVNFX01LU1RFTVAKLSsjZGVmaW5lIExV QV9VU0VfSVNBVFRZCi0rI2RlZmluZSBMVUFfVVNFX1BPUEVOCi0rI2RlZmluZSBMVUFfVVNFX1VM T05HSk1QCi0rI2VuZGlmCi0rCi0rCi0rLyoKLStAQCBMVUFfUEFUSCBhbmQgTFVBX0NQQVRIIGFy ZSB0aGUgbmFtZXMgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0Ci0rQCogTHVhIGNo ZWNrIHRvIHNldCBpdHMgcGF0aHMuCi0rQEAgTFVBX0lOSVQgaXMgdGhlIG5hbWUgb2YgdGhlIGVu dmlyb25tZW50IHZhcmlhYmxlIHRoYXQgTHVhCi0rQCogY2hlY2tzIGZvciBpbml0aWFsaXphdGlv biBjb2RlLgotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSB3YW50IGRpZmZlcmVudCBuYW1lcy4KLSsq LwotKyNkZWZpbmUgTFVBX1BBVEggICAgICAgICJMVUFfUEFUSCIKLSsjZGVmaW5lIExVQV9DUEFU SCAgICAgICAiTFVBX0NQQVRIIgotKyNkZWZpbmUgTFVBX0lOSVQJIkxVQV9JTklUIgotKwotKwot Ky8qCi0rQEAgTFVBX1BBVEhfREVGQVVMVCBpcyB0aGUgZGVmYXVsdCBwYXRoIHRoYXQgTHVhIHVz ZXMgdG8gbG9vayBmb3IKLStAKiBMdWEgbGlicmFyaWVzLgotK0BAIExVQV9DUEFUSF9ERUZBVUxU IGlzIHRoZSBkZWZhdWx0IHBhdGggdGhhdCBMdWEgdXNlcyB0byBsb29rIGZvcgotK0AqIEMgbGli cmFyaWVzLgotKyoqIENIQU5HRSB0aGVtIGlmIHlvdXIgbWFjaGluZSBoYXMgYSBub24tY29udmVu dGlvbmFsIGRpcmVjdG9yeQotKyoqIGhpZXJhcmNoeSBvciBpZiB5b3Ugd2FudCB0byBpbnN0YWxs IHlvdXIgbGlicmFyaWVzIGluCi0rKiogbm9uLWNvbnZlbnRpb25hbCBkaXJlY3Rvcmllcy4KLSsq LwotKyNpZiBkZWZpbmVkKF9XSU4zMikKLSsvKgotKyoqIEluIFdpbmRvd3MsIGFueSBleGNsYW1h dGlvbiBtYXJrICgnIScpIGluIHRoZSBwYXRoIGlzIHJlcGxhY2VkIGJ5IHRoZQotKyoqIHBhdGgg b2YgdGhlIGRpcmVjdG9yeSBvZiB0aGUgZXhlY3V0YWJsZSBmaWxlIG9mIHRoZSBjdXJyZW50IHBy b2Nlc3MuCi0rKi8KLSsjZGVmaW5lIExVQV9MRElSCSIhXFxsdWFcXCIKLSsjZGVmaW5lIExVQV9D RElSCSIhXFwiCi0rI2RlZmluZSBMVUFfUEFUSF9ERUZBVUxUICBcCi0rCQkiLlxcPy5sdWE7IiAg TFVBX0xESVIiPy5sdWE7IiAgTFVBX0xESVIiP1xcaW5pdC5sdWE7IiBcCi0rCQkgICAgICAgICAg ICAgTFVBX0NESVIiPy5sdWE7IiAgTFVBX0NESVIiP1xcaW5pdC5sdWEiCi0rI2RlZmluZSBMVUFf Q1BBVEhfREVGQVVMVCBcCi0rCSIuXFw/LmRsbDsiICBMVUFfQ0RJUiI/LmRsbDsiIExVQV9DRElS ImxvYWRhbGwuZGxsIgotKwotKyNlbHNlCi0rCi0rLyoqIGF1dG90b29saXplIHBhdGNoICoqLwot KyNkZWZpbmUgTFVBX0xESVIJIiVsdWFfZGF0YWRpciUvbHVhLzUuMS8iCi0rI2RlZmluZSBMVUFf Q0RJUgkiJWx1YV9saWJkaXIlL2x1YS81LjEvIgotKy8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8K LSsKLSsjZGVmaW5lIExVQV9QQVRIX0RFRkFVTFQgIFwKLSsJCSIuLz8ubHVhOyIgIExVQV9MRElS Ij8ubHVhOyIgIExVQV9MRElSIj8vaW5pdC5sdWE7IiBcCi0rCQkgICAgICAgICAgICBMVUFfQ0RJ UiI/Lmx1YTsiICBMVUFfQ0RJUiI/L2luaXQubHVhIgotKyNkZWZpbmUgTFVBX0NQQVRIX0RFRkFV TFQgXAotKwkiLi8/LnNvOyIgIExVQV9DRElSIj8uc287IiBMVUFfQ0RJUiJsb2FkYWxsLnNvIgot KyNlbmRpZgotKwotKwotKy8qCi0rQEAgTFVBX0RJUlNFUCBpcyB0aGUgZGlyZWN0b3J5IHNlcGFy YXRvciAoZm9yIHN1Ym1vZHVsZXMpLgotKyoqIENIQU5HRSBpdCBpZiB5b3VyIG1hY2hpbmUgZG9l cyBub3QgdXNlICIvIiBhcyB0aGUgZGlyZWN0b3J5IHNlcGFyYXRvcgotKyoqIGFuZCBpcyBub3Qg V2luZG93cy4gKE9uIFdpbmRvd3MgTHVhIGF1dG9tYXRpY2FsbHkgdXNlcyAiXCIuKQotKyovCi0r I2lmIGRlZmluZWQoX1dJTjMyKQotKyNkZWZpbmUgTFVBX0RJUlNFUAkiXFwiCi0rI2Vsc2UKLSsj ZGVmaW5lIExVQV9ESVJTRVAJIi8iCi0rI2VuZGlmCi0rCi0rCi0rLyoKLStAQCBMVUFfUEFUSFNF UCBpcyB0aGUgY2hhcmFjdGVyIHRoYXQgc2VwYXJhdGVzIHRlbXBsYXRlcyBpbiBhIHBhdGguCi0r QEAgTFVBX1BBVEhfTUFSSyBpcyB0aGUgc3RyaW5nIHRoYXQgbWFya3MgdGhlIHN1YnN0aXR1dGlv biBwb2ludHMgaW4gYQotK0AqIHRlbXBsYXRlLgotK0BAIExVQV9FWEVDRElSIGluIGEgV2luZG93 cyBwYXRoIGlzIHJlcGxhY2VkIGJ5IHRoZSBleGVjdXRhYmxlJ3MKLStAKiBkaXJlY3RvcnkuCi0r QEAgTFVBX0lHTUFSSyBpcyBhIG1hcmsgdG8gaWdub3JlIGFsbCBiZWZvcmUgaXQgd2hlbiBidWxk aW5nIHRoZQotK0AqIGx1YW9wZW5fIGZ1bmN0aW9uIG5hbWUuCi0rKiogQ0hBTkdFIHRoZW0gaWYg Zm9yIHNvbWUgcmVhc29uIHlvdXIgc3lzdGVtIGNhbm5vdCB1c2UgdGhvc2UKLSsqKiBjaGFyYWN0 ZXJzLiAoRS5nLiwgaWYgb25lIG9mIHRob3NlIGNoYXJhY3RlcnMgaXMgYSBjb21tb24gY2hhcmFj dGVyCi0rKiogaW4gZmlsZS9kaXJlY3RvcnkgbmFtZXMuKSBQcm9iYWJseSB5b3UgZG8gbm90IG5l ZWQgdG8gY2hhbmdlIHRoZW0uCi0rKi8KLSsjZGVmaW5lIExVQV9QQVRIU0VQCSI7IgotKyNkZWZp bmUgTFVBX1BBVEhfTUFSSwkiPyIKLSsjZGVmaW5lIExVQV9FWEVDRElSCSIhIgotKyNkZWZpbmUg TFVBX0lHTUFSSwkiLSIKLSsKLSsKLSsvKgotK0BAIExVQV9JTlRFR0VSIGlzIHRoZSBpbnRlZ3Jh bCB0eXBlIHVzZWQgYnkgbHVhX3B1c2hpbnRlZ2VyL2x1YV90b2ludGVnZXIuCi0rKiogQ0hBTkdF IHRoYXQgaWYgcHRyZGlmZl90IGlzIG5vdCBhZGVxdWF0ZSBvbiB5b3VyIG1hY2hpbmUuIChPbiBt b3N0Ci0rKiogbWFjaGluZXMsIHB0cmRpZmZfdCBnaXZlcyBhIGdvb2QgY2hvaWNlIGJldHdlZW4g aW50IG9yIGxvbmcuKQotKyovCi0rI2RlZmluZSBMVUFfSU5URUdFUglwdHJkaWZmX3QKLSsKLSsK LSsvKgotK0BAIExVQV9BUEkgaXMgYSBtYXJrIGZvciBhbGwgY29yZSBBUEkgZnVuY3Rpb25zLgot K0BAIExVQUxJQl9BUEkgaXMgYSBtYXJrIGZvciBhbGwgc3RhbmRhcmQgbGlicmFyeSBmdW5jdGlv bnMuCi0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IG5lZWQgdG8gZGVmaW5lIHRob3NlIGZ1bmN0aW9u cyBpbiBzb21lIHNwZWNpYWwgd2F5LgotKyoqIEZvciBpbnN0YW5jZSwgaWYgeW91IHdhbnQgdG8g Y3JlYXRlIG9uZSBXaW5kb3dzIERMTCB3aXRoIHRoZSBjb3JlIGFuZAotKyoqIHRoZSBsaWJyYXJp ZXMsIHlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9uIChkZWZpbmUK LSsqKiBMVUFfQlVJTERfQVNfRExMIHRvIGdldCBpdCkuCi0rKi8KLSsjaWYgZGVmaW5lZChMVUFf QlVJTERfQVNfRExMKQotKwotKyNpZiBkZWZpbmVkKExVQV9DT1JFKSB8fCBkZWZpbmVkKExVQV9M SUIpCi0rI2RlZmluZSBMVUFfQVBJIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQotKyNlbHNlCi0rI2Rl ZmluZSBMVUFfQVBJIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQotKyNlbmRpZgotKwotKyNlbHNlCi0r Ci0rI2RlZmluZSBMVUFfQVBJCQlleHRlcm4KLSsKLSsjZW5kaWYKLSsKLSsvKiBtb3JlIG9mdGVu IHRoYW4gbm90IHRoZSBsaWJzIGdvIHRvZ2V0aGVyIHdpdGggdGhlIGNvcmUgKi8KLSsjZGVmaW5l IExVQUxJQl9BUEkJTFVBX0FQSQotKwotKwotKy8qCi0rQEAgTFVBSV9GVU5DIGlzIGEgbWFyayBm b3IgYWxsIGV4dGVybiBmdW5jdGlvbnMgdGhhdCBhcmUgbm90IHRvIGJlCi0rQCogZXhwb3J0ZWQg dG8gb3V0c2lkZSBtb2R1bGVzLgotK0BAIExVQUlfREFUQSBpcyBhIG1hcmsgZm9yIGFsbCBleHRl cm4gKGNvbnN0KSB2YXJpYWJsZXMgdGhhdCBhcmUgbm90IHRvCi0rQCogYmUgZXhwb3J0ZWQgdG8g b3V0c2lkZSBtb2R1bGVzLgotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBuZWVkIHRvIG1hcmsgdGhl bSBpbiBzb21lIHNwZWNpYWwgd2F5LiBFbGYvZ2NjCi0rKiogKHZlcnNpb25zIDMuMiBhbmQgbGF0 ZXIpIG1hcmsgdGhlbSBhcyAiaGlkZGVuIiB0byBvcHRpbWl6ZSBhY2Nlc3MKLSsqKiB3aGVuIEx1 YSBpcyBjb21waWxlZCBhcyBhIHNoYXJlZCBsaWJyYXJ5LgotKyovCi0rI2lmIGRlZmluZWQobHVh YWxsX2MpCi0rI2RlZmluZSBMVUFJX0ZVTkMJc3RhdGljCi0rI2RlZmluZSBMVUFJX0RBVEEJLyog ZW1wdHkgKi8KLSsKLSsjZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKF9fR05VQ19fKjEwMCAr IF9fR05VQ19NSU5PUl9fKSA+PSAzMDIpICYmIFwKLSsgICAgICBkZWZpbmVkKF9fRUxGX18pCi0r I2RlZmluZSBMVUFJX0ZVTkMJX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiaGlkZGVuIikpKSBl eHRlcm4KLSsjZGVmaW5lIExVQUlfREFUQQlMVUFJX0ZVTkMKLSsKLSsjZWxzZQotKyNkZWZpbmUg TFVBSV9GVU5DCWV4dGVybgotKyNkZWZpbmUgTFVBSV9EQVRBCWV4dGVybgotKyNlbmRpZgotKwot KwotKwotKy8qCi0rQEAgTFVBX1FMIGRlc2NyaWJlcyBob3cgZXJyb3IgbWVzc2FnZXMgcXVvdGUg cHJvZ3JhbSBlbGVtZW50cy4KLSsqKiBDSEFOR0UgaXQgaWYgeW91IHdhbnQgYSBkaWZmZXJlbnQg YXBwZWFyYW5jZS4KLSsqLwotKyNkZWZpbmUgTFVBX1FMKHgpCSInIiB4ICInIgotKyNkZWZpbmUg TFVBX1FTCQlMVUFfUUwoIiVzIikKLSsKLSsKLSsvKgotK0BAIExVQV9JRFNJWkUgZ2l2ZXMgdGhl IG1heGltdW0gc2l6ZSBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzb3VyY2UKLStAKiBvZiBh IGZ1bmN0aW9uIGluIGRlYnVnIGluZm9ybWF0aW9uLgotKyoqIENIQU5HRSBpdCBpZiB5b3Ugd2Fu dCBhIGRpZmZlcmVudCBzaXplLgotKyovCi0rI2RlZmluZSBMVUFfSURTSVpFCTYwCi0rCi0rCi0r LyoKLSsqKiB7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0rKiogU3RhbmQtYWxvbmUgY29uZmlndXJhdGlvbgotKyoqID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLSsqLwotKwotKyNpZiBkZWZpbmVkKGx1YV9jKSB8fCBkZWZpbmVkKGx1YWFsbF9j KQotKwotKy8qCi0rQEAgbHVhX3N0ZGluX2lzX3R0eSBkZXRlY3RzIHdoZXRoZXIgdGhlIHN0YW5k YXJkIGlucHV0IGlzIGEgJ3R0eScgKHRoYXQKLStAKiBpcywgd2hldGhlciB3ZSdyZSBydW5uaW5n IGx1YSBpbnRlcmFjdGl2ZWx5KS4KLSsqKiBDSEFOR0UgaXQgaWYgeW91IGhhdmUgYSBiZXR0ZXIg ZGVmaW5pdGlvbiBmb3Igbm9uLVBPU0lYL25vbi1XaW5kb3dzCi0rKiogc3lzdGVtcy4KLSsqLwot KyNpZiBkZWZpbmVkKExVQV9VU0VfSVNBVFRZKQotKyNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjZGVm aW5lIGx1YV9zdGRpbl9pc190dHkoKQlpc2F0dHkoMCkKLSsjZWxpZiBkZWZpbmVkKExVQV9XSU4p Ci0rI2luY2x1ZGUgPGlvLmg+Ci0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2RlZmluZSBsdWFfc3Rk aW5faXNfdHR5KCkJX2lzYXR0eShfZmlsZW5vKHN0ZGluKSkKLSsjZWxzZQotKyNkZWZpbmUgbHVh X3N0ZGluX2lzX3R0eSgpCTEgIC8qIGFzc3VtZSBzdGRpbiBpcyBhIHR0eSAqLwotKyNlbmRpZgot KwotKwotKy8qCi0rQEAgTFVBX1BST01QVCBpcyB0aGUgZGVmYXVsdCBwcm9tcHQgdXNlZCBieSBz dGFuZC1hbG9uZSBMdWEuCi0rQEAgTFVBX1BST01QVDIgaXMgdGhlIGRlZmF1bHQgY29udGludWF0 aW9uIHByb21wdCB1c2VkIGJ5IHN0YW5kLWFsb25lIEx1YS4KLSsqKiBDSEFOR0UgdGhlbSBpZiB5 b3Ugd2FudCBkaWZmZXJlbnQgcHJvbXB0cy4gKFlvdSBjYW4gYWxzbyBjaGFuZ2UgdGhlCi0rKiog cHJvbXB0cyBkeW5hbWljYWxseSwgYXNzaWduaW5nIHRvIGdsb2JhbHMgX1BST01QVC9fUFJPTVBU Mi4pCi0rKi8KLSsjZGVmaW5lIExVQV9QUk9NUFQJCSI+ICIKLSsjZGVmaW5lIExVQV9QUk9NUFQy CQkiPj4gIgotKwotKwotKy8qCi0rQEAgTFVBX1BST0dOQU1FIGlzIHRoZSBkZWZhdWx0IG5hbWUg Zm9yIHRoZSBzdGFuZC1hbG9uZSBMdWEgcHJvZ3JhbS4KLSsqKiBDSEFOR0UgaXQgaWYgeW91ciBz dGFuZC1hbG9uZSBpbnRlcnByZXRlciBoYXMgYSBkaWZmZXJlbnQgbmFtZSBhbmQKLSsqKiB5b3Vy IHN5c3RlbSBpcyBub3QgYWJsZSB0byBkZXRlY3QgdGhhdCBuYW1lIGF1dG9tYXRpY2FsbHkuCi0r Ki8KLSsjZGVmaW5lIExVQV9QUk9HTkFNRQkJImx1YSIKLSsKLSsKLSsvKgotK0BAIExVQV9NQVhJ TlBVVCBpcyB0aGUgbWF4aW11bSBsZW5ndGggZm9yIGFuIGlucHV0IGxpbmUgaW4gdGhlCi0rQCog c3RhbmQtYWxvbmUgaW50ZXJwcmV0ZXIuCi0rKiogQ0hBTkdFIGl0IGlmIHlvdSBuZWVkIGxvbmdl ciBsaW5lcy4KLSsqLwotKyNkZWZpbmUgTFVBX01BWElOUFVUCTUxMgotKwotKwotKy8qCi0rQEAg bHVhX3JlYWRsaW5lIGRlZmluZXMgaG93IHRvIHNob3cgYSBwcm9tcHQgYW5kIHRoZW4gcmVhZCBh IGxpbmUgZnJvbQotK0AqIHRoZSBzdGFuZGFyZCBpbnB1dC4KLStAQCBsdWFfc2F2ZWxpbmUgZGVm aW5lcyBob3cgdG8gInNhdmUiIGEgcmVhZCBsaW5lIGluIGEgImhpc3RvcnkiLgotK0BAIGx1YV9m cmVlbGluZSBkZWZpbmVzIGhvdyB0byBmcmVlIGEgbGluZSByZWFkIGJ5IGx1YV9yZWFkbGluZS4K LSsqKiBDSEFOR0UgdGhlbSBpZiB5b3Ugd2FudCB0byBpbXByb3ZlIHRoaXMgZnVuY3Rpb25hbGl0 eSAoZS5nLiwgYnkgdXNpbmcKLSsqKiBHTlUgcmVhZGxpbmUgYW5kIGhpc3RvcnkgZmFjaWxpdGll cykuCi0rKi8KLSsjaWYgZGVmaW5lZChMVUFfVVNFX1JFQURMSU5FKQotKyNpbmNsdWRlIDxzdGRp by5oPgotKyNpbmNsdWRlIDxyZWFkbGluZS9yZWFkbGluZS5oPgotKyNpbmNsdWRlIDxyZWFkbGlu ZS9oaXN0b3J5Lmg+Ci0rI2RlZmluZSBsdWFfcmVhZGxpbmUoTCxiLHApCSgodm9pZClMLCAoKGIp PXJlYWRsaW5lKHApKSAhPSBOVUxMKQotKyNkZWZpbmUgbHVhX3NhdmVsaW5lKEwsaWR4KSBcCi0r CWlmIChsdWFfc3RybGVuKEwsaWR4KSA+IDApICAvKiBub24tZW1wdHkgbGluZT8gKi8gXAotKwkg IGFkZF9oaXN0b3J5KGx1YV90b3N0cmluZyhMLCBpZHgpKTsgIC8qIGFkZCBpdCB0byBoaXN0b3J5 ICovCi0rI2RlZmluZSBsdWFfZnJlZWxpbmUoTCxiKQkoKHZvaWQpTCwgZnJlZShiKSkKLSsjZWxz ZQotKyNkZWZpbmUgbHVhX3JlYWRsaW5lKEwsYixwKQlcCi0rCSgodm9pZClMLCBmcHV0cyhwLCBz dGRvdXQpLCBmZmx1c2goc3Rkb3V0KSwgIC8qIHNob3cgcHJvbXB0ICovIFwKLSsJZmdldHMoYiwg TFVBX01BWElOUFVULCBzdGRpbikgIT0gTlVMTCkgIC8qIGdldCBsaW5lICovCi0rI2RlZmluZSBs dWFfc2F2ZWxpbmUoTCxpZHgpCXsgKHZvaWQpTDsgKHZvaWQpaWR4OyB9Ci0rI2RlZmluZSBsdWFf ZnJlZWxpbmUoTCxiKQl7ICh2b2lkKUw7ICh2b2lkKWI7IH0KLSsjZW5kaWYKLSsKLSsjZW5kaWYK LSsKLSsvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09ICovCi0rCi0rCi0rLyoKLStAQCBMVUFJX0dDUEFVU0UgZGVmaW5l cyB0aGUgZGVmYXVsdCBwYXVzZSBiZXR3ZWVuIGdhcmJhZ2UtY29sbGVjdG9yIGN5Y2xlcwotK0Aq IGFzIGEgcGVyY2VudGFnZS4KLSsqKiBDSEFOR0UgaXQgaWYgeW91IHdhbnQgdGhlIEdDIHRvIHJ1 biBmYXN0ZXIgb3Igc2xvd2VyIChoaWdoZXIgdmFsdWVzCi0rKiogbWVhbiBsYXJnZXIgcGF1c2Vz IHdoaWNoIG1lYW4gc2xvd2VyIGNvbGxlY3Rpb24uKSBZb3UgY2FuIGFsc28gY2hhbmdlCi0rKiog dGhpcyB2YWx1ZSBkeW5hbWljYWxseS4KLSsqLwotKyNkZWZpbmUgTFVBSV9HQ1BBVVNFCTIwMCAg LyogMjAwJSAod2FpdCBtZW1vcnkgdG8gZG91YmxlIGJlZm9yZSBuZXh0IEdDKSAqLwotKwotKwot Ky8qCi0rQEAgTFVBSV9HQ01VTCBkZWZpbmVzIHRoZSBkZWZhdWx0IHNwZWVkIG9mIGdhcmJhZ2Ug Y29sbGVjdGlvbiByZWxhdGl2ZSB0bwotK0AqIG1lbW9yeSBhbGxvY2F0aW9uIGFzIGEgcGVyY2Vu dGFnZS4KLSsqKiBDSEFOR0UgaXQgaWYgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSBncmFudWxhcml0 eSBvZiB0aGUgZ2FyYmFnZQotKyoqIGNvbGxlY3Rpb24uIChIaWdoZXIgdmFsdWVzIG1lYW4gY29h cnNlciBjb2xsZWN0aW9ucy4gMCByZXByZXNlbnRzCi0rKiogaW5maW5pdHksIHdoZXJlIGVhY2gg c3RlcCBwZXJmb3JtcyBhIGZ1bGwgY29sbGVjdGlvbi4pIFlvdSBjYW4gYWxzbwotKyoqIGNoYW5n ZSB0aGlzIHZhbHVlIGR5bmFtaWNhbGx5LgotKyovCi0rI2RlZmluZSBMVUFJX0dDTVVMCTIwMCAv KiBHQyBydW5zICd0d2ljZSB0aGUgc3BlZWQnIG9mIG1lbW9yeSBhbGxvY2F0aW9uICovCi0rCi0r Ci0rCi0rLyoKLStAQCBMVUFfQ09NUEFUX0dFVE4gY29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRo IG9sZCBnZXRuIGJlaGF2aW9yLgotKyoqIENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3Ugd2Fu dCBleGFjdCBjb21wYXRpYmlsaXR5IHdpdGggdGhlCi0rKiogYmVoYXZpb3Igb2Ygc2V0bi9nZXRu IGluIEx1YSA1LjAuCi0rKi8KLSsjdW5kZWYgTFVBX0NPTVBBVF9HRVROCi0rCi0rLyoKLStAQCBM VUFfQ09NUEFUX0xPQURMSUIgY29udHJvbHMgY29tcGF0aWJpbGl0eSBhYm91dCBnbG9iYWwgbG9h ZGxpYi4KLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91IGRvIG5vdCBu ZWVkIGEgZ2xvYmFsICdsb2FkbGliJwotKyoqIGZ1bmN0aW9uICh0aGUgZnVuY3Rpb24gaXMgc3Rp bGwgYXZhaWxhYmxlIGFzICdwYWNrYWdlLmxvYWRsaWInKS4KLSsqLwotKyN1bmRlZiBMVUFfQ09N UEFUX0xPQURMSUIKLSsKLSsvKgotK0BAIExVQV9DT01QQVRfVkFSQVJHIGNvbnRyb2xzIGNvbXBh dGliaWxpdHkgd2l0aCBvbGQgdmFyYXJnIGZlYXR1cmUuCi0rKiogQ0hBTkdFIGl0IHRvIHVuZGVm aW5lZCBhcyBzb29uIGFzIHlvdXIgcHJvZ3JhbXMgdXNlIG9ubHkgJy4uLicgdG8KLSsqKiBhY2Nl c3MgdmFyYXJnIHBhcmFtZXRlcnMgKGluc3RlYWQgb2YgdGhlIG9sZCAnYXJnJyB0YWJsZSkuCi0r Ki8KLSsjZGVmaW5lIExVQV9DT01QQVRfVkFSQVJHCi0rCi0rLyoKLStAQCBMVUFfQ09NUEFUX01P RCBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIG1hdGgubW9kIGZ1bmN0aW9uLgotKyoq IENIQU5HRSBpdCB0byB1bmRlZmluZWQgYXMgc29vbiBhcyB5b3VyIHByb2dyYW1zIHVzZSAnbWF0 aC5mbW9kJyBvcgotKyoqIHRoZSBuZXcgJyUnIG9wZXJhdG9yIGluc3RlYWQgb2YgJ21hdGgubW9k Jy4KLSsqLwotKyNkZWZpbmUgTFVBX0NPTVBBVF9NT0QKLSsKLSsvKgotK0BAIExVQV9DT01QQVRf TFNUUiBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGxvbmcgc3RyaW5nIG5lc3RpbmcK LStAKiBmYWNpbGl0eS4KLSsqKiBDSEFOR0UgaXQgdG8gMiBpZiB5b3Ugd2FudCB0aGUgb2xkIGJl aGF2aW91ciwgb3IgdW5kZWZpbmUgaXQgdG8gdHVybgotKyoqIG9mZiB0aGUgYWR2aXNvcnkgZXJy b3Igd2hlbiBuZXN0aW5nIFtbLi4uXV0uCi0rKi8KLSsjZGVmaW5lIExVQV9DT01QQVRfTFNUUgkJ MQotKwotKy8qCi0rQEAgTFVBX0NPTVBBVF9HRklORCBjb250cm9scyBjb21wYXRpYmlsaXR5IHdp dGggb2xkICdzdHJpbmcuZ2ZpbmQnIG5hbWUuCi0rKiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBh cyBzb29uIGFzIHlvdSByZW5hbWUgJ3N0cmluZy5nZmluZCcgdG8KLSsqKiAnc3RyaW5nLmdtYXRj aCcuCi0rKi8KLSsjZGVmaW5lIExVQV9DT01QQVRfR0ZJTkQKLSsKLSsvKgotK0BAIExVQV9DT01Q QVRfT1BFTkxJQiBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkICdsdWFMX29wZW5saWIn Ci0rQCogYmVoYXZpb3IuCi0rKiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBzb29uIGFzIHlv dSByZXBsYWNlIHRvICdsdWFMX3JlZ2lzdGVyJwotKyoqIHlvdXIgdXNlcyBvZiAnbHVhTF9vcGVu bGliJwotKyovCi0rI2RlZmluZSBMVUFfQ09NUEFUX09QRU5MSUIKLSsKLSsKLSsKLSsvKgotK0BA IGx1YWlfYXBpY2hlY2sgaXMgdGhlIGFzc2VydCBtYWNybyB1c2VkIGJ5IHRoZSBMdWEtQyBBUEku Ci0rKiogQ0hBTkdFIGx1YWlfYXBpY2hlY2sgaWYgeW91IHdhbnQgTHVhIHRvIHBlcmZvcm0gc29t ZSBjaGVja3MgaW4gdGhlCi0rKiogcGFyYW1ldGVycyBpdCBnZXRzIGZyb20gQVBJIGNhbGxzLiBU aGlzIG1heSBzbG93IGRvd24gdGhlIGludGVycHJldGVyCi0rKiogYSBiaXQsIGJ1dCBtYXkgYmUg cXVpdGUgdXNlZnVsIHdoZW4gZGVidWdnaW5nIEMgY29kZSB0aGF0IGludGVyZmFjZXMKLSsqKiB3 aXRoIEx1YS4gQSB1c2VmdWwgcmVkZWZpbml0aW9uIGlzIHRvIHVzZSBhc3NlcnQuaC4KLSsqLwot KyNpZiBkZWZpbmVkKExVQV9VU0VfQVBJQ0hFQ0spCi0rI2luY2x1ZGUgPGFzc2VydC5oPgotKyNk ZWZpbmUgbHVhaV9hcGljaGVjayhMLG8pCXsgKHZvaWQpTDsgYXNzZXJ0KG8pOyB9Ci0rI2Vsc2UK LSsjZGVmaW5lIGx1YWlfYXBpY2hlY2soTCxvKQl7ICh2b2lkKUw7IH0KLSsjZW5kaWYKLSsKLSsK LSsvKgotK0BAIExVQUlfQklUU0lOVCBkZWZpbmVzIHRoZSBudW1iZXIgb2YgYml0cyBpbiBhbiBp bnQuCi0rKiogQ0hBTkdFIGhlcmUgaWYgTHVhIGNhbm5vdCBhdXRvbWF0aWNhbGx5IGRldGVjdCB0 aGUgbnVtYmVyIG9mIGJpdHMgb2YKLSsqKiB5b3VyIG1hY2hpbmUuIFByb2JhYmx5IHlvdSBkbyBu b3QgbmVlZCB0byBjaGFuZ2UgdGhpcy4KLSsqLwotKy8qIGF2b2lkIG92ZXJmbG93cyBpbiBjb21w YXJpc29uICovCi0rI2lmIElOVF9NQVgtMjAgPCAzMjc2MAotKyNkZWZpbmUgTFVBSV9CSVRTSU5U CTE2Ci0rI2VsaWYgSU5UX01BWCA+IDIxNDc0ODM2NDBMCi0rLyogaW50IGhhcyBhdCBsZWFzdCAz MiBiaXRzICovCi0rI2RlZmluZSBMVUFJX0JJVFNJTlQJMzIKLSsjZWxzZQotKyNlcnJvciAieW91 IG11c3QgZGVmaW5lIExVQV9CSVRTSU5UIHdpdGggbnVtYmVyIG9mIGJpdHMgaW4gYW4gaW50ZWdl ciIKLSsjZW5kaWYKLSsKLSsKLSsvKgotK0BAIExVQUlfVUlOVDMyIGlzIGFuIHVuc2lnbmVkIGlu dGVnZXIgd2l0aCBhdCBsZWFzdCAzMiBiaXRzLgotK0BAIExVQUlfSU5UMzIgaXMgYW4gc2lnbmVk IGludGVnZXIgd2l0aCBhdCBsZWFzdCAzMiBiaXRzLgotK0BAIExVQUlfVU1FTSBpcyBhbiB1bnNp Z25lZCBpbnRlZ2VyIGJpZyBlbm91Z2ggdG8gY291bnQgdGhlIHRvdGFsCi0rQCogbWVtb3J5IHVz ZWQgYnkgTHVhLgotK0BAIExVQUlfTUVNIGlzIGEgc2lnbmVkIGludGVnZXIgYmlnIGVub3VnaCB0 byBjb3VudCB0aGUgdG90YWwgbWVtb3J5Ci0rQCogdXNlZCBieSBMdWEuCi0rKiogQ0hBTkdFIGhl cmUgaWYgZm9yIHNvbWUgd2VpcmQgcmVhc29uIHRoZSBkZWZhdWx0IGRlZmluaXRpb25zIGFyZSBu b3QKLSsqKiBnb29kIGVub3VnaCBmb3IgeW91ciBtYWNoaW5lLiAoVGhlIGRlZmluaXRpb25zIGlu IHRoZSAnZWxzZScKLSsqKiBwYXJ0IGFsd2F5cyB3b3JrcywgYnV0IG1heSB3YXN0ZSBzcGFjZSBv biBtYWNoaW5lcyB3aXRoIDY0LWJpdAotKyoqIGxvbmdzLikgUHJvYmFibHkgeW91IGRvIG5vdCBu ZWVkIHRvIGNoYW5nZSB0aGlzLgotKyovCi0rI2lmIExVQUlfQklUU0lOVCA+PSAzMgotKyNkZWZp bmUgTFVBSV9VSU5UMzIJdW5zaWduZWQgaW50Ci0rI2RlZmluZSBMVUFJX0lOVDMyCWludAotKyNk ZWZpbmUgTFVBSV9NQVhJTlQzMglJTlRfTUFYCi0rI2RlZmluZSBMVUFJX1VNRU0Jc2l6ZV90Ci0r I2RlZmluZSBMVUFJX01FTQlwdHJkaWZmX3QKLSsjZWxzZQotKy8qIDE2LWJpdCBpbnRzICovCi0r I2RlZmluZSBMVUFJX1VJTlQzMgl1bnNpZ25lZCBsb25nCi0rI2RlZmluZSBMVUFJX0lOVDMyCWxv bmcKLSsjZGVmaW5lIExVQUlfTUFYSU5UMzIJTE9OR19NQVgKLSsjZGVmaW5lIExVQUlfVU1FTQl1 bnNpZ25lZCBsb25nCi0rI2RlZmluZSBMVUFJX01FTQlsb25nCi0rI2VuZGlmCi0rCi0rCi0rLyoK LStAQCBMVUFJX01BWENBTExTIGxpbWl0cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCBjYWxscy4KLSsq KiBDSEFOR0UgaXQgaWYgeW91IG5lZWQgcmVhbGx5IGRlZXAgcmVjdXJzaXZlIGNhbGxzLiBUaGlz IGxpbWl0IGlzCi0rKiogYXJiaXRyYXJ5OyBpdHMgb25seSBwdXJwb3NlIGlzIHRvIHN0b3AgaW5m aW5pdGUgcmVjdXJzaW9uIGJlZm9yZQotKyoqIGV4aGF1c3RpbmcgbWVtb3J5LgotKyovCi0rI2Rl ZmluZSBMVUFJX01BWENBTExTCTIwMDAwCi0rCi0rCi0rLyoKLStAQCBMVUFJX01BWENTVEFDSyBs aW1pdHMgdGhlIG51bWJlciBvZiBMdWEgc3RhY2sgc2xvdHMgdGhhdCBhIEMgZnVuY3Rpb24KLStA KiBjYW4gdXNlLgotKyoqIENIQU5HRSBpdCBpZiB5b3UgbmVlZCBsb3RzIG9mIChMdWEpIHN0YWNr IHNwYWNlIGZvciB5b3VyIEMKLSsqKiBmdW5jdGlvbnMuIFRoaXMgbGltaXQgaXMgYXJiaXRyYXJ5 OyBpdHMgb25seSBwdXJwb3NlIGlzIHRvIHN0b3AgQwotKyoqIGZ1bmN0aW9ucyB0byBjb25zdW1l IHVubGltaXRlZCBzdGFjayBzcGFjZS4KLSsqLwotKyNkZWZpbmUgTFVBSV9NQVhDU1RBQ0sJMjA0 OAotKwotKwotKwotKy8qCi0rKiogez09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyoqIENIQU5HRSAodG8gc21hbGxlciB2 YWx1ZXMpIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgaWYgeW91ciBzeXN0ZW0KLSsqKiBoYXMg YSBzbWFsbCBDIHN0YWNrLiAoT3IgeW91IG1heSB3YW50IHRvIGNoYW5nZSB0aGVtIHRvIGxhcmdl cgotKyoqIHZhbHVlcyBpZiB5b3VyIHN5c3RlbSBoYXMgYSBsYXJnZSBDIHN0YWNrIGFuZCB0aGVz ZSBsaW1pdHMgYXJlCi0rKiogdG9vIHJpZ2lkIGZvciB5b3UuKSBTb21lIG9mIHRoZXNlIGNvbnN0 YW50cyBjb250cm9sIHRoZSBzaXplIG9mCi0rKiogc3RhY2stYWxsb2NhdGVkIGFycmF5cyB1c2Vk IGJ5IHRoZSBjb21waWxlciBvciB0aGUgaW50ZXJwcmV0ZXIsIHdoaWxlCi0rKiogb3RoZXJzIGxp bWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiByZWN1cnNpdmUgY2FsbHMgdGhhdCB0aGUgY29tcGls ZXIKLSsqKiBvciB0aGUgaW50ZXJwcmV0ZXIgY2FuIHBlcmZvcm0uIFZhbHVlcyB0b28gbGFyZ2Ug bWF5IGNhdXNlIGEgQyBzdGFjawotKyoqIG92ZXJmbG93IGZvciBzb21lIGZvcm1zIG9mIGRlZXAg Y29uc3RydWN0cy4KLSsqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0rKi8KLSsKLSsKLSsvKgotK0BAIExVQUlfTUFY Q0NBTExTIGlzIHRoZSBtYXhpbXVtIGRlcHRoIGZvciBuZXN0ZWQgQyBjYWxscyAoc2hvcnQpIGFu ZAotK0AqIHN5bnRhY3RpY2FsIG5lc3RlZCBub24tdGVybWluYWxzIGluIGEgcHJvZ3JhbS4KLSsq LwotKyNkZWZpbmUgTFVBSV9NQVhDQ0FMTFMJCTIwMAotKwotKwotKy8qCi0rQEAgTFVBSV9NQVhW QVJTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2NhbCB2YXJpYWJsZXMgcGVyIGZ1bmN0aW9u Ci0rQCogKG11c3QgYmUgc21hbGxlciB0aGFuIDI1MCkuCi0rKi8KLSsjZGVmaW5lIExVQUlfTUFY VkFSUwkJMjAwCi0rCi0rCi0rLyoKLStAQCBMVUFJX01BWFVQVkFMVUVTIGlzIHRoZSBtYXhpbXVt IG51bWJlciBvZiB1cHZhbHVlcyBwZXIgZnVuY3Rpb24KLStAKiAobXVzdCBiZSBzbWFsbGVyIHRo YW4gMjUwKS4KLSsqLwotKyNkZWZpbmUgTFVBSV9NQVhVUFZBTFVFUwk2MAotKwotKwotKy8qCi0r QEAgTFVBTF9CVUZGRVJTSVpFIGlzIHRoZSBidWZmZXIgc2l6ZSB1c2VkIGJ5IHRoZSBsYXV4bGli IGJ1ZmZlciBzeXN0ZW0uCi0rKi8KLSsjZGVmaW5lIExVQUxfQlVGRkVSU0laRQkJQlVGU0laCi0r Ci0rLyogfT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PSAqLwotKwotKwotKwotKwotKy8qCi0rKiogez09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotK0BA IExVQV9OVU1CRVIgaXMgdGhlIHR5cGUgb2YgbnVtYmVycyBpbiBMdWEuCi0rKiogQ0hBTkdFIHRo ZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgb25seSBpZiB5b3Ugd2FudCB0byBidWlsZCBMdWEKLSsq KiB3aXRoIGEgbnVtYmVyIHR5cGUgZGlmZmVyZW50IGZyb20gZG91YmxlLiBZb3UgbWF5IGFsc28g bmVlZCB0bwotKyoqIGNoYW5nZSBsdWFfbnVtYmVyMmludCAmIGx1YV9udW1iZXIyaW50ZWdlci4K LSsqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0rKi8KLSsKLSsjZGVmaW5lIExVQV9OVU1CRVJfRE9VQkxFCi0rI2Rl ZmluZSBMVUFfTlVNQkVSCWRvdWJsZQotKwotKy8qCi0rQEAgTFVBSV9VQUNOVU1CRVIgaXMgdGhl IHJlc3VsdCBvZiBhbiAndXN1YWwgYXJndW1lbnQgY29udmVyc2lvbicKLStAKiBvdmVyIGEgbnVt YmVyLgotKyovCi0rI2RlZmluZSBMVUFJX1VBQ05VTUJFUglkb3VibGUKLSsKLSsKLSsvKgotK0BA IExVQV9OVU1CRVJfU0NBTiBpcyB0aGUgZm9ybWF0IGZvciByZWFkaW5nIG51bWJlcnMuCi0rQEAg TFVBX05VTUJFUl9GTVQgaXMgdGhlIGZvcm1hdCBmb3Igd3JpdGluZyBudW1iZXJzLgotK0BAIGx1 YV9udW1iZXIyc3RyIGNvbnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLgotK0BAIExVQUlfTUFY TlVNQkVSMlNUUiBpcyBtYXhpbXVtIHNpemUgb2YgcHJldmlvdXMgY29udmVyc2lvbi4KLStAQCBs dWFfc3RyMm51bWJlciBjb252ZXJ0cyBhIHN0cmluZyB0byBhIG51bWJlci4KLSsqLwotKyNkZWZp bmUgTFVBX05VTUJFUl9TQ0FOCQkiJWxmIgotKyNkZWZpbmUgTFVBX05VTUJFUl9GTVQJCSIlLjE0 ZyIKLSsjZGVmaW5lIGx1YV9udW1iZXIyc3RyKHMsbikJc3ByaW50ZigocyksIExVQV9OVU1CRVJf Rk1ULCAobikpCi0rI2RlZmluZSBMVUFJX01BWE5VTUJFUjJTVFIJMzIgLyogMTYgZGlnaXRzLCBz aWduLCBwb2ludCwgYW5kIFwwICovCi0rI2RlZmluZSBsdWFfc3RyMm51bWJlcihzLHApCXN0cnRv ZCgocyksIChwKSkKLSsKLSsKLSsvKgotK0BAIFRoZSBsdWFpX251bSogbWFjcm9zIGRlZmluZSB0 aGUgcHJpbWl0aXZlIG9wZXJhdGlvbnMgb3ZlciBudW1iZXJzLgotKyovCi0rI2lmIGRlZmluZWQo TFVBX0NPUkUpCi0rI2luY2x1ZGUgPG1hdGguaD4KLSsjZGVmaW5lIGx1YWlfbnVtYWRkKGEsYikJ KChhKSsoYikpCi0rI2RlZmluZSBsdWFpX251bXN1YihhLGIpCSgoYSktKGIpKQotKyNkZWZpbmUg bHVhaV9udW1tdWwoYSxiKQkoKGEpKihiKSkKLSsjZGVmaW5lIGx1YWlfbnVtZGl2KGEsYikJKChh KS8oYikpCi0rI2RlZmluZSBsdWFpX251bW1vZChhLGIpCSgoYSkgLSBmbG9vcigoYSkvKGIpKSoo YikpCi0rI2RlZmluZSBsdWFpX251bXBvdyhhLGIpCShwb3coYSxiKSkKLSsjZGVmaW5lIGx1YWlf bnVtdW5tKGEpCQkoLShhKSkKLSsjZGVmaW5lIGx1YWlfbnVtZXEoYSxiKQkJKChhKT09KGIpKQot KyNkZWZpbmUgbHVhaV9udW1sdChhLGIpCQkoKGEpPChiKSkKLSsjZGVmaW5lIGx1YWlfbnVtbGUo YSxiKQkJKChhKTw9KGIpKQotKyNkZWZpbmUgbHVhaV9udW1pc25hbihhKQkoIWx1YWlfbnVtZXEo KGEpLCAoYSkpKQotKyNlbmRpZgotKwotKwotKy8qCi0rQEAgbHVhX251bWJlcjJpbnQgaXMgYSBt YWNybyB0byBjb252ZXJ0IGx1YV9OdW1iZXIgdG8gaW50LgotK0BAIGx1YV9udW1iZXIyaW50ZWdl ciBpcyBhIG1hY3JvIHRvIGNvbnZlcnQgbHVhX051bWJlciB0byBsdWFfSW50ZWdlci4KLSsqKiBD SEFOR0UgdGhlbSBpZiB5b3Uga25vdyBhIGZhc3RlciB3YXkgdG8gY29udmVydCBhIGx1YV9OdW1i ZXIgdG8KLSsqKiBpbnQgKHdpdGggYW55IHJvdW5kaW5nIG1ldGhvZCBhbmQgd2l0aG91dCB0aHJv d2luZyBlcnJvcnMpIGluIHlvdXIKLSsqKiBzeXN0ZW0uIEluIFBlbnRpdW0gbWFjaGluZXMsIGEg bmFpdmUgdHlwZWNhc3QgZnJvbSBkb3VibGUgdG8gaW50Ci0rKiogaW4gQyBpcyBleHRyZW1lbHkg c2xvdywgc28gYW55IGFsdGVybmF0aXZlIGlzIHdvcnRoIHRyeWluZy4KLSsqLwotKwotKy8qIE9u IGEgUGVudGl1bSwgcmVzb3J0IHRvIGEgdHJpY2sgKi8KLSsjaWYgZGVmaW5lZChMVUFfTlVNQkVS X0RPVUJMRSkgJiYgIWRlZmluZWQoTFVBX0FOU0kpICYmICFkZWZpbmVkKF9fU1NFMl9fKSAmJiBc Ci0rICAgIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZCAoX01fSVg4NikgfHwgZGVmaW5lZChf X2kzODZfXykpCi0rCi0rLyogT24gYSBNaWNyb3NvZnQgY29tcGlsZXIsIHVzZSBhc3NlbWJsZXIg Ki8KLSsjaWYgZGVmaW5lZChfTVNDX1ZFUikKLSsKLSsjZGVmaW5lIGx1YV9udW1iZXIyaW50KGks ZCkgICBfX2FzbSBmbGQgZCAgIF9fYXNtIGZpc3RwIGkKLSsjZGVmaW5lIGx1YV9udW1iZXIyaW50 ZWdlcihpLG4pCQlsdWFfbnVtYmVyMmludChpLCBuKQotKwotKy8qIHRoZSBuZXh0IHRyaWNrIHNo b3VsZCB3b3JrIG9uIGFueSBQZW50aXVtLCBidXQgc29tZXRpbWVzIGNsYXNoZXMKLSsgICB3aXRo IGEgRGlyZWN0WCBpZGlvc3luY3Jhc3kgKi8KLSsjZWxzZQotKwotK3VuaW9uIGx1YWlfQ2FzdCB7 IGRvdWJsZSBsX2Q7IGxvbmcgbF9sOyB9OwotKyNkZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKSBc Ci0rICB7IHZvbGF0aWxlIHVuaW9uIGx1YWlfQ2FzdCB1OyB1LmxfZCA9IChkKSArIDY3NTUzOTk0 NDEwNTU3NDQuMDsgKGkpID0gdS5sX2w7IH0KLSsjZGVmaW5lIGx1YV9udW1iZXIyaW50ZWdlcihp LG4pCQlsdWFfbnVtYmVyMmludChpLCBuKQotKwotKyNlbmRpZgotKwotKwotKy8qIHRoaXMgb3B0 aW9uIGFsd2F5cyB3b3JrcywgYnV0IG1heSBiZSBzbG93ICovCi0rI2Vsc2UKLSsjZGVmaW5lIGx1 YV9udW1iZXIyaW50KGksZCkJKChpKT0oaW50KShkKSkKLSsjZGVmaW5lIGx1YV9udW1iZXIyaW50 ZWdlcihpLGQpCSgoaSk9KGx1YV9JbnRlZ2VyKShkKSkKLSsKLSsjZW5kaWYKLSsKLSsvKiB9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ICovCi0rCi0rCi0rLyoKLStAQCBMVUFJX1VTRVJfQUxJR05NRU5UX1QgaXMgYSB0eXBl IHRoYXQgcmVxdWlyZXMgbWF4aW11bSBhbGlnbm1lbnQuCi0rKiogQ0hBTkdFIGl0IGlmIHlvdXIg c3lzdGVtIHJlcXVpcmVzIGFsaWdubWVudHMgbGFyZ2VyIHRoYW4gZG91YmxlLiAoRm9yCi0rKiog aW5zdGFuY2UsIGlmIHlvdXIgc3lzdGVtIHN1cHBvcnRzIGxvbmcgZG91YmxlcyBhbmQgdGhleSBt dXN0IGJlCi0rKiogYWxpZ25lZCBpbiAxNi1ieXRlIGJvdW5kYXJpZXMsIHRoZW4geW91IHNob3Vs ZCBhZGQgbG9uZyBkb3VibGUgaW4gdGhlCi0rKiogdW5pb24uKSBQcm9iYWJseSB5b3UgZG8gbm90 IG5lZWQgdG8gY2hhbmdlIHRoaXMuCi0rKi8KLSsjZGVmaW5lIExVQUlfVVNFUl9BTElHTk1FTlRf VAl1bmlvbiB7IGRvdWJsZSB1OyB2b2lkICpzOyBsb25nIGw7IH0KLSsKLSsKLSsvKgotK0BAIExV QUlfVEhST1cvTFVBSV9UUlkgZGVmaW5lIGhvdyBMdWEgZG9lcyBleGNlcHRpb24gaGFuZGxpbmcu Ci0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IHByZWZlciB0byB1c2UgbG9uZ2ptcC9zZXRqbXAgZXZl biB3aXRoIEMrKwotKyoqIG9yIGlmIHdhbnQvZG9uJ3QgdG8gdXNlIF9sb25nam1wL19zZXRqbXAg aW5zdGVhZCBvZiByZWd1bGFyCi0rKiogbG9uZ2ptcC9zZXRqbXAuIEJ5IGRlZmF1bHQsIEx1YSBo YW5kbGVzIGVycm9ycyB3aXRoIGV4Y2VwdGlvbnMgd2hlbgotKyoqIGNvbXBpbGluZyBhcyBDKysg Y29kZSwgd2l0aCBfbG9uZ2ptcC9fc2V0am1wIHdoZW4gYXNrZWQgdG8gdXNlIHRoZW0sCi0rKiog YW5kIHdpdGggbG9uZ2ptcC9zZXRqbXAgb3RoZXJ3aXNlLgotKyovCi0rI2lmIGRlZmluZWQoX19j cGx1c3BsdXMpCi0rLyogQysrIGV4Y2VwdGlvbnMgKi8KLSsjZGVmaW5lIExVQUlfVEhST1coTCxj KQl0aHJvdyhjKQotKyNkZWZpbmUgTFVBSV9UUlkoTCxjLGEpCXRyeSB7IGEgfSBjYXRjaCguLi4p IFwKLSsJeyBpZiAoKGMpLT5zdGF0dXMgPT0gMCkgKGMpLT5zdGF0dXMgPSAtMTsgfQotKyNkZWZp bmUgbHVhaV9qbXBidWYJaW50ICAvKiBkdW1teSB2YXJpYWJsZSAqLwotKwotKyNlbGlmIGRlZmlu ZWQoTFVBX1VTRV9VTE9OR0pNUCkKLSsvKiBpbiBVbml4LCB0cnkgX2xvbmdqbXAvX3NldGptcCAo bW9yZSBlZmZpY2llbnQpICovCi0rI2RlZmluZSBMVUFJX1RIUk9XKEwsYykJX2xvbmdqbXAoKGMp LT5iLCAxKQotKyNkZWZpbmUgTFVBSV9UUlkoTCxjLGEpCWlmIChfc2V0am1wKChjKS0+YikgPT0g MCkgeyBhIH0KLSsjZGVmaW5lIGx1YWlfam1wYnVmCWptcF9idWYKLSsKLSsjZWxzZQotKy8qIGRl ZmF1bHQgaGFuZGxpbmcgd2l0aCBsb25nIGp1bXBzICovCi0rI2RlZmluZSBMVUFJX1RIUk9XKEws YykJbG9uZ2ptcCgoYyktPmIsIDEpCi0rI2RlZmluZSBMVUFJX1RSWShMLGMsYSkJaWYgKHNldGpt cCgoYyktPmIpID09IDApIHsgYSB9Ci0rI2RlZmluZSBsdWFpX2ptcGJ1ZglqbXBfYnVmCi0rCi0r I2VuZGlmCi0rCi0rCi0rLyoKLStAQCBMVUFfTUFYQ0FQVFVSRVMgaXMgdGhlIG1heGltdW0gbnVt YmVyIG9mIGNhcHR1cmVzIHRoYXQgYSBwYXR0ZXJuCi0rQCogY2FuIGRvIGR1cmluZyBwYXR0ZXJu LW1hdGNoaW5nLgotKyoqIENIQU5HRSBpdCBpZiB5b3UgbmVlZCBtb3JlIGNhcHR1cmVzLiBUaGlz IGxpbWl0IGlzIGFyYml0cmFyeS4KLSsqLwotKyNkZWZpbmUgTFVBX01BWENBUFRVUkVTCQkzMgot KwotKwotKy8qCi0rQEAgbHVhX3RtcG5hbSBpcyB0aGUgZnVuY3Rpb24gdGhhdCB0aGUgT1MgbGli cmFyeSB1c2VzIHRvIGNyZWF0ZSBhCi0rQCogdGVtcG9yYXJ5IG5hbWUuCi0rQEAgTFVBX1RNUE5B TUJVRlNJWkUgaXMgdGhlIG1heGltdW0gc2l6ZSBvZiBhIG5hbWUgY3JlYXRlZCBieSBsdWFfdG1w bmFtLgotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBoYXZlIGFuIGFsdGVybmF0aXZlIHRvIHRtcG5h bSAod2hpY2ggaXMgY29uc2lkZXJlZAotKyoqIGluc2VjdXJlKSBvciBpZiB5b3Ugd2FudCB0aGUg b3JpZ2luYWwgdG1wbmFtIGFueXdheS4gIEJ5IGRlZmF1bHQsIEx1YQotKyoqIHVzZXMgdG1wbmFt IGV4Y2VwdCB3aGVuIFBPU0lYIGlzIGF2YWlsYWJsZSwgd2hlcmUgaXQgdXNlcyBta3N0ZW1wLgot KyovCi0rI2lmIGRlZmluZWQobG9zbGliX2MpIHx8IGRlZmluZWQobHVhYWxsX2MpCi0rCi0rI2lm IGRlZmluZWQoTFVBX1VTRV9NS1NURU1QKQotKyNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjZGVmaW5l IExVQV9UTVBOQU1CVUZTSVpFCTMyCi0rI2RlZmluZSBsdWFfdG1wbmFtKGIsZSkJeyBcCi0rCXN0 cmNweShiLCAiL3RtcC9sdWFfWFhYWFhYIik7IFwKLSsJZSA9IG1rc3RlbXAoYik7IFwKLSsJaWYg KGUgIT0gLTEpIGNsb3NlKGUpOyBcCi0rCWUgPSAoZSA9PSAtMSk7IH0KLSsKLSsjZWxzZQotKyNk ZWZpbmUgTFVBX1RNUE5BTUJVRlNJWkUJTF90bXBuYW0KLSsjZGVmaW5lIGx1YV90bXBuYW0oYixl KQkJeyBlID0gKHRtcG5hbShiKSA9PSBOVUxMKTsgfQotKyNlbmRpZgotKwotKyNlbmRpZgotKwot KwotKy8qCi0rQEAgbHVhX3BvcGVuIHNwYXducyBhIG5ldyBwcm9jZXNzIGNvbm5lY3RlZCB0byB0 aGUgY3VycmVudCBvbmUgdGhyb3VnaAotK0AqIHRoZSBmaWxlIHN0cmVhbXMuCi0rKiogQ0hBTkdF IGl0IGlmIHlvdSBoYXZlIGEgd2F5IHRvIGltcGxlbWVudCBpdCBpbiB5b3VyIHN5c3RlbS4KLSsq LwotKyNpZiBkZWZpbmVkKExVQV9VU0VfUE9QRU4pCi0rCi0rI2RlZmluZSBsdWFfcG9wZW4oTCxj LG0pCSgodm9pZClMLCBwb3BlbihjLG0pKQotKyNkZWZpbmUgbHVhX3BjbG9zZShMLGZpbGUpCSgo dm9pZClMLCAocGNsb3NlKGZpbGUpICE9IC0xKSkKLSsKLSsjZWxpZiBkZWZpbmVkKExVQV9XSU4p Ci0rCi0rI2RlZmluZSBsdWFfcG9wZW4oTCxjLG0pCSgodm9pZClMLCBfcG9wZW4oYyxtKSkKLSsj ZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKQkoKHZvaWQpTCwgKF9wY2xvc2UoZmlsZSkgIT0gLTEp KQotKwotKyNlbHNlCi0rCi0rI2RlZmluZSBsdWFfcG9wZW4oTCxjLG0pCSgodm9pZCkoKHZvaWQp YywgbSksICBcCi0rCQlsdWFMX2Vycm9yKEwsIExVQV9RTCgicG9wZW4iKSAiIG5vdCBzdXBwb3J0 ZWQiKSwgKEZJTEUqKTApCi0rI2RlZmluZSBsdWFfcGNsb3NlKEwsZmlsZSkJCSgodm9pZCkoKHZv aWQpTCwgZmlsZSksIDApCi0rCi0rI2VuZGlmCi0rCi0rLyoKLStAQCBMVUFfRExfKiBkZWZpbmUg d2hpY2ggZHluYW1pYy1saWJyYXJ5IHN5c3RlbSBMdWEgc2hvdWxkIHVzZS4KLSsqKiBDSEFOR0Ug aGVyZSBpZiBMdWEgaGFzIHByb2JsZW1zIGNob29zaW5nIHRoZSBhcHByb3ByaWF0ZQotKyoqIGR5 bmFtaWMtbGlicmFyeSBzeXN0ZW0gZm9yIHlvdXIgcGxhdGZvcm0gKGVpdGhlciBXaW5kb3dzJyBE TEwsIE1hYydzCi0rKiogZHlsZCwgb3IgVW5peCdzIGRsb3BlbikuIElmIHlvdXIgc3lzdGVtIGlz IHNvbWUga2luZCBvZiBVbml4LCB0aGVyZQotKyoqIGlzIGEgZ29vZCBjaGFuY2UgdGhhdCBpdCBo YXMgZGxvcGVuLCBzbyBMVUFfRExfRExPUEVOIHdpbGwgd29yayBmb3IKLSsqKiBpdC4gIFRvIHVz ZSBkbG9wZW4geW91IGFsc28gbmVlZCB0byBhZGFwdCB0aGUgc3JjL01ha2VmaWxlIChwcm9iYWJs eQotKyoqIGFkZGluZyAtbGRsIHRvIHRoZSBsaW5rZXIgb3B0aW9ucyksIHNvIEx1YSBkb2VzIG5v dCBzZWxlY3QgaXQKLSsqKiBhdXRvbWF0aWNhbGx5LiAgKFdoZW4geW91IGNoYW5nZSB0aGUgbWFr ZWZpbGUgdG8gYWRkIC1sZGwsIHlvdSBtdXN0Ci0rKiogYWxzbyBhZGQgLURMVUFfVVNFX0RMT1BF Ti4pCi0rKiogSWYgeW91IGRvIG5vdCB3YW50IGFueSBraW5kIG9mIGR5bmFtaWMgbGlicmFyeSwg dW5kZWZpbmUgYWxsIHRoZXNlCi0rKiogb3B0aW9ucy4KLSsqKiBCeSBkZWZhdWx0LCBfV0lOMzIg Z2V0cyBMVUFfRExfRExMIGFuZCBNQUMgT1MgWCBnZXRzIExVQV9ETF9EWUxELgotKyovCi0rI2lm IGRlZmluZWQoTFVBX1VTRV9ETE9QRU4pCi0rI2RlZmluZSBMVUFfRExfRExPUEVOCi0rI2VuZGlm Ci0rCi0rI2lmIGRlZmluZWQoTFVBX1dJTikKLSsjZGVmaW5lIExVQV9ETF9ETEwKLSsjZW5kaWYK LSsKLSsKLSsvKgotK0BAIExVQUlfRVhUUkFTUEFDRSBhbGxvd3MgeW91IHRvIGFkZCB1c2VyLXNw ZWNpZmljIGRhdGEgaW4gYSBsdWFfU3RhdGUKLStAKiAodGhlIGRhdGEgZ29lcyBqdXN0ICpiZWZv cmUqIHRoZSBsdWFfU3RhdGUgcG9pbnRlcikuCi0rKiogQ0hBTkdFIChkZWZpbmUpIHRoaXMgaWYg eW91IHJlYWxseSBuZWVkIHRoYXQuIFRoaXMgdmFsdWUgbXVzdCBiZQotKyoqIGEgbXVsdGlwbGUg b2YgdGhlIG1heGltdW0gYWxpZ25tZW50IHJlcXVpcmVkIGZvciB5b3VyIG1hY2hpbmUuCi0rKi8K LSsjZGVmaW5lIExVQUlfRVhUUkFTUEFDRQkJMAotKwotKwotKy8qCi0rQEAgbHVhaV91c2Vyc3Rh dGUqIGFsbG93IHVzZXItc3BlY2lmaWMgYWN0aW9ucyBvbiB0aHJlYWRzLgotKyoqIENIQU5HRSB0 aGVtIGlmIHlvdSBkZWZpbmVkIExVQUlfRVhUUkFTUEFDRSBhbmQgbmVlZCB0byBkbyBzb21ldGhp bmcKLSsqKiBleHRyYSB3aGVuIGEgdGhyZWFkIGlzIGNyZWF0ZWQvZGVsZXRlZC9yZXN1bWVkL3lp ZWxkZWQuCi0rKi8KLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlb3BlbihMKQkJKCh2b2lkKUwpCi0r I2RlZmluZSBsdWFpX3VzZXJzdGF0ZWNsb3NlKEwpCQkoKHZvaWQpTCkKLSsjZGVmaW5lIGx1YWlf dXNlcnN0YXRldGhyZWFkKEwsTDEpCSgodm9pZClMKQotKyNkZWZpbmUgbHVhaV91c2Vyc3RhdGVm cmVlKEwpCQkoKHZvaWQpTCkKLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlcmVzdW1lKEwsbikJKCh2 b2lkKUwpCi0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZXlpZWxkKEwsbikJKCh2b2lkKUwpCi0rCi0r Ci0rLyoKLStAQCBMVUFfSU5URlJNTEVOIGlzIHRoZSBsZW5ndGggbW9kaWZpZXIgZm9yIGludGVn ZXIgY29udmVyc2lvbnMKLStAKiBpbiAnc3RyaW5nLmZvcm1hdCcuCi0rQEAgTFVBX0lOVEZSTV9U IGlzIHRoZSBpbnRlZ2VyIHR5cGUgY29ycmVzcG9kaW5nIHRvIHRoZSBwcmV2aW91cyBsZW5ndGgK LStAKiBtb2RpZmllci4KLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3VyIHN5c3RlbSBzdXBwb3J0cyBs b25nIGxvbmcgb3IgZG9lcyBub3Qgc3VwcG9ydCBsb25nLgotKyovCi0rCi0rI2lmIGRlZmluZWQo TFVBX1VTRUxPTkdMT05HKQotKwotKyNkZWZpbmUgTFVBX0lOVEZSTUxFTgkJImxsIgotKyNkZWZp bmUgTFVBX0lOVEZSTV9UCQlsb25nIGxvbmcKLSsKLSsjZWxzZQotKwotKyNkZWZpbmUgTFVBX0lO VEZSTUxFTgkJImwiCi0rI2RlZmluZSBMVUFfSU5URlJNX1QJCWxvbmcKLSsKLSsjZW5kaWYKLSsK LSsKLSsKLSsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ICovCi0rCi0rLyoKLSsqKiBMb2NhbCBjb25maWd1cmF0aW9u LiBZb3UgY2FuIHVzZSB0aGlzIHNwYWNlIHRvIGFkZCB5b3VyIHJlZGVmaW5pdGlvbnMKLSsqKiB3 aXRob3V0IG1vZGlmeWluZyB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBmaWxlLgotKyovCi0rCi0rCi0r Ci0rI2VuZGlmCi0rCmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC9sdWEtNS4xLjMtYXV0 b2dlbi5zaC5kaWZmIGIvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9nZW4uc2guZGlm ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDRjZmI4YS4uMDAwMDAwMAotLS0gYS9w YXRjaGVzL2x1YS01LjEuNC9sdWEtNS4xLjMtYXV0b2dlbi5zaC5kaWZmCisrKyAvZGV2L251bGwK QEAgLTEsMjYgKzAsMCBAQAotU3ViamVjdDogQWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45 OTogYWRkIGF1dG9nZW4uc2gKLUZyb206IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgot Ci1UaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0byBwdHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1l bnUgZW50cnkgdW5kZXIKLXNjcmlwdGluZyBsYW5ndWFnZXMuIEFuZCBhIHBhdGNoIHRoYXQgbWFr ZXMgaXQgcG9zc2libGUgdG8gdXNlIGF1dG9jb25mCi10byBidWlsZC4KLQotVGhpcyBwYXJ0IG9m IHRoZSBwYXRjaCBhZGRzIGFuIGF1dG9nZW4uc2ggc2NyaXB0LgotCi1TaWduZWQtb2ZmLWJ5OiBF cndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3 ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KLQotLS0tCi0gYXV0b2dlbi5zaCB8ICAg IDUgKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCi0KLUluZGV4OiBsdWEt NS4xLjMvYXV0b2dlbi5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAotKysrIGx1YS01LjEu My9hdXRvZ2VuLnNoCi1AQCAtMCwwICsxLDUgQEAKLSsjIS9iaW4vc2gKLSsKLSthdXRvcmVjb25m IC1mdmkKLSsKLStlY2hvICJOb3cgcnVuIC4vY29uZmlndXJlIgpkaWZmIC0tZ2l0IGEvcGF0Y2hl cy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9tYWtpemUuZGlmZiBiL3BhdGNoZXMvbHVhLTUuMS40 L2x1YS01LjEuMy1hdXRvbWFraXplLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDdmYTM4MTQuLjAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9t YWtpemUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCwwIEBACi1TdWJqZWN0OiBBZGQg bHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiBhZGQgYXV0b21ha2UgZmlsZXMKLUZyb206IEVy d2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgotCi1UaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9y dCB0byBwdHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1lbnUgZW50cnkgdW5kZXIKLXNjcmlwdGluZyBs YW5ndWFnZXMuIEFuZCBhIHBhdGNoIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gdXNlIGF1dG9j b25mCi10byBidWlsZC4KLQotVGhpcyBwYXJ0IG9mIHRoZSBwYXRjaCBhZGRzIHRoZSBhdXRvbWFr ZSBmaWxlcy4KLQotU2lnbmVkLW9mZi1ieTogRXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+ Ci1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXgu ZGU+Ci0KLS0tLQotIE1ha2VmaWxlLmFtICAgICAgfCAgICAzICsrKwotIGRvYy9NYWtlZmlsZS5h bSAgfCAgICA1ICsrKysrCi0gZXRjL01ha2VmaWxlLmFtICB8ICAgIDggKysrKysrKysKLSBzcmMv TWFrZWZpbGUuYW0gIHwgICA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKLSB0ZXN0L01ha2VmaWxlLmFtIHwgICAgNSArKysrKwotIDUgZmlsZXMgY2hhbmdl ZCwgNjYgaW5zZXJ0aW9ucygrKQotCi1JbmRleDogbHVhLTUuMS4zL2RvYy9NYWtlZmlsZS5hbQot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAotKysrIGx1YS01LjEuMy9kb2MvTWFrZWZpbGUuYW0K LUBAIC0wLDAgKzEsNSBAQAotK21hbjFfTUFOUyA9IGx1YS4xIGx1YWMuMQotKwotK0VYVFJBX0RJ U1QgPSBcCi0rCWNvbnRlbnRzLmh0bWwgIGx1YS4xICAgbHVhYy5odG1sICBsdWEuaHRtbCAgICAg bWFudWFsLmh0bWwgXAotKwlsb2dvLmdpZiAgICAgICBsdWFjLjEgIGx1YS5jc3MgICAgcmVhZG1l Lmh0bWwKLUluZGV4OiBsdWEtNS4xLjMvZXRjL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCi0rKysgbHVhLTUuMS4zL2V0Yy9NYWtlZmlsZS5hbQotQEAgLTAsMCArMSw4IEBA Ci0raW5jbHVkZV9IRUFERVJTID0gbHVhLmhwcAotKwotK3BrZ2NvbmZpZ2RpciA9ICQobGliZGly KS9wa2djb25maWcKLStwa2djb25maWdfREFUQSA9IGx1YS5wYwotKwotK0VYVFJBX0RJU1QgPSBc Ci0rCWFsbC5jICAgICAgbHVhLmljbyAgICBsdWEucGMuaW4gIG5vcGFyc2VyLmMgIHN0cmljdC5s dWEgXAotKwlsdWF2cy5iYXQgIG1pbi5jICAgICAgUkVBRE1FCi1JbmRleDogbHVhLTUuMS4zL01h a2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgbHVhLTUuMS4zL01ha2Vm aWxlLmFtCi1AQCAtMCwwICsxLDMgQEAKLStTVUJESVJTID0gc3JjIGRvYyBldGMgdGVzdAotKwot K0VYVFJBX0RJU1QgPSBhdXRvZ2VuLnNoIENPUFlSSUdIVCBISVNUT1JZIElOU1RBTEwgUkVBRE1F Ci1JbmRleDogbHVhLTUuMS4zL3NyYy9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAotKysrIGx1YS01LjEuMy9zcmMvTWFrZWZpbGUuYW0KLUBAIC0wLDAgKzEsNDUgQEAKLStB TV9DRkxBR1MgPSAtV2FsbAotKwotK2luY2x1ZGVfSEVBREVSUyA9IGx1YS5oIGx1YWxpYi5oIGxh dXhsaWIuaAotK25vZGlzdF9pbmNsdWRlX0hFQURFUlMgPSBsdWFjb25mLmgKLSsKLStsaWJfTFRM SUJSQVJJRVMgPSBsaWJsdWEubGEKLStsaWJsdWFfbGFfTERGTEFHUyA9IC1yZWxlYXNlIDUuMS4z Ci0rbGlibHVhX2xhX1NPVVJDRVMgPSBcCi0rCWxhcGkuYyBsY29kZS5jIGxkZWJ1Zy5jIGxkby5j IGxkdW1wLmMgbGZ1bmMuYyBsZ2MuYyBsbGV4LmMgbG1lbS5jIFwKLSsJbG9iamVjdC5jIGxvcGNv ZGVzLmMgbHBhcnNlci5jIGxzdGF0ZS5jIGxzdHJpbmcuYyBsdGFibGUuYyBsdG0uYyAgXAotKwls dW5kdW1wLmMgbHZtLmMgbHppby5jIFwKLSsJbGF1eGxpYi5jIGxiYXNlbGliLmMgbGRibGliLmMg bGlvbGliLmMgbG1hdGhsaWIuYyBsb3NsaWIuYyBsdGFibGliLmMgXAotKwlsc3RybGliLmMgbG9h ZGxpYi5jIGxpbml0LmMgXAotKwlsYXBpLmggbGRlYnVnLmggbGdjLmggbG1lbS5oIGxwYXJzZXIu aCBsdGFibGUuaCBsemlvLmggbGRvLmggbGxleC5oIFwKLSsJbG9iamVjdC5oIGxzdGF0ZS5oIGx0 bS5oIGx1bmR1bXAuaCBsY29kZS5oIGxmdW5jLmggbGxpbWl0cy5oIGxvcGNvZGVzLmggXAotKwls c3RyaW5nLmggbHZtLmgKLSsKLStiaW5fUFJPR1JBTVMgPSBsdWEgbHVhYwotKwotK2x1YV9TT1VS Q0VTID0gbHVhLmMKLStsdWFfTERBREQgPSBsaWJsdWEubGEgQExVQV9MSUJTQAotK2x1YV9ERVBF TkRFTkNJRVMgPSBsaWJsdWEubGEKLSsKLStsdWFjX1NPVVJDRVMgPSBsdWFjLmMgcHJpbnQuYwot K2x1YWNfTERBREQgPSBsaWJsdWEubGEgQExVQV9MSUJTQAotK2x1YWNfREVQRU5ERU5DSUVTID0g bGlibHVhLmxhCi0rCi0rIyBsdWFjIG11c3QgYmUgbGlua2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBp dCB1c2VzIGZ1bmN0aW9ucyB0aGF0Ci0rIyBkb24ndCBnZXQgZXhwb3J0ZWQgdG8gdGhlIHNoYXJl ZCBvYmplY3QKLStsdWFjX0xERkxBR1MgPSAtc3RhdGljCi0rCi0rRVhUUkFfRElTVCA9IGx1YWNv bmYuaC50ZW1wbGF0ZS5pbgotK0JVSUxUX1NPVVJDRVMgPSBsdWFjb25mLmgKLStDTEVBTkZJTEVT ID0gbHVhY29uZi5oCi0rCi0rcmVhZGxpbmVfZGVmcyA9IEBSRUFETElORV9ERUZTQAotKwotK2Vk aXQgPSAJc2VkIFwKLSsJICAtZSAncywlbHVhX2RhdGFkaXIlLCQoZGF0YWRpciksZycgXAotKwkg IC1lICdzLCVsdWFfbGliZGlyJSwkKGxpYmRpciksZycKLSsKLStsdWFjb25mLmggOiBsdWFjb25m LmgudGVtcGxhdGUKLSsJcm0gLWYgbHVhY29uZi5oIGx1YWNvbmYuaC50bXAKLSsJJChlZGl0KSBs dWFjb25mLmgudGVtcGxhdGUgPiBsdWFjb25mLmgudG1wCi0rCW12IGx1YWNvbmYuaC50bXAgbHVh Y29uZi5oCi1JbmRleDogbHVhLTUuMS4zL3Rlc3QvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwKLSsrKyBsdWEtNS4xLjMvdGVzdC9NYWtlZmlsZS5hbQotQEAgLTAsMCArMSw1 IEBACi0rRVhUUkFfRElTVCA9IFwKLSsJYmlzZWN0Lmx1YSAgZW52Lmx1YSAgICAgICAgIGZpYi5s dWEgICAgICBsaWZlLmx1YSAgICAgICAgICBwcmludGYubHVhIFwKLSsJc2lldmUubHVhICAgdHJh Y2UtY2FsbHMubHVhIGNmLmx1YSAgICAgICBmYWN0b3JpYWwubHVhICAgICBnbG9iYWxzLmx1YSBc Ci0rCWx1YWMubHVhICAgIFJFQURNRSAgICAgICAgICBzb3J0Lmx1YSAgICAgdHJhY2UtZ2xvYmFs cy5sdWEgZWNoby5sdWEgXAotKwlmaWJmb3IubHVhICBoZWxsby5sdWEgICAgICAgcmVhZG9ubHku bHVhIHRhYmxlLmx1YSAgICAgICAgIHhkLmx1YQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4x LjQvbHVhLTUuMS4zLXJlbW92ZS1NYWtlZmlsZS5kaWZmIGIvcGF0Y2hlcy9sdWEtNS4xLjQvbHVh LTUuMS4zLXJlbW92ZS1NYWtlZmlsZS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAxNzJlMzFlLi4wMDAwMDAwCi0tLSBhL3BhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1yZW1v dmUtTWFrZWZpbGUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDE0OSArMCwwIEBACi1TdWJqZWN0 OiBBZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiByZW1vdmUgb2xkIE1ha2VmaWxlCi1G cm9tOiBFcndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KLQotVGhpcyBwYXRjaCBhZGQgbHVh IHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyCi1zY3Jp cHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVz ZSBhdXRvY29uZgotdG8gYnVpbGQuCi0KLVRoaXMgcGFydCBvZiB0aGUgcGF0Y2ggcmVtb3ZlcyB0 aGUgb2xkIE1ha2VmaWxlLgotCi1TaWduZWQtb2ZmLWJ5OiBFcndpbiBSb2wgPGVyd2luQGVyd2lu cm9sLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5n dXRyb25peC5kZT4KLQotLS0tCi0gTWFrZWZpbGUgfCAgMTI4IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFu Z2VkLCAxMjggZGVsZXRpb25zKC0pCi0KLUluZGV4OiBsdWEtNS4xLjQvTWFrZWZpbGUKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBsdWEtNS4xLjQub3JpZy9NYWtlZmlsZQotKysrIC9kZXYvbnVsbAotQEAgLTEs MTI4ICswLDAgQEAKLS0jIG1ha2VmaWxlIGZvciBpbnN0YWxsaW5nIEx1YQotLSMgc2VlIElOU1RB TEwgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMKLS0jIHNlZSBzcmMvTWFrZWZpbGUgYW5k IHNyYy9sdWFjb25mLmggZm9yIGZ1cnRoZXIgY3VzdG9taXphdGlvbgotLQotLSMgPT0gQ0hBTkdF IFRIRSBTRVRUSU5HUyBCRUxPVyBUTyBTVUlUIFlPVVIgRU5WSVJPTk1FTlQgPT09PT09PT09PT09 PT09PT09PT09PT0KLS0KLS0jIFlvdXIgcGxhdGZvcm0uIFNlZSBQTEFUUyBmb3IgcG9zc2libGUg dmFsdWVzLgotLVBMQVQ9IG5vbmUKLS0KLS0jIFdoZXJlIHRvIGluc3RhbGwuIFRoZSBpbnN0YWxs YXRpb24gc3RhcnRzIGluIHRoZSBzcmMgYW5kIGRvYyBkaXJlY3RvcmllcywKLS0jIHNvIHRha2Ug Y2FyZSBpZiBJTlNUQUxMX1RPUCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC4KLS1JTlNUQUxMX1RP UD0gL3Vzci9sb2NhbAotLUlOU1RBTExfQklOPSAkKElOU1RBTExfVE9QKS9iaW4KLS1JTlNUQUxM X0lOQz0gJChJTlNUQUxMX1RPUCkvaW5jbHVkZQotLUlOU1RBTExfTElCPSAkKElOU1RBTExfVE9Q KS9saWIKLS1JTlNUQUxMX01BTj0gJChJTlNUQUxMX1RPUCkvbWFuL21hbjEKLS0jCi0tIyBZb3Ug cHJvYmFibHkgd2FudCB0byBtYWtlIElOU1RBTExfTE1PRCBhbmQgSU5TVEFMTF9DTU9EIGNvbnNp c3RlbnQgd2l0aAotLSMgTFVBX1JPT1QsIExVQV9MRElSLCBhbmQgTFVBX0NESVIgaW4gbHVhY29u Zi5oIChhbmQgYWxzbyB3aXRoIGV0Yy9sdWEucGMpLgotLUlOU1RBTExfTE1PRD0gJChJTlNUQUxM X1RPUCkvc2hhcmUvbHVhLyRWCi0tSU5TVEFMTF9DTU9EPSAkKElOU1RBTExfVE9QKS9saWIvbHVh LyRWCi0tCi0tIyBIb3cgdG8gaW5zdGFsbC4gSWYgeW91ciBpbnN0YWxsIHByb2dyYW0gZG9lcyBu b3Qgc3VwcG9ydCAiLXAiLCB0aGVuIHlvdQotLSMgbWF5IGhhdmUgdG8gcnVuIHJhbmxpYiBvbiB0 aGUgaW5zdGFsbGVkIGxpYmx1YS5hIChkbyAibWFrZSByYW5saWIiKS4KLS1JTlNUQUxMPSBpbnN0 YWxsIC1wCi0tSU5TVEFMTF9FWEVDPSAkKElOU1RBTEwpIC1tIDA3NTUKLS1JTlNUQUxMX0RBVEE9 ICQoSU5TVEFMTCkgLW0gMDY0NAotLSMKLS0jIElmIHlvdSBkb24ndCBoYXZlIGluc3RhbGwgeW91 IGNhbiB1c2UgY3AgaW5zdGVhZC4KLS0jIElOU1RBTEw9IGNwIC1wCi0tIyBJTlNUQUxMX0VYRUM9 ICQoSU5TVEFMTCkKLS0jIElOU1RBTExfREFUQT0gJChJTlNUQUxMKQotLQotLSMgVXRpbGl0aWVz LgotLU1LRElSPSBta2RpciAtcAotLVJBTkxJQj0gcmFubGliCi0tCi0tIyA9PSBFTkQgT0YgVVNF UiBTRVRUSU5HUy4gTk8gTkVFRCBUTyBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FID09 PT09PT09PQotLQotLSMgQ29udmVuaWVuY2UgcGxhdGZvcm1zIHRhcmdldHMuCi0tUExBVFM9IGFp eCBhbnNpIGJzZCBmcmVlYnNkIGdlbmVyaWMgbGludXggbWFjb3N4IG1pbmd3IHBvc2l4IHNvbGFy aXMKLS0KLS0jIFdoYXQgdG8gaW5zdGFsbC4KLS1UT19CSU49IGx1YSBsdWFjCi0tVE9fSU5DPSBs dWEuaCBsdWFjb25mLmggbHVhbGliLmggbGF1eGxpYi5oIC4uL2V0Yy9sdWEuaHBwCi0tVE9fTElC PSBsaWJsdWEuYQotLVRPX01BTj0gbHVhLjEgbHVhYy4xCi0tCi0tIyBMdWEgdmVyc2lvbiBhbmQg cmVsZWFzZS4KLS1WPSA1LjEKLS1SPSA1LjEuNAotLQotLWFsbDoJJChQTEFUKQotLQotLSQoUExB VFMpIGNsZWFuOgotLQljZCBzcmMgJiYgJChNQUtFKSAkQAotLQotLXRlc3Q6CWR1bW15Ci0tCXNy Yy9sdWEgdGVzdC9oZWxsby5sdWEKLS0KLS1pbnN0YWxsOiBkdW1teQotLQljZCBzcmMgJiYgJChN S0RJUikgJChJTlNUQUxMX0JJTikgJChJTlNUQUxMX0lOQykgJChJTlNUQUxMX0xJQikgJChJTlNU QUxMX01BTikgJChJTlNUQUxMX0xNT0QpICQoSU5TVEFMTF9DTU9EKQotLQljZCBzcmMgJiYgJChJ TlNUQUxMX0VYRUMpICQoVE9fQklOKSAkKElOU1RBTExfQklOKQotLQljZCBzcmMgJiYgJChJTlNU QUxMX0RBVEEpICQoVE9fSU5DKSAkKElOU1RBTExfSU5DKQotLQljZCBzcmMgJiYgJChJTlNUQUxM X0RBVEEpICQoVE9fTElCKSAkKElOU1RBTExfTElCKQotLQljZCBkb2MgJiYgJChJTlNUQUxMX0RB VEEpICQoVE9fTUFOKSAkKElOU1RBTExfTUFOKQotLQotLXJhbmxpYjoKLS0JY2Qgc3JjICYmIGNk ICQoSU5TVEFMTF9MSUIpICYmICQoUkFOTElCKSAkKFRPX0xJQikKLS0KLS1sb2NhbDoKLS0JJChN QUtFKSBpbnN0YWxsIElOU1RBTExfVE9QPS4uCi0tCi0tbm9uZToKLS0JQGVjaG8gIlBsZWFzZSBk byIKLS0JQGVjaG8gIiAgIG1ha2UgUExBVEZPUk0iCi0tCUBlY2hvICJ3aGVyZSBQTEFURk9STSBp cyBvbmUgb2YgdGhlc2U6IgotLQlAZWNobyAiICAgJChQTEFUUykiCi0tCUBlY2hvICJTZWUgSU5T VEFMTCBmb3IgY29tcGxldGUgaW5zdHJ1Y3Rpb25zLiIKLS0KLS0jIG1ha2UgbWF5IGdldCBjb25m dXNlZCB3aXRoIHRlc3QvIGFuZCBJTlNUQUxMIGluIGEgY2FzZS1pbnNlbnNpdGl2ZSBPUwotLWR1 bW15OgotLQotLSMgZWNobyBjb25maWcgcGFyYW1ldGVycwotLWVjaG86Ci0tCUBlY2hvICIiCi0t CUBlY2hvICJUaGVzZSBhcmUgdGhlIHBhcmFtZXRlcnMgY3VycmVudGx5IHNldCBpbiBzcmMvTWFr ZWZpbGUgdG8gYnVpbGQgTHVhICRSOiIKLS0JQGVjaG8gIiIKLS0JQGNkIHNyYyAmJiAkKE1BS0Up IC1zIGVjaG8KLS0JQGVjaG8gIiIKLS0JQGVjaG8gIlRoZXNlIGFyZSB0aGUgcGFyYW1ldGVycyBj dXJyZW50bHkgc2V0IGluIE1ha2VmaWxlIHRvIGluc3RhbGwgTHVhICRSOiIKLS0JQGVjaG8gIiIK LS0JQGVjaG8gIlBMQVQgPSAkKFBMQVQpIgotLQlAZWNobyAiSU5TVEFMTF9UT1AgPSAkKElOU1RB TExfVE9QKSIKLS0JQGVjaG8gIklOU1RBTExfQklOID0gJChJTlNUQUxMX0JJTikiCi0tCUBlY2hv ICJJTlNUQUxMX0lOQyA9ICQoSU5TVEFMTF9JTkMpIgotLQlAZWNobyAiSU5TVEFMTF9MSUIgPSAk KElOU1RBTExfTElCKSIKLS0JQGVjaG8gIklOU1RBTExfTUFOID0gJChJTlNUQUxMX01BTikiCi0t CUBlY2hvICJJTlNUQUxMX0xNT0QgPSAkKElOU1RBTExfTE1PRCkiCi0tCUBlY2hvICJJTlNUQUxM X0NNT0QgPSAkKElOU1RBTExfQ01PRCkiCi0tCUBlY2hvICJJTlNUQUxMX0VYRUMgPSAkKElOU1RB TExfRVhFQykiCi0tCUBlY2hvICJJTlNUQUxMX0RBVEEgPSAkKElOU1RBTExfREFUQSkiCi0tCUBl Y2hvICIiCi0tCUBlY2hvICJTZWUgYWxzbyBzcmMvbHVhY29uZi5oIC4iCi0tCUBlY2hvICIiCi0t Ci0tIyBlY2hvIHByaXZhdGUgY29uZmlnIHBhcmFtZXRlcnMKLS1wZWNobzoKLS0JQGVjaG8gIlYg PSAkKFYpIgotLQlAZWNobyAiUiA9ICQoUikiCi0tCUBlY2hvICJUT19CSU4gPSAkKFRPX0JJTiki Ci0tCUBlY2hvICJUT19JTkMgPSAkKFRPX0lOQykiCi0tCUBlY2hvICJUT19MSUIgPSAkKFRPX0xJ QikiCi0tCUBlY2hvICJUT19NQU4gPSAkKFRPX01BTikiCi0tCi0tIyBlY2hvIGNvbmZpZyBwYXJh bWV0ZXJzIGFzIEx1YSBjb2RlCi0tIyB1bmNvbW1lbnQgdGhlIGxhc3Qgc2VkIGV4cHJlc3Npb24g aWYgeW91IHdhbnQgbmlsIGluc3RlYWQgb2YgZW1wdHkgc3RyaW5ncwotLWxlY2hvOgotLQlAZWNo byAiLS0gaW5zdGFsbGF0aW9uIHBhcmFtZXRlcnMgZm9yIEx1YSAkUiIKLS0JQGVjaG8gIlZFUlNJ T04gPSAnJFYnIgotLQlAZWNobyAiUkVMRUFTRSA9ICckUiciCi0tCUAkKE1BS0UpIGVjaG8gfCBn cmVwID0gfCBzZWQgLWUgJ3MvPSAvPSAiLycgLWUgJ3MvJCQvIi8nICMtZSAncy8iIi9uaWwvJwot LQlAZWNobyAiLS0gRU9GIgotLQotLSMgbGlzdCB0YXJnZXRzIHRoYXQgZG8gbm90IGNyZWF0ZSBm aWxlcyAoYnV0IG5vdCBhbGwgbWFrZXMgdW5kZXJzdGFuZCAuUEhPTlkpCi0tLlBIT05ZOiBhbGwg JChQTEFUUykgY2xlYW4gdGVzdCBpbnN0YWxsIGxvY2FsIG5vbmUgZHVtbXkgZWNobyBwZWNobyBs ZWNobwotLQotLSMgKGVuZCBvZiBNYWtlZmlsZSkKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUu MS40L3JlbW92ZS1NYWtlZmlsZS5kaWZmIGIvcGF0Y2hlcy9sdWEtNS4xLjQvcmVtb3ZlLU1ha2Vm aWxlLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcyZTMxZQotLS0g L2Rldi9udWxsCisrKyBiL3BhdGNoZXMvbHVhLTUuMS40L3JlbW92ZS1NYWtlZmlsZS5kaWZmCkBA IC0wLDAgKzEsMTQ5IEBACitTdWJqZWN0OiBBZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5 OiByZW1vdmUgb2xkIE1ha2VmaWxlCitGcm9tOiBFcndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNv bT4KKworVGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMg YSBtZW51IGVudHJ5IHVuZGVyCitzY3JpcHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0 IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSBhdXRvY29uZgordG8gYnVpbGQuCisKK1RoaXMgcGFy dCBvZiB0aGUgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIE1ha2VmaWxlLgorCitTaWduZWQtb2ZmLWJ5 OiBFcndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBT Y2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KKworLS0tCisgTWFrZWZpbGUgfCAg MTI4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMjggZGVsZXRpb25zKC0pCisKK0luZGV4OiBs dWEtNS4xLjQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsdWEtNS4xLjQub3JpZy9NYWtlZmls ZQorKysrIC9kZXYvbnVsbAorQEAgLTEsMTI4ICswLDAgQEAKKy0jIG1ha2VmaWxlIGZvciBpbnN0 YWxsaW5nIEx1YQorLSMgc2VlIElOU1RBTEwgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMK Ky0jIHNlZSBzcmMvTWFrZWZpbGUgYW5kIHNyYy9sdWFjb25mLmggZm9yIGZ1cnRoZXIgY3VzdG9t aXphdGlvbgorLQorLSMgPT0gQ0hBTkdFIFRIRSBTRVRUSU5HUyBCRUxPVyBUTyBTVUlUIFlPVVIg RU5WSVJPTk1FTlQgPT09PT09PT09PT09PT09PT09PT09PT0KKy0KKy0jIFlvdXIgcGxhdGZvcm0u IFNlZSBQTEFUUyBmb3IgcG9zc2libGUgdmFsdWVzLgorLVBMQVQ9IG5vbmUKKy0KKy0jIFdoZXJl IHRvIGluc3RhbGwuIFRoZSBpbnN0YWxsYXRpb24gc3RhcnRzIGluIHRoZSBzcmMgYW5kIGRvYyBk aXJlY3RvcmllcywKKy0jIHNvIHRha2UgY2FyZSBpZiBJTlNUQUxMX1RPUCBpcyBub3QgYW4gYWJz b2x1dGUgcGF0aC4KKy1JTlNUQUxMX1RPUD0gL3Vzci9sb2NhbAorLUlOU1RBTExfQklOPSAkKElO U1RBTExfVE9QKS9iaW4KKy1JTlNUQUxMX0lOQz0gJChJTlNUQUxMX1RPUCkvaW5jbHVkZQorLUlO U1RBTExfTElCPSAkKElOU1RBTExfVE9QKS9saWIKKy1JTlNUQUxMX01BTj0gJChJTlNUQUxMX1RP UCkvbWFuL21hbjEKKy0jCistIyBZb3UgcHJvYmFibHkgd2FudCB0byBtYWtlIElOU1RBTExfTE1P RCBhbmQgSU5TVEFMTF9DTU9EIGNvbnNpc3RlbnQgd2l0aAorLSMgTFVBX1JPT1QsIExVQV9MRElS LCBhbmQgTFVBX0NESVIgaW4gbHVhY29uZi5oIChhbmQgYWxzbyB3aXRoIGV0Yy9sdWEucGMpLgor LUlOU1RBTExfTE1PRD0gJChJTlNUQUxMX1RPUCkvc2hhcmUvbHVhLyRWCistSU5TVEFMTF9DTU9E PSAkKElOU1RBTExfVE9QKS9saWIvbHVhLyRWCistCistIyBIb3cgdG8gaW5zdGFsbC4gSWYgeW91 ciBpbnN0YWxsIHByb2dyYW0gZG9lcyBub3Qgc3VwcG9ydCAiLXAiLCB0aGVuIHlvdQorLSMgbWF5 IGhhdmUgdG8gcnVuIHJhbmxpYiBvbiB0aGUgaW5zdGFsbGVkIGxpYmx1YS5hIChkbyAibWFrZSBy YW5saWIiKS4KKy1JTlNUQUxMPSBpbnN0YWxsIC1wCistSU5TVEFMTF9FWEVDPSAkKElOU1RBTEwp IC1tIDA3NTUKKy1JTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkgLW0gMDY0NAorLSMKKy0jIElmIHlv dSBkb24ndCBoYXZlIGluc3RhbGwgeW91IGNhbiB1c2UgY3AgaW5zdGVhZC4KKy0jIElOU1RBTEw9 IGNwIC1wCistIyBJTlNUQUxMX0VYRUM9ICQoSU5TVEFMTCkKKy0jIElOU1RBTExfREFUQT0gJChJ TlNUQUxMKQorLQorLSMgVXRpbGl0aWVzLgorLU1LRElSPSBta2RpciAtcAorLVJBTkxJQj0gcmFu bGliCistCistIyA9PSBFTkQgT0YgVVNFUiBTRVRUSU5HUy4gTk8gTkVFRCBUTyBDSEFOR0UgQU5Z VEhJTkcgQkVMT1cgVEhJUyBMSU5FID09PT09PT09PQorLQorLSMgQ29udmVuaWVuY2UgcGxhdGZv cm1zIHRhcmdldHMuCistUExBVFM9IGFpeCBhbnNpIGJzZCBmcmVlYnNkIGdlbmVyaWMgbGludXgg bWFjb3N4IG1pbmd3IHBvc2l4IHNvbGFyaXMKKy0KKy0jIFdoYXQgdG8gaW5zdGFsbC4KKy1UT19C SU49IGx1YSBsdWFjCistVE9fSU5DPSBsdWEuaCBsdWFjb25mLmggbHVhbGliLmggbGF1eGxpYi5o IC4uL2V0Yy9sdWEuaHBwCistVE9fTElCPSBsaWJsdWEuYQorLVRPX01BTj0gbHVhLjEgbHVhYy4x CistCistIyBMdWEgdmVyc2lvbiBhbmQgcmVsZWFzZS4KKy1WPSA1LjEKKy1SPSA1LjEuNAorLQor LWFsbDoJJChQTEFUKQorLQorLSQoUExBVFMpIGNsZWFuOgorLQljZCBzcmMgJiYgJChNQUtFKSAk QAorLQorLXRlc3Q6CWR1bW15CistCXNyYy9sdWEgdGVzdC9oZWxsby5sdWEKKy0KKy1pbnN0YWxs OiBkdW1teQorLQljZCBzcmMgJiYgJChNS0RJUikgJChJTlNUQUxMX0JJTikgJChJTlNUQUxMX0lO QykgJChJTlNUQUxMX0xJQikgJChJTlNUQUxMX01BTikgJChJTlNUQUxMX0xNT0QpICQoSU5TVEFM TF9DTU9EKQorLQljZCBzcmMgJiYgJChJTlNUQUxMX0VYRUMpICQoVE9fQklOKSAkKElOU1RBTExf QklOKQorLQljZCBzcmMgJiYgJChJTlNUQUxMX0RBVEEpICQoVE9fSU5DKSAkKElOU1RBTExfSU5D KQorLQljZCBzcmMgJiYgJChJTlNUQUxMX0RBVEEpICQoVE9fTElCKSAkKElOU1RBTExfTElCKQor LQljZCBkb2MgJiYgJChJTlNUQUxMX0RBVEEpICQoVE9fTUFOKSAkKElOU1RBTExfTUFOKQorLQor LXJhbmxpYjoKKy0JY2Qgc3JjICYmIGNkICQoSU5TVEFMTF9MSUIpICYmICQoUkFOTElCKSAkKFRP X0xJQikKKy0KKy1sb2NhbDoKKy0JJChNQUtFKSBpbnN0YWxsIElOU1RBTExfVE9QPS4uCistCist bm9uZToKKy0JQGVjaG8gIlBsZWFzZSBkbyIKKy0JQGVjaG8gIiAgIG1ha2UgUExBVEZPUk0iCist CUBlY2hvICJ3aGVyZSBQTEFURk9STSBpcyBvbmUgb2YgdGhlc2U6IgorLQlAZWNobyAiICAgJChQ TEFUUykiCistCUBlY2hvICJTZWUgSU5TVEFMTCBmb3IgY29tcGxldGUgaW5zdHJ1Y3Rpb25zLiIK Ky0KKy0jIG1ha2UgbWF5IGdldCBjb25mdXNlZCB3aXRoIHRlc3QvIGFuZCBJTlNUQUxMIGluIGEg Y2FzZS1pbnNlbnNpdGl2ZSBPUworLWR1bW15OgorLQorLSMgZWNobyBjb25maWcgcGFyYW1ldGVy cworLWVjaG86CistCUBlY2hvICIiCistCUBlY2hvICJUaGVzZSBhcmUgdGhlIHBhcmFtZXRlcnMg Y3VycmVudGx5IHNldCBpbiBzcmMvTWFrZWZpbGUgdG8gYnVpbGQgTHVhICRSOiIKKy0JQGVjaG8g IiIKKy0JQGNkIHNyYyAmJiAkKE1BS0UpIC1zIGVjaG8KKy0JQGVjaG8gIiIKKy0JQGVjaG8gIlRo ZXNlIGFyZSB0aGUgcGFyYW1ldGVycyBjdXJyZW50bHkgc2V0IGluIE1ha2VmaWxlIHRvIGluc3Rh bGwgTHVhICRSOiIKKy0JQGVjaG8gIiIKKy0JQGVjaG8gIlBMQVQgPSAkKFBMQVQpIgorLQlAZWNo byAiSU5TVEFMTF9UT1AgPSAkKElOU1RBTExfVE9QKSIKKy0JQGVjaG8gIklOU1RBTExfQklOID0g JChJTlNUQUxMX0JJTikiCistCUBlY2hvICJJTlNUQUxMX0lOQyA9ICQoSU5TVEFMTF9JTkMpIgor LQlAZWNobyAiSU5TVEFMTF9MSUIgPSAkKElOU1RBTExfTElCKSIKKy0JQGVjaG8gIklOU1RBTExf TUFOID0gJChJTlNUQUxMX01BTikiCistCUBlY2hvICJJTlNUQUxMX0xNT0QgPSAkKElOU1RBTExf TE1PRCkiCistCUBlY2hvICJJTlNUQUxMX0NNT0QgPSAkKElOU1RBTExfQ01PRCkiCistCUBlY2hv ICJJTlNUQUxMX0VYRUMgPSAkKElOU1RBTExfRVhFQykiCistCUBlY2hvICJJTlNUQUxMX0RBVEEg PSAkKElOU1RBTExfREFUQSkiCistCUBlY2hvICIiCistCUBlY2hvICJTZWUgYWxzbyBzcmMvbHVh Y29uZi5oIC4iCistCUBlY2hvICIiCistCistIyBlY2hvIHByaXZhdGUgY29uZmlnIHBhcmFtZXRl cnMKKy1wZWNobzoKKy0JQGVjaG8gIlYgPSAkKFYpIgorLQlAZWNobyAiUiA9ICQoUikiCistCUBl Y2hvICJUT19CSU4gPSAkKFRPX0JJTikiCistCUBlY2hvICJUT19JTkMgPSAkKFRPX0lOQykiCist CUBlY2hvICJUT19MSUIgPSAkKFRPX0xJQikiCistCUBlY2hvICJUT19NQU4gPSAkKFRPX01BTiki CistCistIyBlY2hvIGNvbmZpZyBwYXJhbWV0ZXJzIGFzIEx1YSBjb2RlCistIyB1bmNvbW1lbnQg dGhlIGxhc3Qgc2VkIGV4cHJlc3Npb24gaWYgeW91IHdhbnQgbmlsIGluc3RlYWQgb2YgZW1wdHkg c3RyaW5ncworLWxlY2hvOgorLQlAZWNobyAiLS0gaW5zdGFsbGF0aW9uIHBhcmFtZXRlcnMgZm9y IEx1YSAkUiIKKy0JQGVjaG8gIlZFUlNJT04gPSAnJFYnIgorLQlAZWNobyAiUkVMRUFTRSA9ICck UiciCistCUAkKE1BS0UpIGVjaG8gfCBncmVwID0gfCBzZWQgLWUgJ3MvPSAvPSAiLycgLWUgJ3Mv JCQvIi8nICMtZSAncy8iIi9uaWwvJworLQlAZWNobyAiLS0gRU9GIgorLQorLSMgbGlzdCB0YXJn ZXRzIHRoYXQgZG8gbm90IGNyZWF0ZSBmaWxlcyAoYnV0IG5vdCBhbGwgbWFrZXMgdW5kZXJzdGFu ZCAuUEhPTlkpCistLlBIT05ZOiBhbGwgJChQTEFUUykgY2xlYW4gdGVzdCBpbnN0YWxsIGxvY2Fs IG5vbmUgZHVtbXkgZWNobyBwZWNobyBsZWNobworLQorLSMgKGVuZCBvZiBNYWtlZmlsZSkKZGlm ZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40L3NlcmllcyBiL3BhdGNoZXMvbHVhLTUuMS40L3Nl cmllcwppbmRleCBlY2NjNjJhLi4yYzUxZTM3IDEwMDY0NAotLS0gYS9wYXRjaGVzL2x1YS01LjEu NC9zZXJpZXMKKysrIGIvcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzCkBAIC0xLDQgKzEsMyBAQAot bHVhLTUuMS4zLXJlbW92ZS1NYWtlZmlsZS5kaWZmCi1sdWEtNS4xLjMtYXV0b2NvbmZpemUuZGlm ZgotbHVhLTUuMS4zLWF1dG9tYWtpemUuZGlmZgotbHVhLTUuMS4zLWF1dG9nZW4uc2guZGlmZgor cmVtb3ZlLU1ha2VmaWxlLmRpZmYKK2F1dG9jb25maXplLmRpZmYKK2F1dG9tYWtpemUuZGlmZgpk aWZmIC0tZ2l0IGEvcnVsZXMvbHVhLm1ha2UgYi9ydWxlcy9sdWEubWFrZQppbmRleCAxOWJiMWM1 Li41NmM3OTE4IDEwMDY0NAotLS0gYS9ydWxlcy9sdWEubWFrZQorKysgYi9ydWxlcy9sdWEubWFr ZQpAQCAtNjAsNyArNjAsNyBAQCBpZmRlZiBQVFhDT05GX0xVQV9JTlNUQUxMX0xVQUMKIAlAJChj YWxsIGluc3RhbGxfY29weSwgbHVhLCAwLCAwLCAwNzU1LCAtLCAvdXNyL2Jpbi9sdWFjKQogZW5k aWYKIGlmZGVmIFBUWENPTkZfTFVBX0lOU1RBTExfTElCTFVBCi0JQCQoY2FsbCBpbnN0YWxsX2xp YiwgbHVhLCAwLCAwLCAwNjQ0LCBsaWJsdWEtNS4xLjMpCisJQCQoY2FsbCBpbnN0YWxsX2xpYiwg bHVhLCAwLCAwLCAwNjQ0LCBsaWJsdWEtJChMVUFfVkVSU0lPTikpCiBlbmRpZgogCUAkKGNhbGwg aW5zdGFsbF9maW5pc2gsIGx1YSkKIAotLSAKMS43LjIuNQoK --_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_ Content-Type: application/octet-stream; name="0001-php5-add-some-functionalities-curl-xmlrpc-zlib.patch" Content-Description: 0001-php5-add-some-functionalities-curl-xmlrpc-zlib.patch Content-Disposition: attachment; filename="0001-php5-add-some-functionalities-curl-xmlrpc-zlib.patch"; size=4193; creation-date="Wed, 07 Dec 2011 16:00:19 GMT"; modification-date="Wed, 07 Dec 2011 16:00:19 GMT" Content-Transfer-Encoding: base64 RnJvbSA5Nzc2Zjc5MmEyY2RmZjc1YWNkODMzMDk2OTk3OTg2OTIwMjAzYjBhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8 YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgpEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTI6MjQ6 MDIgKzAxMDAKU3ViamVjdDogW1BBVENIXSBwaHA1OiBhZGQgc29tZSBmdW5jdGlvbmFsaXRpZXMg KGN1cmwsIHhtbHJwYywgemxpYikKVG86IHB0eGRpc3RAcGVuZ3V0cm9uaXguZGUKCi0tLQogcnVs ZXMvcGhwNS5pbiAgIHwgICAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIHJ1 bGVzL3BocDUubWFrZSB8ICAgMjIgKysrKysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFu Z2VkLCA0OCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3J1bGVz L3BocDUuaW4gYi9ydWxlcy9waHA1LmluCmluZGV4IDhmNzc0OTIuLjRiOGEzMDEgMTAwNjQ0Ci0t LSBhL3J1bGVzL3BocDUuaW4KKysrIGIvcnVsZXMvcGhwNS5pbgpAQCAtNSwxMCArNSwxMyBAQCBt ZW51Y29uZmlnIFBIUDUKIAl0cmlzdGF0ZQogCXByb21wdCAicGhwNSAgICAgICAgICAgICAgICAg ICAgICAgICAgIgogCXNlbGVjdCBBUEFDSEUyCWlmIFBIUDVfU0FQSV9BUFhTMgorCXNlbGVjdCBM SUJDVVJMICBpZiBQSFA1X0VYVF9DVVJMCiAJc2VsZWN0IExJQlhNTDIJaWYgUEhQNV9YTUxfTElC WE1MMgogCXNlbGVjdCBMSUJYU0xUCWlmIFBIUDVfWE1MX0xJQlhNTDJfWFNMVAogCXNlbGVjdCBN WVNRTAlpZiBQSFA1X0VYVF9NWVNRTAogCXNlbGVjdCBQSFA1X1hNTAlpZiBQSFA1X0VYVF9TT0FQ CisJc2VsZWN0IFhNTFJQQ19DIGlmIFBIUDVfWE1MX0xJQlhNTDJfWE1MUlBDCisJc2VsZWN0IFpM SUIgICAgIGlmIFBIUDVfRVhUX1pMSUIKIAogaWYgUEhQNQogCkBAIC0yMTMsNiArMjE2LDE2IEBA IGNvbmZpZyBQSFA1X1hNTF9MSUJYTUwyX1NJTVBMRVhNTAogCWhlbHAKIAkgIHNpbXBsZSB4bWwg c3VwcG9ydAogCisjICAtLXdpdGgteG1scnBjWz1ESVJdICAgICBJbmNsdWRlIFhNTFJQQy1FUEkg c3VwcG9ydAorIyAgLS13aXRoLWxpYmV4cGF0LWRpcj1ESVIgICBYTUxSUEMtRVBJOiBsaWJleHBh dCBkaXIgZm9yIFhNTFJQQy1FUEkgKGRlcHJlY2F0ZWQpCisjICAtLXdpdGgtaWNvbnYtZGlyPURJ UiAgICAgIFhNTFJQQy1FUEk6IGljb252IGRpciBmb3IgWE1MUlBDLUVQSQorCitjb25maWcgUEhQ NV9YTUxfTElCWE1MMl9YTUxSUEMKKwlib29sCisJcHJvbXB0ICJ4bWxycGMgc3VwcG9ydCIKKwlo ZWxwCisJICB4bWxycGMgc3VwcG9ydAorCiBlbmRpZgkjIFBIUDVfWE1MX0xJQlhNTDIKIAogZW5k aWYJIyBQSFA1X1hNTApAQCAtMjcyLDEyICsyODUsMTYgQEAgbWVudSAiRXh0ZW5zaW9ucyAgICAg ICAgICAgICAgICAgICIKICMgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuIFVzZSAt LXdpdGgtcGNyZS1yZWdleD1ESVIgdG8gc3BlY2lmeSBESVIKICMgICAgICAgICAgICAgICAgICAg ICAgICAgIHdoZXJlIFBDUkUncyBpbmNsdWRlIGFuZCBsaWJyYXJ5IGZpbGVzIGFyZSBsb2NhdGVk LAogIyAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHVzaW5nIGJ1bmRsZWQgbGlicmFy eS4KLSMgIC0td2l0aC16bGliWz1ESVJdICAgICAgIEluY2x1ZGUgWkxJQiBzdXBwb3J0IChyZXF1 aXJlcyB6bGliID49IDEuMC45KQotIyAgLS13aXRoLXpsaWItZGlyPTxESVI+ICAgRGVmaW5lIHRo ZSBsb2NhdGlvbiBvZiB6bGliIGluc3RhbGwgZGlyZWN0b3J5CiAjICAtLWVuYWJsZS1iY21hdGgg ICAgICAgICBFbmFibGUgYmMgc3R5bGUgcHJlY2lzaW9uIG1hdGggZnVuY3Rpb25zCiAjICAtLXdp dGgtYnoyWz1ESVJdICAgICAgICBJbmNsdWRlIEJaaXAyIHN1cHBvcnQKICMgIC0tZW5hYmxlLWNh bGVuZGFyICAgICAgIEVuYWJsZSBzdXBwb3J0IGZvciBjYWxlbmRhciBjb252ZXJzaW9uCiAjICAt LWRpc2FibGUtY3R5cGUgICAgICAgICBEaXNhYmxlIGN0eXBlIGZ1bmN0aW9ucworY29uZmlnIFBI UDVfRVhUX0NVUkwKKwlib29sCisJcHJvbXB0ICJjdXJsIgorCWhlbHAKKwkgIEVuYWJsZSBDVVJM IHN1cHBvcnQgZm9yIFBIUC4KKwogIyAgLS13aXRoLWN1cmxbPURJUl0gICAgICAgSW5jbHVkZSBD VVJMIHN1cHBvcnQKICMgIC0td2l0aC1jdXJsd3JhcHBlcnMgICAgIFVzZSBDVVJMIGZvciB1cmwg c3RyZWFtcwogIyAgLS1lbmFibGUtZGJhICAgICAgICAgICAgQnVpbGQgREJBIHdpdGggYnVpbHRp biBtb2R1bGVzLiBUbyBidWlsZCBzaGFyZWQgREJBCkBAIC00NzMsNiArNDkwLDE0IEBAIGNvbmZp ZyBQSFA1X0VYVF9TUUxJVEUzCiAJaGVscAogCSAgRW5hYmxlIHNxbGl0ZTMgc3VwcG9ydCBmb3Ig UEhQLgogCisjICAtLXdpdGgtemxpYls9RElSXSAgICAgICBJbmNsdWRlIFpMSUIgc3VwcG9ydCAo cmVxdWlyZXMgemxpYiA+PSAxLjAuOSkKKyMgIC0td2l0aC16bGliLWRpcj08RElSPiAgIERlZmlu ZSB0aGUgbG9jYXRpb24gb2YgemxpYiBpbnN0YWxsIGRpcmVjdG9yeQorY29uZmlnIFBIUDVfRVhU X1pMSUIKKwlib29sCisJcHJvbXB0ICJ6bGliIgorCWhlbHAKKwkgIEVuYWJsZSB6bGliIHN1cHBv cnQgZm9yIFBIUC4KKwogIyAgLS1kaXNhYmxlLXNwbCAgICAgICAgICAgRGlzYWJsZSBTdGFuZGFy ZCBQSFAgTGlicmFyeQogIyAgLS13aXRob3V0LXNxbGl0ZSAgICAgICAgRG8gbm90IGluY2x1ZGUg c3FsaXRlIHN1cHBvcnQuCiAjICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgLS13aXRoLXNx bGl0ZT1ESVIgdG8gc3BlY2lmeSBESVIgd2hlcmUKQEAgLTQ5MywxMCArNTE4LDYgQEAgY29uZmln IFBIUDVfRVhUX1NRTElURTMKICMgIC0tZW5hYmxlLXdkZHggICAgICAgICAgIEVuYWJsZSBXRERY IHN1cHBvcnQKICMgIC0td2l0aC1saWJleHBhdC1kaXI9RElSICAgWE1MOiBsaWJleHBhdCBpbnN0 YWxsIHByZWZpeCAoZGVwcmVjYXRlZCkKIAotIyAgLS13aXRoLXhtbHJwY1s9RElSXSAgICAgSW5j bHVkZSBYTUxSUEMtRVBJIHN1cHBvcnQKLSMgIC0td2l0aC1saWJleHBhdC1kaXI9RElSICAgWE1M UlBDLUVQSTogbGliZXhwYXQgZGlyIGZvciBYTUxSUEMtRVBJIChkZXByZWNhdGVkKQotIyAgLS13 aXRoLWljb252LWRpcj1ESVIgICAgICBYTUxSUEMtRVBJOiBpY29udiBkaXIgZm9yIFhNTFJQQy1F UEkKLQogI1BFQVI6CiAjCiAjICAtLXdpdGgtcGVhcj1ESVIgICAgICAgICBJbnN0YWxsIFBFQVIg aW4gRElSIFtQUkVGSVgvbGliL3BocF0KZGlmZiAtLWdpdCBhL3J1bGVzL3BocDUubWFrZSBiL3J1 bGVzL3BocDUubWFrZQppbmRleCAzMWI4NjcyLi4wNDk3NmE1IDEwMDY0NAotLS0gYS9ydWxlcy9w aHA1Lm1ha2UKKysrIGIvcnVsZXMvcGhwNS5tYWtlCkBAIC04Niw3ICs4Niw3IEBAIGVsc2UKIGVu ZGlmCiAKIGlmZGVmIFBUWENPTkZfUEhQNV9TQVBJX0FQWFMyCi1QSFA1X0FVVE9DT05GICs9IC0t d2l0aC1hcHhzMj0kKFNZU1JPT1QpL3Vzci9iaW4vYXB4cworUEhQNV9BVVRPQ09ORiArPSAtLXdp dGgtYXB4czI9JChQVFhESVNUX1NZU1JPT1RfVEFSR0VUKS91c3IvYmluL2FweHMKIGVsc2UKICMg UEhQNV9BVVRPQ09ORiArPSAtLXdpdGhvdXQtYXB4czIKIGVuZGlmCkBAIC0yMjMsNiArMjIzLDI2 IEBAIGVsc2UKIFBIUDVfQVVUT0NPTkYgKz0gLS1kaXNhYmxlLXNpbXBsZXhtbAogZW5kaWYKIAor aWZkZWYgUFRYQ09ORl9QSFA1X1hNTF9MSUJYTUwyX1hNTFJQQworUEhQNV9BVVRPQ09ORiArPSAt LXdpdGgteG1scnBjCitlbHNlCitQSFA1X0FVVE9DT05GICs9IC0td2l0aG91dC14bWxycGMKK2Vu ZGlmCisKK2lmZGVmIFBUWENPTkZfUEhQNV9FWFRfWkxJQgorUEhQNV9BVVRPQ09ORiArPSAtLXdp dGgtemxpYj0kKFNZU1JPT1QpL3VzcgorZWxzZQorUEhQNV9BVVRPQ09ORiArPSAtLXdpdGhvdXQt emxpYgorZW5kaWYKKworaWZkZWYgUFRYQ09ORl9QSFA1X0VYVF9DVVJMCitQSFA1X0FVVE9DT05G ICs9IFwKKwktLXdpdGgtY3VybD0kKFNZU1JPT1QpL3VzciBcCisJLS13aXRoLWN1cmwtd3JhcHBl cnMKK2Vsc2UKK1BIUDVfQVVUT0NPTkYgKz0gLS13aXRob3V0LWN1cmwKK2VuZGlmCisKIGlmZGVm IFBUWENPTkZfUEhQNV9FWFRfTVlTUUwKIFBIUDVfQVVUT0NPTkYgKz0gXAogCS0td2l0aC1teXNx bD0kKFNZU1JPT1QpL3VzciBcCi0tIAoxLjcuMi41Cgo= --_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_ Content-Type: application/octet-stream; name="0001-xmlrpc-c-fix-location-url.patch" Content-Description: 0001-xmlrpc-c-fix-location-url.patch Content-Disposition: attachment; filename="0001-xmlrpc-c-fix-location-url.patch"; size=1034; creation-date="Wed, 07 Dec 2011 16:00:19 GMT"; modification-date="Wed, 07 Dec 2011 16:00:19 GMT" Content-Transfer-Encoding: base64 RnJvbSA1N2RiZWNmYWE2MjA5NjNjNGVhZTMyODRmYzU4Mzc3NGY3NzNhZDM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8 YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgpEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTI6MjE6 MDQgKzAxMDAKU3ViamVjdDogW1BBVENIXSB4bWxycGMtYzogZml4IGxvY2F0aW9uIHVybApUbzog cHR4ZGlzdEBwZW5ndXRyb25peC5kZQoKLS0tCiBydWxlcy94bWxycGMtYy5tYWtlIHwgICAgMiAr LQogMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvcnVsZXMveG1scnBjLWMubWFrZSBiL3J1bGVzL3htbHJwYy1jLm1ha2UKaW5kZXgg YmJkYTdiMC4uN2UzNmI3YiAxMDA2NDQKLS0tIGEvcnVsZXMveG1scnBjLWMubWFrZQorKysgYi9y dWxlcy94bWxycGMtYy5tYWtlCkBAIC0yMCw3ICsyMCw3IEBAIFhNTFJQQ19DX1ZFUlNJT04JOj0g MS4wNi40MQogWE1MUlBDX0NfTUQ1CQk6PSAwMmM2Yjg5YjhmZjkxMTM0MWI2YjZkNGE2YzYyMWVh OQogWE1MUlBDX0MJCTo9IHhtbHJwYy1jLSQoWE1MUlBDX0NfVkVSU0lPTikKIFhNTFJQQ19DX1NV RkZJWAkJOj0gdGd6Ci1YTUxSUENfQ19VUkwJCTo9ICQoUFRYQ09ORl9TRVRVUF9TRk1JUlJPUikv eG1scnBjLWMvWG1scnBjLWMlMjBTdXBlciUyMFN0YWJsZS8xLjA2LjM4LyQoWE1MUlBDX0MpLiQo WE1MUlBDX0NfU1VGRklYKQorWE1MUlBDX0NfVVJMCQk6PSAkKFBUWENPTkZfU0VUVVBfU0ZNSVJS T1IpL3htbHJwYy1jL1htbHJwYy1jJTIwU3VwZXIlMjBTdGFibGUvJChYTUxSUENfQ19WRVJTSU9O KS8kKFhNTFJQQ19DKS4kKFhNTFJQQ19DX1NVRkZJWCkKIFhNTFJQQ19DX1NPVVJDRQkJOj0gJChT UkNESVIpLyQoWE1MUlBDX0MpLiQoWE1MUlBDX0NfU1VGRklYKQogWE1MUlBDX0NfRElSCQk6PSAk KEJVSUxERElSKS8kKFhNTFJQQ19DKQogWE1MUlBDX0NfTElDRU5TRQk6PSB1bmtub3duCi0tIAox LjcuMi41Cgo= --_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_ Content-Type: application/octet-stream; name="0002-lua-update-to-the-latest-bugfix-patch.patch" Content-Description: 0002-lua-update-to-the-latest-bugfix-patch.patch Content-Disposition: attachment; filename="0002-lua-update-to-the-latest-bugfix-patch.patch"; size=17461; creation-date="Wed, 07 Dec 2011 16:00:19 GMT"; modification-date="Wed, 07 Dec 2011 16:00:19 GMT" Content-Transfer-Encoding: base64 RnJvbSA1NmRiMzg0Njc1NDRiM2E5ODljNjA4NWVlMmNlODljNTk5Yzk3Yzk5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8 YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgpEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTU6MDA6 NTMgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvMl0gbHVhOiB1cGRhdGUgdG8gdGhlIGxhdGVzdCBi dWdmaXggcGF0Y2gKVG86IHB0eGRpc3RAcGVuZ3V0cm9uaXguZGUKCi0tLQogLi4ubHktY3JhZnRl ZC1wcmVjb21waWxlZC1jb2RlLWNhbi1jcmFzaC1MdWEucGF0Y2ggfCAgICA3ICsrCiAuLi5ibGUt dG8tY3JlYXRlLWZ1bmN0aW9ucy10aGF0LXJldHVybi10b28tbS5wYXRjaCB8ICAgIDggKysrCiAu Li5nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaCB8ICAgNjYg KysrKysrKysrKysrKysrKysrKysKIC4uLmxlLW1heS1pbnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRv LWEtdGFibGUtLnBhdGNoIHwgICA0NSArKysrKysrKysrKysrCiAuLi5udi1kb2VzLW5vdC1jaGVj ay13aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaCB8ICAgMjcgKysrKysrKysKIC4uLnN0dWNr LWR1cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoIHwgICAyOCArKysrKysr KwogLi4uYXQtbWF5LWdldC1idWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUucGF0Y2ggfCAg IDM5ICsrKysrKysrKysrKwogLi4ubi1tYXktcmV0dXJuLWdhcmJhZ2UtaWYtc2Vjb25kLXJlYWQt ZmFpbHMucGF0Y2ggfCAgIDMyICsrKysrKysrKysKIC4uLmdlbmVyYXRpb24tZm9yLXNvbWUtcGFy dGljdWxhci1ib29sZWFuLWV4LnBhdGNoIHwgICA1MCArKysrKysrKysrKysrKysKIC4uLm1ldGFt ZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoIHwgICAzMSArKysrKysr KysKIC4uLm1heS1jb2xsZWN0LWEtcHJvdG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBhdGNoIHwg ICAyNiArKysrKysrKwogcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDExICsrKwogMTIgZmlsZXMgY2hhbmdlZCwgMzcwIGluc2VydGlvbnMoKyks IDAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAw MS1NYWxpY2lvdXNseS1jcmFmdGVkLXByZWNvbXBpbGVkLWNvZGUtY2FuLWNyYXNoLUx1YS5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDItSXQtaXMtcG9zc2li bGUtdG8tY3JlYXRlLWZ1bmN0aW9ucy10aGF0LXJldHVybi10b28tbS5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDMtV3JvbmctY29kZS1nZW5lcmF0aW9uLWZv ci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBh dGNoZXMvbHVhLTUuMS40LzAwMDQtbHVhVl9zZXR0YWJsZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVy ZW5jZS10by1hLXRhYmxlLS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUu MS40LzAwMDUtZGVidWcuZ2V0ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVyLWl0LWhhcy1hbi1h cmd1bS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDYtR0Mt bWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDctc3RyaW5nLmZvcm1hdC1t YXktZ2V0LWJ1ZmZlci1hcy1hbi1hcmd1bWVudC13aGVuLXRoZS5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDgtaW8ucmVhZC1uLW4tbWF5LXJldHVybi1nYXJi YWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hl cy9sdWEtNS4xLjQvMDAwOS1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxh ci1ib29sZWFuLWV4LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQv MDAxMC1fX25ld2luZGV4LW1ldGFtZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1p LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMS1QYXJzZXIt bWF5LWNvbGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQucGF0Y2gKCmRpZmYgLS1n aXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMDAxLU1hbGljaW91c2x5LWNyYWZ0ZWQtcHJlY29tcGls ZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMS1NYWxp Y2lvdXNseS1jcmFmdGVkLXByZWNvbXBpbGVkLWNvZGUtY2FuLWNyYXNoLUx1YS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2E4NWU4Ci0tLSAvZGV2L251bGwKKysr IGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMS1NYWxpY2lvdXNseS1jcmFmdGVkLXByZWNvbXBpbGVk LWNvZGUtY2FuLWNyYXNoLUx1YS5wYXRjaApAQCAtMCwwICsxLDcgQEAKK0Zyb20gMjkzZjgyZDMz Y2Q2N2I3ZjQ4ZTA3ODc4OGFmNmE0YjI4ODdjMTZiZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVybmlj aG9uQGFpcnRhZy5jb20+CitEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MDU6MzUgKzAxMDAKK1N1 YmplY3Q6IFtQQVRDSCAwMS8xMV0gTWFsaWNpb3VzbHkgY3JhZnRlZCBwcmVjb21waWxlZCBjb2Rl IGNhbiBjcmFzaCBMdWEKKworLS0tCisKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAw MDItSXQtaXMtcG9zc2libGUtdG8tY3JlYXRlLWZ1bmN0aW9ucy10aGF0LXJldHVybi10b28tbS5w YXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDItSXQtaXMtcG9zc2libGUtdG8tY3JlYXRlLWZ1 bmN0aW9ucy10aGF0LXJldHVybi10b28tbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4wN2RiYTg0Ci0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy9sdWEtNS4xLjQv MDAwMi1JdC1pcy1wb3NzaWJsZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRvby1t LnBhdGNoCkBAIC0wLDAgKzEsOCBAQAorRnJvbSBlNTk3M2IxY2EzYWQ4M2Q1MDBmMGM4NWFiYjc4 YjJhMGJmNWZiZGM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0Jl bm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KK0Rh dGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDowNzoxOCArMDEwMAorU3ViamVjdDogW1BBVENIIDAyLzEx XSBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIHRvbyBtYW55 IGFyZ3VtZW50cyBhbmQKKyBvdmVyZmxvdyB0aGUgc3RhY2sgb2YgQyBmdW5jdGlvbnMuCisKKy0t LQorCmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMDAzLVdyb25nLWNvZGUtZ2VuZXJh dGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0Y2ggYi9wYXRjaGVzL2x1YS01 LjEuNC8wMDAzLVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xl YW4tZXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhiMDRiYQot LS0gL2Rldi9udWxsCisrKyBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDMtV3JvbmctY29kZS1nZW5l cmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaApAQCAtMCwwICsxLDY2 IEBACitGcm9tIGI0MGY1ZmM0MzQxMTUzZmM1M2ZhMmQwZTgzOTIyMzk0NGIwMjJlNmUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNo b24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgorRGF0ZTogVHVlLCA2IERlYyAyMDEx IDE0OjEwOjU2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvMTFdIFdyb25nIGNvZGUgZ2VuZXJh dGlvbiBmb3Igc29tZSBwYXJ0aWN1bGFyIGJvb2xlYW4gZXhwcmVzc2lvbnMuIChzZWUgYWxzbwor IDkpCisgcmVwb3J0ZWQgYnkgQnJpYW4gS2VsbGV5IG9uIDE1IEFwciAyMDA5LgorIEV4YW1wbGU6 CisgLS0KKyBwcmludCgoKDEgb3IgZmFsc2UpIGFuZCB0cnVlKSBvciBmYWxzZSkgICAtLT4gMSwg YnV0IHNob3VsZCBiZSAndHJ1ZScKKyAtLQorCitQYXRjaDogKHBhcnRpYWwgc29sdXRpb247IHNl ZSBhbHNvIDkpCistLS0KKworZGlmZiAtLWdpdCBhL3NyYy9sY29kZS5jIGIvc3JjL2xjb2RlLmMK K2luZGV4IGNmZjYyNmIuLjg0ZjI4NmIgMTAwNjQ0CistLS0gYS9zcmMvbGNvZGUuYworKysrIGIv c3JjL2xjb2RlLmMKK0BAIC01NDQsMTUgKzU0NCwxOCBAQCB2b2lkIGx1YUtfZ29pZnRydWUgKEZ1 bmNTdGF0ZSAqZnMsIGV4cGRlc2MgKmUpIHsKKyAgICAgICBwYyA9IE5PX0pVTVA7ICAvKiBhbHdh eXMgdHJ1ZTsgZG8gbm90aGluZyAqLworICAgICAgIGJyZWFrOworICAgICB9CistICAgIGNhc2Ug VkZBTFNFOiB7CistICAgICAgcGMgPSBsdWFLX2p1bXAoZnMpOyAgLyogYWx3YXlzIGp1bXAgKi8K Ky0gICAgICBicmVhazsKKy0gICAgfQorICAgICBjYXNlIFZKTVA6IHsKKyAgICAgICBpbnZlcnRq dW1wKGZzLCBlKTsKKyAgICAgICBwYyA9IGUtPnUucy5pbmZvOworICAgICAgIGJyZWFrOworICAg ICB9CisrICAgIGNhc2UgVkZBTFNFOiB7CisrICAgICAgaWYgKCFoYXNqdW1wcyhlKSkgeworKyAg ICAgICAgcGMgPSBsdWFLX2p1bXAoZnMpOyAgLyogYWx3YXlzIGp1bXAgKi8KKysgICAgICAgIGJy ZWFrOworKyAgICAgIH0KKysgICAgICAvKiBlbHNlIGdvIHRocm91Z2ggKi8KKysgICAgfQorICAg ICBkZWZhdWx0OiB7CisgICAgICAgcGMgPSBqdW1wb25jb25kKGZzLCBlLCAwKTsKKyAgICAgICBi cmVhazsKK0BAIC01NzIsMTQgKzU3NSwxNyBAQCBzdGF0aWMgdm9pZCBsdWFLX2dvaWZmYWxzZSAo RnVuY1N0YXRlICpmcywgZXhwZGVzYyAqZSkgeworICAgICAgIHBjID0gTk9fSlVNUDsgIC8qIGFs d2F5cyBmYWxzZTsgZG8gbm90aGluZyAqLworICAgICAgIGJyZWFrOworICAgICB9CistICAgIGNh c2UgVlRSVUU6IHsKKy0gICAgICBwYyA9IGx1YUtfanVtcChmcyk7ICAvKiBhbHdheXMganVtcCAq LworLSAgICAgIGJyZWFrOworLSAgICB9CisgICAgIGNhc2UgVkpNUDogeworICAgICAgIHBjID0g ZS0+dS5zLmluZm87CisgICAgICAgYnJlYWs7CisgICAgIH0KKysgICAgY2FzZSBWVFJVRTogewor KyAgICAgIGlmICghaGFzanVtcHMoZSkpIHsKKysgICAgICAgIHBjID0gbHVhS19qdW1wKGZzKTsg IC8qIGFsd2F5cyBqdW1wICovCisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgLyog ZWxzZSBnbyB0aHJvdWdoICovCisrICAgIH0KKyAgICAgZGVmYXVsdDogeworICAgICAgIHBjID0g anVtcG9uY29uZChmcywgZSwgMSk7CisgICAgICAgYnJlYWs7CistLSAKKzEuNy4yLjUKKwpkaWZm IC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlk YXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAw NC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YTAwMDIKLS0tIC9kZXYv bnVsbAorKysgYi9wYXRjaGVzL2x1YS01LjEuNC8wMDA0LWx1YVZfc2V0dGFibGUtbWF5LWludmFs aWRhdGUtYS1yZWZlcmVuY2UtdG8tYS10YWJsZS0ucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJv bSA0MWY3NDZjOWJlNDMzMGJhYzE0NjZhYjk5NGYxNDdhZWVmODg2NzVkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJl bm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KK0RhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoxMzo1 OSArMDEwMAorU3ViamVjdDogW1BBVENIIDA0LzExXSBsdWFWX3NldHRhYmxlIG1heSBpbnZhbGlk YXRlIGEgcmVmZXJlbmNlIHRvIGEgdGFibGUgYW5kIHRyeSB0byByZXVzZSBpdAorIHJlcG9ydGVk IGJ5IE1hcmsgRmVsZG1hbiBvbiAyNyBKdW4gMjAwOS4KKyBFeGFtcGxlOgorIC0tCisgZ3JhbmRw YXJlbnQgPSB7fQorIGdyYW5kcGFyZW50Ll9fbmV3aW5kZXggPSBmdW5jdGlvbihzLF8sXykgcHJp bnQocykgZW5kCisKK3BhcmVudCA9IHt9CitwYXJlbnQuX19uZXdpbmRleCA9IHBhcmVudAorc2V0 bWV0YXRhYmxlKHBhcmVudCwgZ3JhbmRwYXJlbnQpCisKK2NoaWxkID0gc2V0bWV0YXRhYmxlKHt9 LCBwYXJlbnQpCitjaGlsZC5mb28gPSAxMCAgICAgIC0tPiAoY3Jhc2ggb24gc29tZSBtYWNoaW5l cykKKy0tCistLS0KKworZGlmZiAtLWdpdCBhL3NyYy9sdm0uYyBiL3NyYy9sdm0uYworaW5kZXgg ZWUzMjU2YS4uNGFjMmU3MSAxMDA2NDQKKy0tLSBhL3NyYy9sdm0uYworKysrIGIvc3JjL2x2bS5j CitAQCAtMTMzLDYgKzEzMyw3IEBAIHZvaWQgbHVhVl9nZXR0YWJsZSAobHVhX1N0YXRlICpMLCBj b25zdCBUVmFsdWUgKnQsIFRWYWx1ZSAqa2V5LCBTdGtJZCB2YWwpIHsKKyAKKyB2b2lkIGx1YVZf c2V0dGFibGUgKGx1YV9TdGF0ZSAqTCwgY29uc3QgVFZhbHVlICp0LCBUVmFsdWUgKmtleSwgU3Rr SWQgdmFsKSB7CisgICBpbnQgbG9vcDsKKysgIFRWYWx1ZSB0ZW1wOworICAgZm9yIChsb29wID0g MDsgbG9vcCA8IE1BWFRBR0xPT1A7IGxvb3ArKykgeworICAgICBjb25zdCBUVmFsdWUgKnRtOwor ICAgICBpZiAodHRpc3RhYmxlKHQpKSB7ICAvKiBgdCcgaXMgYSB0YWJsZT8gKi8KK0BAIC0xNTIs NyArMTUzLDkgQEAgdm9pZCBsdWFWX3NldHRhYmxlIChsdWFfU3RhdGUgKkwsIGNvbnN0IFRWYWx1 ZSAqdCwgVFZhbHVlICprZXksIFN0a0lkIHZhbCkgeworICAgICAgIGNhbGxUTShMLCB0bSwgdCwg a2V5LCB2YWwpOworICAgICAgIHJldHVybjsKKyAgICAgfQorLSAgICB0ID0gdG07ICAvKiBlbHNl IHJlcGVhdCB3aXRoIGB0bScgKi8gCisrICAgIC8qIGVsc2UgcmVwZWF0IHdpdGggYHRtJyAqLwor KyAgICBzZXRvYmooTCwgJnRlbXAsIHRtKTsgIC8qIGF2b2lkIHBvaW50aW5nIGluc2lkZSB0YWJs ZSAobWF5IHJlaGFzaCkgKi8KKysgICAgdCA9ICZ0ZW1wOworICAgfQorICAgbHVhR19ydW5lcnJv cihMLCAibG9vcCBpbiBzZXR0YWJsZSIpOworIH0KKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQg YS9wYXRjaGVzL2x1YS01LjEuNC8wMDA1LWRlYnVnLmdldGZlbnYtZG9lcy1ub3QtY2hlY2std2hl dGhlci1pdC1oYXMtYW4tYXJndW0ucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMDA1LWRlYnVn LmdldGZlbnYtZG9lcy1ub3QtY2hlY2std2hldGhlci1pdC1oYXMtYW4tYXJndW0ucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNmMzVhNgotLS0gL2Rldi9udWxsCisr KyBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0ZmVudi1kb2VzLW5vdC1jaGVjay13 aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGEwZTgy MjY1NTg3MzI3YjE1NjM1YjYxNTE3NjAxY2I3Yzc0ZGUwN2UgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1 cm5pY2hvbkBhaXJ0YWcuY29tPgorRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjE4OjIwICswMTAw CitTdWJqZWN0OiBbUEFUQ0ggMDUvMTFdIGRlYnVnLmdldGZlbnYgZG9lcyBub3QgY2hlY2sgd2hl dGhlciBpdCBoYXMgYW4gYXJndW1lbnQuCisKK3JlcG9ydGVkIGJ5IFBhdHJpY2sgRG9ubmVsbHkg b24gMzAgSnVsIDIwMDkuCitFeGFtcGxlOgorLS0KK2RlYnVnLmdldGZlbnYoKSAgIC0tIHNob3Vs ZCByYWlzZSBhbiBlcnJvcgorLS0KKy0tLQorCitkaWZmIC0tZ2l0IGEvc3JjL2xkYmxpYi5jIGIv c3JjL2xkYmxpYi5jCitpbmRleCA2N2RlMTIyLi4yMTExNmFjIDEwMDY0NAorLS0tIGEvc3JjL2xk YmxpYi5jCisrKysgYi9zcmMvbGRibGliLmMKK0BAIC00NSw2ICs0NSw3IEBAIHN0YXRpYyBpbnQg ZGJfc2V0bWV0YXRhYmxlIChsdWFfU3RhdGUgKkwpIHsKKyAKKyAKKyBzdGF0aWMgaW50IGRiX2dl dGZlbnYgKGx1YV9TdGF0ZSAqTCkgeworKyAgbHVhTF9jaGVja2FueShMLCAxKTsKKyAgIGx1YV9n ZXRmZW52KEwsIDEpOworICAgcmV0dXJuIDE7CisgfQorLS0gCisxLjcuMi41CisKZGlmZiAtLWdp dCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDYtR0MtbWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2lu Zy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDYtR0Mt bWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDE5MGNkCi0tLSAvZGV2L251bGwK KysrIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy1wYXJz aW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNGEz N2YzNzcwNmUzZjg5ZDM3OWE4MjdjOGRhNjQ2ZDM0ZDEzNmMzYyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQu YnVybmljaG9uQGFpcnRhZy5jb20+CitEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjA6MTUgKzAx MDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8xMV0gR0MgbWF5IGdldCBzdHVjayBkdXJpbmcgcGFyc2lu ZyBhbmQgYXZvaWRzIHByb3BlciByZXNpemluZyBvZiB0aGUgc3RyaW5nCisgdGFibGUsIG1ha2lu ZyBpdHMgbGlzdHMgZ3JvdyB0b28gbXVjaCBhbmQgZGVncmFkaW5nIHBlcmZvcm1hbmNlLgorIHJl cG9ydGVkIGJ5IFNlYW4gQ29ubmVyIG9uIDEwIE5vdiAyMDA5LgorCistLS0KKworZGlmZiAtLWdp dCBhL3NyYy9sbGV4LmMgYi9zcmMvbGxleC5jCitpbmRleCA2ZGMzMTkzLi45MmQ2NTc1IDEwMDY0 NAorLS0tIGEvc3JjL2xsZXguYworKysrIGIvc3JjL2xsZXguYworQEAgLTExOCw4ICsxMTgsMTAg QEAgVFN0cmluZyAqbHVhWF9uZXdzdHJpbmcgKExleFN0YXRlICpscywgY29uc3QgY2hhciAqc3Ry LCBzaXplX3QgbCkgeworICAgbHVhX1N0YXRlICpMID0gbHMtPkw7CisgICBUU3RyaW5nICp0cyA9 IGx1YVNfbmV3bHN0cihMLCBzdHIsIGwpOworICAgVFZhbHVlICpvID0gbHVhSF9zZXRzdHIoTCwg bHMtPmZzLT5oLCB0cyk7ICAvKiBlbnRyeSBmb3IgYHN0cicgKi8KKy0gIGlmICh0dGlzbmlsKG8p KQorKyAgaWYgKHR0aXNuaWwobykpIHsKKyAgICAgc2V0YnZhbHVlKG8sIDEpOyAgLyogbWFrZSBz dXJlIGBzdHInIHdpbGwgbm90IGJlIGNvbGxlY3RlZCAqLworKyAgICBsdWFDX2NoZWNrR0MoTCk7 CisrICB9CisgICByZXR1cm4gdHM7CisgfQorIAorLS0gCisxLjcuMi41CisKZGlmZiAtLWdpdCBh L3BhdGNoZXMvbHVhLTUuMS40LzAwMDctc3RyaW5nLmZvcm1hdC1tYXktZ2V0LWJ1ZmZlci1hcy1h bi1hcmd1bWVudC13aGVuLXRoZS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDctc3RyaW5n LmZvcm1hdC1tYXktZ2V0LWJ1ZmZlci1hcy1hbi1hcmd1bWVudC13aGVuLXRoZS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDc0MGNhCi0tLSAvZGV2L251bGwKKysr IGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtYnVmZmVyLWFz LWFuLWFyZ3VtZW50LXdoZW4tdGhlLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gY2U0N2My MmQ1MmRjYzQ5OTZjMDNlMDczZGRmOTQzOThhYTQyNDExZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVy bmljaG9uQGFpcnRhZy5jb20+CitEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjE6NDYgKzAxMDAK K1N1YmplY3Q6IFtQQVRDSCAwNy8xMV0gc3RyaW5nLmZvcm1hdCBtYXkgZ2V0IGJ1ZmZlciBhcyBh biBhcmd1bWVudCB3aGVuIHRoZXJlIGFyZSBtaXNzaW5nCisgYXJndW1lbnRzIGFuZCBmb3JtYXQg c3RyaW5nIGlzIHRvbyBsb25nLgorCityZXBvcnRlZCBieSBSb2JlcnRvIG9uIDEyIEFwciAyMDEw LgorRXhhbXBsZToKKy0tCit4ID0gc3RyaW5nLnJlcCgieCIsIDEwMDAwKSAuLiAiJWQiCitwcmlu dChzdHJpbmcuZm9ybWF0KHgpKSAgICAtLSBnaXZlcyB3cm9uZyBlcnJvciBtZXNzYWdlCistLQor LS0tCisKK2RpZmYgLS1naXQgYS9zcmMvbHN0cmxpYi5jIGIvc3JjL2xzdHJsaWIuYworaW5kZXgg MWI0NzYzZC4uZmU0NTJjZSAxMDA2NDQKKy0tLSBhL3NyYy9sc3RybGliLmMKKysrKyBiL3NyYy9s c3RybGliLmMKK0BAIC03NTQsNiArNzU0LDcgQEAgc3RhdGljIHZvaWQgYWRkaW50bGVuIChjaGFy ICpmb3JtKSB7CisgCisgCisgc3RhdGljIGludCBzdHJfZm9ybWF0IChsdWFfU3RhdGUgKkwpIHsK KysgIGludCB0b3AgPSBsdWFfZ2V0dG9wKEwpOworICAgaW50IGFyZyA9IDE7CisgICBzaXplX3Qg c2ZsOworICAgY29uc3QgY2hhciAqc3RyZnJtdCA9IGx1YUxfY2hlY2tsc3RyaW5nKEwsIGFyZywg JnNmbCk7CitAQCAtNzY4LDcgKzc2OSw4IEBAIHN0YXRpYyBpbnQgc3RyX2Zvcm1hdCAobHVhX1N0 YXRlICpMKSB7CisgICAgIGVsc2UgeyAvKiBmb3JtYXQgaXRlbSAqLworICAgICAgIGNoYXIgZm9y bVtNQVhfRk9STUFUXTsgIC8qIHRvIHN0b3JlIHRoZSBmb3JtYXQgKGAlLi4uJykgKi8KKyAgICAg ICBjaGFyIGJ1ZmZbTUFYX0lURU1dOyAgLyogdG8gc3RvcmUgdGhlIGZvcm1hdHRlZCBpdGVtICov CistICAgICAgYXJnKys7CisrICAgICAgaWYgKCsrYXJnID4gdG9wKQorKyAgICAgICAgbHVhTF9h cmdlcnJvcihMLCBhcmcsICJubyB2YWx1ZSIpOworICAgICAgIHN0cmZybXQgPSBzY2FuZm9ybWF0 KEwsIHN0cmZybXQsIGZvcm0pOworICAgICAgIHN3aXRjaCAoKnN0cmZybXQrKykgeworICAgICAg ICAgY2FzZSAnYyc6IHsKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01 LjEuNC8wMDA4LWlvLnJlYWQtbi1uLW1heS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1m YWlscy5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDgtaW8ucmVhZC1uLW4tbWF5LXJldHVy bi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmFhYjYzYmIKLS0tIC9kZXYvbnVsbAorKysgYi9wYXRjaGVzL2x1YS01 LjEuNC8wMDA4LWlvLnJlYWQtbi1uLW1heS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1m YWlscy5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDIyNGJiZTI5YTI5NTg1MTU0NDcxMmI0 NDcwZjdhNDhmMzM4Y2RkYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04 P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29t PgorRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjIzOjUzICswMTAwCitTdWJqZWN0OiBbUEFUQ0gg MDgvMTFdIGlvLnJlYWQoIipuIiwgIipuIikgbWF5IHJldHVybiBnYXJiYWdlIGlmIHNlY29uZCBy ZWFkIGZhaWxzLgorCityZXBvcnRlZCBieSBSb2JlcnRvIG9uIDEyIEFwciAyMDEwLgorRXhhbXBs ZToKKy0tCitwcmludChpby5yZWFkKCIqbiIsICIqbiIpKSAgIC0tPDwgZW50ZXIgIjEwICAgaGki CistLT4gZmlsZSAoMHg4ODQ0MjApCW5pbAorLS0KKy0tLQorCitkaWZmIC0tZ2l0IGEvc3JjL2xp b2xpYi5jIGIvc3JjL2xpb2xpYi5jCitpbmRleCBlNzllZDFjLi44ZGUyNTQ3IDEwMDY0NAorLS0t IGEvc3JjL2xpb2xpYi5jCisrKysgYi9zcmMvbGlvbGliLmMKK0BAIC0yNzYsNyArMjc2LDEwIEBA IHN0YXRpYyBpbnQgcmVhZF9udW1iZXIgKGx1YV9TdGF0ZSAqTCwgRklMRSAqZikgeworICAgICBs dWFfcHVzaG51bWJlcihMLCBkKTsKKyAgICAgcmV0dXJuIDE7CisgICB9CistICBlbHNlIHJldHVy biAwOyAgLyogcmVhZCBmYWlscyAqLworKyAgZWxzZSB7CisrICAgIGx1YV9wdXNobmlsKEwpOyAg LyogInJlc3VsdCIgdG8gYmUgcmVtb3ZlZCAqLworKyAgICByZXR1cm4gMDsgIC8qIHJlYWQgZmFp bHMgKi8KKysgIH0KKyB9CisgCisgCistLSAKKzEuNy4yLjUKKwpkaWZmIC0tZ2l0IGEvcGF0Y2hl cy9sdWEtNS4xLjQvMDAwOS1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxh ci1ib29sZWFuLWV4LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwOS1Xcm9uZy1jb2RlLWdl bmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNjU2YWQKLS0tIC9kZXYvbnVsbAorKysgYi9wYXRj aGVzL2x1YS01LjEuNC8wMDA5LVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1 bGFyLWJvb2xlYW4tZXgucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSAxNGM5MjgyM2M1ODc3 YTQ1OGRkY2ZhMmM5MGQwYjAzZWE4NzNiYWEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25A YWlydGFnLmNvbT4KK0RhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoyNToxOCArMDEwMAorU3ViamVj dDogW1BBVENIIDA5LzExXSBXcm9uZyBjb2RlIGdlbmVyYXRpb24gZm9yIHNvbWUgcGFydGljdWxh ciBib29sZWFuIGV4cHJlc3Npb25zLgorCityZXBvcnRlZCBieSBUaGllcnJ5IFZhbiBFbHN1d2Ug b24gMjAgSmFuIDIwMTEuCitFeGFtcGxlOgorLS0KK3ByaW50KCgoJ2hpJyBvciB0cnVlKSBhbmQg dHJ1ZSkgb3IgdHJ1ZSkKKy0tPiBoaSAgICAgKHNob3VsZCBiZSB0cnVlKQorcHJpbnQoKChuaWwg YW5kIG5pbCkgb3IgZmFsc2UpIGFuZCB0cnVlKQorLS0+IG5pbCAgICAoc2hvdWxkIGJlIGZhbHNl KQorLS0KKy0tLQorCitkaWZmIC0tZ2l0IGEvc3JjL2xjb2RlLmMgYi9zcmMvbGNvZGUuYworaW5k ZXggODRmMjg2Yi4uYzEzMDY2ZSAxMDA2NDQKKy0tLSBhL3NyYy9sY29kZS5jCisrKysgYi9zcmMv bGNvZGUuYworQEAgLTU0OSwxMyArNTQ5LDYgQEAgdm9pZCBsdWFLX2dvaWZ0cnVlIChGdW5jU3Rh dGUgKmZzLCBleHBkZXNjICplKSB7CisgICAgICAgcGMgPSBlLT51LnMuaW5mbzsKKyAgICAgICBi cmVhazsKKyAgICAgfQorLSAgICBjYXNlIFZGQUxTRTogeworLSAgICAgIGlmICghaGFzanVtcHMo ZSkpIHsKKy0gICAgICAgIHBjID0gbHVhS19qdW1wKGZzKTsgIC8qIGFsd2F5cyBqdW1wICovCist ICAgICAgICBicmVhazsKKy0gICAgICB9CistICAgICAgLyogZWxzZSBnbyB0aHJvdWdoICovCist ICAgIH0KKyAgICAgZGVmYXVsdDogeworICAgICAgIHBjID0ganVtcG9uY29uZChmcywgZSwgMCk7 CisgICAgICAgYnJlYWs7CitAQCAtNTc5LDEzICs1NzIsNiBAQCBzdGF0aWMgdm9pZCBsdWFLX2dv aWZmYWxzZSAoRnVuY1N0YXRlICpmcywgZXhwZGVzYyAqZSkgeworICAgICAgIHBjID0gZS0+dS5z LmluZm87CisgICAgICAgYnJlYWs7CisgICAgIH0KKy0gICAgY2FzZSBWVFJVRTogeworLSAgICAg IGlmICghaGFzanVtcHMoZSkpIHsKKy0gICAgICAgIHBjID0gbHVhS19qdW1wKGZzKTsgIC8qIGFs d2F5cyBqdW1wICovCistICAgICAgICBicmVhazsKKy0gICAgICB9CistICAgICAgLyogZWxzZSBn byB0aHJvdWdoICovCistICAgIH0KKyAgICAgZGVmYXVsdDogeworICAgICAgIHBjID0ganVtcG9u Y29uZChmcywgZSwgMSk7CisgICAgICAgYnJlYWs7CistLSAKKzEuNy4yLjUKKwpkaWZmIC0tZ2l0 IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMC1fX25ld2luZGV4LW1ldGFtZXRob2QtbWF5LW5vdC13 b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMC1fX25l d2luZGV4LW1ldGFtZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNDI0ZjAKLS0tIC9kZXYvbnVsbAor KysgYi9wYXRjaGVzL2x1YS01LjEuNC8wMDEwLV9fbmV3aW5kZXgtbWV0YW1ldGhvZC1tYXktbm90 LXdvcmstaWYtbWV0YXRhYmxlLWlzLWkucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA4MWZm MzUwYTkxY2IxYzI0OGU5NjM2NmVlZDMwNDkzODZjNWYyY2JhIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5i dXJuaWNob25AYWlydGFnLmNvbT4KK0RhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoyNzowNCArMDEw MAorU3ViamVjdDogW1BBVENIIDEwLzExXSBfX25ld2luZGV4IG1ldGFtZXRob2QgbWF5IG5vdCB3 b3JrIGlmIG1ldGF0YWJsZSBpcyBpdHMgb3duIG1ldGF0YWJsZS4KKworcmVwb3J0ZWQgYnkgQ3Vl cm8gQnVnb3Qgb24gMDkgQXVnIDIwMTEuCitFeGFtcGxlOgorLS0KK21ldGE9e30KK3NldG1ldGF0 YWJsZShtZXRhLCBtZXRhKQorbWV0YS5fX25ld2luZGV4ID0gZnVuY3Rpb24odCwga2V5LCB2YWx1 ZSkgcHJpbnQoInNldCIpIGVuZAorbyA9IHNldG1ldGF0YWJsZSh7fSwgbWV0YSkKK28ueCA9IDEw ICAgIC0tIHNob3VsZCBwcmludCAnc2V0JworLS0KKy0tLQorCitkaWZmIC0tZ2l0IGEvc3JjL2x2 bS5jIGIvc3JjL2x2bS5jCitpbmRleCA0YWMyZTcxLi5jYTdiZWEwIDEwMDY0NAorLS0tIGEvc3Jj L2x2bS5jCisrKysgYi9zcmMvbHZtLmMKK0BAIC0xNDIsNiArMTQyLDcgQEAgdm9pZCBsdWFWX3Nl dHRhYmxlIChsdWFfU3RhdGUgKkwsIGNvbnN0IFRWYWx1ZSAqdCwgVFZhbHVlICprZXksIFN0a0lk IHZhbCkgeworICAgICAgIGlmICghdHRpc25pbChvbGR2YWwpIHx8ICAvKiByZXN1bHQgaXMgbm8g bmlsPyAqLworICAgICAgICAgICAodG0gPSBmYXN0dG0oTCwgaC0+bWV0YXRhYmxlLCBUTV9ORVdJ TkRFWCkpID09IE5VTEwpIHsgLyogb3Igbm8gVE0/ICovCisgICAgICAgICBzZXRvYmoydChMLCBv bGR2YWwsIHZhbCk7CisrICAgICAgICBoLT5mbGFncyA9IDA7CisgICAgICAgICBsdWFDX2JhcnJp ZXJ0KEwsIGgsIHZhbCk7CisgICAgICAgICByZXR1cm47CisgICAgICAgfQorLS0gCisxLjcuMi41 CisKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMTEtUGFyc2VyLW1heS1jb2xsZWN0 LWEtcHJvdG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQv MDAxMS1QYXJzZXItbWF5LWNvbGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQyOGUzYgotLS0gL2Rldi9u dWxsCisrKyBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMTEtUGFyc2VyLW1heS1jb2xsZWN0LWEtcHJv dG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gMjM0 NDllZTYxZjA2MmExODkyNmYxMWEyMTZmOTkwNjE1NWYyNTliOSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQu YnVybmljaG9uQGFpcnRhZy5jb20+CitEYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6Mjg6MTkgKzAx MDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8xMV0gUGFyc2VyIG1heSBjb2xsZWN0IGEgcHJvdG90eXBl IHdoaWxlIGJ1aWxkaW5nIGl0LgorCityZXBvcnRlZCBieSBJbmdvIHZhbiBMaWwgb24gMTMgT2N0 IDIwMTEuCistLS0KKworZGlmZiAtLWdpdCBhL3NyYy9scGFyc2VyLmMgYi9zcmMvbHBhcnNlci5j CitpbmRleCAxZTJhOWE4Li5hMjcyMWQyIDEwMDY0NAorLS0tIGEvc3JjL2xwYXJzZXIuYworKysr IGIvc3JjL2xwYXJzZXIuYworQEAgLTM3NCw5ICszNzQsOSBAQCBzdGF0aWMgdm9pZCBjbG9zZV9m dW5jIChMZXhTdGF0ZSAqbHMpIHsKKyAgIGx1YV9hc3NlcnQobHVhR19jaGVja2NvZGUoZikpOwor ICAgbHVhX2Fzc2VydChmcy0+YmwgPT0gTlVMTCk7CisgICBscy0+ZnMgPSBmcy0+cHJldjsKKy0g IEwtPnRvcCAtPSAyOyAgLyogcmVtb3ZlIHRhYmxlIGFuZCBwcm90b3R5cGUgZnJvbSB0aGUgc3Rh Y2sgKi8KKyAgIC8qIGxhc3QgdG9rZW4gcmVhZCB3YXMgYW5jaG9yZWQgaW4gZGVmdW5jdCBmdW5j dGlvbjsgbXVzdCByZWFuY2hvciBpdCAqLworICAgaWYgKGZzKSBhbmNob3JfdG9rZW4obHMpOwor KyAgTC0+dG9wIC09IDI7ICAvKiByZW1vdmUgdGFibGUgYW5kIHByb3RvdHlwZSBmcm9tIHRoZSBz dGFjayAqLworIH0KKyAKKyAKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1 YS01LjEuNC9zZXJpZXMgYi9wYXRjaGVzL2x1YS01LjEuNC9zZXJpZXMKaW5kZXggMmM1MWUzNy4u NWYzZTZiNCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzCisrKyBiL3BhdGNo ZXMvbHVhLTUuMS40L3NlcmllcwpAQCAtMSwzICsxLDE0IEBACiByZW1vdmUtTWFrZWZpbGUuZGlm ZgogYXV0b2NvbmZpemUuZGlmZgogYXV0b21ha2l6ZS5kaWZmCisjMDAwMS1NYWxpY2lvdXNseS1j cmFmdGVkLXByZWNvbXBpbGVkLWNvZGUtY2FuLWNyYXNoLUx1YS5wYXRjaAorIzAwMDItSXQtaXMt cG9zc2libGUtdG8tY3JlYXRlLWZ1bmN0aW9ucy10aGF0LXJldHVybi10b28tbS5wYXRjaAorMDAw My1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBh dGNoCiswMDA0LWx1YVZfc2V0dGFibGUtbWF5LWludmFsaWRhdGUtYS1yZWZlcmVuY2UtdG8tYS10 YWJsZS0ucGF0Y2gKKzAwMDUtZGVidWcuZ2V0ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVyLWl0 LWhhcy1hbi1hcmd1bS5wYXRjaAorMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy1wYXJzaW5n LWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoCiswMDA3LXN0cmluZy5mb3JtYXQtbWF5LWdldC1i dWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUucGF0Y2gKKzAwMDgtaW8ucmVhZC1uLW4tbWF5 LXJldHVybi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoCiswMDA5LVdyb25nLWNv ZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0Y2gKKzAwMTAt X19uZXdpbmRleC1tZXRhbWV0aG9kLW1heS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMtaS5wYXRj aAorMDAxMS1QYXJzZXItbWF5LWNvbGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQu cGF0Y2gKLS0gCjEuNy4yLjUKCg== --_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- ptxdist mailing list ptxdist@pengutronix.de --_005_3944866A166FC34A948C72DD5EDDCA2A1DC6F445HQ0SBS01airtagl_--