From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Eric Smith To: git-commits@fedoraproject.org Subject: [rpms/ckermit] epel8: Initial import (#716402). Date: Fri, 18 Sep 2026 13:57:29 GMT Message-ID: <178973984978.1.14908374195327810855.rpms-ckermit-edb200d74af9@fedoraproject.org> List-ID: X-Git-Repo: rpms/ckermit X-Git-Branch: epel8 X-Git-Rev: edb200d74af917e3566b8ab804518f3954d6d683 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2tlcm1pdApCcmFu Y2ggOiBlcGVsOApDb21taXQgOiBlZGIyMDBkNzRhZjkxN2UzNTY2YjhhYjgwNDUxOGYzOTU0ZDZk NjgzCkF1dGhvciA6IEVyaWMgU21pdGggPGVyaWNAYnJvdWhhaGEuY29tPgpEYXRlICAgOiAyMDEx LTA2LTI3VDEzOjQzOjI3LTA3OjAwClN0YXRzICA6ICsxMTA5Ly0wIGluIDggZmlsZShzKQpVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2NrZXJtaXQvYy9lZGIyMDBk NzRhZjkxN2UzNTY2YjhhYjgwNDUxOGYzOTU0ZDZkNjgzP2JyYW5jaD1lcGVsOAoKTG9nOgpJbml0 aWFsIGltcG9ydCAoIzcxNjQwMikuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0 aWdub3JlCmluZGV4IGU2OWRlMjkuLjgwOWU5MWYgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysr IGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxIEBACisveC50YXIuZ3oKCmRpZmYgLS1naXQgYS9ja2Vy bWl0LmluaSBiL2NrZXJtaXQuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjJlNTEzMmEKLS0tIC9kZXYvbnVsbAorKysgYi9ja2VybWl0LmluaQpAQCAtMCwwICsxLDYxOCBA QAorQ09NTUVOVCAtIFN0YW5kYXJkIEMtS2VybWl0IGluaXRpYWxpemF0aW9uIGZpbGUKKzsKKzsg Rm9yIEMtS2VybWl0IFZlcnNpb246IDguMAorOworOyBGaWxlbmFtZToKKzsgICAua2VybXJjICAg ICAoVU5JWCwgT1MtOSwgQWVnaXMpCis7ICAgQ0tFUk1JVC5JTkkgKE9TLzIsIFZNUywgT3BlblZN UywgQU9TL1ZTLCBBdGFyaSBTVCwgQ29tbW9kb3JlIEFtaWdhKQorOyAgIGNrZXJtaXQuaW5pIChT dHJhdHVzIFZPUykKKzsgICBLOTUuSU5JICAgICAoS2VybWl0IDk1IC0tIGJ1dCB0aGlzIGJpZyB2 ZXJzaW9uIGlzIG5vdCB1c2VkIHRoZXJlKQorOyAgIEsyLklOSSAgICAgIChLZXJtaXQvMiAgLS0g YnV0IGRpdHRvKQorOworOyBBdXRob3JzOgorOyAgIEZyYW5rIGRhIENydXosIENocmlzdGluZSBN LiBHaWFub25lLCBKZWZmcmV5IEFsdG1hbgorOyAgIENvbHVtYmlhIFVuaXZlcnNpdHksIE5ldyBZ b3JrLCBOWSAxMDAyNS03Nzk5LCBVU0EKKzsKKzsgVGhpcyBpcyB0aGUgc3RhbmRhcmQgYW5kIHJl Y29tbWVuZGVkIEMtS2VybWl0IDguMCBpbml0aWFsaXphdGlvbiBmaWxlLiAgVG8KKzsgb3ZlcnJp ZGUgc2V0dGluZ3Mgb3IgZGVmaW5pdGlvbnMgbWFkZSBpbiB0aGlzIGZpbGUsIHRvIGFkZCBuZXcg c2V0dGluZ3Mgb3IKKzsgZGVmaW5pdGlvbnMsIG9yIHRvIG1ha2UgYW55IG90aGVyIGRlc2lyZWQg Y3VzdG9taXphdGlvbnMsIGNyZWF0ZSBhIHNlcGFyYXRlLAorOyBwZXJzb25hbCBjdXN0b21pemF0 aW9uIGZpbGUgY2FsbGVkOgorOworOyAgIC5teWtlcm1yYyAgICAgKFVOSVgsIE9TLTksIEFlZ2lz LCBCZUJveCwgUGxhbiA5KQorOyAgIENLRVJNT0QuSU5JICAgKE9TLzIsIFZNUywgT3BlblZNUywg QU9TL1ZTLCBBdGFyaSBTVCwgQ29tbW9kb3JlIEFtaWdhKQorOyAgIGNrZXJtb2QuaW5pICAgKFZP UykKKzsKKzsgWW91IGNhbiBhbHNvIGRlZmluZSB0aGUgY3VzdG9taXphdGlvbiBmaWxlbmFtZSBp biBhbiBlbnZpcm9ubWVudAorOyB2YXJpYWJsZSAobG9naWNhbCBuYW1lIGluIFZNUyksIENLRVJN T0QsIHdoaWNoIHRha2VzIHByZWNlZGVuY2Ugb3ZlcgorOyB0aGUgbmFtZXMgc2hvd24gYWJvdmUu Cis7Cis7IFdIQVQgVEhJUyBGSUxFIERPRVM6Cis7Cis7IC4gRGVmaW5lcyB5b3VyIGRlZmF1bHQg ZGlhbGluZyBkaXJlY3RvcnkgbmFtZToKKzsgICAgIC5rZGQgZm9yIFVOSVgsIE9TLTkgYW5kIEFl Z2lzOyBDS0VSTUlULktERCBmb3Igb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCis7ICAgICAgICBZ b3UgY2FuIG92ZXJyaWRlIHRoaXMgd2l0aCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgS19ESUFM X0RJUkVDVE9SWQorOyAuIERlZmluZXMgeW91ciBkZWZhdWx0IG5ldHdvcmsgZGlyZWN0b3J5IG5h bWU6Cis7ICAgICAua25kIGZvciBVTklYLCBPUy05IGFuZCBBZWdpczsgQ0tFUk1JVC5LTkQgZm9y IG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zLgorOyAgICAgICAgWW91IGNhbiBvdmVycmlkZSB0aGlz IHdpdGggdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEtfTkVUX0RJUkVDVE9SWQorOyAuIERlZmlu ZXMgeW91ciBkZWZhdWx0IHNlcnZpY2VzIGRpcmVjdG9yeSBuYW1lOgorOyAgICAgLmtzZCBmb3Ig VU5JWCwgT1MtOSBhbmQgQWVnaXM7IENLRVJNSVQuS1NEIGZvciBvdGhlciBvcGVyYXRpbmcgc3lz dGVtcy4KKzsgICAgICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyB3aXRoIGVudmlyb25tZW50IHZh cmlhYmxlIEtfU0VSVklDRV9ESVJFQ1RPUlkuCis7IC4gRGVmaW5lcyB5b3VyIGN1c3RvbWl6YXRp b24gZmlsZSBuYW1lIChuYW1lIGdpdmVuIGFib3ZlKQorOyAuIFBlcmZvcm1zIHN5c3RlbS1kZXBl bmRlbnQgc2V0dXBzIGZvciBVTklYLCBWTVMsIE9TLzIsIGV0Yy4KKzsgLiBEZWZpbmVzIFZUUFJJ TlQgbWFjcm9zIGZvciB1c2Ugd2l0aCBLOTUsIE1TLURPUyBLZXJtaXQsIGV0Yy4KKzsgLiBJZiB5 b3UgaGF2ZSBhIHNlcnZpY2VzIGRpcmVjdG9yeSwgYWxsIHRoZSBtYWNyb3MgbmVlZGVkIHRvIHVz ZSBpdCBhcmUKKzsgICAgIGRlZmluZWQuICBJZiB5b3UgZG9uJ3QgaGF2ZSBhIHNlcnZpY2VzIGRp cmVjdG9yeSwgdGhlIG1hY3JvcyBhcmUgbm90Cis7ICAgICBkZWZpbmVkIGFuZCBLZXJtaXQgc3Rh cnRzIGZhc3Rlci4KKzsgLiBFeGVjdXRlcyB5b3VyIHBlcnNvbmFsIGN1c3RvbWl6YXRpb24gZmls ZSwgaWYgeW91IGhhdmUgb25lLgorOyAgIE5PVEU6IFlvdXIgY3VzdG9taXphdGlvbiBmaWxlIGlz IE5PVCBleGVjdXRlZCBieSBLZXJtaXQgaXRzZWxmOyBpdCBpcworOyAgIGV4ZWN1dGVkIGJ5IHRo aXMgZmlsZS4KKzsKKzsgSW4gVU5JWCwgd2l0aCBDLUtlcm1pdCA3LjAgYW5kIGxhdGVyLCB5b3Ug Y2FuIHN0b3JlIHRoaXMgZmlsZSB3aXRoIGEgbmFtZQorOyBvdGhlciB0aGFuIC5rZXJtcmMsIGFu ZCBpdCB3aWxsIG5vdCBiZSBleGVjdXRlZCBhdXRvbWF0aWNhbGx5LCBidXQsIGlmIHlvdQorOyBn aXZlIHRoaXMgZmlsZSBleGVjdXRlIHBlcm1pc3Npb24sIHlvdSBjYW4gZXhlY3V0ZSBkaXJlY3Rs eSBiZWNhdXNlIG9mIHRoZQorOyAia2VyYmFuZyBsaW5lIiBhdCB0aGUgdG9wLCB3aGVuZXZlciB5 b3Ugd2FudCBhbGwgb2YgdGhlIGFib3ZlIGFjdGlvbnMgdG8KKzsgb2NjdXIuICBUaGUga2VyYmFu ZyBsaW5lIG11c3QgcmVmbGVjdCB0aGUgYWN0dWFsIGZ1bGwgcGF0aCBvZiB0aGUgS2VybWl0Cis7 IDcuMC1vci1sYXRlciBleGVjdXRhYmxlLgorOworOyBDLUtlcm1pdCA2LjAgaXMgZG9jdW1lbnRl ZCBpbiB0aGUgYm9vayAiVXNpbmcgQy1LZXJtaXQiLCAybmQgRWRpdGlvbiwKKzsgYnkgRnJhbmsg ZGEgQ3J1eiBhbmQgQ2hyaXN0aW5lIE0uIEdpYW5vbmUsIDE5OTcsIERpZ2l0YWwgUHJlc3MgLwor OyBCdXR0ZXJ3b3J0aC1IZWluZW1hbm4sIElTQk4gMS01NTU1OC0xNjQtMS4gIE5ldyBmZWF0dXJl cyBvZiBzdWJzZXF1ZW50Cis7IHZlcnNpb25zIGFyZSBkb2N1bWVudGVkIGF0IHRoZSBLZXJtaXQg d2Vic2l0ZToKKzsgaHR0cDovL3d3dy5jb2x1bWJpYS5lZHUva2VybWl0LworOworOyBFdmVyeXRo aW5nIGFmdGVyIHRoaXMgcG9pbnQgZGVwZW5kcyBvbiB0aGUgc2NyaXB0IHByb2dyYW1taW5nIGxh bmd1YWdlLgorOyBUaGUgQ0hFQ0sgY29tbWFuZCB0ZXJtaW5hdGVzIHRoaXMgY29tbWFuZCBmaWxl IGltbWVkaWF0ZWx5IGlmIHRoZSBzY3JpcHQKKzsgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgKElGIGNv bW1hbmQpIGlzIG5vdCBjb25maWd1cmVkLgorOworc2V0IHRha2UgZXJyb3Igb24JCTsgVGhpcyBt YWtlcyBDSEVDSyBxdWl0IGlmIG5vIHNjcmlwdCBsYW5ndWFnZS4KK2NoZWNrIGlmCQkJOyBEbyB3 ZSBoYXZlIGFuIElGIGNvbW1hbmQ/ICBJZiBub3QsIHF1aXQgbm93Lgorc2V0IHRha2UgZXJyb3Ig b2ZmCQk7IEJhY2sgdG8gbm9ybWFsLgorCitsb2NhbCBfc2QgX3NlcnZpY2VkaXIgX3hwICAgICAg IDsgRGVjbGFyZSBsb2NhbCB2YXJpYWJsZXMuCisKK0NPTU1FTlQgLSBDLUtlcm1pdCB2ZXJzaW9u IDYuMCBvciBsYXRlciByZXF1aXJlZC4KKzsKKworYXNnIF94cCBcdih4cHJvZ3JhbSkKK2lmIG5v dCBkZWYgX3hwIGFzZyBfeHAgXHYocHJvZ3JhbSkKK2lmIG5vdCBlcXVhbCAiXG0oX3hwKSIgIkMt S2VybWl0IiAtCisgIHN0b3AgMSBcdihjbWRmaWxlKTogVGhpcyBpbml0aWFsaXphdGlvbiBmaWxl IGlzIG9ubHkgZm9yIEMtS2VybWl0LgorZWNobyBFeGVjdXRpbmcgXHYoY21kZmlsZSkgZm9yIFx2 KHN5c3RlbSkuLi4KK2lmIDwgXHYodmVyc2lvbikgNjAwMDAgLQorICBzdG9wIDEgXHYoY21kZmls ZSk6IEMtS2VybWl0IDYuMCBvciBsYXRlciByZXF1aXJlZC4KKworZm9yd2FyZCBcdihzeXN0ZW0p CQk7IEZpcnN0IGRvIHN5c3RlbS1kZXBlbmRlbnQgaXRlbXMuLi4KKworOnVua25vd24JCQk7IFNo b3VsZCBub3QgaGFwcGVuCitTdG9wIDEgRXJyb3I6IFN5c3RlbSB0eXBlIHVua25vd24hCisKKzpB ZWdpcwkJCQk7IEFwb2xsbyBBZWdpcyBhbmQKKzpVTklYCQkJCTsgVU5JWCwgYWxsIHZlcnNpb25z Cithc2cgX215aW5pdCAtCisgIFx2KGhvbWUpLm15a2VybXJjCQk7IEN1c3RvbWl6YXRpb24gZmls ZW5hbWUKK2lmIHJlbW90ZSBmb3J3YXJkIENPTU1PTiAgICAgICAgOyBTa2lwIGxvY2FsLW1vZGUg aXRlbXMgaWYgIi1SIgorYXNnIF9kaWFsZGlyIC0KKyAgXHYoaG9tZSkua2RkCQkJOyBDLUtlcm1p dCBkaWFsaW5nIGRpcmVjdG9yeQorYXNnIF9uZXRkaXIgLQorICBcdihob21lKS5rbmQJCQk7IEMt S2VybWl0IG5ldHdvcmsgZGlyZWN0b3J5Cithc2cgX3NlcnZpY2VkaXIgLQorICBcdihob21lKS5r c2QJCQk7IEMtS2VybWl0IHNlcnZpY2VzIGRpcmVjdG9yeQorZm9yd2FyZCBDT01NT04gICAgICAg ICAgICAgICAgICA7IEVuZCBvZiBVTklYIHNlY3Rpb24KKworOk9TOS82OEsJCQk7IE9TLTkKK2Fz ZyBfbXlpbml0IC0KKyAgXHYoaG9tZSkubXlrZXJtcmMJCTsgQ3VzdG9taXphdGlvbiBmaWxlbmFt ZQoraWYgcmVtb3RlIGZvcndhcmQgQ09NTU9OCithc2cgX2RpYWxkaXIgLQorICBcdihob21lKS5r ZGQJCQk7IEMtS2VybWl0IGRpYWxpbmcgZGlyZWN0b3J5Cithc2cgX25ldGRpciAtCisgIFx2KGhv bWUpLmtuZAkJCTsgQy1LZXJtaXQgbmV0d29yayBkaXJlY3RvcnkKK2FzZyBfc2VydmljZWRpciAt CisgIFx2KGhvbWUpLmtzZAkJCTsgQy1LZXJtaXQgc2VydmljZXMgZGlyZWN0b3J5CitlbHNlIHNl dCBmaWxlIGRpc3BsYXkgY3J0Citmb3J3YXJkIENPTU1PTgkJCTsgRW5kIG9mIE9TLTkgc2VjdGlv bgorCis6Vk1TCQkJCTsgVk1TIGFuZCBPcGVuVk1TCitmb3J3YXJkIENPTU1PTgorCis6T1MvMgkJ CQk7IEtlcm1pdCA5NQorOldJTjMyCitlY2hvIFRoaXMgaW5pdGlhbGl6YXRpb24gZmlsZSBpcyBu b3QgZm9yIHVzZSB3aXRoIEs5NS4KK2ZvcndhcmQgQ09NTU9OICAgICAgICAgICAgICAgICAgOyBF bmQgb2YgT1MvMiBzZWN0aW9uCisKKzpBT1MvVlMJCQkJOyBEYXRhIEdlbmVyYWwgQU9TL1ZTCitz ZXQgd2luZG93IDEJCQk7IFNsaWRpbmcgd2luZG93cyBkb24ndCB3b3JrCitzZXQgZmlsZSBjaGFy IGRnLWludGVybmF0aW9uYWwJOyBGaWxlIGNoYXJhY3Rlci1zZXQKK3NldCB4ZmVyIGNoYXIgbGF0 aW4xCQk7IFRyYW5zZmVyIGNoYXJhY3Rlci1zZXQKK3NldCBmaWxlIGRpc3BsYXkgY3J0ICAgICAg ICAgICAgOyBGaWxlIHRyYW5zZmVyIGZpc3BsYXkKK2RlZiBjbGkgcHVzaAkJCTsgRXNjYXBlIHRv IENMSQorZGVmIHJlc2V0IC0JCQk7IE1hY3JvIHRvIHJlc2V0IERHIERBU0hFUiB0ZXJtaW5hbAor IHJ1biB3cml0ZSBbIWFzY2lpIDIzNiAzMDYgMzAxXQorZm9yd2FyZCBDT01NT04gICAgICAgICAg ICAgICAgICA7IEVuZCBvZiBBT1MvVlMgc2VjdGlvbgorCis6QW1pZ2EJCQkJOyBDb21tb2RvcmUg QW1pZ2EKK2RlZiBjbHMgZWNobyBcMjdbSFwyN1sySgk7IENMUyBjb21tYW5kIHRvIGNsZWFyIHRo ZSBzY3JlZW4KK3NldCBmaWxlIGNoYXIgbGF0aW4xCQk7IFVzZSBMYXRpbiBBbHBoYWJldCAxIGZv ciBmaWxlIHRyYW5zZmVyCitzZXQgeGZlciBjaGFyIGxhdGluMQkJOyAuLi4KK2ZvcndhcmQgQ09N TU9OICAgICAgICAgICAgICAgICAgOyBFbmQgb2YgQW1pZ2Egc2VjdGlvbgorCis6QXRhcmlfU1QJ CQk7IEF0YXJpIFNUCitkZWYgY2xzIGVjaG8gXDI3SFwyN0oJCTsgQ2xlYXIgc2NyZWVuIGFgbGEg VlQ1Mgorc2V0IHNlcnZlciBkaXNwbGF5IG9uCQk7IFNob3cgZmlsZSB4ZmVyIGRpc3BsYXkgaW4g c2VydmVyIG1vZGUgdG9vCitzZXQgc2VydmVyIHRpbWVvdXQgMTUJCTsgTm9uemVybyByZXF1aXJl ZCBmb3IgXkMgaW50ZXJydXB0aW9uIQorZm9yd2FyZCBDT01NT04gICAgICAgICAgICAgICAgICA7 IEVuZCBvZiBBdGFyaSBTVCBzZWN0aW9uCisKKzpNYWNpbnRvc2gJCQk7IEFwcGxlIE1hY2ludG9z aAorc2V0IHNlcnZlciBkaXNwbGF5IG9uCQk7IFNob3cgZmlsZSB4ZmVyIGRpc3BsYXkgaW4gc2Vy dmVyIG1vZGUgdG9vLgorZm9yd2FyZCBDT01NT04KKworOlN0cmF0dXNfVk9TICAgICAgICAgICAg ICAgICAgICA7IFN0cmF0dXMgVk9TCithc2cgX215aW5pdCBcdihob21lKWNrZXJtb2QuaW5pCitp ZiByZW1vdGUgZm9yd2FyZCBDT01NT04KK2FzZyBfZGlhbGRpciBcdihob21lKWNrZXJtaXQua2Rk Cithc2cgX25ldGRpciBcdihob21lKWNrZXJtaXQua25kCithc2cgX3NlcnZpY2VkaXIgXHYoaG9t ZSlja2VybWl0LmtzZAorZm9yd2FyZCBDT01NT04gICAgICAgICAgICAgICAgICA7IEVuZCBvZiBT dHJhdHVzIFZPUyBzZWN0aW9uCisKKzpDT01NT04JCQkJOyBGb3IgYWxsIHN5c3RlbXMKKworOyBE ZWZpbmUgbWFjcm9zIHRoYXQgYXJlIHVzZWZ1bCB3aGVuIHJ1bm5pbmcgQy1LZXJtaXQgaW4gcmVt b3RlIG1vZGUuCis7IFRoZXNlIG1hY3JvcyBzZXJ2ZSBubyBwdXJwb3NlIG9uIGxvY2FsLW1vZGUt b25seSB2ZXJzaW9ucyBzdWNoIGFzCis7IE9TLzIsIE1hY2ludG9zaCwgQW1pZ2EsIGFuZCBBdGFy aSBTVCBLZXJtaXQsIHNvIHdlIHNraXAgZGVmaW5pbmcgdGhlbQorOyBmb3IgdGhvc2Ugc3lzdGVt cy4KKzsKK2lmIG5vdCA9IDAgXGZpbmRleChcdihzeXN0ZW0pLFdJTjMyOk9TLzI6TWFjaW50b3No OkFtaWdhOkF0YXJpX1NUKSAtCisgIGZvcndhcmQgZmlsZXMKKworOyBWVFBSSU5UIG1hY3JvLiAg UHJpbnQgYSBmaWxlIG9uIHlvdXIgUEMncyBsb2NhbCBwcmludGVyLgorCitkZWYgVlRQUklOVCBl Y2hvIFwyN1s1aSwgdHlwZSBcJTEsIGVjaG8gXDI3WzRpCis7IG9yIGlmIHlvdXIgcHJpbnRlciBu ZWVkcyBhIGZvcm1mZWVkIHRvIGZvcmNlIHRoZSBwYWdlIG91dDoKKzsgZGVmIFZUUFJJTlQgIGRl ZiBlY2hvIFwyN1s1aSwgdHlwZSBcJTEsIGVjaG8gXDEyXDI3WzRpCisKKzsgTWFjcm9zIGZvciBo b3N0LWluaXRpYXRlZCBmaWxlIHRyYW5zZmVyIHVzaW5nIEFQQzoKKzsgICBOT1QgTkVFREVEIEFO WSBNT1JFIGJlY2F1c2Ugb2YgYXV0b2Rvd25sb2FkL2F1dG91cGxvYWQuCis7ICAgUmVtb3ZlIHRo ZSBmb2xsb3dpbmcgRk9SV0FSRCBjb21tYW5kIHRvIHJlaW5zdGF0ZSB0aGVzZSBkZWZpbml0aW9u czoKKworOkZJTEVTCisKKzsgR2V0IGN1c3RvbWl6YXRpb24gYW5kIGRpcmVjdG9yeSBmaWxlIG5h bWVzLiAgRW52aXJvbm1lbnQgdmFyaWFibGVzIHRha2UKKzsgcHJlY2VkZW5jZSwgc28geW91IGRv IG5vdCBoYXZlIHRvIGVkaXQgdGhpcyBmaWxlIHRvIGNoYW5nZSB0aGVzZSBmaWxlbmFtZXMuCis7 CitpZiBkZWYgXCQoQ0tFUk1PRCkgYXNzaWduIF9teWluaXQgXCQoQ0tFUk1PRCkKK2lmIG5vdCBk ZWYgX215aW5pdCBhc3NpZ24gX215aW5pdCBcdihob21lKUNLRVJNT0QuSU5JCisKK2lmIHJlbW90 ZSBmb3J3YXJkIENVU1RPTSA7IFNraXAgYWxsIHRoaXMgaWYgLVIgZ2l2ZW4gb24gY29tbWFuZCBs aW5lCisKK2lmIGRlZiBcJChLX05FVF9ESVJFQ1RPUlkpIGFzc2lnbiBfbmV0ZGlyIFwkKEtfTkVU X0RJUkVDVE9SWSkKK2lmIG5vdCBkZWYgX25ldGRpciBhc3NpZ24gX25ldGRpciBcdihob21lKUNL RVJNSVQuS05ECisKK2lmIGRlZiBcJChLX0RJQUxfRElSRUNUT1JZKSBhc3NpZ24gX2RpYWxkaXIg XCQoS19ESUFMX0RJUkVDVE9SWSkKK2lmIG5vdCBkZWYgX2RpYWxkaXIgYXNzaWduIF9kaWFsZGly IFx2KGhvbWUpQ0tFUk1JVC5LREQKKworQ0hFQ0sgRElBTAkJCTsgSXMgdGhlcmUgYSBESUFMIGNv bW1hbmQ/Cit4aWYgZmFpbCB7IAkJCTsgTm8uCisgICAgZWNobyBESUFMIGRpc2FibGVkCisgICAg Zm9yd2FyZCBDVVNUT00KK30KKworQ0hFQ0sgTkVUV09SSworeGlmIHN1Y2Nlc3MgeworICAgIHhp ZiBleGlzdCBcbShfbmV0ZGlyKSB7CisJc2V0IG5ldCBkaXJlY3RvcnkgXG0oX25ldGRpcikKKwll Y2hvIHsgTmV0d29yayBkaXJlY3RvcnkgaXMgXG0oX25ldGRpcikgfQorICAgIH0KK30KKworaWYg ZXEgIlx2KG5hbWUpIiAidGVsbmV0IiBmb3J3YXJkIENVU1RPTQorCit4aWYgZXhpc3QgXG0oX2Rp YWxkaXIpIHsKKyAgICBzZXQgZGlhbCBkaXJlY3RvcnkgXG0oX2RpYWxkaXIpCisgICAgZWNobyB7 IERpYWwgZGlyZWN0b3J5IGlzIFxtKF9kaWFsZGlyKSB9Cit9CisKK0NPTU1FTlQgLSBTZXJ2aWNl cyBkaXJlY3RvcnkKKworaWYgZGVmIFwkKEtfU0VSVklDRV9ESVJFQ1RPUlkpIGFzc2lnbiBfc2Vy dmljZWRpciBcJChLX1NFUlZJQ0VfRElSRUNUT1JZKQoraWYgbm90IGRlZiBfc2VydmljZWRpciBh c3NpZ24gX3NlcnZpY2VkaXIgXHYoaG9tZSlDS0VSTUlULktTRAorCis7IElmIG5vIHNlcnZpY2Vz IGRpcmVjdG9yeSBpcyBmb3VuZCBza2lwIGFsbCB0aGUgYmlnIG1hY3JvIGRlZmluaXRpb25zIGFu ZAorOyBnbyBzdHJhaWdodCB0byB0aGUgYm90dG9tLCB3aGVyZSB3ZSBleGVjdXRlIHRoZSBjdXN0 b21pemF0aW9uIGZpbGUuCisKK2lmIG5vdCBleGlzdCBcbShfc2VydmljZWRpcikgZm9yd2FyZCBj dXN0b20KKworZWNobyB7IFNlcnZpY2VzIGRpcmVjdG9yeSBpcyBcbShfc2VydmljZWRpcil9CisK K2RlZiBNQVhfU1ZDUyAyMDAgICAgICAgICAgICAgICA7IEFkanVzdCB0aGlzIGlmIHlvdSBoYXZl IG1vcmUgZW50cmllcworZGVmaW5lIF9zZCAwICAgICAgICAgICAgICAgICAgIDsgQXNzdW1lIG5v IHNlcnZpY2VzIGRpcmVjdG9yeQorb3BlbiByZWFkIFxtKF9zZXJ2aWNlZGlyKSAgICAgIDsgVHJ5 IHRvIG9wZW4gc2VydmljZXMgZGlyZWN0b3J5IGZpbGUKK3hpZiBzdWNjZXNzIHsKKyAgICBkZWNs YXJlIFwmZFtcbShNQVhfU1ZDUyldICA7IEl0J3Mgb3BlbiwgZGVjbGFyZSBkaXJlY3RvcnkgYXJy YXkKKyAgICBmb3IgXCVpIDEgXG0oTUFYX1NWQ1MpIDEgeyA7IFJlYWQgdGhlIGxpbmVzIGludG8g dGhlIGFycmF5CisJcmVhZCBcJmRbXCVpXQorCWlmIGZhaWwgYnJlYWsKKyAgICB9CisgICAgY2xv c2UgcmVhZAorICAgIHhpZiA+IFwlaSAgXG0oTUFYX1NWQ1MpIHsKKwllY2hvIFRvbyBtYW55IGVu dHJpZXMgaW4gc2VydmljZXMgZGlyZWN0b3J5CisJZWNobyB7IE1heGltdW0gaXMgXG0oTUFYX1NW Q1MpLn0KKwllY2hvIHsgQ2hhbmdlIGRlZmluaXRpb24gb2YgTUFYX1NWQ1MgaW4gXHYoY21kZmls ZSkgdG8gYWxsb3cgbW9yZS4gfQorCWVjaG8geyBTZXJ2aWNlcyBkaXJlY3RvcnkgZGlzYWJsZWQu fQorICAgIH0gZWxzZSB7CisgICAgICAgIGFzZyBcJmRbMF0gXGZldmFsKFwlaSAtIDEpCisgICAg ICAgIGRlZmluZSBfc2QgMQorICAgIH0KK30KKworeGlmIG5vdCBcbShfc2QpIHsKKyAgICBkZWYg YWNjZXNzIGVjaG8geyBTZXJ2aWNlcyBkaXJlY3Rvcnkgbm90IGF2YWlsYWJsZS59CisgICAgYXNn IGxpc3QgXG0oYWNjZXNzKQorfSBlbHNlIHsKKyAgICBkZWYgRklORCB7CisJc2V0IGNhc2Ugb2Zm CisJZm9yIFwlaSAxIFwmZFswXSAxIHsKKwkgICAgaWYgZXEge1wlMX0ge1xmc3Vic3RyKFwmZFtc JWldLDEsXGZsZW4oXCUxKSl9IGJyZWFrCisJfQorCWlmIG5vdCA+IFwlaSBcJmRbMF0gcmV0dXJu IFwmZFtcJWldCisgICAgfQorICAgIGRlZiBMSVNUIHsKKwl4aWYgPiBcdihhcmdjKSAxIHsKKwkg ICAgZmluZCBcJTEKKwkgICAgaWYgZGVmIFx2KHJldHVybikgZWNobyBcdihyZXR1cm4pCisJICAg IGVsc2UgZWNobyBcJTE6IE5vdCBmb3VuZAorCX0gZWxzZSB7CisJICAgIGVjaG8gXCZkWzBdIGl0 ZW1zIGluIHNlcnZpY2VzIGRpcmVjdG9yeToKKwkgICAgZm9yIFwlaSAxIFwmZFswXSAxIHsgZWNo byBcZmNvbnQoXCZkW1wlaV0pIH0KKwl9CisgICAgfQorICAgIGRlZiBTUExJVCB7IGFzZyBfd29y ZDEgXCUxLCBhc2cgX3dvcmQyIFwlMiB9CisgICAgZGVmIERPQUNDRVNTIHsgICAgICAgICAgICAg ICA7IChVc2VkIGludGVybmFsbHkgYnkgQUNDRVNTIG1hY3JvKQorCWRvIFwlNSBcJTYgXCU3IFwl OCBcJTkgICA7IERvIHRoZSBjb25uZWN0aW9uIG1hY3JvCisJaWYgZmFpbCBlbmQgMQorICAgICAg ICBzcGxpdCBcJTMgICAgICAgICAgICAgICAgOyBHZXQgd29yZHMgZnJvbSBcJTMKKwlhc2cgXCUz IFxtKF93b3JkMSkKKwlhc2cgXCUyIFxtKF93b3JkMikKKwlkbyBcJTMgXCU0IHtcJTF9IFwlMiAg ICAgOyBMb2dpbiBtYWNybywgdXNlcmlkLCBwYXNzd29yZCwgcHJvbXB0CisgICAgfQorICAgIGRl ZiBBQ0NFU1MgeworCWlmIG5vdCBkZWZpbmVkIFwlMSBlbmQgMSBhY2Nlc3Mgd2hhdD8gICAgICAg IDsgQ2hlY2sgc2VydmljZQorCWZpbmQgXCUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDsgTG9vayBpdCB1cAorCWlmIHN1Y2Nlc3MgZG9hY2Nlc3Mge1wlMn0gXHYocmV0dXJu KSAgICAgICAgIDsgT0ssIHRyeSBpdAorCWVsc2UgZW5kIDEgIlwlMSIgbm90IGluIHNlcnZpY2Vz IGRpcmVjdG9yeSAgIDsgTm90IGZvdW5kCisJaWYgZmFpbCBlbmQgMSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOyBET0FDQ0VTUyBmYWlsZWQ/CisJeGlmIGVxIFx2KGNtZGxldmVsKSAx IHsKKwkgICAgZWNobworCSAgICBlY2hvIEFDQ0VTUzogTG9naW4gc3VjY2VlZGVkIC0gQ09OTkVD VGluZy4uLgorICAgICAgICAgICAgc2hvdyBlc2NhcGUKKyAgICAgICAgICAgIG91dHB1dCBcMTMK KwkgICAgY29ubmVjdCAvcXVpZXRseQorICAgICAgICB9CisgICAgfQorfQorCis6Q09OTkVDVElP TiA7IE1hY3JvcyBmb3IgbWFraW5nIGNvbm5lY3Rpb25zCisKK0NPTU1FTlQgLSBTRVJJQUwgbWFj cm8uICBBcmd1bWVudHM6Cis7IFwlMSA9IGRldmljZSBuYW1lCis7IFwlMiA9IHNwZWVkCis7Citk ZWYgU0VSSUFMIHsKKyAgICBpZiA8IFx2KGFyZ2MpIDMgICAgICAgICAgICAgICAgICAgICAgICAg OyBBbGwgYXJndW1lbnRzIGdpdmVuPworICAgICAgZW5kIDEgVXNhZ2U6IFNFUklBTCBkZXZpY2Ug c3BlZWQgICAgICA7IE5vLgorICAgIHNldCBsaW5lIFwlMSAgICAgICAgICAgICAgICAgICAgICAg ICAgICA7IE9LLCB0cnkgdG8gU0VUIExJTkUuCisgICAgaWYgZmFpbHVyZSAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDsgSWYgdGhpcyBmYWlsZWQsCisgICAgICBlbmQgMSBDYW4ndCBvcGVu IGRldmljZTogXCUxICAgICAgICAgIDsgcHJpbnQgbWVzc2FnZSBhbmQgcXVpdC4KKyAgICBzZXQg c3BlZWQgXCUyICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBUcnkgdG8gc2V0IHRoZSBzcGVl ZC4KKyAgICBpZiBmYWlsIGVuZCAxIFVuc3VwcG9ydGVkIHNwZWVkOiBcJTIgICAgOyBGYWlsZWQu CisgICAgZWNobyBDb25uZWN0aW9uIHN1Y2Nlc3NmdWwuICAgICAgICAgICAgIDsgU3VjY2VlZGVk LgorfQorCitDT01NRU5UIC0gTkVUIG1hY3JvLiAgQXJndW1lbnRzOgorOyBcJTEgPSBuZXR3b3Jr IHR5cGUKKzsgXCUyID0gaG9zdCBuYW1lIG9yIGFkZHJlc3MKKzsKK2RlZiBORVQgeworICAgIGlm IDwgXHYoYXJnYykgMyBlbmQgMSBVc2FnZTogTkVUIG5ldHdvcmsgaG9zdAorICAgIHNldCBuZXR3 b3JrIHR5cGUgXCUxCisgICAgaWYgZmFpbCBlbmQgMSB1bnN1cHBvcnRlZCBuZXR3b3JrOiBcJTEK KyAgICBzZXQgbG9naW4gdXNlciAgICAgICAgICAgICAgICA7IERvbid0IHNlbmQgdXNlciBJRC4K KyAgICBzZXQgaG9zdCBcJTIKKyAgICBpZiBmYWlsIGVuZCAxIENhbid0IHJlYWNoIGhvc3Q6IFwl MgorICAgIGVjaG8gQ29ubmVjdGlvbiBzdWNjZXNzZnVsLgorfQorCitDT01NRU5UIC0gQ0FMTCBt YWNyby4gIEFyZ3VtZW50czoKKzsKKzsgXCUxID0gbW9kZW0gdHlwZQorOyBcJTIgPSBkZXZpY2Ug bmFtZQorOyBcJTMgPSBzcGVlZAorOyBcJTQgPSBwaG9uZSBudW1iZXIKKzsKK2RlZiBDQUxMIHsK KyAgICBpZiA8IFx2KGFyZ2MpIDUgLSAgICAgICAgIDsgQWxsIGFyZ3VtZW50cyBwcmVzZW50Pwor ICAgICAgZW5kIDEgVXNhZ2U6IENBTEwgbW9kZW0gZGV2aWNlIHNwZWVkIG51bWJlcgorICAgIHhp ZiBub3QgZXF1YWwge1x2KG1vZGVtKX0ge1wlMX0geyA7IFNldCBtb2RlbSB0eXBlCisgICAgICAg IHNldCBtb2RlbSBcJTEKKyAgICAgICAgaWYgZmFpbCBlbmQgMSB1bmtub3duIG1vZGVtIHR5cGU6 IFwlMQorICAgIH0KKyAgICB4aWYgbm90IGVxdWFsIHtcdihsaW5lKX0ge1wlMn0geyA7IENvbW11 bmljYXRpb24gZGV2aWNlCisgICAgICAgIHNldCBsaW5lIFwlMgorICAgICAgICBpZiBmYWlsIGVu ZCAxIGNhbid0IG9wZW4gZGV2aWNlOiBcJTIKKyAgICB9CisgICAgeGlmIG5vdCBlcXVhbCB7XHYo c3BlZWQpfSB7XCUzfSB7IDsgQ29tbXVuaWNhdGlvbiBzcGVlZAorICAgICAgICBzZXQgc3BlZWQg XCUzCisgICAgICAgIGlmIGZhaWwgZW5kIDEgdW5zdXBwb3J0ZWQgc3BlZWQ6IFwlMworICAgIH0K KyAgICBkaWFsIFwlNCAgICAgICAgICAgICAgICAgIDsgRGlhbCB0aGUgbnVtYmVyCisgICAgaWYg ZmFpbCBlbmQgMSBDYW4ndCBwbGFjZSBjYWxsOiBcJTQKKyAgICBlbmQgMCBDb25uZWN0aW9uIHN1 Y2Nlc3NmdWwuCit9CisKK0NPTU1FTlQgLSBUQ1BDQUxMIG1hY3JvLiAgQXJndW1lbnRzOgorOwor OyBcJTEgPSBzZXJ2ZXIgbmFtZTpwb3J0Cis7IFwlMiA9IG1vZGVtIHR5cGUKKzsgXCUzID0gcGhv bmUgbnVtYmVyCis7CitkZWYgVENQQ0FMTCB7CisgICAgaWYgPCBcdihhcmdjKSA0IC0gICAgICAg ICA7IEFsbCBhcmd1bWVudHMgcHJlc2VudD8KKyAgICAgIGVuZCAxIFVzYWdlOiBUQ1BDQUxMIHNl cnZlcls6cG9ydF0gbW9kZW0gbnVtYmVyCisgICAgc2V0IG5ldCB0eXBlIHRjcC9pcCAgICAgICA7 IFdoaWNoIG5ldHdvcmsgdG8gdXNlCisgICAgaWYgZmFpbCBlbmQgMSB1bnN1cHBvcnRlZCBuZXR3 b3JrOiB0Y3AvaXAKKyAgICBzZXQgaG9zdCBcJTEgICAgICAgICAgICAgIDsgQWNjZXNzIHNlcnZl ciBhbmQgcG9ydAorICAgIGlmIGZhaWwgZW5kIDEgY2FuJ3QgYWNjZXNzIHNlcnZlciBcJTEKKyAg ICBzZXQgbW9kZW0gXCUyICAgICAgICAgICAgIDsgU2V0IG1vZGVtIHR5cGUKKyAgICBpZiBmYWls IGVuZCAxIHVua25vd24gbW9kZW0gdHlwZTogXCUyCisgICAgZGlhbCBcJTMgICAgICAgICAgICAg ICAgICA7IERpYWwgdGhlIG51bWJlcgorICAgIGlmIGZhaWwgZW5kIDEgQ2FuJ3QgcGxhY2UgY2Fs bDogXCUzCisgICAgZW5kIDAgQ29ubmVjdGlvbiBzdWNjZXNzZnVsLgorfQorCitDT01NRU5UIC0g U1BSSU5UIG1hY3JvLiAgQXJndW1lbnRzOgorOyBcJTEgPSBTZXJ2aWNlIG5hbWUgb3IgYWRkcmVz cworOworZGVmIFNQUklOVCB7CisgICAgaWYgPCBcdihhcmdjKSAyIGVuZCAxIFVzYWdlOiBcJTAg c2VydmljZQorICAgIHNldCBpbnB1dCB0aW1lb3V0IHByb2NlZWQKKyAgICBvdXRwdXQgQERcMTMK KyAgICBpbnB1dCAxMCBURVJNSU5BTD0KKyAgICBpZiBmYWlsIGVuZCAxIE5vIHRlcm1pbmFsIHBy b21wdAorICAgIG91dCBEMVwxMworICAgIGlucCAxMCBACisgICAgaWYgZmFpbCBlbmQgMSBObyBh dHNpZ24gcHJvbXB0CisgICAgb3V0cHV0IGMgXCUxXDEzCisgICAgaW5wdXQgMTAgQ09OTkVDVEVE CisgICAgaWYgZmFpbCBlbmQgMSBDYW4ndCBhY2Nlc3MgXCUxIGZyb20gU3ByaW50TmV0Cit9CisK K0NPTU1FTlQgLSBVTE9HSU4gbWFjcm8uICBGb3IgbG9nZ2luZyBpbnRvIHN5c3RlbXMgd2hlcmUg dXNlciBJRCBpcyByZXF1aXJlZAorOyBidXQgdGhlcmUgaXMgbm8gcGFzc3dvcmQuICBBcmd1bWVu dHM6Cis7IFwlMSA9IFVOSVggdXNlciBJRAorOworZGVmaW5lIFVMT0dJTiB7CisgICAgaWYgPCBc dihhcmdjKSAyIGVuZCAxIFVzYWdlOiBcJTAgdXNlcmlkCisgICAgc2V0IGlucHV0IHRpbWVvdXQg cHJvY2VlZCAgICAgOyBIYW5kbGUgdGltZW91dHMgb3Vyc2VsdmVzCisgICAgc2V0IGNhc2Ugb24g ICAgICAgICAgICAgICAgICAgOyBDYXNlIGlzIGltcG9ydGFudCBpbiBVTklYCisgICAgbWlucHV0 IDUgbG9naW46IFVzZXJuYW1lOiB7VXNlciBJRDp9IHtVc2VyIE5hbWU6fQorICAgIG91dCBcJTFc MTMgICAgICAgICAgICAgICAgICAgIDsgU2VuZCB1c2VybmFtZSwgY2FycmlhZ2UgcmV0dXJuCisg ICAgZW5kIDAKK30KKworQ09NTUVOVCAtIFZNU0xPR0lOIG1hY3JvLiAgQXJndW1lbnRzOgorOyBc JTEgPSBWTVMgdXNlciBJRAorOyBcJTIgPSBQYXNzd29yZC4gIElmIHBhc3N3b3JkIG5vdCBzdXBw bGllZCwgaXQgaXMgcHJvbXB0ZWQgZm9yLgorOyBcJTMgPSBTeXN0ZW0gcHJvbXB0LiAgSWYgb21p dHRlZCBhIGRlZmF1bHQgaXMgc3VwcGxpZWQuCis7CitkZWZpbmUgVk1TTE9HSU4geworICAgIGlm IDwgXHYoYXJnYykgMiBlbmQgMSBVc2FnZTogXCUwIHVzZXJpZCBbIHBhc3N3b3JkIFsgcHJvbXB0 IF0gXQorICAgIHdoaWxlIG5vdCBkZWZpbmVkIFwlMiB7CisgICAgICAgIGFza3EgXCUyIHsgXCUx J3MgcGFzc3dvcmQ6IH0KKyAgICB9CisgICAgc2V0IHBhcml0eSBub25lICAgICAgICAgICAgICAg OyBTZXQgY29tbXVuaWNhdGlvbiBwYXJhbWV0ZXJzCisgICAgc2V0IGR1cGxleCBmdWxsCisgICAg c2V0IGhhbmRzaGFrZSBub25lCisgICAgc2V0IGlucHV0IHRpbWVvdXQgcHJvY2VlZCAgICAgOyBI YW5kbGUgdGltZW91dHMgb3Vyc2VsdmVzCisgICAgaW4gNSBVc2VybmFtZTogICAgICAgICAgICAg ICAgOyBJcyBwcm9tcHQgYWxyZWFkeSB0aGVyZT8KKyAgICB4aWYgZmFpbCB7ICAgICAgICAgICAg ICAgICAgICA7IE5vLgorICAgICAgICBmb3IgXCVpIDEgMyAxIHsgICAgICAgICAgIDsgVHJ5IDMg dGltZXMgdG8gZ2V0IGl0LgorICAgICAgICAgICAgb3V0IFwxMyAgICAgICAgICAgICAgIDsgU2Vu ZCBjYXJyaWFnZSByZXR1cm4KKyAgICAgICAgICAgIGluIDUgVXNlcm5hbWU6ICAgICAgICA7IExv b2sgZm9yIHByb21wdAorICAgICAgICAgICAgaWYgc3VjY2VzcyBicmVhayAgICAgIDsgU3VjY2Vz cywgZ28gbG9nIGluCisgICAgICAgIH0KKyAgICAgICAgaWYgPiBcJWkgMyBlbmQgMSBObyBVc2Vy bmFtZSBwcm9tcHQKKyAgICB9CisgICAgb3V0IFwlMVwxMyAgICAgICAgICAgICAgICAgICAgOyBT ZW5kIHVzZXJuYW1lLCBjYXJyaWFnZSByZXR1cm4KKyAgICBpbnAgNSBQYXNzd29yZDogICAgICAg ICAgICAgICA7IFdhaXQgNSBzZWMgZm9yIHRoaXMgcHJvbXB0CisgICAgaWYgZmFpbCBlbmQgMSBO byBwYXNzd29yZCBwcm9tcHQKKyAgICBwYXVzZSAgICAgICAgICAgICAgICAgICAgICAgICA7IFdh aXQgYSBzZWMKKyAgICBvdXQgXCUyXDEzICAgICAgICAgICAgICAgICAgICA7IFNlbmQgcGFzc3dv cmQKKyAgICB4aWYgbm90IGVtdWxhdGlvbiB7ICAgICAgICAgICA7IE5vIGVtdWxhdG9yIGJ1aWx0 IGluPworICAgICAgICBzZXQgaW5wdXQgZWNobyBvZmYgICAgICAgIDsgUHJvdGVjdCB0ZXJtaW5h bCBmcm9tIHRoaXMKKyAgICAgICAgbWlucHV0IDEwIHtcMjdafSB7XDI3W2N9IHtcMjdbMGN9IDsg R2V0IHRlcm1pbmFsIElEIHF1ZXJ5CisgICAgICAgIHhpZiBzdWNjZXNzIHsgICAgICAgICAgICAg ICAgICAgICA7IEdvdCBvbmUKKyAgICAgICAgICAgIG91dHB1dCBcMjdbXD8xYyAgICAgICAgICAg ICAgIDsgU2VuZCBWVDEwMCB0ZXJtaW5hbCBJRAorICAgICAgICAgICAgaW4gMiBcMjdbNm4gICAg ICAgICAgICAgICAgICAgOyBTY3JlZW4gZGltZW5zaW9uIHF1ZXJ5PworICAgICAgICAgICAgaWYg c3VjYyBvdXQgXDI3W1x2KHJvd3MpO1x2KGNvbHMpUiA7IFNlbmQgZGltZW5zaW9ucworICAgICAg ICB9CisgICAgICAgIHNldCBpbnB1dCBlY2hvIG9uICAgICAgICAgOyBFY2hvIGlucHV0IGFnYWlu CisgICAgfQorICAgIGlmIG5vdCBkZWYgXCUzIC0gICAgICAgICAgICAgIDsgSWYgd2Ugd2VyZSBu b3QgZ2l2ZW4gYSBwcm9tcHQKKyAgICAgIGFzZyBcJTMge1x2KHByb21wdCl9ICAgICAgICA7IHVz ZSB0aGUgU0VUIExPR0lOIFBST01QVCB2YWx1ZQorICAgIGlmIG5vdCBkZWYgXCUzIC0gICAgICAg ICAgICAgIDsgSWYgd2Ugc3RpbGwgZG9uJ3QgaGF2ZSBhIHByb21wdAorICAgICAgYXNnIFwlMyB7 XDEzJFwzMn0gICAgICAgICAgIDsgdXNlIHRoaXMgb25lIGFzIHRoZSBkZWZhdWx0CisgICAgcmVp bnAgMCBcJTMgICAgICAgICAgICAgICAgICAgOyBEaWQgd2UgSU5QVVQgdGhlIHByb21wdCBhbHJl YWR5PworICAgIGlmIGZhaWwgaW5wIDYwIFwlMyAgICAgICAgICAgIDsgTm8sIGxvb2sgbm93Lgor ICAgIGlmIGZhaWwgZW5kIDEKK30KKworQ09NTUVOVCAtIFVOSVhMT0dJTiBtYWNyby4gIEFyZ3Vt ZW50czoKKzsgXCUxID0gVU5JWCB1c2VyIElECis7IFwlMiA9IFBhc3N3b3JkLiAgSWYgcGFzc3dv cmQgbm90IHN1cHBsaWVkLCBpdCBpcyBwcm9tcHRlZCBmb3IuCis7IFwlMyA9IFN5c3RlbSBwcm9t cHQuICBJZiBvbWl0dGVkIGEgZGVmYXVsdCBpcyBzdXBwbGllZC4KKzsKK2RlZmluZSBVTklYTE9H SU4geworICAgIGxvY2FsIFwlbSBcJWkKKyAgICBpZiA8IFx2KGFyZ2MpIDIgLQorICAgICAgZW5k IDEgVXNhZ2U6IFwlMCB1c2VyaWQgWyBwYXNzd29yZCBbIHByb21wdCBdIF0KKyAgICB3aGlsZSBu b3QgZGVmaW5lZCBcJTIgeworICAgICAgICBhc2txIFwlMiB7IFwlMSdzIHBhc3N3b3JkOiB9Cisg ICAgfQorICAgIHNldCBpbnB1dCBlY2hvIG9uCisgICAgc2V0IHBhcml0eSBub25lICAgICAgICAg ICAgICAgOyBTZXQgY29tbXVuaWNhdGlvbiBwYXJhbWV0ZXJzLgorICAgIHNldCBkdXBsZXggZnVs bAorICAgIHNldCBoYW5kc2hha2Ugbm9uZQorICAgIHNldCBpbnB1dCB0aW1lb3V0IHByb2NlZWQg ICAgIDsgSGFuZGxlIHRpbWVvdXRzIG91cnNlbHZlcworICAgIHNldCBjYXNlIG9uICAgICAgICAg ICAgICAgICAgIDsgQ2FzZSBpcyBpbXBvcnRhbnQgaW4gVU5JWAorICAgIGRlZiBcJW0gMTAgICAg ICAgICAgICAgICAgICAgIDsgV2FpdGluZyB0aW1lIGZvciBJTlBVVAorICAgIGZvciBcJWkgMSA1 IDEgeworICAgICAgICBtaW5wdXQgXCVtIGxvZ2luOiB7c3N3b3JkOn0ge1Bhc3N3b3JkIGZvciBc JTE6fQorCWlmIHN1Y2Nlc3MgYnJlYWsKKwlvdXRwdXQgXEJcMTMKKyAgICAgICAgXCVtIDo6PSA2 LVwlMQorICAgIH0KKyAgICBpZiA+IFwlaSA1IGVuZCAxIHtObyByZXNwb25zZSBmcm9tIGhvc3R9 CisgICAgeGlmID0gXHYobWlucHV0KSAxIHsJICA7IEhhdmUgdXNlcm5hbWUgcHJvbXB0CisJb3V0 cHV0IFwlMVwxMwkJICA7IFNlbmQgdXNlcm5hbWUKKyAgICAgICAgbWlucHV0IDUge3Nzd29yZDp9 IHtzc3dvcmQgZm9yIFwlMTp9IDsgV2FpdCBmb3IgcGFzc3dvcmQgcHJvbXB0CisJaWYgZmFpbCBl bmQgMSB7Tm8gcGFzc3dvcmQgcHJvbXB0fQorICAgIH0KKyAgICBwYXVzZSAgICAgICAgICAgICAg ICAgICAgICAgICA7IFdhaXQgYSBzZWMKKyAgICBvdXQgXCUyXDEzICAgICAgICAgICAgICAgICAg ICA7IFNlbmQgcGFzc3dvcmQKKyAgICBpZiBub3QgZGVmIFwlMyAtICAgICAgICAgICAgICA7IElm IHdlIHdlcmUgbm90IGdpdmVuIGEgcHJvbXB0CisgICAgICBhc2cgXCUzIHtcdihwcm9tcHQpfSAg ICAgICAgOyB1c2UgdGhlIFNFVCBMT0dJTiBQUk9NUFQgdmFsdWUKKyAgICBpZiBub3QgZGVmIFwl MyAtICAgICAgICAgICAgICA7IElmIHdlIHN0aWxsIGRvbid0IGhhdmUgYSBwcm9tcHQKKyAgICAg IGFzZyBcJTMge1wxMCQgfSAgICAgICAgICAgICA7IHVzZSB0aGlzIG9uZSBhcyB0aGUgZGVmYXVs dAorICAgIHJlaW5wIDAgXCUzICAgICAgICAgICAgICAgICAgIDsgRGlkIHdlIElOUFVUIHRoZSBw cm9tcHQgYWxyZWFkeT8KKyAgICBpZiBmYWlsIGlucCA2MCBcJTMgICAgICAgICAgICA7IE5vLCBs b29rIG5vdy4KKyAgICBpZiBmYWlsIGVuZCAxCit9CisKK0NPTU1FTlQgLSBWTUxJTkVMT0dJTiBt YWNyby4gIEFyZ3VtZW50czoKKzsgXCUxID0gVXNlciBJRAorOyBcJTIgPSBQYXNzd29yZAorOwor ZGVmaW5lIFZNTElORUxPR0lOIHsKKyAgICBpZiA8IFx2KGFyZ2MpIDIgLQorICAgICAgZW5kIDEg VXNhZ2U6IFwlMCB1c2VyaWQgWyBwYXNzd29yZCBdCisgICAgd2hpbGUgbm90IGRlZmluZWQgXCUy IHsKKyAgICAgICAgYXNrcSBcJTIgeyBcJTEncyBwYXNzd29yZDogfQorICAgIH0KKyAgICBzZXQg cGFyaXR5IG1hcmsgICAgICAgICAgICAgICA7IFNldCBjb21tdW5pY2F0aW9uIHBhcmFtZXRlcnMK KyAgICBzZXQgZmxvdyBub25lCisgICAgc2V0IGhhbmRzaGFrZSB4b24KKyAgICBzZXQgZHVwbGV4 IGhhbGYKKyAgICBzZXQgaW5wdXQgdGltZW91dCBxdWl0ICAgICAgICA7IERvbid0IGJvdGhlciB3 aXRoIElGIEZBSUxVUkUKKyAgICBpbnB1dCAxMCBCUkVBSyBLRVkgICAgICAgICAgICA7IExvb2sg Zm9yIEJSRUFLIEtFWSBwcm9tcHQKKyAgICBwYXVzZSAxICAgICAgICAgICAgICAgICAgICAgICA7 IFdhaXQgYSBzZWNvbmQKKyAgICBvdXRwdXQgXEIgICAgICAgICAgICAgICAgICAgICA7IFNlbmQg QlJFQUsKKyAgICBpbnB1dCAxMCAuXDE3LCBvdXRwdXQgbG9nb24gXCUxXDEzICAgIDsgTm93IGxv ZyBpbgorICAgIGlucHV0IDEwIC5cMTcsIG91dHB1dCBcJTJcMTMgICAgICAgICAgOyBTZW5kIHBh c3N3b3JkCisgICAgaW5wdXQgMTAgLlwxNywgb3V0cHV0IFwxMyAgICAgICAgICAgICA7IFNlbmQg Y2FycmlhZ2UgcmV0dXJuCisgICAgaW5wdXQgMTAgLlwxNywgb3V0cHV0IFwxMyAgICAgICAgICAg ICA7IFNlbmQgYW5vdGhlciBvbmUKKyAgICBlbmQgMAorfQorCitDT01NRU5UIC0gVk1GVUxMT0dJ TiBtYWNyby4gIEFyZ3VtZW50czoKKzsgXCUxID0gVXNlciBJRAorOyBcJTIgPSBQYXNzd29yZAor OworZGVmaW5lIFZNRlVMTE9HSU4geworICAgIGlmIDwgXHYoYXJnYykgMiAtCisgICAgICBlbmQg MSBVc2FnZTogXCUwIHVzZXJpZCBbIHBhc3N3b3JkIF0KKyAgICB3aGlsZSBub3QgZGVmaW5lZCBc JTIgeworICAgICAgICBhc2txIFwlMiB7IFwlMSdzIHBhc3N3b3JkOiB9CisgICAgfQorICAgIHNl dCBpbnB1dCB0aW1lb3V0IHF1aXQgICAgICA7IFF1aXQgaWYgSU5QVVQgZmFpbHMKKyAgICBzZXQg cGFyaXR5IGV2ZW4gICAgICAgICAgICAgOyBTZXQgY29tbXVuaWNhdGlvbiBwYXJhbWV0ZXJzCisg ICAgc2V0IGR1cGxleCBmdWxsCisgICAgc2V0IGhhbmRzaGFrZSBub25lCisgICAgc2V0IGZsb3cg eG9uL3hvZmYKKyAgICBvdXQgXDEzICAgICAgICAgICAgICAgICAgICAgOyBTZW5kIGNhcnJpYWdl IHJldHVybgorICAgIGlucCA1IFRFUk1JTkFMIFRZUEU6ICAgICAgICA7IEdldCB0ZXJtaW5hbC10 eXBlIHByb21wdAorICAgIG91dCB2dC0xMDBcMTMgICAgICAgICAgICAgICA7IEp1c3Qgc2VuZCAi dnQtMTAwIgorICAgIGlucCAyMCBSVU5OSU5HICAgICAgICAgICAgICA7IEdldCBSVU5OSU5HIG1l c3NhZ2UKKyAgICBwYXUgMSAgICAgICAgICAgICAgICAgICAgICAgOyBXYWl0IG9uZSBzZWNvbmQK KyAgICBvdXQgXCUxXDlcJTJcMTMgICAgICAgICAgICAgOyBTZW5kIHVzZXIgSUQsIHRhYiwgcGFz c3dvcmQKKyAgICBvdXQgXDEzXDEzICAgICAgICAgICAgICAgICAgOyBUd28gbW9yZSBjYXJyaWFn ZSByZXR1cm5zCisgICAgZW5kIDAKK30KKworQ09NTUVOVCAtIENJU0xPR0lOIG1hY3JvLiAgQXJn dW1lbnRzOgorOyBcJTEgPSBDb21wdVNlcnZlIFVzZXIgSUQKKzsgXCUyID0gUGFzc3dvcmQKKzsg XCUzID0gUHJvbXB0Cis7CitkZWZpbmUgQ0lTTE9HSU4geworICAgIGlmIDwgXHYoYXJnYykgMiAt CisgICAgICBlbmQgMSBVc2FnZTogXCUwIHVzZXJpZCBbIHBhc3N3b3JkIFsgcHJvbXB0IF0gXQor ICAgIHdoaWxlIG5vdCBkZWZpbmVkIFwlMiB7CisgICAgICAgIGFza3EgXCUyIHsgXCUxJ3MgcGFz c3dvcmQ6IH0KKyAgICB9CisgICAgc2V0IHRlcm1pbmFsIGJ5dGVzaXplIDcgICAgIDsgTm8gOC1i aXQgY2hhcmFjdGVycworICAgIHNldCBpbnB1dCB0aW1lb3V0IHF1aXQgICAgICA7IFNraXAgdGhl IElGIEZBSUxVUkUncworICAgIG91dHB1dCBcMTMgICAgICAgICAgICAgICAgICA7IFNlbmQgaW5p dGlhbCBjYXJyaWFnZSByZXR1cm4KKyAgICBpbnB1dCA1IEhvc3QgTmFtZTogICAgICAgICAgOyBM b29rIGZvciBIb3N0IE5hbWUgcHJvbXB0CisgICAgb3V0cHV0IGNpc1wxMyAgICAgICAgICAgICAg IDsgU2VuZCAiY2lzIiBhbmQgY2FycmlhZ2UgcmV0dXJuCisgICAgaW5wdXQgNSBVc2VyIElEOiAg ICAgICAgICAgIDsgTG9vayBmb3IgVXNlciBJRCBwcm9tcHQKKyAgICBvdXRwdXQgXCUxXDEzICAg ICAgICAgICAgICAgOyBTZW5kIElEIGFuZCBjYXJyaWFnZSByZXR1cm4KKyAgICBpbnB1dCBQYXNz d29yZDogICAgICAgICAgICAgOyBMb29rIGZvciBQYXNzd29yZCBwcm9tcHQKKyAgICBvdXRwdXQg XCUyXDEzICAgICAgICAgICAgICAgOyBTZW5kIHBhc3N3b3JkIGFuZCBDUgorICAgIGlmIG5vdCBk ZWYgXCUzIGFzZyBcJTMgXHYocHJvbXB0KQorICAgIGlmIG5vdCBkZWYgXCUzIGFzZyBcJTMge0Nv bXB1U2VydmUgSW5mb3JtYXRpb24gU2VydmljZX0KKyAgICBpbnB1dCAzMCBcJTMKKyAgICBlbmQg MAorfQorCitDT01NRU5UIC0gRE9XTE9HSU4gbWFjcm8uICBBcmd1bWVudHM6Cis7IFwlMSA9IERv dyBKb25lcyBQYXNzd29yZAorOworZGVmaW5lIERPV0xPR0lOIHsKKyAgICB3aGlsZSBub3QgZGVm aW5lZCBcJTEgeyAgICAgICAgICAgICAgOyBHZXQgcGFzc3dvcmQKKyAgICAgICAgYXNrcSBcJTEg eyBEb3cgSm9uZXMgcGFzc3dvcmQ6IH0KKyAgICB9CisgICAgc2V0IGlucHV0IHRpbWVvdXQgcHJv Y2VlZAorICAgIGlucHV0IDIwIFNFUlZJQ0UgUExFQVNFXD9cP1w/XD8gICAgICA7IExvb2sgZm9y IERvdyBwcm9tcHQKKyAgICBpZiBmYWlsIGVuZCAxIE5vIHNlcnZpY2UgcHJvbXB0CisgICAgb3V0 IGRqbnJcMTMgICAgICAgICAgICAgICAgICAgICAgICAgIDsgU2VsZWN0IERKTlIKKyAgICBpbnB1 dCAxMCBAQEBAQEBAQCAgICAgICAgICAgICAgICAgICAgICAgIDsgR2V0IHBhc3N3b3JkIHByb21w dAorICAgIGlmIGZhaWwgZW5kIDEgTm8gcGFzc3dvcmQgcHJvbXB0CisgICAgcGF1c2UgMSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDsgV2FpdCBhIHNlY29uZCwgdGhlbi4uLgorICAgIG91 dHB1dCBcJTFcMTMgICAgICAgICAgICAgICAgICAgICAgICA7IHNlbmQgcGFzc3dvcmQgYW5kIENS CisgICAgaW5wdXQgMzAgRU5URVIgUVVFUlkgICAgICAgICAgICAgICAgIDsgR2V0IERKTlIgcXVl cnkgcHJvbXB0CisgICAgaWYgZmFpbCBlbmQgMSBObyBtYWluIHF1ZXJ5IHByb21wdAorICAgIHBh dXNlIDEKK30KKworQ09NTUVOVCAtIERKTlJTUFJJTlQgbWFjcm86IExvZyBpbiB0byBEb3cgSm9u ZXMgdmlhIFNwcmludE5ldC4KKzsKK2RlZiBkam5yc3ByaW50IHNwcmludCBkb3csIGlmIHN1Y2Nl c3MgZG93bG9naW4KKworQ09NTUVOVCAtIE5PTE9HSU4gbWFjcm8uICBEb2VzIG5vdGhpbmcuICBV c2Ugd2hlbiBsb2dpbiBub3QgcmVxdWlyZWQuCis7CitkZWYgbm9sb2dpbiBjb21tZW50CisKKzpD VVNUT00gOyBDdXN0b21pemF0aW9uIGZpbGUKKworOyBJbiBWTVMgYW5kIE9wZW5WTVMsIGFsbG93 IGZvciBzeXN0ZW0td2lkZSBzaXRlIGN1c3RvbWl6YXRpb25zCisKK3hpZiBlcXVhbCAiXHYoc3lz dGVtKSIgIlZNUyIgeworICAgIHhpZiBleGlzdCBDS0VSTUlUX0lOSTpDS0VSTUlULlNZUyB7CisJ ZWNobyBFeGVjdXRpbmcgQ0tFUk1JVF9JTkk6Q0tFUk1JVC5TWVMKKwl0YWtlIENLRVJNSVRfSU5J OkNLRVJNSVQuU1lTCisgICAgfQorfQorCis7IEV4ZWN1dGUgdXNlcidzIHBlcnNvbmFsIGN1c3Rv bWl6YXRpb24gZmlsZQorCit4aWYgZXhpc3QgXG0oX215aW5pdCkgIHsJCTsgSWYgaXQgZXhpc3Rz LAorICAgIGVjaG8gRXhlY3V0aW5nIFxtKF9teWluaXQpLi4uCTsgcHJpbnQgbWVzc2FnZSwKKyAg ICB0YWtlIFxtKF9teWluaXQpCQkJOyBhbmQgVEFLRSB0aGUgZmlsZS4KK30KKworOyBGaW5pc2gg dXAgd2l0aCB0cmFkaXRpb25hbCBncmVldGluZy4KKworaWYgPCBcdihudGltZSkgNDMyMDAgZWNo byBHb29kIE1vcm5pbmchCisgIGVsc2UgaWYgPCBcdihudGltZSkgNjEyMDAgZWNobyBHb29kIEFm dGVybm9vbiEKKyAgZWxzZSBlY2hvIEdvb2QgRXZlbmluZy4KKworRW5kIDsgb2YgQy1LZXJtaXQg Ny4wIGluaXRpYWxpemF0aW9uIGZpbGUuCgpkaWZmIC0tZ2l0IGEvY2tlcm1pdC5zcGVjIGIvY2tl cm1pdC5zcGVjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMzBhNWUKLS0t IC9kZXYvbnVsbAorKysgYi9ja2VybWl0LnNwZWMKQEAgLTAsMCArMSwxODEgQEAKK1N1bW1hcnk6 ICAgICAgIFRoZSBxdWludGVzc2VudGlhbCBhbGwtcHVycG9zZSBjb21tdW5pY2F0aW9ucyBwcm9n cmFtCitOYW1lOiAgICAgICAgICBja2VybWl0CitWZXJzaW9uOiAgICAgICA5LjAKK1JlbGVhc2U6 ICAgICAgIDAuMS5iZXRhMiV7P2Rpc3R9CitMaWNlbnNlOiAgICAgICBCU0Qgd2l0aCBhZHZlcnRp c2luZyBhbmQgTUlUCisjIE1vc3Qgb2YgdGhlIHBhY2thZ2UgaXMgdW5kZXIgYSB0aHJlZS1jbGF1 c2UgQlNEIGxpY2Vuc2UsIGJ1dCB0aGUgZmlsZQorIyBja2F1dDIuaCBhcHBlYXJzIHRvIGJlIGNv dmVyZWQgYnkgdGhyZWUgbGljZW5zZXM6CisjICAgVGhlIGJsYW5rZXQgbGljZW5zZSBpbiBDT1BZ SU5HLlRYVCBhbmQgY2tjbWFpLmMsIHdoaWNoIGlzIEJTRCB0aHJlZS1jbGF1c2UKKyMgICBCU0Qg Zm91ci1jbGF1c2UgKHcvIGFkdmVydGlzaW5nKQorIyAgIE1JVCBPbGQgU3R5bGUgKG5vIGFkdmVy dGlzaW5nIHdpdGhvdXQgcGVybWlzc2lvbikKK0dyb3VwOiAgICAgICAgIEFwcGxpY2F0aW9ucy9D b21tdW5pY2F0aW9ucworIyBVZ2x5IG5vbi12ZXJzaW9uZWQgVVJMIGZvciBiZXRhIHRlc3Qgc291 cmNlIHRhcmJhbGw6CitTb3VyY2UwOiAgICAgICBodHRwOi8vd3d3LmNvbHVtYmlhLmVkdS9rZXJt aXQvZnRwL3Rlc3QvdGFyL3gudGFyLmd6CisjIE9uY2UgcmVsZWFzZWQsIHRoZXJlIHNob3VsZCBi ZSBhIHByb3Blcmx5IHZlcnNpb25lZCBVUkwgc29tZXRoaW5nIGxpa2U6CisjU291cmNlMDogICAg ICAgZnRwOi8va2VybWl0LmNvbHVtYmlhLmVkdS9rZXJtaXQvYXJjaGl2ZXMvY2t1MjExLnRhci5n egorU291cmNlMTogICAgICAgY2tlcm1pdC5pbmkKK1NvdXJjZTI6ICAgICAgIGNrdS0le25hbWV9 LmxvY2FsLmluaQorU291cmNlMzogICAgICAgY2t1LSV7bmFtZX0ubW9kZW0uZ2VuZXJpYy5pbmkK K1NvdXJjZTQ6ICAgICAgIGNrdS0le25hbWV9LmxvY2FsZS5pbmkKK1NvdXJjZTU6ICAgICAgIGNr dS0le25hbWV9LnBob25lCitVUkw6ICAgICAgICAgICBodHRwOi8vd3d3LmNvbHVtYmlhLmVkdS9r ZXJtaXQvY2s5MC5odG1sCitCdWlsZFJlcXVpcmVzOiBwYW0tZGV2ZWwKK0J1aWxkUmVxdWlyZXM6 IHBrZ2NvbmZpZworQnVpbGRSZXF1aXJlczogb3BlbnNzbC1kZXZlbCA+PSAwLjkuNworQnVpbGRS ZXF1aXJlczogZ21wLWRldmVsID49IDMuMS4xCitCdWlsZFJlcXVpcmVzOiBsaWJ0ZXJtY2FwLWRl dmVsCitCdWlsZFJlcXVpcmVzOiBuY3Vyc2VzLWRldmVsCitCdWlsZFJlcXVpcmVzOiBsb2NrZGV2 LWRldmVsID49IDEuMC4xLTgKK1JlcXVpcmVzOiAgICAgIGxvY2tkZXYgPj0gMS4wLjEtOAorQnVp bGRSb290OiAgICAgJXtfdG1wcGF0aH0vJXtuYW1lfS0le3ZlcnNpb259LSV7cmVsZWFzZX0tcm9v dC0lKCV7X19pZF91fSAtbikKKyMgTkIgVGhlcmUgdXNlZCB0byBiZSBhIHNwdXJpb3VzICJPYnNv bGV0ZXM6IGdrZXJtaXQiIGxpbmUgaGVyZSwgYnV0IGNrZXJtaXQKKyMgZG9lcyBOT1Qgb2Jzb2xl dGUgZ2tlcm1pdC4gVGhleSBhcmUgaW5kZXBlbmRlbnQgcHJvZ3JhbXMgd2l0aCBkaWZmZXJlbnQK KyMgcHVycG9zZXMuCisKKyVkZXNjcmlwdGlvbgorQy1LZXJtaXQgaXMgYSBjb21iaW5lZCBzZXJp YWwgYW5kIG5ldHdvcmsgY29tbXVuaWNhdGlvbiBzb2Z0d2FyZQorcGFja2FnZSBvZmZlcmluZyBh IGNvbnNpc3RlbnQsIG1lZGl1bS1pbmRlcGVuZGVudCwgY3Jvc3MtcGxhdGZvcm0KK2FwcHJvYWNo IHRvIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCwgdGVybWluYWwgc2Vzc2lvbnMsIGZpbGUgdHJh bnNmZXIKK2FuZCBtYW5hZ2VtZW50LCBjaGFyYWN0ZXItc2V0IHRyYW5zbGF0aW9uLCBhbmQgYXV0 b21hdGlvbiBvZgorY29tbXVuaWNhdGlvbiB0YXNrcy4KKworJXByZXAKKyVzZXR1cCAtcSAtYwor CislYnVpbGQKKyV7X19tYWtlfSBsaW51eCBcCisgICAgICAgIEtGTEFHUz0iLU8wICRSUE1fT1BU X0ZMQUdTIC1XYWxsIC1ET1BFTlNTTF8wOTcgLURzZGF0YT1zX2RhdGEgLURIQVZFX0JBVURCT1kg LURIQVZFX09QRU5QVFkgLUQna3JiNV9pbml0X2V0cyhfX2N0eCk9JyIgXAorICAgICAgICBLNExJ Qj0gXAorICAgICAgICBLNElOQz0gXAorICAgICAgICBLNUxJQj0tbHV0aWwgXAorICAgICAgICBL NUlOQz0tSSV7X2luY2x1ZGVkaXJ9L2V0IFwKKyAgICAgICAgU1NMTElCPSBcCisgICAgICAgIFNT TElOQz0gXAorICAgICAgICAlez9fc21wX21mbGFnc30KKworIyBjb252ZXJ0IGRvYyBmaWxlIGZy b20gSVNPLTg4NTktMSB0byBVVEYtOCBlbmNvZGluZworZm9yIGYgaW4gY2tjMjk5LnR4dAorZG8K KyAgaWNvbnYgLWZpc284ODU5MSAtdHV0ZjggJGYgPiRmLm5ldworICB0b3VjaCAtciAkZiAkZi5u ZXcKKyAgbXYgJGYubmV3ICRmCitkb25lCisKKyVpbnN0YWxsCitybSAtcmYgJXtidWlsZHJvb3R9 CitpbnN0YWxsIC1kICV7YnVpbGRyb290fXsle19iaW5kaXJ9LCV7X21hbmRpcn0vbWFuMSwle19z eXNjb25mZGlyfS9rZXJtaXR9CisKK3BlcmwgLXBpIC1lICJzfCV7X3ByZWZpeH0vbG9jYWwvYmlu L2tlcm1pdHwle19iaW5kaXJ9L2tlcm1pdHxnIiBja2VybWl0LmluaQorCitpbnN0YWxsIC1tIDc1 NSB3ZXJtaXQgJXtidWlsZHJvb3R9JXtfYmluZGlyfS9rZXJtaXQKK2luc3RhbGwgLW0gNjQ0IGNr dWtlci5uciAle2J1aWxkcm9vdH0le19tYW5kaXJ9L21hbjEva2VybWl0LjEKK2luc3RhbGwgLW0g NjQ0ICV7U09VUkNFMX0gJXtidWlsZHJvb3R9JXtfc3lzY29uZmRpcn0va2VybWl0LworaW5zdGFs bCAtbSA2NDQgJXtTT1VSQ0UyfSAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9rZXJtaXQvY2tl cm1pdC5sb2NhbC5pbmkKK2luc3RhbGwgLW0gNjQ0ICV7U09VUkNFM30gJXtidWlsZHJvb3R9JXtf c3lzY29uZmRpcn0va2VybWl0L2NrZXJtaXQubW9kZW0uaW5pCitpbnN0YWxsIC1tIDY0NCAle1NP VVJDRTR9ICV7YnVpbGRyb290fSV7X3N5c2NvbmZkaXJ9L2tlcm1pdC9ja2VybWl0LmxvY2FsZS5p bmkKK2luc3RhbGwgLW0gNjQ0ICV7U09VUkNFNX0gJXtidWlsZHJvb3R9JXtfc3lzY29uZmRpcn0v a2VybWl0L2NrZXJtaXQucGhvbmUKKworJWNsZWFuCitybSAtcmYgJXtidWlsZHJvb3R9CisKKyVm aWxlcworJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKKyV7X2JpbmRpcn0va2VybWl0CislZGlyICV7 X3N5c2NvbmZkaXJ9L2tlcm1pdAorJWNvbmZpZyhub3JlcGxhY2UpICV2ZXJpZnkobm90IHNpemUg bXRpbWUgbWQ1KSAle19zeXNjb25mZGlyfS9rZXJtaXQvKgorJXtfbWFuZGlyfS9tYW4xL2tlcm1p dC4xKgorJWRvYyBDT1BZSU5HLlRYVAorJWRvYyBja2MyOTkudHh0CisKKyVjaGFuZ2Vsb2cKKyog RnJpIEp1biAyNCAyMDExIEVyaWMgU21pdGggPGVyaWNAYnJvdWhhaGEuY29tPiAtIDkuMC0wLjEu YmV0YTIKKy0gdXBkYXRlZCB0byB1cHN0cmVhbSA5LjAgYmV0YSAyIHJlbGVhc2UKKworKiBNb24g SnVsIDAzIDIwMDYgUGV0ZXIgVnJhYmVjIDxwdnJhYmVjQHJlZGhhdC5jb20+IC0gOC4wLjIxMS01 CistIGZpeCByZXF1aXJlcyAoIzE5NTU3MykKKworKiBGcmkgRmViIDEwIDIwMDYgSmVzc2UgS2Vh dGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSA4LjAuMjExLTQuMi4xCistIGJ1bXAgYWdhaW4g Zm9yIGRvdWJsZS1sb25nIGJ1ZyBvbiBwcGMoNjQpCisKKyogVHVlIEZlYiAwNyAyMDA2IEplc3Nl IEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+IC0gOC4wLjIxMS00LjIKKy0gcmVidWlsdCBm b3IgbmV3IGdjYzQuMSBzbmFwc2hvdCBhbmQgZ2xpYmMgY2hhbmdlcworCisqIEZyaSBEZWMgMDkg MjAwNSBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPgorLSByZWJ1aWx0CisKKyog VHVlIE5vdiAgOCAyMDA1IFRvbWFzIE1yYXogPHRtcmF6QHJlZGhhdC5jb20+IDguMC4yMTEtNAor LSByZWJ1aWx0IHdpdGggbmV3IG9wZW5zc2wKKworKiBXZWQgQXVnIDMxIDIwMDUgUGV0ZXIgVnJh YmVjIDxwdnJhYmVjQHJlZGhhdC5jb20+IDguMC4yMTEtMworLSB1c2UgYmF1ZGJveS5oIHRvIGNy ZWF0ZSBwZXItZGV2aWNlIGxvY2socykgaW4gL3Zhci9sb2NrICgjMTY2MTU1KQorCisqIEZyaSBK dWwgMjkgMjAwNSBQZXRlciBWcmFiZWMgPHB2cmFiZWNAcmVkaGF0LmNvbT4gOC4wLjIxMS0yCist IHVzZSBvcGVucHR5IGxpYnJhcnkgKCMxNTY0MTcsIzE2NDQ2NSkKKworKiBXZWQgTWFyIDE1IDIw MDUgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPiA4LjAuMjExLTEKKy0gdXBkYXRl IHRvIDIxMQorCisqIE1vbiBGZWIgMjggMjAwNSBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhh dC5jb20+CistIHJlbW92ZSBub3ctdW5uZWNlc3NhcnkgdXNlIG9mIGtyYjVfaW5pdF9ldHMoKQor CisqIFRodSBGZWIgMDggMjAwNSBQZXRlciBWcmFiZWMgPHB2cmFiZWNAcmVkaGF0LmNvbT4KKy0g cmVidWlsdAorCisqIFR1ZSBOb3YgMDIgMjAwNCBQZXRlciBWcmFiZWMgPHB2cmFiZWNAcmVkaGF0 LmNvbT4KKy0gZml4IHNzaCBjb25uZWN0aW9uICgjMTI4MzQ5KQorCisqIFdlZCBPY3QgMjAgMjAw NCBQZXRlciBWcmFiZWMgPHB2cmFiZWNAcmVkaGF0LmNvbT4KKy0gYWRkIEJ1aWxkUmVxdWlyZXM6 IGxpYnRlcm1jYXAtZGV2ZWwgQnVpbGRSZXF1aXJlczogbmN1cnNlcy1kZXZlbAorLSByZWJ1aWx0 CisKKyogVHVlIEp1biAxNSAyMDA0IEVsbGlvdCBMZWUgPHNvcHdpdGhAcmVkaGF0LmNvbT4KKy0g cmVidWlsdAorCisqIFRodSBBcHIgIDEgMjAwNCBKZWZmIEpvaG5zb24gPGpiakByZWRoYXQuY29t PiA4LjAuMjA5LTcKKy0gcmVtb3ZlIG9sZCBjb3B5cmlnaHQgZnJvbSBkZXNjcmlwdGlvbiAoIzEx NTk1MikuCisKKyogRnJpIEZlYiAxMyAyMDA0IEVsbGlvdCBMZWUgPHNvcHdpdGhAcmVkaGF0LmNv bT4KKy0gcmVidWlsdAorCisqIE1vbiBKYW4gMTkgMjAwNCBKZWZmIEpvaG5zb24gPGpiakBqYmou b3JnPiA4LjAuMjA5LTUKKy0gZml4OiBwcmludGYgYXJnIGxpc3RzIGNsZWFuZWQgdXAsIChpdHNh ZGlyICYmICFpc3dpbGQoKnhwKSkgKCMxMTM2NjMpCisKKyogVHVlIEp1bCAyMiAyMDAzIE5hbGlu IERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4gOC4wLjIwOS00CistIHJlYnVpbGQKKworKiBX ZWQgSnVuIDA0IDIwMDMgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPgorLSByZWJ1aWx0 CisKKyogVGh1IE1heSAgMSAyMDAzIEVsbGlvdCBMZWUgPHNvcHdpdGhAcmVkaGF0LmNvbT4gOC4w LjIwOS0yCistIERlZmluZSBzZGF0YT1zX2RhdGEgdG8gZml4IHBwYzY0IGJ1aWxkCisKKyogTW9u IEFwciAyMSAyMDAzIEplZmYgSm9obnNvbiA8amJqQHJlZGhhdC5jb20+IDguMC4yMDktMQorLSB1 cGRhdGUgdG8gOC4wLjIwOS4KKworKiBXZWQgRmViIDI2IDIwMDMgSmVmZiBKb2huc29uIDxqYmpA cmVkaGF0LmNvbT4gOC4wLjIwNi0xLjIwMDMwMjI2CistIGJ1aWxkIDIwMDMwMjI2IHNuYXAgc2hv dCAod2l0aCBlcnJubyBmaXgpIGZvciByYXcgaGlkZS4KKworKiBUaHUgSmFuIDIzIDIwMDMgVGlt IFBvd2VycyA8dGltcEByZWRoYXQuY29tPiA4LjAuMjA2LTAuNgorLSByZWJ1aWxkCisKKyogVHVl IEphbiAyMSAyMDAzIEplZmYgSm9obnNvbiA8amJqQHJlZGhhdC5jb20+IDguMC4yNi0wLjUKKy0g cmVtb3ZlICJDTElDSyBIRVJFIiBmcm9tIGRlc2NyaXB0aW9uICgjODIxMzMpLgorCisqIFR1ZSBK YW4gIDcgMjAwMyBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+IDguMC4yMDYtMC40 CistIHJlYnVpbGQKKworKiBGcmkgSmFuICAzIDIwMDMgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkBy ZWRoYXQuY29tPgorLSBCdWlsZCB1c2luZyBwcmVkZWZpbmVkIHJlZGhhdDgwIHRhcmdldAorLSBQ YXNzIGluY2x1ZGUgYW5kIGxpYnJhcnkgcGF0aHMgZm9yIEtlcmJlcm9zIGFuZCBTU0wgZGlyZWN0 bHkgdG8gbWFrZQorLSBEZWZpbmUgT1BFTlNTTF8wOTcgaW4gS0ZMQUdTIHRvIGJ1aWxkIHdpdGgg T3BlblNTTCAwLjkuNworCisqIFRodSBEZWMgMTIgMjAwMiBFbGxpb3QgTGVlIDxzb3B3aXRoQHJl ZGhhdC5jb20+IDguMC4yMDYtMC4zCistIEFkZCBwYXRjaDIgdG8gaW5jbHVkZSBlcnJuby5oCist IENoYW5nZSBja3UtbWFrZWZpbGUgdG8gbm90IGJ1aWxkIEtSQjQgJiBLUkI1MjQsIGJlY2F1c2Ug a2VyYmVyb3NJVi9kZXMuaAorICBjb25mbGljdHMgd2l0aCBvcGVuc3NsL2Rlcy5oCisKKyogRnJp IE5vdiAyOSAyMDAyIEplZmYgSm9obnNvbiA8amJqQHJlZGhhdC5jb20+IDguMC4yMDYtMC4yCist IG9ic29sZXRlIGdrZXJtaXQKKworKiBNb24gTm92IDI1IDIwMDIgSmVmZiBKb2huc29uIDxqYmpA cmVkaGF0LmNvbT4gOC4wLjIwNi0wLjEKKy0gY3JlYXRlICh3aXRoIHRoYW5rcyB0byBQTEQsIHdo byBwYWNrYWdlZCBDLUtlcm1pdCBiZWZvcmUgUmVkIEhhdCBkaWQpLgoKZGlmZiAtLWdpdCBhL2Nr dS1ja2VybWl0LmxvY2FsLmluaSBiL2NrdS1ja2VybWl0LmxvY2FsLmluaQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTlmNzk4Ci0tLSAvZGV2L251bGwKKysrIGIvY2t1LWNr ZXJtaXQubG9jYWwuaW5pCkBAIC0wLDAgKzEsMTI4IEBACis7IC9ldGMva2VybWl0L2NrZXJtaXQu bG9jYWwuaW5pOiBsb2NhbCBzeXN0ZW0td2lkZSBpbml0IGZpbGUgZm9yIGtlcm1pdAorOyBjcmVh dGVkIDI3LUphbi0xOTk3IGptaworOyBhdXRvZGF0ZTogMTItTWFyLTE5OTcgCis7IGF1dG90aW1l OiAwMDoyNyAKKworOyB0aGlzIGZpbGUgaXMgcmVhZCBmcm9tIFxtKHN5c19kaXIpY2tlcm1pdC5p bmkKKzsgYmVmb3JlIHRoZSB1c2VyJ3MgcGVyc29uYWwgaW5pdCBmaWxlICh+Ly5teWtlcm1yYyku CisKKzsgc3lzdGVtLXdpZGUgZGlhbGluZyBkaXJlY3Rvcnk7IGRlZmF1bHQgY2FuIGJlIAorOyBv dmVycmlkZGVuIHdpdGggdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEtFUk1JVF9TWVNfRElBTERJ UgoreGlmIGRlZmluZWQgXCQoS0VSTUlUX1NZU19ESUFMRElSKSB7CisgIGFzc2lnbiBzeXNfZGlh bF9kaXIge1wkKEtFUk1JVF9TWVNfRElBTERJUil9Cit9IGVsc2UgeworICBhc3NpZ24gc3lzX2Rp YWxfZGlyIHtcbShzeXNfZGlyKWNrZXJtaXQucGhvbmV9Cit9Cit4aWYgZXhpc3QgXG0oc3lzX2Rp YWxfZGlyKSB7CisgIGVjaG8geyBBZGRpbmcgc3lzdGVtIGRpYWxpbmcgZGlyZWN0b3J5IFxtKHN5 c19kaWFsX2RpcikgLi4ufQorICB4aWYgZXhpc3QgXG0oX2RpYWxkaXIpIHsKKyAgICBzZXQgZGlh bCBkaXJlY3RvcnkgXG0oX2RpYWxkaXIpIFxtKHN5c19kaWFsX2RpcikKKyAgfSBlbHNlIHsKKyAg ICBzZXQgZGlhbCBkaXJlY3RvcnkgXG0oc3lzX2RpYWxfZGlyKQorICB9Cit9CisKKzsgaW5pdGlh bGl6ZSBsb2NhbCBtb2RlbTsgdGhlIGRlZmF1bHQgaW5pdCBmaWxlCis7IGNhbiBiZSBvdmVycmlk ZGVuIGJ5IGVudmlyb25tZW50IHZhcmlhYmxlIEtFUk1JVF9NT0RFTV9JTkksCis7IGFuZCB0aGUg ZGVmYXVsdCBkZXZpY2UgY2FuIGJlIG92ZXJyaWRlbiBieSBLRVJNSVRfTU9ERU0uCit4aWYgZGVm aW5lZCBcJChLRVJNSVRfTU9ERU1fSU5JKSB7CisgIGFzc2lnbiBtb2RlbV9pbmkge1wkKEtFUk1J VF9NT0RFTV9JTkkpfQorfSBlbHNlIHsKKyAgYXNzaWduIG1vZGVtX2luaSB7XG0oc3lzX2Rpcilj a2VybWl0Lm1vZGVtLmluaX0KK30KK3hpZiBub3QgZXhpc3QgXG0obW9kZW1faW5pKSB7IAorICBl Y2hvIHsgV2FybmluZzogSSBjYW4ndCBmaW5kIG1vZGVtIGluaXQgZmlsZSBgXG0obW9kZW1faW5p KScgLi4ufQorICBlY2hvIHsgdGhlIGBtb2RlbScgY29tbWFuZCBtYXkgbm90IHdvcmsgcHJvcGVy bHkufQorfQoreGlmIGRlZmluZWQgXCQoS0VSTUlUX01PREVNKSB7CisgIGFzc2lnbiBtb2RlbV9k ZWZhdWx0X2RldiB7XCQoS0VSTUlUX01PREVNKX0KK30gZWxzZSB7CisgIGFzc2lnbiBtb2RlbV9k ZWZhdWx0X2RldiB7L2Rldi9tb2RlbX0KK30KKzsgdGhlIGBtb2RlbScgY29tbWFuZCBpbml0aWFs aXplcyBhIG1vZGVtIGRldmljZQorOyB1c2luZyBhIHRoZSBtb2RlbSBpbml0IGZpbGUgYWJvdmUu CitkZWZpbmUgbW9kZW0geworICBzd2l0Y2ggXHYoYXJnYykgeworICAgIDoxCisgICAgICBhc3Np Z24gbW9kZW1fZGV2IFxtKG1vZGVtX2RlZmF1bHRfZGV2KQorICAgICAgYnJlYWsKKyAgICA6Mgor ICAgICAgYXNzaWduIG1vZGVtX2RldiBcJTEKKyAgICAgIGJyZWFrCisgICAgOmRlZmF1bHQKKyAg ICAgIHN0b3AgMCB7VXNhZ2U6IE1PREVNIFtkZXZpY2UtbmFtZV19CisgIH0KKyAgdGFrZSBcbSht b2RlbV9pbmkpCit9IAorCis7IHNvbWUgb3RoZXIgdXNlZnVsIG1vZGVtLW9yaWVudGVkIGNvbW1h bmRzOgorOyBjbG9zZSBsaW5lIHdpdGhvdXQgaGFuZ2luZyB1cAorZGVmaW5lIG9mZmxpbmUgewor ICBzZXQgbW9kZW0gaGFuZ3VwLW1ldGhvZCByczIzMi1zaWduYWwKKyAgc2V0IGxpbmUKK30KKzsg bGlzdCBwZXJzb25hbCBkaWFsaW5nIGRpcmVjdG9yeQorZGVmaW5lIGxpc3QgeworICB0eXBlIFxt KF9kaWFsZGlyKQorfQorCis7IHJlZGVmaW5lIGVkaXQgY29tbWFuZCB0byBydW4gZWRpdG9yIGV2 ZW4gaWYKKzsgdGhlIHVzZXIgZG9lc24ndCBzcGVjaWZ5IGEgZmlsZSB0byBlZGl0LgorZGVmaW5l IGVkaXQgeyFcbShteWVkaXRvcikgXCUxIFwlMiBcJTMgXCU0IFwlNSBcJTYgXCU3IFwlOH0KKwor OyBzb21lIHVzZWZ1bCBzaGVsbCBjb21tYW5kcworZGVmaW5lIGNscyAgeyFjbGVhcn0KK3hpZiBk ZWZpbmVkIFwkKFBBR0VSKSB7CisgIGFzc2lnbiBwYWdlX2NtZCB7XCQoUEFHRVIpfQorfSBlbHNl IHsKKyAgYXNzaWduIHBhZ2VfY21kIHttb3JlfQorfQorZGVmaW5lIHBhZ2UgeyFcbShwYWdlX2Nt ZCkgXCUxIFwlMiBcJTMgXCU0IFwlNSBcJTYgXCU3IFwlOH0KK2RlZmluZSBtb3JlIHtkbyBwYWdl IFwlMSBcJTIgXCUzIFwlNCBcJTUgXCU2IFwlNyBcJTh9CisKKzsgc29tZSB1c2VmdWwgbWFjcm8g Y29tbWFuZHMKK2RlZmluZSA4Yml0ICAgICAge3NldCB0ZXJtIGJ5dGVzaXplIDgsIHNldCB0ZXJt IGxvY2tpbmctc2hpZnQgb2ZmfQorZGVmaW5lIDdiaXQgICAgICB7c2V0IHRlcm0gYnl0ZXNpemUg Nywgc2V0IHRlcm0gbG9ja2luZy1zaGlmdCBvbn0KK2RlZmluZSBsaXRlcmFsICAge3NldCBmaWxl IG5hbWVzIGxpdGVyYWx9CitkZWZpbmUgY29udmVydGVkIHtzZXQgZmlsZSBuYW1lcyBjb252ZXJ0 ZWR9CisKKzsgdmFyaW91cyBwYXJhbWV0ZXJzCitlaWdodGJpdAorZmFzdAorc2V0IGV4aXQgd2Fy bmluZyBvZmYKK3NldCBmaWxlIHR5cGUgdGV4dAorc2V0IGZpbGUgbmFtZXMgbGl0ZXJhbAorc2V0 IGZpbGUgY29sbGlzaW9uIHVwZGF0ZQorc2V0IGZpbGUgaW5jb21wbGV0ZSBkaXNjYXJkCitzZXQg ZmlsZSBkaXNwbGF5IGNydAorc2V0IHRyYW5zbWl0IGxpbmVmZWVkIG9mZgorCis7IHNldCBhdXRv bWF0aWMgY29tbWFuZHMgb2ZmIGZvciBzZWN1cml0eQorc2V0IHRlcm1pbmFsIGFwYyBvZmYKK3Nl dCB0ZXJtaW5hbCBhdXRvZG93bmxvYWQgb2ZmCisKKzsgc2VydmVyIG1vZGUKK3NldCBzZXJ2ZXIg ZGlzcGxheSBvbgorO3NldCBzZXJ2ZXIgZ2V0LXBhdGggPHBhdGg+IDxwYXRoPiAuLi4KKztzZXQg c2VydmVyIGlkbGUtdGltZW91dCAzMDAKKztzZXQgc2VydmVyIGxvZ2luIDxuYW1lPiA8cGFzc3dv cmQ+CisKKzsgZGlzYWJsZSBzb21lIHNlcnZlciBtb2RlIGNvbW1hbmRzIGZvciBhCis7IHJlYXNv bmFibGUgbGV2ZWwgb2Ygc2VjdXJpdHkKK2Rpc2FibGUgYXNzaWduCis7ZGlzYWJsZSBjb3B5Cis7 ZGlzYWJsZSBkZWxldGUKK2Rpc2FibGUgaG9zdAorZGlzYWJsZSBtYWlsCitkaXNhYmxlIHByaW50 CitkaXNhYmxlIHF1ZXJ5Cis7ZGlzYWJsZSByZW5hbWUKKztkaXNhYmxlIHJldHJpZXZlCis7ZGlz YWJsZSB0eXBlCitkaXNhYmxlIHdobworCis7IHNldCBhIHNvbWV3aGF0IHVzZWZ1bCBwcm9tcHQK K2Fzc2lnbiBob3N0bmFtZSB7XGZicmVhayhcdihob3N0KSwuKX0KK3NldCBwcm9tcHQge0MtS2Vy bWl0QFxtKGhvc3RuYW1lKT4gfQorCis7IC0tLS0tLS0tIEVuZCAtLS0tLS0tLQoKZGlmZiAtLWdp dCBhL2NrdS1ja2VybWl0LmxvY2FsZS5pbmkgYi9ja3UtY2tlcm1pdC5sb2NhbGUuaW5pCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwODA4NTgKLS0tIC9kZXYvbnVsbAorKysg Yi9ja3UtY2tlcm1pdC5sb2NhbGUuaW5pCkBAIC0wLDAgKzEsNDYgQEAKKzsgL2V0Yy9rZXJtaXQv Y2tlcm1pdC5sb2NhbGUuaW5pOiBsb2NhbGUgc2V0dGluZ3MgZm9yIEMtS2VybWl0Cis7IGNyZWF0 ZWQgMjctSmFuLTE5OTcgam1rCis7IGF1dG9kYXRlOiAxMi1NYXItMTk5NyAKKzsgYXV0b3RpbWU6 IDAwOjI4IAorCitlY2hvIHsgU2V0dGluZyBsb2NhbGUgLi4ufQorCis7IGRlZmluZSB2YXJpb3Vz IGxvY2FsZSBzZXR0aW5ncworZGVmaW5lIGxvY2FsZV9zZXRfY291bnRyeSB7CisgIHNldCBpbnB1 dCBjYXNlIGlnbm9yZQorICBzd2l0Y2ggXCUxIHsKKyAgICA6dXNhIAorICAgICAgc2V0IGRpYWwg Y291bnRyeS1jb2RlIDEKKyAgICAgIHNldCBkaWFsIGludGwtcHJlZml4IDAxMQorICAgICAgc2V0 IGRpYWwgbGQtcHJlZml4IDEKKyAgICAgIHNldCBkaWFsIHRvbGwtZnJlZS1hcmVhLWNvZGUgODAw IDg4OAorICAgICAgc2V0IGRpYWwgdG9sbC1mcmVlLXByZWZpeCAxCisgICAgICBicmVhaworICAg IDpjYW5hZGEKKyAgICAgIHNldCBkaWFsIGNvdW50cnktY29kZSAxCisgICAgICBzZXQgZGlhbCBp bnRsLXByZWZpeCAwMTEKKyAgICAgIHNldCBkaWFsIGxkLXByZWZpeCAxCisgICAgICBzZXQgZGlh bCB0b2xsLWZyZWUtYXJlYS1jb2RlIDgwMCA4ODgKKyAgICAgIHNldCBkaWFsIHRvbGwtZnJlZS1w cmVmaXggMQorICAgICAgYnJlYWsKKyAgICA6ZGVmYXVsdAorICAgICAgZWNobyB7IEVycm9yOiB1 bmtub3duIGNvdW50cnkgbmFtZSBgXCUxJyAuLi59CisgICAgICBzdG9wIDAgeyBwbGVhc2UgYWRk IGl0IHRvIFxtKGxvY2FsZV9pbmkpfQorICB9Cit9CitkZWZpbmUgbG9jYWxlIHsKKyAgeGlmIDwg XHYoYXJnYykgMyB7CisgICAgc3RvcCAwIHsgVXNhZ2U6IExPQ0FMRSBjb3VudHJ5LW5hbWUgYXJl YS1jb2RlfQorICB9CisgIHhpZiBudW1lcmljIFwlMiB7CisgICAgc2V0IGRpYWwgYXJlYS1jb2Rl IFwlMgorICB9IGVsc2UgeworICAgIHN0b3AgMCB7IEVycm9yOiBhcmVhLWNvZGUgbXVzdCBiZSBu dW1lcmljfQorICB9CisgIGxvY2FsZV9zZXRfY291bnRyeSBcJTEKK30KKworOyBzZXQgdGhlIGxv Y2FsZSBoZXJlCitsb2NhbGUgdXNhIDkxOQorCis7IC0tLS0tLS0tIEVuZCAtLS0tLS0tLQoKZGlm ZiAtLWdpdCBhL2NrdS1ja2VybWl0Lm1vZGVtLmdlbmVyaWMuaW5pIGIvY2t1LWNrZXJtaXQubW9k ZW0uZ2VuZXJpYy5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAxZDMx MAotLS0gL2Rldi9udWxsCisrKyBiL2NrdS1ja2VybWl0Lm1vZGVtLmdlbmVyaWMuaW5pCkBAIC0w LDAgKzEsMTI3IEBACis7IC9ldGMva2VybWl0L2NrZXJtaXQubW9kZW0uaW5pOiBtb2RlbSBpbml0 aWFsaXphdGlvbiBmb3IgQy1LZXJtaXQKKworZWNobyB7IEluaXRpYWxpemluZyBtb2RlbSBcbSht b2RlbV9kZXYpIC4uLn0KKworOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cis7OyBNT0RFTSBUWVBFOiAKKzs7IGNo YW5nZSB0byByZWZsZWN0IHlvdXIgbW9kZW0uCis7OyB1c2UgYHNldCBtb2RlbSB0eXBlID8nIHRv IGxpc3QgYXZhaWxhYmxlIG1vZGVtIHR5cGVzLgorc2V0IG1vZGVtIHR5cGUgcHBpCis7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7OzsKKworOyBzZXQgbGluZSB0byB2YWx1ZSBmcm9tIGBtb2RlbScgbWFjcm8KK3NldCBs aW5lIFxtKG1vZGVtX2RldikKK3hpZiBmYWlsIHsKKyAgc3RvcCAwIHsgRXJyb3I6IGNvdWxkbid0 IHNldCBsaW5lIHRvIGBcbShtb2RlbV9kZXYpJ30KK30KKworOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cis7OyBE RVZJQ0UgUEFSQU1FVEVSUzogCis7OyBjaGFuZ2Ugc3BlZWQgYW5kIGZsb3ctY29udHJvbCB0byBz dWl0Lgorc2V0IGNhcnJpZXItd2F0Y2ggYXV0bworc2V0IHNwZWVkIDExNTIwMAorc2V0IGZsb3cg cnRzL2N0cworO3NldCBmbG93IHhvbi94b2ZmCisKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OworOzsgTU9ERU0g UEFSQU1FVEVSUzoKKzs7IGBtb2RlbS1jb21tYW5kJyBoYW5ndXAgbWV0aG9kIHNlbmRzIGArKytB VEgwKysrJyBhbmQgd29ya3MgZm9yIG1vc3QgbW9kZW1zLgorOzsgYHJzMjMyLXNpZ25hbCcgaGFu Z3VwIG1ldGhvZCBvbmx5IHdvcmtzIGlmIHlvdXIgbW9kZW0gcmVzcGVjdHMgRFRSLgorc2V0IG1v ZGVtIGhhbmd1cC1tZXRob2QgbW9kZW0tY29tbWFuZAorO3NldCBtb2RlbSBoYW5ndXAtbWV0aG9k IHJzMjMyLXNpZ25hbAorc2V0IG1vZGVtIHNwZWVkLW1hdGNoaW5nIG9mZgorCis7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7OzsKKzs7IE1PREVNIFNUUklOR1M6Cis7OyBjaGFuZ2UgdG8gc3VpdCBpZiBuZWNlc3Nhcnku Cis7OyBpZiB5b3VyIG1vZGVtIGhhcyBhIHNhdmVkIGNvbmZpZ3VyYXRpb24sIHlvdSBjYW4gc2Vu ZCBgQVRaJyB0byByZWNhbGwgaXQuCis7c2V0IG1vZGVtIGNvbW1hbmQgaW5pdC1zdHJpbmcge2F0 elx4MGR9CitzZXQgbW9kZW0gZGlhbC1jb21tYW5kIHthdGQgJXNceDBkfQorCis7OyBgbG91ZCcg YW5kIGBxdWlldCcgY29tbWFuZHMgdHVybiB0aGUgbW9kZW0ncworOzsgc3BlYWtlciBvbiBvciBv ZmYgd2hpbGUgZGlhbGluZy4KK2RlZmluZSBsb3VkICB7c2V0IG1vZGVtIGRpYWwtY29tbWFuZCB7 YXRtMWQgJXNceDBkfX0KK2RlZmluZSBxdWlldCB7c2V0IG1vZGVtIGRpYWwtY29tbWFuZCB7YXRt MGQgJXNceDBkfX0KKworOzsgYGNhbGx3YWl0aW5nJyBjb21tYW5kIHR1cm5zIGFudGktY2FsbHdh aXRpbmcgcHJlZml4IG9uIG9yIG9mZgorZGVmaW5lIGNhbGx3YWl0aW5nIHsKKyAgeGlmID0gXHYo YXJnYykgMiB7CisgICAgc2V0IGlucHV0IGNhc2UgaWdub3JlCisgICAgc3dpdGNoIFwlMSB7Cisg ICAgICA6b24KKyAgICAgICAgc2V0IGRpYWwgcHJlZml4IHsqNzBceDJjfQorICAgICAgICBicmVh aworICAgICAgOm9mZgorICAgICAgICBzZXQgZGlhbCBwcmVmaXgge30KKyAgICAgICAgYnJlYWsK KyAgICAgIDpkZWZhdWx0CisgICAgICAgIGVjaG8ge1VzYWdlOiBDQUxMV0FJVElORyB7IE9OIHwg T0ZGIH19CisgICAgfQorICB9IGVsc2UgeworICAgIGVjaG8ge1VzYWdlOiBDQUxMV0FJVElORyB7 IE9OIHwgT0ZGIH19CisgIH0KK30KK2RvIGNhbGx3YWl0aW5nIG9mZgorCis7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 OzsKKzs7IERJQUxJTkcgUEFSQU1FVEVSUzoKKzs7IGNoYW5nZSB0byBzdWl0CitzZXQgZGlhbCBj b25uZWN0IGF1dG8KK3NldCBkaWFsIGNvbmZpcm1hdGlvbiBvZmYKK3NldCBkaWFsIGRpc3BsYXkg b24KK3NldCBkaWFsIGhhbmd1cCBvbgorc2V0IGRpYWwgbWV0aG9kIHRvbmUKK3NldCBkaWFsIHNv cnQgb2ZmCisKK3NldCBkaWFsIHRpbWVvdXQgNzUKK3NldCBkaWFsIHJldHJpZXMgMAorc2V0IGRp YWwgaW50ZXJ2YWwgMTAKKworOzsgYHNldHJlZGlhbCcgY29tbWFuZCB0dXJucyBkaWFsaW5nIHJl dHJpZXMgb24gb3Igb2ZmCitkZWZpbmUgc2V0cmVkaWFsIHsKKyAgeGlmID0gXHYoYXJnYykgMiB7 CisgICAgc2V0IGlucHV0IGNhc2UgaWdub3JlCisgICAgc3dpdGNoIFwlMSB7CisgICAgICA6b24K KyAgICAgICAgc2V0IGRpYWwgcmV0cmllcyAyMAorICAgICAgICBzZXQgZGlhbCBpbnRlcnZhbCAx NQorICAgICAgICBicmVhaworICAgICAgOnBvbGl0ZQorICAgICAgICBzZXQgZGlhbCByZXRyaWVz IDEwCisgICAgICAgIHNldCBkaWFsIGludGVydmFsIDMwCisgICAgICAgIGJyZWFrCisgICAgICA6 cnVkZQorICAgICAgICBzZXQgZGlhbCByZXRyaWVzIDYwCisgICAgICAgIHNldCBkaWFsIGludGVy dmFsIDEwCisgICAgICAgIGJyZWFrCisgICAgICA6b2ZmCisgICAgICAgIHNldCBkaWFsIHJldHJp ZXMgMAorICAgICAgICBzZXQgZGlhbCBpbnRlcnZhbCAxNQorICAgICAgICBicmVhaworICAgICAg OmRlZmF1bHQKKyAgICAgICAgZWNobyB7VXNhZ2U6IFNFVFJFRElBTCB7IE9OIHwgUE9MSVRFIHwg UlVERSB8IE9GRiB9fQorICAgIH0KKyAgfSBlbHNlIHsKKyAgICBlY2hvIHtVc2FnZTogU0VUUkVE SUFMIHsgT04gfCBQT0xJVEUgfCBSVURFIHwgT0ZGIH19CisgIH0KK30KK2RvIHNldHJlZGlhbCBv ZmYKKworOzsgZGlhbGluZyByZXN0cmljdGlvbnMKK3NldCBkaWFsIHJlc3RyaWN0IGludGVybmF0 aW9uYWwKKztzZXQgZGlhbCByZXN0cmljdCBsb25nLWRpc3RhbmNlCis7c2V0IGRpYWwgcmVzdHJp Y3Qgbm9uZQorOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CisKKzsgcmVhZCBhIGxvY2FsZSBmaWxlLCBpZiBpdCBl eGlzdHMuICB0aGUgZGVmYXVsdCBjYW4gYmUKKzsgb3ZlcnJpZGRlbiBieSB0aGUgZW52aXJvbm1l bnQgdmFyaWFibGUgS0VSTUlUX0xPQ0FMRV9JTkkuCit4aWYgZGVmaW5lZCBcJChLRVJNSVRfTE9D QUxFX0lOSSkgeworICBhc3NpZ24gbG9jYWxlX2luaSB7XCQoS0VSTUlUX0xPQ0FMRV9JTkkpfQor fSBlbHNlIHsKKyAgYXNzaWduIGxvY2FsZV9pbmkge1xtKHN5c19kaXIpY2tlcm1pdC5sb2NhbGUu aW5pfQorfQoreGlmIGV4aXN0IFxtKGxvY2FsZV9pbmkpIHsKKyAgdGFrZSBcbShsb2NhbGVfaW5p KQorfQorCis7IC0tLS0tLS0tIEVuZCAtLS0tLS0tLQoKZGlmZiAtLWdpdCBhL2NrdS1ja2VybWl0 LnBob25lIGIvY2t1LWNrZXJtaXQucGhvbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMTZjZWNhMQotLS0gL2Rldi9udWxsCisrKyBiL2NrdS1ja2VybWl0LnBob25lCkBAIC0w LDAgKzEsNyBAQAorOyAvZXRjL2tlcm1pdC9ja2VybWl0LnBob25lOiBzeXN0ZW0td2lkZSBkaWFs aW5nIGRpcmVjdG9yeSBmb3IgQy1LZXJtaXQKKzsgY3JlYXRlZCAyNy1KYW4tMTk5NyBqbWsKKzsg YXV0b2RhdGU6IDI3LUphbi0xOTk3IAorOyBhdXRvdGltZTogMDQ6MDggCisKKzsgZm9ybWF0Ogor OyBuYW1lCQkrY291bnRyeS1jb2RlIChhcmVhLWNvZGUpIHBob25lLW51bWJlcgk7IGNvbW1lbnQK CmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBlNjlkZTI5Li5lYjVhOTcyIDEw MDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTAsMCArMSBAQAorZDQxY2ViZWQy Zjg2ZjAwOWY3MGExZWJjNjY3ZjRiMWYgIHgudGFyLmd6Cg==