From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 283ABC433F5 for ; Thu, 14 Oct 2021 08:43:59 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D831E610EA for ; Thu, 14 Oct 2021 08:43:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D831E610EA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IODEZrlr4b9lcz3PBAuIfmlHc4gwVQqtiDP+UCt12OM=; b=HqvyqDgiEXAkwV nLQyFFVJIVLoQOinpYsSawBSpPLgmXJzXGmNq1+UgRRXCUAM4KOrfCN1QLYUjk6Eq9jVxarwIX1pG Gb5HXhRZd/Km9GSAK8IkkHMNLpXSzOnhray3hi6PHFYhcJCWov6RAu6nMTAwB550XI+avGKm/6yqo XEiQ7VGDWZ54ZjJiBm3ZY154RjuDUE/gmdHfK0PAvyP1GbRQnoDA/QC20RIhHVGD4onpfajFLWHPs vDR6I7dh7F0wMcDTOpqn2l0F4X74OJ2qaMWdxjH4CAVtBUJcM3BS7DgyBwfkbWAJXB4GPZBYNVTwm oEr9+nH5H0+Xi6lzDaVQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mawL3-002Eb7-GF; Thu, 14 Oct 2021 08:43:45 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mawKo-002EYq-2a; Thu, 14 Oct 2021 08:43:33 +0000 X-UUID: 3a409e95b144490da56e45f1a7ee93aa-20211014 X-UUID: 3a409e95b144490da56e45f1a7ee93aa-20211014 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 934786405; Thu, 14 Oct 2021 01:43:26 -0700 Received: from mtkexhb01.mediatek.inc (172.21.101.102) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 14 Oct 2021 01:43:25 -0700 Received: from mtkcas10.mediatek.inc (172.21.101.39) by mtkexhb01.mediatek.inc (172.21.101.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 14 Oct 2021 16:43:17 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 14 Oct 2021 16:43:17 +0800 Message-ID: <3a07501641da72ea9b3cf528050c9d7516e09497.camel@mediatek.com> Subject: Re: [PATCH v7 0/5] media: mediatek: support mdp3 on mt8183 platform From: moudy ho To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Jernej Skrabec CC: Maoguang Meng , daoyuan huang , Ping-Hsun Wu , Geert Uytterhoeven , Rob Landley , Laurent Pinchart , , , , , , , , , , , , , , , Date: Thu, 14 Oct 2021 16:43:17 +0800 In-Reply-To: <0a50c059-bb13-0823-778c-b631ed07d76f@xs4all.nl> References: <20210824100027.25989-1-moudy.ho@mediatek.com> <0a50c059-bb13-0823-778c-b631ed07d76f@xs4all.nl> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211014_014330_144214_A3B77B2A X-CRM114-Status: GOOD ( 28.06 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGkgSGFucywKClRoYW5rIHlvdSBmb3IgeW91ciBraW5kIGd1aWRhbmNlLCBpdCBpcyByZWFsbHkg aGVscGZ1bCBmb3IgdXMgdG8KY29tcHJlaGVuZCBWNEwyIGZyYW1ld29yay4KQWZ0ZXIgbW9kaWZ5 aW5nIHRoZSBzZXR0aW5ncyB5b3UgbWVudGlvbmVkLCB0aGUgVjRMMi1Db21wbGlhbmNlIHRlc3QK cmVzdWx0cyBhbGwgcGFzc2VkIGFuZCBsaXN0ZWQgYmVsb3cuCkFsbCB0aGVzZSBjaGFuZ2VzIHdp bGwgYmUgaW50ZWdyYXRlZCBpbnRvIHRoZSBuZXh0IHZlcnNpb24uCgpsb2NhbGhvc3QgfiAjIHY0 bDItY29tcGxpYW5jZSAtZCAxMQp2NGwyLWNvbXBsaWFuY2UgU0hBOiBub3QgYXZhaWxhYmxlCiwg MzIgYml0cywgMzItYml0IHRpbWVfdAoKQ29tcGxpYW5jZSB0ZXN0IGZvciBtdGstbWRwMyBkZXZp Y2UgL2Rldi92aWRlbzExOgoKRHJpdmVyIEluZm86CiAgICAgICAgRHJpdmVyIG5hbWUgICAgICA6 IG10ay1tZHAzCiAgICAgICAgQ2FyZCB0eXBlICAgICAgICA6IDE0MDAxMDAwLm1kcDNfcmRtYTAK ICAgICAgICBCdXMgaW5mbyAgICAgICAgIDogcGxhdGZvcm06bXRrLW1kcDMKICAgICAgICBEcml2 ZXIgdmVyc2lvbiAgIDogNS4xMC42NgogICAgICAgIENhcGFiaWxpdGllcyAgICAgOiAweDg0MjA0 MDAwCiAgICAgICAgICAgICAgICBWaWRlbyBNZW1vcnktdG8tTWVtb3J5IE11bHRpcGxhbmFyCiAg ICAgICAgICAgICAgICBTdHJlYW1pbmcKICAgICAgICAgICAgICAgIEV4dGVuZGVkIFBpeCBGb3Jt YXQKICAgICAgICAgICAgICAgIERldmljZSBDYXBhYmlsaXRpZXMKICAgICAgICBEZXZpY2UgQ2Fw cyAgICAgIDogMHgwNDIwNDAwMAogICAgICAgICAgICAgICAgVmlkZW8gTWVtb3J5LXRvLU1lbW9y eSBNdWx0aXBsYW5hcgogICAgICAgICAgICAgICAgU3RyZWFtaW5nCiAgICAgICAgICAgICAgICBF eHRlbmRlZCBQaXggRm9ybWF0CgpSZXF1aXJlZCBpb2N0bHM6CiAgICAgICAgdGVzdCBWSURJT0Nf UVVFUllDQVA6IE9LCgpBbGxvdyBmb3IgbXVsdGlwbGUgb3BlbnM6CiAgICAgICAgdGVzdCBzZWNv bmQgL2Rldi92aWRlbzExIG9wZW46IE9LCiAgICAgICAgdGVzdCBWSURJT0NfUVVFUllDQVA6IE9L CiAgICAgICAgdGVzdCBWSURJT0NfRy9TX1BSSU9SSVRZOiBPSwogICAgICAgIHRlc3QgZm9yIHVu bGltaXRlZCBvcGVuczogT0sKCiAgICAgICAgdGVzdCBpbnZhbGlkIGlvY3RsczogT0sKRGVidWcg aW9jdGxzOgogICAgICAgIHRlc3QgVklESU9DX0RCR19HL1NfUkVHSVNURVI6IE9LIChOb3QgU3Vw cG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX0xPR19TVEFUVVM6IE9LIChOb3QgU3VwcG9ydGVk KQoKSW5wdXQgaW9jdGxzOgogICAgICAgIHRlc3QgVklESU9DX0cvU19UVU5FUi9FTlVNX0ZSRVFf QkFORFM6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX0cvU19GUkVRVUVO Q1k6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX1NfSFdfRlJFUV9TRUVL OiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0IFZJRElPQ19FTlVNQVVESU86IE9LIChO b3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX0cvUy9FTlVNSU5QVVQ6IE9LIChOb3Qg U3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX0cvU19BVURJTzogT0sgKE5vdCBTdXBwb3J0 ZWQpCiAgICAgICAgSW5wdXRzOiAwIEF1ZGlvIElucHV0czogMCBUdW5lcnM6IDAKCk91dHB1dCBp b2N0bHM6CiAgICAgICAgdGVzdCBWSURJT0NfRy9TX01PRFVMQVRPUjogT0sgKE5vdCBTdXBwb3J0 ZWQpCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0ZSRVFVRU5DWTogT0sgKE5vdCBTdXBwb3J0ZWQp CiAgICAgICAgdGVzdCBWSURJT0NfRU5VTUFVRE9VVDogT0sgKE5vdCBTdXBwb3J0ZWQpCiAgICAg ICAgdGVzdCBWSURJT0NfRy9TL0VOVU1PVVRQVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAg IHRlc3QgVklESU9DX0cvU19BVURPVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIE91dHB1 dHM6IDAgQXVkaW8gT3V0cHV0czogMCBNb2R1bGF0b3JzOiAwCgpJbnB1dC9PdXRwdXQgY29uZmln dXJhdGlvbiBpb2N0bHM6CiAgICAgICAgdGVzdCBWSURJT0NfRU5VTS9HL1MvUVVFUllfU1REOiBP SyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0IFZJRElPQ19FTlVNL0cvUy9RVUVSWV9EVl9U SU1JTkdTOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0IFZJRElPQ19EVl9USU1JTkdT X0NBUDogT0sgKE5vdCBTdXBwb3J0ZWQpCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0VESUQ6IE9L IChOb3QgU3VwcG9ydGVkKQoKQ29udHJvbCBpb2N0bHM6CiAgICAgICAgdGVzdCBWSURJT0NfUVVF UllfRVhUX0NUUkwvUVVFUllNRU5VOiBPSwogICAgICAgIHRlc3QgVklESU9DX1FVRVJZQ1RSTDog T0sKICAgICAgICB0ZXN0IFZJRElPQ19HL1NfQ1RSTDogT0sKICAgICAgICB0ZXN0IFZJRElPQ19H L1MvVFJZX0VYVF9DVFJMUzogT0sKICAgICAgICB0ZXN0IFZJRElPQ18oVU4pU1VCU0NSSUJFX0VW RU5UL0RRRVZFTlQ6IE9LCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0pQRUdDT01QOiBPSyAoTm90 IFN1cHBvcnRlZCkKICAgICAgICBTdGFuZGFyZCBDb250cm9sczogNCBQcml2YXRlIENvbnRyb2xz OiAwCgpGb3JtYXQgaW9jdGxzOgogICAgICAgIHRlc3QgVklESU9DX0VOVU1fRk1UL0ZSQU1FU0la RVMvRlJBTUVJTlRFUlZBTFM6IE9LCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX1BBUk06IE9LIChO b3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX0dfRkJVRjogT0sgKE5vdCBTdXBwb3J0 ZWQpCiAgICAgICAgdGVzdCBWSURJT0NfR19GTVQ6IE9LCiAgICAgICAgdGVzdCBWSURJT0NfVFJZ X0ZNVDogT0sKICAgICAgICB0ZXN0IFZJRElPQ19TX0ZNVDogT0sKICAgICAgICB0ZXN0IFZJRElP Q19HX1NMSUNFRF9WQklfQ0FQOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0IENyb3Bw aW5nOiBPSwogICAgICAgIHRlc3QgQ29tcG9zaW5nOiBPSwogICAgICAgIHRlc3QgU2NhbGluZzog T0sKCkNvZGVjIGlvY3RsczoKICAgICAgICB0ZXN0IFZJRElPQ18oVFJZXylFTkNPREVSX0NNRDog T0sgKE5vdCBTdXBwb3J0ZWQpCiAgICAgICAgdGVzdCBWSURJT0NfR19FTkNfSU5ERVg6IE9LIChO b3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DXyhUUllfKURFQ09ERVJfQ01EOiBPSyAo Tm90IFN1cHBvcnRlZCkKCkJ1ZmZlciBpb2N0bHM6CiAgICAgICAgdGVzdCBWSURJT0NfUkVRQlVG Uy9DUkVBVEVfQlVGUy9RVUVSWUJVRjogT0sKICAgICAgICB0ZXN0IFZJRElPQ19FWFBCVUY6IE9L CiAgICAgICAgdGVzdCBSZXF1ZXN0czogT0sgKE5vdCBTdXBwb3J0ZWQpCgpUb3RhbCBmb3IgbXRr LW1kcDMgZGV2aWNlIC9kZXYvdmlkZW8xMTogNDUsIFN1Y2NlZWRlZDogNDUsIEZhaWxlZDogMCwK V2FybmluZ3M6IDAKCmxvY2FsaG9zdCB+ICMgdjRsMi1jb21wbGlhbmNlIC1kIDExIC1zIDEKdjRs Mi1jb21wbGlhbmNlIFNIQTogbm90IGF2YWlsYWJsZQosIDMyIGJpdHMsIDMyLWJpdCB0aW1lX3QK CkNvbXBsaWFuY2UgdGVzdCBmb3IgbXRrLW1kcDMgZGV2aWNlIC9kZXYvdmlkZW8xMToKCkRyaXZl ciBJbmZvOgogICAgICAgIERyaXZlciBuYW1lICAgICAgOiBtdGstbWRwMwogICAgICAgIENhcmQg dHlwZSAgICAgICAgOiAxNDAwMTAwMC5tZHAzX3JkbWEwCiAgICAgICAgQnVzIGluZm8gICAgICAg ICA6IHBsYXRmb3JtOm10ay1tZHAzCiAgICAgICAgRHJpdmVyIHZlcnNpb24gICA6IDUuMTAuNjYK ICAgICAgICBDYXBhYmlsaXRpZXMgICAgIDogMHg4NDIwNDAwMAogICAgICAgICAgICAgICAgVmlk ZW8gTWVtb3J5LXRvLU1lbW9yeSBNdWx0aXBsYW5hcgogICAgICAgICAgICAgICAgU3RyZWFtaW5n CiAgICAgICAgICAgICAgICBFeHRlbmRlZCBQaXggRm9ybWF0CiAgICAgICAgICAgICAgICBEZXZp Y2UgQ2FwYWJpbGl0aWVzCiAgICAgICAgRGV2aWNlIENhcHMgICAgICA6IDB4MDQyMDQwMDAKICAg ICAgICAgICAgICAgIFZpZGVvIE1lbW9yeS10by1NZW1vcnkgTXVsdGlwbGFuYXIKICAgICAgICAg ICAgICAgIFN0cmVhbWluZwogICAgICAgICAgICAgICAgRXh0ZW5kZWQgUGl4IEZvcm1hdAoKUmVx dWlyZWQgaW9jdGxzOgogICAgICAgIHRlc3QgVklESU9DX1FVRVJZQ0FQOiBPSwoKQWxsb3cgZm9y IG11bHRpcGxlIG9wZW5zOgogICAgICAgIHRlc3Qgc2Vjb25kIC9kZXYvdmlkZW8xMSBvcGVuOiBP SwogICAgICAgIHRlc3QgVklESU9DX1FVRVJZQ0FQOiBPSwogICAgICAgIHRlc3QgVklESU9DX0cv U19QUklPUklUWTogT0sKICAgICAgICB0ZXN0IGZvciB1bmxpbWl0ZWQgb3BlbnM6IE9LCgogICAg ICAgIHRlc3QgaW52YWxpZCBpb2N0bHM6IE9LCkRlYnVnIGlvY3RsczoKICAgICAgICB0ZXN0IFZJ RElPQ19EQkdfRy9TX1JFR0lTVEVSOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0IFZJ RElPQ19MT0dfU1RBVFVTOiBPSyAoTm90IFN1cHBvcnRlZCkKCklucHV0IGlvY3RsczoKICAgICAg ICB0ZXN0IFZJRElPQ19HL1NfVFVORVIvRU5VTV9GUkVRX0JBTkRTOiBPSyAoTm90IFN1cHBvcnRl ZCkKICAgICAgICB0ZXN0IFZJRElPQ19HL1NfRlJFUVVFTkNZOiBPSyAoTm90IFN1cHBvcnRlZCkK ICAgICAgICB0ZXN0IFZJRElPQ19TX0hXX0ZSRVFfU0VFSzogT0sgKE5vdCBTdXBwb3J0ZWQpCiAg ICAgICAgdGVzdCBWSURJT0NfRU5VTUFVRElPOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0 ZXN0IFZJRElPQ19HL1MvRU5VTUlOUFVUOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0 IFZJRElPQ19HL1NfQVVESU86IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIElucHV0czogMCBB dWRpbyBJbnB1dHM6IDAgVHVuZXJzOiAwCgpPdXRwdXQgaW9jdGxzOgogICAgICAgIHRlc3QgVklE SU9DX0cvU19NT0RVTEFUT1I6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9D X0cvU19GUkVRVUVOQ1k6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX0VO VU1BVURPVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9DX0cvUy9FTlVN T1VUUFVUOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0IFZJRElPQ19HL1NfQVVET1VU OiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICBPdXRwdXRzOiAwIEF1ZGlvIE91dHB1dHM6IDAg TW9kdWxhdG9yczogMAoKSW5wdXQvT3V0cHV0IGNvbmZpZ3VyYXRpb24gaW9jdGxzOgogICAgICAg IHRlc3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX1NURDogT0sgKE5vdCBTdXBwb3J0ZWQpCiAgICAg ICAgdGVzdCBWSURJT0NfRU5VTS9HL1MvUVVFUllfRFZfVElNSU5HUzogT0sgKE5vdCBTdXBwb3J0 ZWQpCiAgICAgICAgdGVzdCBWSURJT0NfRFZfVElNSU5HU19DQVA6IE9LIChOb3QgU3VwcG9ydGVk KQogICAgICAgIHRlc3QgVklESU9DX0cvU19FRElEOiBPSyAoTm90IFN1cHBvcnRlZCkKCkNvbnRy b2wgaW9jdGxzOgogICAgICAgIHRlc3QgVklESU9DX1FVRVJZX0VYVF9DVFJML1FVRVJZTUVOVTog T0sKICAgICAgICB0ZXN0IFZJRElPQ19RVUVSWUNUUkw6IE9LCiAgICAgICAgdGVzdCBWSURJT0Nf Ry9TX0NUUkw6IE9LCiAgICAgICAgdGVzdCBWSURJT0NfRy9TL1RSWV9FWFRfQ1RSTFM6IE9LCiAg ICAgICAgdGVzdCBWSURJT0NfKFVOKVNVQlNDUklCRV9FVkVOVC9EUUVWRU5UOiBPSwogICAgICAg IHRlc3QgVklESU9DX0cvU19KUEVHQ09NUDogT0sgKE5vdCBTdXBwb3J0ZWQpCiAgICAgICAgU3Rh bmRhcmQgQ29udHJvbHM6IDQgUHJpdmF0ZSBDb250cm9sczogMAoKRm9ybWF0IGlvY3RsczoKICAg ICAgICB0ZXN0IFZJRElPQ19FTlVNX0ZNVC9GUkFNRVNJWkVTL0ZSQU1FSU5URVJWQUxTOiBPSwog ICAgICAgIHRlc3QgVklESU9DX0cvU19QQVJNOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0 ZXN0IFZJRElPQ19HX0ZCVUY6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgVklESU9D X0dfRk1UOiBPSwogICAgICAgIHRlc3QgVklESU9DX1RSWV9GTVQ6IE9LCiAgICAgICAgdGVzdCBW SURJT0NfU19GTVQ6IE9LCiAgICAgICAgdGVzdCBWSURJT0NfR19TTElDRURfVkJJX0NBUDogT0sg KE5vdCBTdXBwb3J0ZWQpCiAgICAgICAgdGVzdCBDcm9wcGluZzogT0sKICAgICAgICB0ZXN0IENv bXBvc2luZzogT0sKICAgICAgICB0ZXN0IFNjYWxpbmc6IE9LCgpDb2RlYyBpb2N0bHM6CiAgICAg ICAgdGVzdCBWSURJT0NfKFRSWV8pRU5DT0RFUl9DTUQ6IE9LIChOb3QgU3VwcG9ydGVkKQogICAg ICAgIHRlc3QgVklESU9DX0dfRU5DX0lOREVYOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0 ZXN0IFZJRElPQ18oVFJZXylERUNPREVSX0NNRDogT0sgKE5vdCBTdXBwb3J0ZWQpCgpCdWZmZXIg aW9jdGxzOgogICAgICAgIHRlc3QgVklESU9DX1JFUUJVRlMvQ1JFQVRFX0JVRlMvUVVFUllCVUY6 IE9LCiAgICAgICAgdGVzdCBWSURJT0NfRVhQQlVGOiBPSwogICAgICAgIHRlc3QgUmVxdWVzdHM6 IE9LIChOb3QgU3VwcG9ydGVkKQoKVGVzdCBpbnB1dCAwOgoKU3RyZWFtaW5nIGlvY3RsczoKICAg ICAgICB0ZXN0IHJlYWQvd3JpdGU6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgYmxv Y2tpbmcgd2FpdDogT0sKICAgICAgICBWaWRlbyBDYXB0dXJlIE11bHRpcGxhbmFyOiBDYXB0dXJl ZCAxIGJ1ZmZlcnMKICAgICAgICB0ZXN0IE1NQVAgKG5vIHBvbGwpOiBPSwogICAgICAgIFZpZGVv IENhcHR1cmUgTXVsdGlwbGFuYXI6IENhcHR1cmVkIDEgYnVmZmVycwogICAgICAgIHRlc3QgTU1B UCAoc2VsZWN0KTogT0sKICAgICAgICBWaWRlbyBDYXB0dXJlIE11bHRpcGxhbmFyOiBDYXB0dXJl ZCAxIGJ1ZmZlcnMKICAgICAgICB0ZXN0IE1NQVAgKGVwb2xsKTogT0sKICAgICAgICB0ZXN0IFVT RVJQVFIgKG5vIHBvbGwpOiBPSyAoTm90IFN1cHBvcnRlZCkKICAgICAgICB0ZXN0IFVTRVJQVFIg KHNlbGVjdCk6IE9LIChOb3QgU3VwcG9ydGVkKQogICAgICAgIHRlc3QgRE1BQlVGOiBDYW5ub3Qg dGVzdCwgc3BlY2lmeSAtLWV4cGJ1Zi1kZXZpY2UKClRvdGFsIGZvciBtdGstbWRwMyBkZXZpY2Ug L2Rldi92aWRlbzExOiA1MiwgU3VjY2VlZGVkOiA1MiwgRmFpbGVkOiAwLApXYXJuaW5nczogMAoK VGhhbmtzICYgUmVnYXJkcywKTW91ZHkgSG8KCk9uIEZyaSwgMjAyMS0wOS0wMyBhdCAxMjowMSAr MDIwMCwgSGFucyBWZXJrdWlsIHdyb3RlOgo+IEhpIE1vdWR5LAo+IAo+IENhbiB5b3UgcHJvdmlk ZSB0aGUgJ3Y0bDItY29tcGxpYW5jZSAtcycgb3V0cHV0Pwo+IAo+IE1ha2Ugc3VyZSB0byBjb21w aWxlIHY0bDItY29tcGxpYW5jZSBmcm9tIHRoZSBsYXRlc3QgY29kZSBiYXNlOgo+IApodHRwczov L3VybGRlZmVuc2UuY29tL3YzL19faHR0cHM6Ly9naXQubGludXh0di5vcmcvdjRsLXV0aWxzLmdp dC9fXzshIUNUUk5LQTl3TWcwQVJidyEyUW1rRmhNb1lCQ1I0TUM1ZF9sOGI3enZkRWR3a2ZkNjgy Nm5PWTZXQUhRQ2hVNHJNbDhQOVV0TzZaOFpyY1BEJAo+ICAKPiAKPiBDb21waWxpbmcgb24geDg2 XzY0IChzbyB1c2luZyBDT01QSUxFX1RFU1QpIGZhaWxzOgo+IAo+ICAgTEQgICAgICAudG1wX3Zt bGludXgua2FsbHN5bXMxCj4gbGQ6IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRr LW1kcDMtY29yZS5vOiBpbiBmdW5jdGlvbgo+IGBtZHBfcHJvYmUnOgo+IG10ay1tZHAzLWNvcmUu YzooLnRleHQrMHg0MTUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvCj4gYG10a19tdXRleF9tZHBf Z2V0Jwo+IGxkOiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNvbXAu bzogaW4gZnVuY3Rpb24KPiBgY29uZmlnX2NhbWluX3N1YmZybSc6Cj4gbXRrLW1kcDMtY29tcC5j OigudGV4dCsweDliKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0bwo+IGBtdGtfbW1zeXNfbWRwX2Nh bWluX2N0cmwnCj4gbGQ6IG10ay1tZHAzLWNvbXAuYzooLnRleHQrMHhiYyk6IHVuZGVmaW5lZCBy ZWZlcmVuY2UgdG8KPiBgbXRrX21tc3lzX21kcF9jYW1pbl9jdHJsJwo+IGxkOiBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNvbXAubzogaW4gZnVuY3Rpb24KPiBgbWRw X2NvbXBvbmVudF9kZWluaXQnOgo+IG10ay1tZHAzLWNvbXAuYzooLnRleHQrMHgyNzA3KTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0bwo+IGBtdGtfbXV0ZXhfcHV0Jwo+IGxkOiBkcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNvbXAubzogaW4gZnVuY3Rpb24KPiBgaW5pdF9p c3AuY29sZCc6Cj4gbXRrLW1kcDMtY29tcC5jOigudGV4dC51bmxpa2VseSsweDRmKTogdW5kZWZp bmVkIHJlZmVyZW5jZSB0bwo+IGBtdGtfbW1zeXNfbWRwX2lzcF9jdHJsJwo+IGxkOiBtdGstbWRw My1jb21wLmM6KC50ZXh0LnVubGlrZWx5KzB4N2EpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvCj4g YG10a19tbXN5c19tZHBfaXNwX2N0cmwnCj4gbGQ6IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LW1kcDMvbXRrLW1kcDMtY21kcS5vOiBpbiBmdW5jdGlvbgo+IGBtZHBfYXV0b19yZWxlYXNlX3dv cmsnOgo+IG10ay1tZHAzLWNtZHEuYzooLnRleHQrMHgxMyk6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8KPiBgbXRrX211dGV4X3VucHJlcGFyZScKPiBsZDogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t dGstbWRwMy9tdGstbWRwMy1jbWRxLm86IGluIGZ1bmN0aW9uCj4gYG1kcF9wYXRoX3N1YmZybV9y ZXF1aXJlJzoKPiBtdGstbWRwMy1jbWRxLmM6KC50ZXh0KzB4NDVlKTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0bwo+IGBtdGtfbXV0ZXhfYWRkX21kcF9tb2QnCj4gbGQ6IGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vbXRrLW1kcDMvbXRrLW1kcDMtY21kcS5vOiBpbiBmdW5jdGlvbgo+IGBtZHBfcGF0aF9z dWJmcm1fcnVuLmlzcmEuMCc6Cj4gbXRrLW1kcDMtY21kcS5jOigudGV4dCsweDc4Yik6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8KPiBgbXRrX211dGV4X2VuYWJsZV9ieV9jbWRxJwo+IGxkOiBkcml2 ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNtZHEubzogaW4gZnVuY3Rpb24K PiBgbWRwX3BhdGhfY29uZmlnX3N1YmZybSc6Cj4gbXRrLW1kcDMtY21kcS5jOigudGV4dCsweGEw ZCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8KPiBgbXRrX21tc3lzX21kcF9jb25uZWN0Jwo+IGxk OiBtdGstbWRwMy1jbWRxLmM6KC50ZXh0KzB4ZDA4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0bwo+ IGBtdGtfbW1zeXNfbWRwX2Rpc2Nvbm5lY3QnCj4gbGQ6IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0v bXRrLW1kcDMvbXRrLW1kcDMtY21kcS5vOiBpbiBmdW5jdGlvbgo+IGBtZHBfY21kcV9zZW5kJzoK PiAoLnRleHQrMHgxMzU4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbXRrX211dGV4X3ByZXBh cmUnCj4gbGQ6IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLW1kcDMtY21kcS5v OiBpbiBmdW5jdGlvbgo+IGBtZHBfaGFuZGxlX2NtZHFfY2FsbGJhY2suY29sZCc6Cj4gbXRrLW1k cDMtY21kcS5jOigudGV4dC51bmxpa2VseSsweDM0KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0bwo+ IGBtdGtfbXV0ZXhfdW5wcmVwYXJlJwo+IGxkOiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1t ZHAzL210ay1tZHAzLWNtZHEubzogaW4gZnVuY3Rpb24KPiBgbWRwX2NtZHFfc2VuZC5jb2xkJzoK PiBtdGstbWRwMy1jbWRxLmM6KC50ZXh0LnVubGlrZWx5KzB4ZTMpOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvCj4gYG10a19tdXRleF91bnByZXBhcmUnCj4gbWFrZTogKioqIFtNYWtlZmlsZToxMTc3 OiB2bWxpbnV4XSBFcnJvciAxCj4gCj4gSSBhbHNvIGdldCBjb21waWxlIHdhcm5pbmdzOgo+IAo+ IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLW1kcDMtY29tcC5jOiBJbiBmdW5j dGlvbgo+IOKAmG1kcF9zdWJfY29tcHNfY3JlYXRl4oCZOgo+IGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vbXRrLW1kcDMvbXRrLW1kcDMtY29tcC5jOjExNTE6Mjk6IHdhcm5pbmc6Cj4gaW1wbGljaXQg Y29udmVyc2lvbiBmcm9tIOKAmGVudW0gbXRrX21kcF9jb21wX2lk4oCZIHRvIOKAmGVudW0KPiBt ZHBfY29tcF90eXBl4oCZIFstV2VudW0tY29udmVyc2lvbl0KPiAgMTE1MSB8ICAgZW51bSBtZHBf Y29tcF90eXBlIHR5cGUgPSBNRFBfQ09NUF9OT05FOwo+ICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn4KPiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1t ZHAzL210ay1tZHAzLWNvbXAuYzogSW4gZnVuY3Rpb24KPiDigJhtZHBfY29tcG9uZW50X2luaXTi gJk6Cj4gZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tdGstbWRwMy1jb21wLmM6MTIx Nzo2OiB3YXJuaW5nOgo+IHVudXNlZCB2YXJpYWJsZSDigJhp4oCZIFstV3VudXNlZC12YXJpYWJs ZV0KPiAgMTIxNyB8ICBpbnQgaSwgcmV0Owo+ICAgICAgIHwgICAgICBeCj4gZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9tdGstbWRwMy9tdGstbWRwMy1jbWRxLmM6IEluIGZ1bmN0aW9uCj4g4oCYbWRw X2NtZHFfc2VuZOKAmToKPiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAz LWNtZHEuYzo0ODk6MTogd2FybmluZzogdGhlCj4gZnJhbWUgc2l6ZSBvZiAxMzEyIGJ5dGVzIGlz IGxhcmdlciB0aGFuIDEwMjQgYnl0ZXMgWy1XZnJhbWUtbGFyZ2VyLQo+IHRoYW49XQo+ICAgNDg5 IHwgfQo+ICAgICAgIHwgXgo+IAo+IFJlZ2FyZHMsCj4gCj4gCUhhbnMKPiAKPiBPbiAyNC8wOC8y MDIxIDEyOjAwLCBNb3VkeSBIbyB3cm90ZToKPiA+IENoYW5nZXMgc2luY2UgdjY6Cj4gPiAtIFJl ZmFjdG9yIEdDRSBldmVudCB0byBjb3JyZXNwb25kaW5nIG5vZGUuCj4gPiAtIEZpeCBkdF9iaW5k aW5nX2NoZWNrIGZhaWwuCj4gPiAtIEZpeCBjb21waWxhdGlvbiBlcnJvcnMuCj4gPiAKPiA+IENo YW5nZXMgc2luY2UgdjU6Cj4gPiAtIFJlYmFzZSBvbiB2NS4xNC1yYzYuCj4gPiAtIE1vdmUgTU1T WVMvTXV0ZXggc2V0dGluZ3MgdG8gY29ycmVzcG9uZGluZyBkcml2ZXIuCj4gPiAtIFJldmlzZSB0 aGUgc29mdHdhcmUgbGljZW5zZSBkZXNjcmlwdGlvbiBhbmQgY29weXJpZ2h0Lgo+ID4gLSBSZW1v dmUgdW5uZWNlc3NhcnkgZW51bS4gb3IgZGVmaW5pdGlvbnMuCj4gPiAtIE9wdGltaXplIHBsYXRm b3JtL2NoaXAgZGVmaW5pdGlvbiBjb25kaXRpb25zLgo+ID4gLSBVc2UgZ2VuZXJhbCBwcmludGlu ZyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBNRFAzIHByaXZhdGUgb25lcy4KPiA+IC0gRml4IGNvbXBp bGUgd2FybmluZy4KPiA+IAo+ID4gQ2hhbmdlcyBzaW5jZSB2NDoKPiA+IC0gUmViYXNlIG9uIHY1 LjEzLXJjMS4KPiA+IC0gUmVtb3ZlIHRoZSBDTURRIGZsdXNoIGZsb3cgdG8gbWF0Y2ggdGhlIENN RFEgQVBJIGNoYW5nZS4KPiA+IC0gSW50ZWdyYXRlIGZvdXIgb2YgTURQJ3MgZGlyZWN0LWxpbmsg c3ViY29tcG9uZW50cyBpbnRvIE1EUAo+ID4gY29udHJvbGxlciBub2RlCj4gPiAgIGZyb20gc3lz Y29uIG5vZGUgdG8gYXZvaWQgaWxsZWdhbCBjbG9jayB1c2FnZS4KPiA+IC0gUmV3cml0ZSBkdC1i aW5kaW5nIGluIGEgSlNPTiBjb21wYXRpYmxlIHN1YnNldCBvZiBZQU1MCj4gPiAtIEZpeCBhIGJp dCBvZiBtYWNybyBhcmd1bWVudCBwcmVjZWRlbmNlLgo+ID4gCj4gPiBDaGFuZ2VzIHNpbmNlIHYz Ogo+ID4gLSBSZWJhc2Ugb24gdjUuOS1yYzEuCj4gPiAtIG1vZGlmeSBjb2RlIGZvciByZXZpZXcg Y29tbWVudCBmcm9tIFJvYiBIZXJyaW5nLCBjYW5jZWwgbXVsdGlwbGUKPiA+IG5vZGVzIHVzaW5n Cj4gPiAgIHNhbWUgcmVnaXN0ZXIgYmFzZSBzaXR1YXRpb24uCj4gPiAtIGNvbnRyb2wgSU9NTVUg cG9ydCB0aHJvdWdoIHBtIHJ1bnRpbWUgZ2V0L3B1dCB0byBETUEgY29tcG9uZW50cycKPiA+IGRl dmljZS4KPiA+IC0gU0NQKFZQVSkgZHJpdmVyIHJldmlzaW9uLgo+ID4gLSBzdG9wIHF1ZXVpbmcg am9icyhyZW1vdmUgZmx1c2hfd29ya3F1ZXVlKCkpIGFmdGVyCj4gPiBtZHBfbTJtX3JlbGVhc2Uo KS4KPiA+IC0gYWRkIGNvbXB1dGF0aW9uIG9mIHBsYW5lIGFkZHJlc3Mgd2l0aCBkYXRhX29mZnNl dC4KPiA+IC0gZml4IHNjYWxlIHJhdGlvIGNoZWNrIGlzc3VlLgo+ID4gLSBhZGQgZGVmYXVsdCB2 NGwyX2Zvcm1hdCBzZXR0aW5nLgo+ID4gCj4gPiBDaGFuZ2VzIHNpbmNlIHYyOgo+ID4gLSBtb2Rp ZnkgY29kZSBmb3IgcmV2aWV3IGNvbW1lbnQgZnJvbSBUb21hc3ogRmlnYSAmIEFsZXhhbmRyZQo+ ID4gQ291cmJvdAo+ID4gLSByZXZpZXcgY29tbWVudCBmcm9tIFJvYiBIZXJyaW5nIHdpbGwgb2Zm ZXIgY29kZSByZXZpc2lvbiBpbiB2NCwKPiA+IGR1ZSB0bwo+ID4gICBpdCdzIHJlbGF0ZWQgdG8g ZGV2aWNlIG5vZGUgbW9kaWZpY2F0aW9uLCB3aWxsIG5lZWQgdG8gbW9kaWZ5Cj4gPiBjb2RlCj4g PiAgIGFyY2hpdGVjdHVyZQo+ID4gCj4gPiBDaGFuZ2VzIHNpbmNlIHYxOgo+ID4gLSBtb2RpZnkg Y29kZSBmb3IgQ01EUSB2MyBBUEkgc3VwcG9ydAo+ID4gLSBFQyBpcGkgY21kIG1pZ3JhdGlvbgo+ ID4gLSBmaXggY29tcGxpYW5jZSB0ZXN0IGZhaWwgaXRlbSAobTJtIGNtZCB3aXRoIC1mKSBkdWUg dG8gdGhlcmUgaXMKPiA+IHR3byBwcm9ibGVtIGluIHJ1bmluZyBhbGwgZm9ybWF0KC1mKSBjbWQ6 Cj4gPiAxLiBvdXQgb2YgbWVtb3J5IGJlZm9yZSB0ZXN0IGNvbXBsZXRlCj4gPiAgICAgICAgIER1 ZSB0byBjYXB0dXJlIGJ1ZmZlciBtbWFwIChyZWZjb3VudCArIDEpIGFmdGVyIHJlcWJ1ZiBidXQK PiA+IHNlZW1zCj4gPiAgICAgICAgIG5vIGNvcnJlc3BvbmRpbmcgbXVubWFwIGNhbGxlZCBiZWZv cmUgZGV2aWNlIGNsb3NlLgo+ID4gICAgICAgICBUaGVyZSBhcmUgdG90YWwgMTJYWCBpdGVtcyhm b3JtYXRzKSBpbiBmb3JtYXQgdGVzdCBhbmQgZWFjaAo+ID4gZm9ybWF0Cj4gPiAgICAgICAgIGFs bG9jIDggY2FwdHVyZS9vdXRwdXQgYnVmZmVycy4KPiA+IDIuIHVuY2Vhc2luZ2x5IGNhcHR1cmVC dWZzKCkgKHJhbmRvbWx5KQo+ID4gICAgICAgICBTZWVtcyB0aGUgYnJlYWsgc3RhdGVtZW50IGRp ZG4ndCBjYXRjaCB0aGUgY291bnQgPT0gMAo+ID4gc2l0dWF0aW9uOgo+ID4gICAgICAgICBJbiB2 NGwyLXRlc3QtYnVmZmVycy5jcHAsIGZ1bmN0aW9uOiBjYXB0dXJlQnVmcygpCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAuLi4KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50LS07 Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW5vZGUtPmlzX20ybSAmJiAhY291bnQp Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICBM b2cgaXMgYXMgYXR0YWNobWVudAo+ID4gCj4gPiBJIHdpbGwgcGFzdGUgdGhlIHRlc3QgcmVzdWx0 IHdpdGggcHJvYmxlbSBwYXJ0IGluIGFub3RoZXIgZS1tYWlsCj4gPiAKPiA+IEhpLAo+ID4gCj4g PiBUaGlzIGlzIHRoZSBmaXJzdCB2ZXJzaW9uIG9mIFJGQyBwYXRjaCBmb3IgTWVkaWEgRGF0YSBQ YXRoIDMKPiA+IChNRFAzKSwKPiA+IE1EUDMgaXMgdXNlZCBmb3Igc2NhbGluZyBhbmQgY29sb3Ig Zm9ybWF0IGNvbnZlcnNpb24uCj4gPiBzdXBwb3J0IHVzaW5nIEdDRSB0byB3cml0ZSByZWdpc3Rl ciBpbiBjcml0aWNhbCB0aW1lIGxpbWl0YXRpb24uCj4gPiBzdXBwb3J0IFY0TDIgbTJtIGRldmlj ZSBjb250cm9sLgo+ID4gCj4gPiBNb3VkeSBIbyAoNSk6Cj4gPiAgIHNvYzogbWVkaWF0ZWs6IG11 dGV4OiBhZGQgc3VwcG9ydCBmb3IgTURQCj4gPiAgIHNvYzogbWVkaWF0ZWs6IG1tc3lzOiBBZGQg c3VwcG9ydCBmb3IgTURQCj4gPiAgIGR0LWJpbmRpbmc6IG10ODE4MzogQWRkIE1lZGlhdGVrIE1E UDMgZHQtYmluZGluZ3MKPiA+ICAgZHRzOiBhcm02NDogbXQ4MTgzOiBBZGQgTWVkaWF0ZWsgTURQ MyBub2Rlcwo+ID4gICBtZWRpYTogcGxhdGZvcm06IG10ay1tZHAzOiBBZGQgTWVkaWF0ZWsgTURQ MyBkcml2ZXIKPiA+IAo+ID4gIC4uLi9iaW5kaW5ncy9tZWRpYS9tZWRpYXRlayxtZHAzLWNjb3Jy LnlhbWwgICB8ICAgNTcgKwo+ID4gIC4uLi9iaW5kaW5ncy9tZWRpYS9tZWRpYXRlayxtZHAzLXJk bWEueWFtbCAgICB8ICAyMDcgKysrCj4gPiAgLi4uL2JpbmRpbmdzL21lZGlhL21lZGlhdGVrLG1k cDMtcnN6LnlhbWwgICAgIHwgICA2NSArCj4gPiAgLi4uL2JpbmRpbmdzL21lZGlhL21lZGlhdGVr LG1kcDMtd2RtYS55YW1sICAgIHwgICA3MSArCj4gPiAgLi4uL2JpbmRpbmdzL21lZGlhL21lZGlh dGVrLG1kcDMtd3JvdC55YW1sICAgIHwgICA3MSArCj4gPiAgYXJjaC9hcm02NC9ib290L2R0cy9t ZWRpYXRlay9tdDgxODMuZHRzaSAgICAgIHwgIDExMCArKwo+ID4gIGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vS2NvbmZpZyAgICAgICAgICAgICAgICB8ICAgMTkgKwo+ID4gIGRyaXZlcnMvbWVkaWEv cGxhdGZvcm0vTWFrZWZpbGUgICAgICAgICAgICAgICB8ICAgIDIgKwo+ID4gIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLW1kcDMvTWFrZWZpbGUgICAgICB8ICAgIDYgKwo+ID4gIC4uLi9tZWRp YS9wbGF0Zm9ybS9tdGstbWRwMy9tZHBfcmVnX2Njb3JyLmggICB8ICAgMTkgKwo+ID4gIGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbWRwX3JlZ19pc3AuaCB8ICAgMjcgKwo+ID4gIC4u Li9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tZHBfcmVnX3JkbWEuaCAgICB8ICAgNjUgKwo+ID4g IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbWRwX3JlZ19yc3ouaCB8ICAgMzkgKwo+ ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tZHBfcmVnX3dkbWEuaCAgICB8ICAgNDcg Kwo+ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tZHBfcmVnX3dyb3QuaCAgICB8ICAg NTUgKwo+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLWltZy1pcGkuaCB8 ICAyODAgKysrKwo+ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tdGstbWRwMy1jbWRx LmMgICB8ICA1MDcgKysrKysrKwo+ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tdGst bWRwMy1jbWRxLmggICB8ICAgNDYgKwo+ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9t dGstbWRwMy1jb21wLmMgICB8IDEzMDcKPiA+ICsrKysrKysrKysrKysrKysrCj4gPiAgLi4uL21l ZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNvbXAuaCAgIHwgIDE0NyArKwo+ID4gIC4u Li9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tdGstbWRwMy1jb3JlLmMgICB8ICAzMjkgKysrKysK PiA+ICAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLW1kcDMtY29yZS5oICAgfCAgIDc1 ICsKPiA+ICAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLW1kcDMtbTJtLmMgICAgfCAg ODAxICsrKysrKysrKysKPiA+ICAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLW1kcDMt bTJtLmggICAgfCAgIDQxICsKPiA+ICAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLW1k cDMtcmVncy5jICAgfCAgNzQ2ICsrKysrKysrKysKPiA+ICAuLi4vbWVkaWEvcGxhdGZvcm0vbXRr LW1kcDMvbXRrLW1kcDMtcmVncy5oICAgfCAgMzcyICsrKysrCj4gPiAgLi4uL21lZGlhL3BsYXRm b3JtL210ay1tZHAzL210ay1tZHAzLXZwdS5jICAgIHwgIDMxMiArKysrCj4gPiAgLi4uL21lZGlh L3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLXZwdS5oICAgIHwgICA3OCArCj4gPiAgZHJpdmVy cy9zb2MvbWVkaWF0ZWsvbXQ4MTgzLW1tc3lzLmggICAgICAgICAgIHwgIDIzNSArKysKPiA+ICBk cml2ZXJzL3NvYy9tZWRpYXRlay9tdGstbW1zeXMuYyAgICAgICAgICAgICAgfCAgMTY0ICsrKwo+ ID4gIGRyaXZlcnMvc29jL21lZGlhdGVrL210ay1tbXN5cy5oICAgICAgICAgICAgICB8ICAgIDkg Ky0KPiA+ICBkcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstbXV0ZXguYyAgICAgICAgICAgICAgfCAg MTA2ICstCj4gPiAgaW5jbHVkZS9saW51eC9zb2MvbWVkaWF0ZWsvbXRrLW1tc3lzLmggICAgICAg IHwgICA4MSArCj4gPiAgaW5jbHVkZS9saW51eC9zb2MvbWVkaWF0ZWsvbXRrLW11dGV4LmggICAg ICAgIHwgICAgOCArCj4gPiAgMzQgZmlsZXMgY2hhbmdlZCwgNjQ5NSBpbnNlcnRpb25zKCspLCA5 IGRlbGV0aW9ucygtKQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NAo+ID4gRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL21lZGlhL21lZGlhdGVrLG1kcDMtY2NvcnIueWFtbAo+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NAo+ID4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21l ZGlhL21lZGlhdGVrLG1kcDMtcmRtYS55YW1sCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0Cj4gPiBE b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWVkaWEvbWVkaWF0ZWssbWRwMy1yc3ou eWFtbAo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NAo+ID4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL21lZGlhL21lZGlhdGVrLG1kcDMtd2RtYS55YW1sCj4gPiAgY3JlYXRlIG1vZGUg MTAwNjQ0Cj4gPiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWVkaWEvbWVkaWF0 ZWssbWRwMy13cm90LnlhbWwKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstbWRwMy9NYWtlZmlsZQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay1tZHAzL21kcF9yZWdfY2NvcnIuaAo+ID4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL21kcF9yZWdfaXNwLmgKPiA+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tZHBf cmVnX3JkbWEuaAo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L210ay1tZHAzL21kcF9yZWdfcnN6LmgKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tZHBfcmVnX3dkbWEuaAo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL21kcF9yZWdfd3JvdC5oCj4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRrLWlt Zy1pcGkuaAo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210 ay1tZHAzL210ay1tZHAzLWNtZHEuYwo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNtZHEuaAo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNvbXAuYwo+ID4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1t ZHAzLWNvbXAuaAo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L210ay1tZHAzL210ay1tZHAzLWNvcmUuYwo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLWNvcmUuaAo+ID4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210ay1tZHAzLW0ybS5jCj4g PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcDMvbXRr LW1kcDMtbTJtLmgKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstbWRwMy9tdGstbWRwMy1yZWdzLmMKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tdGstbWRwMy1yZWdzLmgKPiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwMy9tdGstbWRwMy12cHUuYwo+ ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAzL210 ay1tZHAzLXZwdS5oCj4gPiAKPiAKPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpMaW51eC1tZWRpYXRlayBtYWlsaW5nIGxpc3QKTGludXgtbWVkaWF0 ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCg==