From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 161F978003C for ; Fri, 10 Nov 2023 23:59:30 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=76o+0lTVSzzDQ0nrH/06i3La9G9iEkxFZgswdttbYcA=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1699660769; v=1; b=wwKCGTaIPe0FLbrfeoC98lOYIBsgd4D0i2+qau5+vxta+lqq4Epjd4hMSk8Bsr3sAf4MZ/lD 5e/lTCb6Kuj8Da7mJjm0bCtRQYC8y24Pte3qP5hPhujvIHmlZq/EDLKr/N7IW6XCB0et8teFvg0 hDjXje22wNW8vPBjsEUhz4/g= X-Received: by 127.0.0.2 with SMTP id fcUIYY7687511xOThjcXbEVY; Fri, 10 Nov 2023 15:59:29 -0800 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web11.42834.1699660769036762180 for ; Fri, 10 Nov 2023 15:59:29 -0800 X-Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-449-qmONTdxVPOCV-0D4OKkTDQ-1; Fri, 10 Nov 2023 18:59:24 -0500 X-MC-Unique: qmONTdxVPOCV-0D4OKkTDQ-1 X-Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8EDF53813F29; Fri, 10 Nov 2023 23:59:24 +0000 (UTC) X-Received: from lacos-laptop-9.usersys.redhat.com (unknown [10.39.192.173]) by smtp.corp.redhat.com (Postfix) with ESMTP id B42A0C1596F; Fri, 10 Nov 2023 23:59:23 +0000 (UTC) From: "Laszlo Ersek" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Gerd Hoffmann , Jiewen Yao Subject: [edk2-devel] [PATCH 17/37] OvmfPkg: remove gEfiIsaIoProtocolGuid Date: Sat, 11 Nov 2023 00:58:00 +0100 Message-Id: <20231110235820.644381-18-lersek@redhat.com> In-Reply-To: <20231110235820.644381-1-lersek@redhat.com> References: <20231110235820.644381-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,lersek@redhat.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: qFvg9Nz7xFcfotBuTzSBF688x7686176AA= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="US-ASCII"; x-default=true X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=wwKCGTaI; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=redhat.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io QXQgdGhpcyBwb2ludCwgZ0VmaUlzYUlvUHJvdG9jb2xHdWlkIGlzIHVudXNlZDsgcmVtb3ZlIGl0 LgoKUmVjdXJzaXZlbHksIHRoaXMgcGF0Y2ggcmVtb3ZlcyBtZW50aW9ucyBvZiB0aGUgZm9sbG93 aW5nIGZ1cnRoZXIgQ1NNCnJlc291cmNlcyBmcm9tIHRoZSBzb3VyY2UgY29kZToKCi0gR1VJRHMg KHByb3RvY29scyBvciBvdGhlcndpc2UpOgogIC0gZ0VmaUlzYUFjcGlQcm90b2NvbEd1aWQgKGJ5 IGN1dHRpbmcgdGhlIDxQcm90b2NvbC9Jc2FBY3BpLmg+IGxpbmspCgotIGhlYWRlcnM6CiAgLSBQ cm90b2NvbC9Jc2FBY3BpLmgKClRoaXMgY2hhbmdlcyB0aGUgbGlzdCBvZiByZXNvdXJjZXMgc2No ZWR1bGVkIGZvciByZW1vdmFsIHRvOgoKLSBHVUlEcyAocHJvdG9jb2xzIG9yIG90aGVyd2lzZSk6 CiAgLSBnRWZpSXNhQWNwaVByb3RvY29sR3VpZAogIC0gZ0VmaUxlZ2FjeTgyNTlQcm90b2NvbEd1 aWQKICAtIGdFZmlMZWdhY3lCaW9zR3VpZAogIC0gZ0VmaUxlZ2FjeUJpb3NQbGF0Zm9ybVByb3Rv Y29sR3VpZAogIC0gZ0VmaUxlZ2FjeUJpb3NQcm90b2NvbEd1aWQKICAtIGdFZmlMZWdhY3lJbnRl cnJ1cHRQcm90b2NvbEd1aWQKCi0gaGVhZGVyczoKICAtIEZyYW1ld29ya0R4ZS5oCiAgLSBHdWlk L0xlZ2FjeUJpb3MuaAogIC0gUHJvdG9jb2wvSXNhQWNwaS5oCiAgLSBQcm90b2NvbC9MZWdhY3k4 MjU5LmgKICAtIFByb3RvY29sL0xlZ2FjeUJpb3MuaAogIC0gUHJvdG9jb2wvTGVnYWN5Qmlvc1Bs YXRmb3JtLmgKICAtIFByb3RvY29sL0xlZ2FjeUludGVycnVwdC5oCgotIFBDRHM6CiAgLSBQY2RF YmRhUmVzZXJ2ZWRNZW1vcnlTaXplCiAgLSBQY2RFbmRPcHJvbVNoYWRvd0FkZHJlc3MKICAtIFBj ZEhpZ2hQbW1NZW1vcnlTaXplCiAgLSBQY2RMZWdhY3lCaW9zQ2FjaGVMZWdhY3lSZWdpb24KICAt IFBjZExvd1BtbU1lbW9yeVNpemUKICAtIFBjZE9wcm9tUmVzZXJ2ZWRNZW1vcnlCYXNlCiAgLSBQ Y2RPcHJvbVJlc2VydmVkTWVtb3J5U2l6ZQoKQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiK3RpYW5v Y29yZUBrZXJuZWwub3JnPgpDYzogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+CkNj OiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4KUmVmOiBodHRwczovL2J1Z3ppbGxh LnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ1ODgKU2lnbmVkLW9mZi1ieTogTGFzemxv IEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4KLS0tCiBPdm1mUGtnL092bWZQa2cuZGVjICAgICAg ICAgICAgICAgICAgfCAgIDEgLQogT3ZtZlBrZy9Dc20vSW5jbHVkZS9Qcm90b2NvbC9Jc2FJby5o IHwgMzU2IC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM1NyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2cuZGVjIGIvT3ZtZlBrZy9Pdm1mUGtn LmRlYwppbmRleCBjNzcxMjZlYTA4OTIuLjBiNjE2YzMwYTRlZiAxMDA2NDQKLS0tIGEvT3ZtZlBr Zy9Pdm1mUGtnLmRlYworKysgYi9Pdm1mUGtnL092bWZQa2cuZGVjCkBAIC0xODYsNyArMTg2LDYg QEAgW1Byb3RvY29sc10KICAgZ0VmaUxlZ2FjeTgyNTlQcm90b2NvbEd1aWQgICAgICAgICAgICA9 IHsweDM4MzIxZGJhLCAweDRmZTAsIDB4NGUxNywgezB4OGEsIDB4ZWMsIDB4NDEsIDB4MzAsIDB4 NTUsIDB4ZWEsIDB4ZWQsIDB4YzF9fQ0KICAgZ0VmaUZpcm13YXJlVm9sdW1lUHJvdG9jb2xHdWlk ICAgICAgICA9IHsweDM4OUY3NTFGLCAweDE4MzgsIDB4NDM4OCwgezB4ODMsIDB4OTAsIDB4Y2Qs IDB4ODEsIDB4NTQsIDB4YmQsIDB4MjcsIDB4Zjh9fQ0KICAgZ0VmaUlzYUFjcGlQcm90b2NvbEd1 aWQgICAgICAgICAgICAgICA9IHsweDY0YTg5MmRjLCAweDU1NjEsIDB4NDUzNiwgezB4OTIsIDB4 YzcsIDB4NzksIDB4OWIsIDB4ZmMsIDB4MTgsIDB4MzMsIDB4NTV9fQ0KLSAgZ0VmaUlzYUlvUHJv dG9jb2xHdWlkICAgICAgICAgICAgICAgICA9IHsweDdlZTJiZDQ0LCAweDNkYTAsIDB4MTFkNCwg ezB4OWEsIDB4MzgsIDB4MCwgMHg5MCwgMHgyNywgMHgzZiwgMHhjMSwgMHg0ZH19DQogICBnRWZp TGVnYWN5Qmlvc1Byb3RvY29sR3VpZCAgICAgICAgICAgID0gezB4ZGI5YTFlM2QsIDB4NDVjYiwg MHg0YWJiLCB7MHg4NSwgMHgzYiwgMHhlNSwgMHgzOCwgMHg3ZiwgMHhkYiwgMHgyZSwgMHgyZH19 DQogICBnRWZpTGVnYWN5Qmlvc1BsYXRmb3JtUHJvdG9jb2xHdWlkICAgID0gezB4NzgzNjU4YTMs IDB4NDE3MiwgMHg0NDIxLCB7MHhhMiwgMHg5OSwgMHhlMCwgMHgwOSwgMHgwNywgMHg5YywgMHgw YywgMHhiNH19DQogICBnRWZpTGVnYWN5SW50ZXJydXB0UHJvdG9jb2xHdWlkICAgICAgID0gezB4 MzFjZTU5M2QsIDB4MTA4YSwgMHg0ODVkLCB7MHhhZCwgMHhiMiwgMHg3OCwgMHhmMiwgMHgxZiwg MHgyOSwgMHg2NiwgMHhiZX19DQpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9Dc20vSW5jbHVkZS9Qcm90 b2NvbC9Jc2FJby5oIGIvT3ZtZlBrZy9Dc20vSW5jbHVkZS9Qcm90b2NvbC9Jc2FJby5oCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MGE4MTcxZTk1ZGEuLjAwMDAwMDAwMDAwMAotLS0g YS9Pdm1mUGtnL0NzbS9JbmNsdWRlL1Byb3RvY29sL0lzYUlvLmgKKysrIC9kZXYvbnVsbApAQCAt MSwzNTYgKzAsMCBAQAotLyoqIEBmaWxlDQotICBJU0EgSS9PIFByb3RvY29sIGlzIHVzZWQgYnkg SVNBIGRldmljZSBkcml2ZXJzIHRvIHBlcmZvcm0gSS9PLCBNTUlPIGFuZCBETUENCi0gIG9wZXJh dGlvbnMgb24gdGhlIElTQSBjb250cm9sbGVycyB0aGV5IG1hbmFnZS4NCi0NCi1Db3B5cmlnaHQg KGMpIDIwMDYgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQotU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCi0NCi0q Ki8NCi0NCi0jaWZuZGVmIF9FRklfSVNBX0lPX0hfDQotI2RlZmluZSBfRUZJX0lTQV9JT19IXw0K LQ0KLSNpbmNsdWRlIDxQcm90b2NvbC9Jc2FBY3BpLmg+DQotDQotLy8vDQotLy8vIEdsb2JhbCBJ RCBmb3IgdGhlIEVGSV9JU0FfSU9fUFJPVE9DT0wNCi0vLy8NCi0jZGVmaW5lIEVGSV9JU0FfSU9f UFJPVE9DT0xfR1VJRCBcDQotICB7IFwNCi0gICAgMHg3ZWUyYmQ0NCwgMHgzZGEwLCAweDExZDQs IHsgMHg5YSwgMHgzOCwgMHgwLCAweDkwLCAweDI3LCAweDNmLCAweGMxLCAweDRkIH0gXA0KLSAg fQ0KLQ0KLS8vLw0KLS8vLyBGb3J3YXJkIGRlY2xhcmF0aW9uIGZvciB0aGUgRUZJX0lTQV9JT19Q Uk9UT0NPTC4NCi0vLy8NCi10eXBlZGVmIHN0cnVjdCBfRUZJX0lTQV9JT19QUk9UT0NPTCBFRklf SVNBX0lPX1BST1RPQ09MOw0KLQ0KLS8vLw0KLS8vLyBXaWR0aCBvZiBFRklfSVNBX0lPX1BST1RP Q09MIEkvTyBQb3J0IGFuZCBNTUlPIG9wZXJhdGlvbnMuDQotLy8vDQotdHlwZWRlZiBlbnVtIHsN Ci0gIEVmaUlzYUlvV2lkdGhVaW50OCA9IDAsICAgICAgLy8vPCA4LWJpdCBvcGVyYXRpb24uDQot ICBFZmlJc2FJb1dpZHRoVWludDE2LCAgICAgICAgIC8vLzwgMTYtYml0IG9wZXJhdGlvbi4NCi0g IEVmaUlzYUlvV2lkdGhVaW50MzIsICAgICAgICAgLy8vPCAzMi1iaXQgb3BlcmF0aW9uDQotICBF ZmlJc2FJb1dpZHRoUmVzZXJ2ZWQsDQotICBFZmlJc2FJb1dpZHRoRmlmb1VpbnQ4LCAgICAgIC8v LzwgOC1iaXQgRklGTyBvcGVyYXRpb24uDQotICBFZmlJc2FJb1dpZHRoRmlmb1VpbnQxNiwgICAg IC8vLzwgMTYtYml0IEZJRk8gb3BlcmF0aW9uLg0KLSAgRWZpSXNhSW9XaWR0aEZpZm9VaW50MzIs ICAgICAvLy88IDMyLWJpdCBGSUZPIG9wZXJhdGlvbi4NCi0gIEVmaUlzYUlvV2lkdGhGaWZvUmVz ZXJ2ZWQsDQotICBFZmlJc2FJb1dpZHRoRmlsbFVpbnQ4LCAgICAgIC8vLzwgOC1iaXQgRmlsbCBv cGVyYXRpb24uDQotICBFZmlJc2FJb1dpZHRoRmlsbFVpbnQxNiwgICAgIC8vLzwgMTYtYml0IEZp bGwgb3BlcmF0aW9uLg0KLSAgRWZpSXNhSW9XaWR0aEZpbGxVaW50MzIsICAgICAvLy88IDMyLWJp dCBGaWxsIG9wZXJhdGlvbi4NCi0gIEVmaUlzYUlvV2lkdGhGaWxsUmVzZXJ2ZWQsDQotICBFZmlJ c2FJb1dpZHRoTWF4aW11bQ0KLX0gRUZJX0lTQV9JT19QUk9UT0NPTF9XSURUSDsNCi0NCi0vLy8N Ci0vLy8gQXR0cmlidXRlcyBmb3IgdGhlIEVGSV9JU0FfSU9fUFJPVE9DT0wgY29tbW9uIERNQSBi dWZmZXIgYWxsb2NhdGlvbnMuDQotLy8vDQotI2RlZmluZSBFRklfSVNBX0lPX0FUVFJJQlVURV9N RU1PUllfV1JJVEVfQ09NQklORSAgMHgwODAgICAgLy8vPCBNYXAgYSBtZW1vcnkgcmFuZ2Ugc28g d3JpdGUgYXJlIGNvbWJpbmVkLg0KLSNkZWZpbmUgRUZJX0lTQV9JT19BVFRSSUJVVEVfTUVNT1JZ X0NBQ0hFRCAgICAgICAgIDB4ODAwICAgIC8vLzwgTWFwIGEgbWVtb3J5IHJhbmdlIHNvIGFsbCBy ZWFkIGFuZCB3cml0ZSBhY2Nlc3NlcyBhcmUgY2FjaGVkLg0KLSNkZWZpbmUgRUZJX0lTQV9JT19B VFRSSUJVVEVfTUVNT1JZX0RJU0FCTEUgICAgICAgIDB4MTAwMCAgIC8vLzwgRGlzYWJsZSBhIG1l bW9yeSByYW5nZS4NCi0NCi0vLy8NCi0vLy8gQ2hhbm5lbCBhdHRyaWJ1dGUgZm9yIEVGSV9JU0Ff SU9fUFJPVE9DT0wgc2xhdmUgRE1BIHJlcXVlc3RzDQotLy8vDQotI2RlZmluZSBFRklfSVNBX0lP X1NMQVZFX0RNQV9BVFRSSUJVVEVfU1BFRURfQ09NUEFUSUJMRSAgMHgwMDEgICAvLy88IFNldCB0 aGUgc3BlZWQgb2YgdGhlIERNQSB0cmFuc2ZlciBpbiBjb21wYXRpYmxlIG1vZGUuDQotI2RlZmlu ZSBFRklfSVNBX0lPX1NMQVZFX0RNQV9BVFRSSUJVVEVfU1BFRURfQSAgICAgICAgICAgMHgwMDIg ICAvLy88IE5vdCBzdXBwb3J0ZWQuDQotI2RlZmluZSBFRklfSVNBX0lPX1NMQVZFX0RNQV9BVFRS SUJVVEVfU1BFRURfQiAgICAgICAgICAgMHgwMDQgICAvLy88IE5vdCBzdXBwb3J0ZWQuDQotI2Rl ZmluZSBFRklfSVNBX0lPX1NMQVZFX0RNQV9BVFRSSUJVVEVfU1BFRURfQyAgICAgICAgICAgMHgw MDggICAvLy88IE5vdCBzdXBwb3J0ZWQuDQotI2RlZmluZSBFRklfSVNBX0lPX1NMQVZFX0RNQV9B VFRSSUJVVEVfV0lEVEhfOCAgICAgICAgICAgMHgwMTAgICAvLy88IFJlcXVlc3QgOC1iaXQgRE1B IHRyYW5zZmVycy4gIE9ubHkgYXZhaWxhYmxlIG9uIGNoYW5uZWxzIDAuLjMuDQotI2RlZmluZSBF RklfSVNBX0lPX1NMQVZFX0RNQV9BVFRSSUJVVEVfV0lEVEhfMTYgICAgICAgICAgMHgwMjAgICAv Ly88IFJlcXVlc3QgMTYtYml0IERNQSB0cmFuc2ZlcnMuICBPbmx5IGF2YWlsYWJsZSBvbiBjaGFu bmVscyA0Li43Lg0KLSNkZWZpbmUgRUZJX0lTQV9JT19TTEFWRV9ETUFfQVRUUklCVVRFX1NJTkdM RV9NT0RFICAgICAgIDB4MDQwICAgLy8vPCBSZXF1ZXN0IGEgc2luZ2xlIERNQSB0cmFuc2Zlci4N Ci0jZGVmaW5lIEVGSV9JU0FfSU9fU0xBVkVfRE1BX0FUVFJJQlVURV9ERU1BTkRfTU9ERSAgICAg ICAweDA4MCAgIC8vLzwgUmVxdWVzdCBtdWx0aXBsZSBETUEgdHJhbnNmZXJzIHVudGlsIFRDIChU ZXJtaW5hbCBDb3VudCkgb3IgRU9QIChFbmQgb2YgUHJvY2VzcykuDQotI2RlZmluZSBFRklfSVNB X0lPX1NMQVZFX0RNQV9BVFRSSUJVVEVfQVVUT19JTklUSUFMSVpFICAgMHgxMDAgICAvLy88IEF1 dG9tYXRpY2FsbHkgcmVsb2FkIGJhc2UgYW5kIGNvdW50IGF0IHRoZSBlbmQgb2YgdGhlIERNQSB0 cmFuc2Zlci4NCi0NCi0vLy8NCi0vLy8gVGhlIERNQSBvcHJlcmF0aW9uIHR5cGUgZm9yIEVGSV9J U0FfSU9fUFJPVE9DT0wgRE1BIHJlcXVlc3RzLg0KLS8vLw0KLXR5cGVkZWYgZW51bSB7DQotICAv Ly8NCi0gIC8vLyBBIHJlYWQgb3BlcmF0aW9uIGZyb20gc3lzdGVtIG1lbW9yeSBieSBhIGJ1cyBt YXN0ZXIuDQotICAvLy8NCi0gIEVmaUlzYUlvT3BlcmF0aW9uQnVzTWFzdGVyUmVhZCwNCi0gIC8v Lw0KLSAgLy8vIEEgd3JpdGUgb3BlcmF0aW9uIHRvIHN5c3RlbSBtZW1vcnkgYnkgYSBidXMgbWFz dGVyLg0KLSAgLy8vDQotICBFZmlJc2FJb09wZXJhdGlvbkJ1c01hc3RlcldyaXRlLA0KLSAgLy8v DQotICAvLy8gUHJvdmlkZXMgYm90aCByZWFkIGFuZCB3cml0ZSBhY2Nlc3MgdG8gc3lzdGVtIG1l bW9yeSBieSBib3RoIHRoZSBwcm9jZXNzb3INCi0gIC8vLyBhbmQgYSBidXMgbWFzdGVyLiBUaGUg YnVmZmVyIGlzIGNvaGVyZW50IGZyb20gYm90aCB0aGUgcHJvY2Vzc29yJ3MgYW5kIHRoZQ0KLSAg Ly8vIGJ1cyBtYXN0ZXIncyBwb2ludCBvZiB2aWV3Lg0KLSAgLy8vDQotICBFZmlJc2FJb09wZXJh dGlvbkJ1c01hc3RlckNvbW1vbkJ1ZmZlciwNCi0gIC8vLw0KLSAgLy8vIEEgcmVhZCBvcGVyYXRp b24gZnJvbSBzeXN0ZW0gbWVtb3J5IGJ5IGEgc2xhdmUgZGV2aWNlLg0KLSAgLy8vDQotICBFZmlJ c2FJb09wZXJhdGlvblNsYXZlUmVhZCwNCi0gIC8vLw0KLSAgLy8vIEEgd3JpdGUgb3BlcmF0aW9u IHRvIHN5c3RlbSBtZW1vcnkgYnkgYSBzbGF2ZSBtYXN0ZXIuDQotICAvLy8NCi0gIEVmaUlzYUlv T3BlcmF0aW9uU2xhdmVXcml0ZSwNCi0gIEVmaUlzYUlvT3BlcmF0aW9uTWF4aW11bQ0KLX0gRUZJ X0lTQV9JT19QUk9UT0NPTF9PUEVSQVRJT047DQotDQotLyoqDQotICBQZXJmb3JtcyBJU0EgSS9P IGFuZCBNTUlPIFJlYWQvV3JpdGUgQ3ljbGVzDQotDQotICBAcGFyYW1baW5dICAgICAgVGhpcyAg ICAgQSBwb2ludGVyIHRvIHRoZSBFRklfSVNBX0lPX1BST1RPQ09MIGluc3RhbmNlLg0KLSAgQHBh cmFtW2luXSAgICAgIFdpZHRoICAgIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIEkvTyBvciBN TUlPIG9wZXJhdGlvbi4NCi0gIEBwYXJhbVtpbl0gICAgICBPZmZzZXQgICBUaGUgb2Zmc2V0IGlu dG8gdGhlIElTQSBJL08gb3IgTU1JTyBzcGFjZSB0byBzdGFydCB0aGUNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICBvcGVyYXRpb24uDQotICBAcGFyYW1baW5dICAgICAgQ291bnQgICAgVGhl IG51bWJlciBvZiBJL08gb3IgTU1JTyBvcGVyYXRpb25zIHRvIHBlcmZvcm0uDQotICBAcGFyYW1b aW4sIG91dF0gQnVmZmVyICAgRm9yIHJlYWQgb3BlcmF0aW9ucywgdGhlIGRlc3RpbmF0aW9uIGJ1 ZmZlciB0byBzdG9yZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSByZXN1bHRzLiBG b3Igd3JpdGUgb3BlcmF0aW9ucywgdGhlIHNvdXJjZSBidWZmZXIgdG8NCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICB3cml0ZSBkYXRhIGZyb20uDQotDQotICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgIFRoZSBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmVhZCBmcm9tIG9yIHdyaXR0 ZW4gdG8gdGhlIGRldmljZS4NCi0gIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgVGhl IE9mZnNldCBpcyBub3QgdmFsaWQgZm9yIHRoaXMgZGV2aWNlLg0KLSAgQHJldHZhbCBFRklfSU5W QUxJRF9QQVJBTUVURVIgICBXaWR0aCBvciBDb3VudCwgb3IgYm90aCwgd2VyZSBpbnZhbGlkLg0K LSAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgICBUaGUgcmVxdWVzdCBjb3VsZCBub3Qg YmUgY29tcGxldGVkIGR1ZSB0byBhIGxhY2sgb2YgcmVzb3VyY2VzLg0KLQ0KLSoqLw0KLXR5cGVk ZWYNCi1FRklfU1RBVFVTDQotKEVGSUFQSSAqRUZJX0lTQV9JT19QUk9UT0NPTF9JT19NRU0pKA0K LSAgSU4gICAgIEVGSV9JU0FfSU9fUFJPVE9DT0wgICAgICAgICpUaGlzLA0KLSAgSU4gICAgIEVG SV9JU0FfSU9fUFJPVE9DT0xfV0lEVEggIFdpZHRoLA0KLSAgSU4gICAgIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCwNCi0gIElOICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICBDb3VudCwNCi0gIElOIE9VVCBWT0lEICAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyDQot ICApOw0KLQ0KLS8vLw0KLS8vLyBTdHJ1Y3R1cmUgb2YgZnVuY3Rpb25zIGZvciBhY2Nlc3Npbmcg SVNBIEkvTyBhbmQgTU1JTyBzcGFjZS4NCi0vLy8NCi10eXBlZGVmIHN0cnVjdCB7DQotICAvLy8N Ci0gIC8vLyBSZWFkIGZyb20gSVNBIEkvTyBvciBNTUlPIHNwYWNlLg0KLSAgLy8vDQotICBFRklf SVNBX0lPX1BST1RPQ09MX0lPX01FTSAgICBSZWFkOw0KLSAgLy8vDQotICAvLy8gV3JpdGUgdG8g SVNBIEkvTyBvciBNTUlPIHNwYWNlLg0KLSAgLy8vDQotICBFRklfSVNBX0lPX1BST1RPQ09MX0lP X01FTSAgICBXcml0ZTsNCi19IEVGSV9JU0FfSU9fUFJPVE9DT0xfQUNDRVNTOw0KLQ0KLS8qKg0K LSAgQ29waWVzIGRhdGEgZnJvbSBvbmUgcmVnaW9uIG9mIElTQSBNTUlPIHNwYWNlIHRvIGFub3Ro ZXIgcmVnaW9uIG9mIElTQQ0KLSAgTU1JTyBzcGFjZS4NCi0NCi0gIEBwYXJhbVtpbl0gVGhpcyAg ICAgICAgIEEgcG9pbnRlciB0byB0aGUgRUZJX0lTQV9JT19QUk9UT0NPTCBpbnN0YW5jZS4NCi0g IEBwYXJhbVtpbl0gV2lkdGggICAgICAgIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIE1NSU8g Y29weSBvcGVyYXRpb24uDQotICBAcGFyYW1baW5dIERlc3RPZmZzZXQgICBUaGUgb2Zmc2V0IG9m IHRoZSBkZXN0aW5hdGlvbiBpbiBJU0EgTU1JTyBzcGFjZS4NCi0gIEBwYXJhbVtpbl0gU3JjT2Zm c2V0ICAgIFRoZSBvZmZzZXQgb2YgdGhlIHNvdXJjZSBpbiBJU0EgTU1JTyBzcGFjZS4NCi0gIEBw YXJhbVtpbl0gQ291bnQgICAgICAgIFRoZSBudW1iZXIgdHJhbmZlcnMgdG8gcGVyZm9ybSBmb3Ig dGhpcyBjb3B5IG9wZXJhdGlvbi4NCi0NCi0gIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg ICAgVGhlIGRhdGEgd2FzIGNvcGllZCBzdWNjZXNzZnVsbHkuDQotICBAcmV0dmFsIEVGSV9VTlNV UFBPUlRFRCAgICAgICAgIFRoZSBEZXN0T2Zmc2V0IG9yIFNyY09mZnNldCBpcyBub3QgdmFsaWQg Zm9yIHRoaXMgZGV2aWNlLg0KLSAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICBXaWR0 aCBvciBDb3VudCwgb3IgYm90aCwgd2VyZSBpbnZhbGlkLg0KLSAgQHJldHZhbCBFRklfT1VUX09G X1JFU09VUkNFUyAgICBUaGUgcmVxdWVzdCBjb3VsZCBub3QgYmUgY29tcGxldGVkIGR1ZSB0byBh IGxhY2sgb2YgcmVzb3VyY2VzLg0KLQ0KLSoqLw0KLXR5cGVkZWYNCi1FRklfU1RBVFVTDQotKEVG SUFQSSAqRUZJX0lTQV9JT19QUk9UT0NPTF9DT1BZX01FTSkoDQotICBJTiBFRklfSVNBX0lPX1BS T1RPQ09MICAgICAgICAgKlRoaXMsDQotICBJTiBFRklfSVNBX0lPX1BST1RPQ09MX1dJRFRIICAg V2lkdGgsDQotICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgRGVzdE9mZnNldCwNCi0g IElOIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBTcmNPZmZzZXQsDQotICBJTiBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgQ291bnQNCi0gICk7DQotDQotLyoqDQotICBNYXBzIGEgbWVt b3J5IHJlZ2lvbiBmb3IgRE1BLg0KLQ0KLSAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBkZXZp Y2Utc3BlY2lmaWMgYWRkcmVzc2VzIHJlcXVpcmVkIHRvIGFjY2VzcyBzeXN0ZW0gbWVtb3J5Lg0K LSAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIG1hcCBzeXN0ZW0gbWVtb3J5IGZvciBJU0EgRE1B IG9wZXJhdGlvbnMuICBBbGwgSVNBIERNQQ0KLSAgb3BlcmF0aW9ucyBtdXN0IGJlIHBlcmZvcm1l ZCB0aHJvdWdoIHRoZWlyIG1hcHBlZCBhZGRyZXNzZXMsIGFuZCBzdWNoIG1hcHBpbmdzIG11c3QN Ci0gIGJlIGZyZWVkIHdpdGggRUZJX0lTQV9JT19QUk9UT0NPTC5Vbm1hcCgpIGFmdGVyIHRoZSBE TUEgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZC4NCi0NCi0gIElmIHRoZSBETUEgb3BlcmF0aW9uIGlz IGEgc2luZ2xlIHJlYWQgb3Igd3JpdGUgZGF0YSB0cmFuc2ZlciB0aHJvdWdoIGFuIElTQSBidXMN Ci0gIG1hc3RlciwgdGhlbiBFZmlJc2FJb09wZXJhdGlvbkJ1c01hc3RlclJlYWQgb3IgRWZpSXNh SW9PcGVyYXRpb25CdXNNYXN0ZXJXcml0ZQ0KLSAgaXMgdXNlZCBhbmQgdGhlIHJhbmdlIGlzIHVu bWFwcGVkIHRvIGNvbXBsZXRlIHRoZSBvcGVyYXRpb24uIElmIHRoZSBETUEgb3BlcmF0aW9uDQot ICBpcyBhIHNpbmdsZSByZWFkIG9yIHdyaXRlIGRhdGEgdHJhbnNmZXIgdGhyb3VnaCBhbiBJU0Eg c2xhdmUgY29udHJvbGxlciwgdGhlbg0KLSAgRWZpSXNhSW9PcGVyYXRpb25TbGF2ZVJlYWQgb3Ig RWZpSXNhSW9PcGVyYXRpb25TbGF2ZVdyaXRlIGlzIHVzZWQgYW5kIHRoZSByYW5nZQ0KLSAgaXMg dW5tYXBwZWQgdG8gY29tcGxldGUgdGhlIG9wZXJhdGlvbi4NCi0NCi0gIElmIHBlcmZvcm1pbmcg YSBETUEgcmVhZCBvcGVyYXRpb24sIGFsbCB0aGUgZGF0YSBtdXN0IGJlIHByZXNlbnQgaW4gc3lz dGVtIG1lbW9yeSBiZWZvcmUgdGhlIE1hcCgpIGlzIHBlcmZvcm1lZC4gIFNpbWlsYXJseSwNCi0g IGlmIHBlcmZvcm1pbmcgYSBETUEgd3JpdGUgb3BlcmF0aW9uLCB0aGUgZGF0YSBtdXN0IG5vdCBi ZSBhY2Nlc3NlZCBpbiBzeXN0ZW0NCi0gIG1lbW9yeSB1bnRpbCBFRklfSVNBX0lPX1BST1RPQ09M LlVubWFwKCkgaXMgcGVyZm9ybWVkLiAgQnVzIG1hc3RlciBvcGVyYXRpb25zIHRoYXQNCi0gIHJl cXVpcmUgYm90aCByZWFkIGFuZCB3cml0ZSBhY2Nlc3Mgb3IgcmVxdWlyZSBtdWx0aXBsZSBob3N0 IGRldmljZSBpbnRlcmFjdGlvbnMNCi0gIHdpdGhpbiB0aGUgc2FtZSBtYXBwZWQgcmVnaW9uIG11 c3QgdXNlIEVmaUlzYUlvT3BlcmF0aW9uQnVzTWFzdGVyQ29tbW9uQnVmZmVyLg0KLSAgSG93ZXZl ciwgb25seSBtZW1vcnkgYWxsb2NhdGVkIHZpYSB0aGUgRUZJX0lTQV9JT19QUk9UT0NPTC5BbGxv Y2F0ZUJ1ZmZlcigpIGludGVyZmFjZQ0KLSAgaXMgZ3VhcmFudGVlZCB0byBiZSBhYmxlIHRvIGJl IG1hcHBlZCBmb3IgdGhpcyBvcGVyYXRpb24gdHlwZS4gIEluIGFsbCBtYXBwaW5nDQotICByZXF1 ZXN0cyB0aGUgTnVtYmVyT2ZCeXRlcyByZXR1cm5lZCBtYXkgYmUgbGVzcyB0aGFuIG9yaWdpbmFs bHkgcmVxdWVzdGVkLiAgSXQgaXMNCi0gIHRoZSBjYWxsZXIncyByZXNwb25zaWJpbGl0eSB0byBt YWtlIGFkZGl0aW9uYWwgcmVxdWVzdHMgdG8gY29tcGxldGUgdGhlIGVudGlyZQ0KLSAgdHJhbnNm ZXIuDQotDQotICBAcGFyYW1baW5dICAgICAgVGhpcyAgICAgICAgICAgICAgICBBIHBvaW50ZXIg dG8gdGhlIEVGSV9JU0FfSU9fUFJPVE9DT0wgaW5zdGFuY2UuDQotICBAcGFyYW1baW5dICAgICAg T3BlcmF0aW9uICAgICAgICAgICBJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgRE1BIChzbGF2ZSBvciBi dXMgbWFzdGVyKSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBp ZiB0aGUgRE1BIG9wZXJhdGlvbiBpcyBnb2luZyB0byByZWFkIG9yDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB3cml0ZSB0byBzeXN0ZW0gbWVtb3J5Lg0KLSAgQHBhcmFt W2luXSAgICAgIENoYW5uZWxOdW1iZXIgICAgICAgVGhlIHNsYXZlIGNoYW5uZWwgbnVtYmVyIHRv IHVzZSBmb3IgdGhpcyBETUENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9wZXJhdGlvbi4gIElmIE9wZXJhdGlvbiBhbmQgQ2hhbm5lbEF0dHJpYnV0ZXMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dzIHRoYXQgdGhpcyBkZXZpY2UgcGVy Zm9ybXMgYnVzIG1hc3RlcmluZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRE1BLCB0aGVuIHRoaXMgZmllbGQgaXMgaWdub3JlZC4gIFRoZSBsZWdhbA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2UgZm9yIHRoaXMgZmllbGQgaXMgMC4u Ny4NCi0gIEBwYXJhbVtpbl0gICAgICBDaGFubmVsQXR0cmlidXRlcyAgIEEgYml0bWFzayBvZiB0 aGUgYXR0cmlidXRlcyB1c2VkIHRvIGNvbmZpZ3VyZQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGhlIHNsYXZlIERNQSBjaGFubmVsIGZvciB0aGlzIERNQSBvcGVyYXRp b24uDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWUgRUZJX0lTQV9J T19TTEFWRV9ETUFfQVRUUklCVVRFXyogZm9yIHRoZQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGVnYWwgYml0IGNvbWJpbmF0aW9ucy4NCi0gIEBwYXJhbVtpbl0gICAg ICBIb3N0QWRkcmVzcyAgICAgICAgIFRoZSBzeXN0ZW0gbWVtb3J5IGFkZHJlc3MgdG8gbWFwIHRv IHRoZSBkZXZpY2UuDQotICBAcGFyYW1baW4sIG91dF0gTnVtYmVyT2ZCeXRlcyAgICAgICBPbiBp bnB1dCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIG1hcC4gIE9uDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvdXRwdXQgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IHdlcmUg bWFwcGVkLg0KLSAgQHBhcmFtW291dF0gICAgIERldmljZUFkZHJlc3MgICAgICAgVGhlIHJlc3Vs dGluZyBtYXAgYWRkcmVzcyBmb3IgdGhlIGJ1cyBtYXN0ZXINCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRldmljZSB0byB1c2UgdG8gYWNjZXNzIHRoZSBob3N0cyBIb3N0 QWRkcmVzcy4NCi0gIEBwYXJhbVtvdXRdICAgICBNYXBwaW5nICAgICAgICAgICAgIEEgcmV0dXJu ZWQgdmFsdWUgdGhhdCBtdXN0IGJlIHBhc3NlZCB0byBpbnRvDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFRklfSVNBX0lPX1BST1RPQ09MLlVubWFwKCkgdG8gZnJlZSBh bGwgdGhlIHRoZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3Vy Y2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1hcCByZXF1ZXN0Lg0KLQ0KLSAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgICBUaGUgcmFuZ2Ugd2FzIG1hcHBlZCBmb3IgdGhlIHJldHVybmVk IE51bWJlck9mQnl0ZXMuDQotICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgIFRoZSBP cGVyYXRpb24gaXMgdW5kZWZpbmVkLg0KLSAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIg ICBUaGUgSG9zdEFkZHJlc3MgaXMgdW5kZWZpbmVkLg0KLSAgQHJldHZhbCBFRklfVU5TVVBQT1JU RUQgICAgICAgICBUaGUgSG9zdEFkZHJlc3MgY2FuIG5vdCBiZSBtYXBwZWQgYXMgYSBjb21tb24g YnVmZmVyLg0KLSAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgICBUaGUgc3lzdGVtIGhh cmR3YXJlIGNvdWxkIG5vdCBtYXAgdGhlIHJlcXVlc3RlZCBhZGRyZXNzLg0KLSAgQHJldHZhbCBF RklfT1VUX09GX1JFU09VUkNFUyAgICBUaGUgbWVtb3J5IHBhZ2VzIGNvdWxkIG5vdCBiZSBhbGxv Y2F0ZWQuDQotDQotKiovDQotdHlwZWRlZg0KLUVGSV9TVEFUVVMNCi0oRUZJQVBJICpFRklfSVNB X0lPX1BST1RPQ09MX01BUCkoDQotICBJTiAgICAgRUZJX0lTQV9JT19QUk9UT0NPTCAgICAgICAg ICAgICpUaGlzLA0KLSAgSU4gICAgIEVGSV9JU0FfSU9fUFJPVE9DT0xfT1BFUkFUSU9OICBPcGVy YXRpb24sDQotICBJTiAgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5uZWxO dW1iZXIgICAgICBPUFRJT05BTCwNCi0gIElOICAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAg ICAgICAgQ2hhbm5lbEF0dHJpYnV0ZXMsDQotICBJTiAgICAgVk9JRCAgICAgICAgICAgICAgICAg ICAgICAgICAgICpIb3N0QWRkcmVzcywNCi0gIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgKk51bWJlck9mQnl0ZXMsDQotICBPVVQgICAgRUZJX1BIWVNJQ0FMX0FERFJFU1Mg ICAgICAgICAgICpEZXZpY2VBZGRyZXNzLA0KLSAgT1VUICAgIFZPSUQgICAgICAgICAgICAgICAg ICAgICAgICAgICAqKk1hcHBpbmcNCi0gICk7DQotDQotLyoqDQotICBVbm1hcHMgYSBtZW1vcnkg cmVnaW9uIHRoYXQgd2FzIHByZXZpb3VzbHkgbWFwcGVkIHdpdGggRUZJX0lTQV9JT19QUk9UT0NP TC5NYXAoKS4NCi0NCi0gIFRoZSBFRklfSVNBX0lPX1BST1RPQ09MLk1hcCgpIG9wZXJhdGlvbiBp cyBjb21wbGV0ZWQgYW5kIGFueSBjb3JyZXNwb25kaW5nDQotICByZXNvdXJjZXMgYXJlIHJlbGVh c2VkLiAgSWYgdGhlIG9wZXJhdGlvbiB3YXMgRWZpSXNhSW9PcGVyYXRpb25TbGF2ZVdyaXRlDQot ICBvciBFZmlJc2FJb09wZXJhdGlvbkJ1c01hc3RlcldyaXRlLCB0aGUgZGF0YSBpcyBjb21taXR0 ZWQgdG8gc3lzdGVtIG1lbW9yeS4NCi0gIEFueSByZXNvdXJjZXMgdXNlZCBmb3IgdGhlIG1hcHBp bmcgYXJlIGZyZWVkLg0KLQ0KLSAgQHBhcmFtW2luXSBUaGlzICAgICAgICAgICBBIHBvaW50ZXIg dG8gdGhlIEVGSV9JU0FfSU9fUFJPVE9DT0wgaW5zdGFuY2UuDQotICBAcGFyYW1baW5dIE1hcHBp bmcgICAgICAgIFRoZSBtYXBwaW5nIHZhbHVlIHJldHVybmVkIGZyb20gRUZJX0lTQV9JT19QUk9U T0NPTC5NYXAoKS4NCi0NCi0gIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgVGhlIG1lbW9yeSBy ZWdpb24gd2FzIHVubWFwcGVkLg0KLSAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICBUaGUgZGF0 YSB3YXMgbm90IGNvbW1pdHRlZCB0byB0aGUgdGFyZ2V0IHN5c3RlbSBtZW1vcnkuDQotKiovDQot dHlwZWRlZg0KLUVGSV9TVEFUVVMNCi0oRUZJQVBJICpFRklfSVNBX0lPX1BST1RPQ09MX1VOTUFQ KSgNCi0gIElOICBFRklfSVNBX0lPX1BST1RPQ09MICAqVGhpcywNCi0gIElOICBWT0lEICAgICAg ICAgICAgICAgICAqTWFwcGluZw0KLSAgKTsNCi0NCi0vKioNCi0gIEFsbG9jYXRlcyBwYWdlcyB0 aGF0IGFyZSBzdWl0YWJsZSBmb3IgYW4gRWZpSXNhSW9PcGVyYXRpb25CdXNNYXN0ZXJDb21tb25C dWZmZXINCi0gIG1hcHBpbmcuDQotDQotICBAcGFyYW1baW5dICBUaGlzICAgICAgICAgIEEgcG9p bnRlciB0byB0aGUgRUZJX0lTQV9JT19QUk9UT0NPTCBpbnN0YW5jZS4NCi0gIEBwYXJhbVtpbl0g IFR5cGUgICAgICAgICAgVGhlIHR5cGUgYWxsb2NhdGlvbiB0byBwZXJmb3JtLg0KLSAgQHBhcmFt W2luXSAgTWVtb3J5VHlwZSAgICBUaGUgdHlwZSBvZiBtZW1vcnkgdG8gYWxsb2NhdGUuDQotICBA cGFyYW1baW5dICBQYWdlcyAgICAgICAgIFRoZSBudW1iZXIgb2YgcGFnZXMgdG8gYWxsb2NhdGUu DQotICBAcGFyYW1bb3V0XSBIb3N0QWRkcmVzcyAgIEEgcG9pbnRlciB0byBzdG9yZSB0aGUgYmFz ZSBhZGRyZXNzIG9mIHRoZSBhbGxvY2F0ZWQgcmFuZ2UuDQotICBAcGFyYW1baW5dICBBdHRyaWJ1 dGVzICAgIFRoZSByZXF1ZXN0ZWQgYml0IG1hc2sgb2YgYXR0cmlidXRlcyBmb3IgdGhlIGFsbG9j YXRlZCByYW5nZS4NCi0NCi0gIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgVGhlIHJl cXVlc3RlZCBtZW1vcnkgcGFnZXMgd2VyZSBhbGxvY2F0ZWQuDQotICBAcmV0dmFsIEVGSV9JTlZB TElEX1BBUkFNRVRFUiAgIFR5cGUgaXMgaW52YWxpZC4NCi0gIEByZXR2YWwgRUZJX0lOVkFMSURf UEFSQU1FVEVSICAgTWVtb3J5VHlwZSBpcyBpbnZhbGlkLg0KLSAgQHJldHZhbCBFRklfSU5WQUxJ RF9QQVJBTUVURVIgICBIb3N0QWRkcmVzcyBpcyBOVUxMLg0KLSAgQHJldHZhbCBFRklfVU5TVVBQ T1JURUQgICAgICAgICBBdHRyaWJ1dGVzIGlzIHVuc3VwcG9ydGVkLg0KLSAgQHJldHZhbCBFRklf VU5TVVBQT1JURUQgICAgICAgICBUaGUgbWVtb3J5IHJhbmdlIHNwZWNpZmllZCBieSBIb3N0QWRk cmVzcywgUGFnZXMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBUeXBl IGlzIG5vdCBhdmFpbGFibGUgZm9yIGNvbW1vbiBidWZmZXIgdXNlLg0KLSAgQHJldHZhbCBFRklf T1VUX09GX1JFU09VUkNFUyAgICBUaGUgbWVtb3J5IHBhZ2VzIGNvdWxkIG5vdCBiZSBhbGxvY2F0 ZWQuDQotDQotKiovDQotdHlwZWRlZg0KLUVGSV9TVEFUVVMNCi0oRUZJQVBJICpFRklfSVNBX0lP X1BST1RPQ09MX0FMTE9DQVRFX0JVRkZFUikoDQotICBJTiAgRUZJX0lTQV9JT19QUk9UT0NPTCAg KlRoaXMsDQotICBJTiAgRUZJX0FMTE9DQVRFX1RZUEUgICAgVHlwZSwNCi0gIElOICBFRklfTUVN T1JZX1RZUEUgICAgICBNZW1vcnlUeXBlLA0KLSAgSU4gIFVJTlROICAgICAgICAgICAgICAgIFBh Z2VzLA0KLSAgT1VUIFZPSUQgICAgICAgICAgICAgICAgICoqSG9zdEFkZHJlc3MsDQotICBJTiAg VUlOVDY0ICAgICAgICAgICAgICAgQXR0cmlidXRlcw0KLSAgKTsNCi0NCi0vKioNCi0gIEZyZWVz IGEgY29tbW9uIGJ1ZmZlciB0aGF0IHdhcyBhbGxvY2F0ZWQgd2l0aCBFRklfSVNBX0lPX1BST1RP Q09MLkFsbG9jYXRlQnVmZmVyKCkuDQotDQotICBAcGFyYW1baW5dIFRoaXMgICAgICAgICAgQSBw b2ludGVyIHRvIHRoZSBFRklfSVNBX0lPX1BST1RPQ09MIGluc3RhbmNlLg0KLSAgQHBhcmFtW2lu XSBQYWdlcyAgICAgICAgIFRoZSBudW1iZXIgb2YgcGFnZXMgdG8gZnJlZSBmcm9tIHRoZSBwcmV2 aW91c2x5IGFsbG9jYXRlZCBjb21tb24gYnVmZmVyLg0KLSAgQHBhcmFtW2luXSBIb3N0QWRkcmVz cyAgIFRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIHByZXZpb3VzbHkgYWxsb2NhdGVkIGNvbW1vbiBi dWZmZXIuDQotDQotDQotICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgIFRoZSByZXF1 ZXN0ZWQgbWVtb3J5IHBhZ2VzIHdlcmUgZnJlZWQuDQotICBAcmV0dmFsIEVGSV9JTlZBTElEX1BB UkFNRVRFUiAgIFRoZSBtZW1vcnkgd2FzIG5vdCBhbGxvY2F0ZWQgd2l0aCBFRklfSVNBX0lPLkFs bG9jYXRlQnVmZXIoKS4NCi0NCi0qKi8NCi10eXBlZGVmDQotRUZJX1NUQVRVUw0KLShFRklBUEkg KkVGSV9JU0FfSU9fUFJPVE9DT0xfRlJFRV9CVUZGRVIpKA0KLSAgSU4gIEVGSV9JU0FfSU9fUFJP VE9DT0wgICpUaGlzLA0KLSAgSU4gIFVJTlROICAgICAgICAgICAgICAgIFBhZ2VzLA0KLSAgSU4g IFZPSUQgICAgICAgICAgICAgICAgICpIb3N0QWRkcmVzcw0KLSAgKTsNCi0NCi0vKioNCi0gIEZs dXNoZXMgYSBETUEgYnVmZmVyLCB3aGljaCBmb3JjZXMgYWxsIERNQSBwb3N0ZWQgd3JpdGUgdHJh bnNhY3Rpb25zIHRvIGNvbXBsZXRlLg0KLQ0KLSAgQHBhcmFtW2luXSBUaGlzICAgQSBwb2ludGVy IHRvIHRoZSBFRklfSVNBX0lPX1BST1RPQ09MIGluc3RhbmNlLg0KLQ0KLSAgQHJldHZhbCAgRUZJ X1NVQ0NFU1MgICAgICAgIFRoZSBETUEgYnVmZmVycyB3ZXJlIGZsdXNoZWQuDQotICBAcmV0dmFs ICBFRklfREVWSUNFX0VSUk9SICAgVGhlIGJ1ZmZlcnMgd2VyZSBub3QgZmx1c2hlZCBkdWUgdG8g YSBoYXJkd2FyZSBlcnJvci4NCi0NCi0qKi8NCi10eXBlZGVmDQotRUZJX1NUQVRVUw0KLShFRklB UEkgKkVGSV9JU0FfSU9fUFJPVE9DT0xfRkxVU0gpKA0KLSAgSU4gRUZJX0lTQV9JT19QUk9UT0NP TCAgKlRoaXMNCi0gICk7DQotDQotLy8vDQotLy8vIFRoZSBFRklfSVNBX0lPX1BST1RPQ09MIHBy b3ZpZGVzIHRoZSBiYXNpYyBNZW1vcnksIEkvTywgYW5kIERNQSBpbnRlcmZhY2VzDQotLy8vIHVz ZWQgdG8gYWJzdHJhY3QgYWNjZXNzZXMgdG8gSVNBIGNvbnRyb2xsZXJzLiAgVGhlcmUgaXMgb25l IEVGSV9JU0FfSU9fUFJPVE9DT0wNCi0vLy8gaW5zdGFuY2UgZm9yIGVhY2ggSVNBIGNvbnRyb2xs ZXIgb24gYSBJU0EgYnVzLiBBIGRldmljZSBkcml2ZXIgdGhhdCB3aXNoZXMNCi0vLy8gdG8gbWFu YWdlIGFuIElTQSBjb250cm9sbGVyIGluIGEgc3lzdGVtIHdpbGwgaGF2ZSB0byByZXRyaWV2ZSB0 aGUNCi0vLy8gSVNBX1BDSV9JT19QUk9UT0NPTCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhl IElTQSBjb250cm9sbGVyLg0KLS8vLw0KLXN0cnVjdCBfRUZJX0lTQV9JT19QUk9UT0NPTCB7DQot ICBFRklfSVNBX0lPX1BST1RPQ09MX0FDQ0VTUyAgICAgICAgICAgICBNZW07DQotICBFRklfSVNB X0lPX1BST1RPQ09MX0FDQ0VTUyAgICAgICAgICAgICBJbzsNCi0gIEVGSV9JU0FfSU9fUFJPVE9D T0xfQ09QWV9NRU0gICAgICAgICAgIENvcHlNZW07DQotICBFRklfSVNBX0lPX1BST1RPQ09MX01B UCAgICAgICAgICAgICAgICBNYXA7DQotICBFRklfSVNBX0lPX1BST1RPQ09MX1VOTUFQICAgICAg ICAgICAgICBVbm1hcDsNCi0gIEVGSV9JU0FfSU9fUFJPVE9DT0xfQUxMT0NBVEVfQlVGRkVSICAg IEFsbG9jYXRlQnVmZmVyOw0KLSAgRUZJX0lTQV9JT19QUk9UT0NPTF9GUkVFX0JVRkZFUiAgICAg ICAgRnJlZUJ1ZmZlcjsNCi0gIEVGSV9JU0FfSU9fUFJPVE9DT0xfRkxVU0ggICAgICAgICAgICAg IEZsdXNoOw0KLSAgLy8vDQotICAvLy8gVGhlIGxpc3Qgb2YgSS9PICwgTU1JTywgRE1BLCBhbmQg SW50ZXJydXB0IHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggdGhlDQotICAvLy8gSVNBIGNvbnRy b2xsZXIgYWJzdHJhY3RlZCBieSB0aGlzIGluc3RhbmNlIG9mIHRoZSBFRklfSVNBX0lPX1BST1RP Q09MLg0KLSAgLy8vDQotICBFRklfSVNBX0FDUElfUkVTT1VSQ0VfTElTVCAgICAgICAgICAgICAq UmVzb3VyY2VMaXN0Ow0KLSAgLy8vDQotICAvLy8gVGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUg Uk9NIGltYWdlLg0KLSAgLy8vDQotICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSb21TaXplOw0KLSAgLy8vDQotICAvLy8gQSBwb2ludGVyIHRvIHRoZSBpbiBtZW1vcnkg Y29weSBvZiB0aGUgUk9NIGltYWdlLiBUaGUgSVNBIEJ1cyBEcml2ZXIgaXMgcmVzcG9uc2libGUN Ci0gIC8vLyBmb3IgYWxsb2NhdGluZyBtZW1vcnkgZm9yIHRoZSBST00gaW1hZ2UsIGFuZCBjb3B5 aW5nIHRoZSBjb250ZW50cyBvZiB0aGUgUk9NIHRvIG1lbW9yeQ0KLSAgLy8vIGR1cmluZyBJU0Eg QnVzIGluaXRpYWxpemF0aW9uLg0KLSAgLy8vDQotICBWT0lEICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqUm9tSW1hZ2U7DQotfTsNCi0NCi1leHRlcm4gRUZJX0dVSUQgIGdFZmlJ c2FJb1Byb3RvY29sR3VpZDsNCi0NCi0jZW5kaWYNCgoNCgotPS09LT0tPS09LT0tPS09LT0tPS09 LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMg Z3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTExMDg3KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5p by9nL2RldmVsL21lc3NhZ2UvMTExMDg3Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMu aW8vbXQvMTAyNTE4NjU0Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3Jv dXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbGVhdmUv MTIzNjcxMTEvNzY4NjE3Ni8xOTEzNDU2MjEyL3h5enp5IFtyZWJlY2NhQG9wZW5mdy5pb10KLT0t PS09LT0tPS09LT0tPS09LT0tPS0KCg0K