From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 07 Sep 2023 13:04:17 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qeCo6-0072aY-Ks for lore@lore.pengutronix.de; Thu, 07 Sep 2023 13:04:17 +0200 Received: from bombadil.infradead.org ([2607:7c80:54:3::133]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qeCo3-0002IE-Hy for lore@pengutronix.de; Thu, 07 Sep 2023 13:04:17 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Message-ID:Date :Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9S3IBO3KuVyWKL+9YF/6ddHeYd9KnwHYOJtahR83dDE=; b=SBPbo8Iv3XYSNIXHJcL6yVFl2q CHWx4m7IrWJfZzi6PPST6xDh18a7jD09uHUJFaUO3EINyEslDNjewrctqiDpDQSqQ9FglxwIWj7wy LtTpQkBVFCacXNbm/ov8N3zqnbROu0QVsDI6Dk/9a0Z0m4Ki/0gVmyGfts7a+IG7Qv/Ww3SvL82V0 s7vFNhw07MGovzhNSIbvhsnlK7zXVHzdYP8+QjDWettkaoHsfK00IuO2KRe6lSC/igfkMVR1YI9k4 p93UtUmVt2nKqB4HMeFH+LG7fdau/Kw5PkTEwbYl/xPAQ96O5eiwpakg/EjCkrI6QHvT0SbCaqA4r g8yhBG/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qeCml-00By9n-1A; Thu, 07 Sep 2023 11:02:55 +0000 Received: from mail-db8eur05on2062d.outbound.protection.outlook.com ([2a01:111:f400:7e1a::62d] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qeCmf-00By8J-2V for barebox@lists.infradead.org; Thu, 07 Sep 2023 11:02:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=exs0Dj0iOMbAfvdzJejA4JT6xranbWnelagwmk74D7RCzZtB07YNvEdu5FkAmp8nb0N1GOXYM6cwTl1r/wBrwxui/wTcvd6aZjM1SAgIvSP+xRxr6qgNAMnQHSTjpE6RX2IC4ipS0pMh5MGwi1fUEboqy3bPSfSMiiH/ENAtRPVjON4IhaAnVv7aHjKViCbVeAGMz851HJPspbrcFjYr9Ue4eagxNi+6aiZNpVA8lBS1Q7aJdaCzKl2C73jKVdzlEluQuniJYJWkEsYL74ejRc/0wzfPCfmX9LT6HOCTJck0kdRcdpWPWDq4VsGAyuWXC2HLbYYW+XVP1Vf2fSnwsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9S3IBO3KuVyWKL+9YF/6ddHeYd9KnwHYOJtahR83dDE=; b=SMp9ZwM6ZZb9YFXwnliMkNLm+y/j6k5cEIbioNL1Rh0XWYqRxDoHGvNPJcLj6teW3ag+mlazE5Wc3GH2yOknyesw8YvORkN2/uXeBmMnZEXAWDPa7SniiuKjgCaSQUsW5yqvCj9SykaCvHUIPe/BdZZFlQUB+x/O7SwZsx+KmHfNqoXraE/Jt0BXpNovi2lbHUid+qTdfsJQQ5aFTd8uGtmpyW1DVu+e5AFMESLwyfTzbBuoG4XtKdyoPzIfJL5gFa5NsO5qqlP3OYdeaVvALVPey2xTJ5KWwjY8+DDqqemIfJx3PuOjs6ebOuJAVGbRQlaADJ+Ajctee9rqyl5aag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=pliops.com; dmarc=pass action=none header.from=pliops.com; dkim=pass header.d=pliops.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pliops.onmicrosoft.com; s=selector2-pliops-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9S3IBO3KuVyWKL+9YF/6ddHeYd9KnwHYOJtahR83dDE=; b=HFC1PzTZbnsi4i6SM+eudSIAN90B0udbsiPYQHqMS5GrfpMRWAf8OUUtVd4PKnphIrkYdG++e0OxoG6D6JGKHK5eU37FjYQAZ3aToLxic+l0xtWqtHQ8jFpZqgTwqlYjIOzSFuAK1AtQAqePcE12puOQkF+Lt1ZxZ7Ux+18+rqs= Received: from PR3P195MB0555.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:30::14) by VI1P195MB2412.EURP195.PROD.OUTLOOK.COM (2603:10a6:800:1c6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Thu, 7 Sep 2023 11:02:38 +0000 Received: from PR3P195MB0555.EURP195.PROD.OUTLOOK.COM ([fe80::bfee:8874:23dc:3f82]) by PR3P195MB0555.EURP195.PROD.OUTLOOK.COM ([fe80::bfee:8874:23dc:3f82%4]) with mapi id 15.20.6745.034; Thu, 7 Sep 2023 11:02:38 +0000 From: Lior Weintraub To: Ahmad Fatoum CC: Ahmad Fatoum , "barebox@lists.infradead.org" Thread-Topic: [PATCH v2] Porting barebox to a new SoC Thread-Index: AdmRYNrtRrBKX5DDRQGPzQVQ7b/lvQAGThgAAAAP8YAACFyNQAAg73hQABAveYAAJavNEAAj7YeAAALjkCAAAlTGgAAAg88AABLfUgAAHqoWEAAB8RmAAACDPvAABgB/gADOw7IgADDadYABIp5wkAAGuZwAAABXfaAABTXJAAAoonjwAAThpQAAAEtacAAj5FKAAHoFPYAAgfWm8AAS4YOAATeyOiAA3ZoRAAaGxmfwA+cn2gAAAZrz0AMkKdQAAAArCoAAAgiFAAABYmtA Date: Thu, 7 Sep 2023 11:02:38 +0000 Message-ID: References: <7023e1e4-f383-49aa-e194-3c61be33c9fe@pengutronix.de> <2dd1dcef-8c63-5360-365d-c4ac29dad38c@pengutronix.de> <0623c749-be9a-423a-d79d-e21a8513af88@pengutronix.de> <19bbb913-64d9-2d71-81b3-8cbac346b66d@pengutronix.de> <18205fbc-7165-e3bc-49a0-f23dbbe4a555@pengutronix.de> <163059f8-f9b2-5c33-4119-906bd74ee7eb@pengutronix.de> In-Reply-To: <163059f8-f9b2-5c33-4119-906bd74ee7eb@pengutronix.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=pliops.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PR3P195MB0555:EE_|VI1P195MB2412:EE_ x-ms-office365-filtering-correlation-id: d2774db9-d51c-4351-515d-08dbaf91f2e1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3638UFn0bkKmyThQDCAigBgFS7F0PXqIg/0vFmnPDFkyv64uIuuWBjk3sqki+qcHW+MPwwSo2Oge6YfLZ03PqCp1psQspcqsJRnzhDiM7CQOw3/gkkJSFNzq3hIbeZLS5pLY0hJjMKDY5eFznoeyBY2o0UmFJ9RpFHUNhVVDowGDjrRvEUA6a/oT4KyoZqKECMx5ppi86KKiXilUsfIiSCvXpFYFSR6luVVn0d/89t+W2x2BBkYQXp8O4FGP/Oi26davmm0D5YB3uFObMkUotijY2FStcTJH5XlxN0DQ8o3z0de+7FmEEXcrzJRsMk5jjWqmpLjn6usYxSDovobzcorRItDl+6r0S8XxGuMZK09qnuZCzxs3ZYyXDWICH+qMjV4u68nF1wz3+V2wcc1ZUlYeHvTE2Y5TYv05lYkOMgUA4EKGU3L43Kh9qmvBpr8nfPdlhiBVCRKI7I/7VVQhSaUi1jLHpOJsHdiTMACqGAJJqWdPGfT/T5JDjjIJ2bDNqim8uqcBmMsN6npCefq4Qomz/vL9T1uRiZDCPbhtadHMSazORxmsSjHqRqc7bg5cXTVD9bibh8f/vQYyPFDDi5iVFKDZlyWUowx8MfWBRMY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3P195MB0555.EURP195.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(136003)(39830400003)(346002)(1800799009)(451199024)(186009)(478600001)(966005)(71200400001)(45080400002)(19627235002)(6506007)(316002)(6916009)(9686003)(4326008)(8676002)(8936002)(41300700001)(52536014)(5660300002)(66574015)(83380400001)(2906002)(30864003)(66446008)(84970400001)(122000001)(38100700002)(76116006)(64756008)(54906003)(7696005)(66946007)(53546011)(66556008)(38070700005)(66476007)(86362001)(33656002)(55016003)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TGw0TGF4dnp2eVh4S0ZLaGg2TnhDOEJYak0zRVhPMW5PbnRlWU5BU09tT3hD?= =?utf-8?B?UXJkaFFiY3RmWlZ3dC9CckxnOExsNlFJcm1qb1lkZXNzTllwTVFhYVZJcG4w?= =?utf-8?B?SDdqbG8zNjJPdGRQblhLMDR5bVhsanNYNnk3NUh5ejNzK3hzd2lWaWhXa3Nr?= =?utf-8?B?SVFFYXJ3Sk1yOTNISUFVbGpkYmpEL2ppeGp4ekRIOTNCK0hteS8xSWhJbm4v?= =?utf-8?B?cSswN1lBSmxEMjZvUitIcU4zekgzZjRNSjFoaUxaVUdJeURkU3JKa3ZobG1S?= =?utf-8?B?YXVsbm8rMzNrbnRMZVpsdG1wTHZubmxOWUMySWFHMzhnWHl1bDBTN1hlVHc3?= =?utf-8?B?azY5V0hwbjFjQmgrbDI0cm0wdUZZV3lmY0ZmdjVQM2xUZ0FOK1FmSENzOHJU?= =?utf-8?B?NEJkMWNqUVJhZytlKzNkbjE0OEtVajlGRUovczVhTHV0R3RjRkZXL25EVzBE?= =?utf-8?B?VWM1a1FMS1Z5TlZqK3l2ZVNLU1VnSm1aSGJPK09pOStFQ253RXkveVNTN1Jm?= =?utf-8?B?NU1LUFdxKzQ0VzJuNEx6cTUvMnJIUUdEcyttTFpiR2pLeVg5SHBiNlVZbmRG?= =?utf-8?B?cWpwYWM5ZGJTVWlBVWF2UDBGa3RZTXc4Sk13WFJld2d4bm9VTTdJUFRRTndE?= =?utf-8?B?bGRGMGVGSUdlS3lDK2UveDl4N1NvbU1iYUV1M1o4eWQvYWtZQkFQejkwQlpX?= =?utf-8?B?VkpZWGxaMXppcDA3ZkJiazA4VnJHRzV2MGU1L3I5YkxBZEhlQm90ZXRNNUZJ?= =?utf-8?B?aXpQcjFyTGdnMUZVSVE2elFLVzNaUnpUbHJaRlhrbGJjandKK2p1WWwzaGVE?= =?utf-8?B?Mys5bm8xM3Z3UUtQdjRuK29JcHRxYytzQ2RHd3VkYytPMFdvR0ZUdWMwdnpD?= =?utf-8?B?VWxaT2s3MUd2ajVsREVFNUxiZ1BtbWhxKzBkZVlWS09KUDU3TWQ4Q3dOOWRQ?= =?utf-8?B?cytGVlF0K3lSeTErbGVvbEdPMHM0VUluRlplVkJKQ0k3K1Z3ZmF3cFBSSGd1?= =?utf-8?B?RjBvYVpXQkZkSVRFeUNocWNxbnJLWDZNYUUySXZOWVhmK1JiSEpOT1FLVTlX?= =?utf-8?B?N3VxemQyeUd4NGtpWUFnQ2o1OTRkVXo5NTRURGRtelNWV0pMUDdDRHI1MGlh?= =?utf-8?B?OFlzMVoxaXdsWVhUSS9rVGJ3MG5PUVVZMU5xN09NM0VCVVBOVWdEY0dVZlJj?= =?utf-8?B?amVYMUthZ2FOOUdFNGZmT21NOFJUYUJqcEtQOTFrVzF5ZnNLL0NXbEoxU0pF?= =?utf-8?B?WDJtMjFpcEE2UU55STNLRnFCcUFvYWQ5ZGFTZ055REJjbWV0SWU3SkVHSE9X?= =?utf-8?B?eGd3b1JLcEE3SmE5YU9IdkVCWFRuVUJOZUNSaG9yOG1XL0NuQ1c1QVcxREJM?= =?utf-8?B?WGdyMzVsNkFzVmpEOGJxcXVaTGp1NUZVS3Q3MW1lQXZFMzZlcGFFWkhCSVVC?= =?utf-8?B?bTFSVEV2OUo4UVhFS1VrOFhySUttbVIwa3hrM1RJck5XZEZYcGx1WWJKQ3VX?= =?utf-8?B?SmR4bElrbkVxMDhBV3NtaklXejFxQTJHYkpMOHFCbitXU2FKMWl6QzRVQk5F?= =?utf-8?B?Y3h2bmhwRWUyZDIyTTV0U1ZVMlVhWE9QenkwQW1pdzgzZmQyZVRjTXBIMmRO?= =?utf-8?B?R0M4SWJWUmsrcGw0RXVlSFpPa2xBM0xTSUNRQnhpRE5VaXgwVHd5cjF6U21o?= =?utf-8?B?OHRHaXh5UFM4S0x2ZVNlNFp2bzJOVW96L2l4UlVFRlFuK3ZVYm1tZzU5YXo2?= =?utf-8?B?bHpnU1BvOWNsRjN6dGdtNE1VOXVQNHk0dThvR2RvWnZVUlNBdVlOR01ONTQ2?= =?utf-8?B?S3JCVGppZFhjTnp3TXVyYnRLWHVaNTBvcUdsdytqdU4xYStQdnNqZDRlRy9t?= =?utf-8?B?aUVKK2xmbGs3TTJ5bzcwODE5Q3hxemx0a01sN3hqOGJESlFHNkpxbnFSYUpP?= =?utf-8?B?cDkxUFFSTnRwS0I3elAvUjlJRCtBZmxKVGN3RjBXRkdYMkgzYWNVdnVCT1N1?= =?utf-8?B?OTYvczF1cVZhOGJiVHRVdng5RHhZeGsxRkJGdllGME1xMFBXRUoxYlp3UnJE?= =?utf-8?B?UjNoNmlrVlczZ3dIODczMlVSOStCUk54WnVsZURJMEZodkd6M2U4R3FwcEJU?= =?utf-8?B?dDRmMHJ6Vk44d2JibXVnVHRXL2NKWlJ1cFAvbFJFWDQ5aU1XMVhSNDdmZldx?= =?utf-8?Q?CEJwjc+MsV68qqqv11Sv4dg=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: pliops.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PR3P195MB0555.EURP195.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: d2774db9-d51c-4351-515d-08dbaf91f2e1 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Sep 2023 11:02:38.2860 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 40fe8f47-55ac-403a-a5ab-1be3dd209cf8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TA5tcmOk8KMCmIwDI49bX70Lf1GzMsm+CqvxtQ5ca73IUJrKH64pRg/i0If4igqtdDyZURZ6FqO/JrAaiHSdnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P195MB2412 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230907_040249_978610_E3316DE7 X-CRM114-Status: GOOD ( 32.60 ) X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "barebox" X-SA-Exim-Connect-IP: 2607:7c80:54:3::133 X-SA-Exim-Mail-From: barebox-bounces+lore=pengutronix.de@lists.infradead.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-4.9 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.2 Subject: RE: [PATCH v2] Porting barebox to a new SoC X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on metis.whiteo.stw.pengutronix.de) SGVsbG8gQWhtYWQsDQoNClRoYW5rcyBmb3IgdGhlIHRpcHMhDQpDdXJyZW50bHkgdGhlIExpbnV4 IGltYWdlIGlzIGxvYWRlZCBpbnRvIDEyOE1CIG9mZnNldDoNCmJvb3RpOiBLZXJuZWwgdG8gYmUg bG9hZGVkIHRvIDgwMDAwMDArYTkwMDAwDQpMb2FkZWQga2VybmVsIHRvIDB4MDgwMDAwMDAsIGRl dmljZXRyZWUgYXQgMHgwOTI5MDAwMA0KLg0KLg0KTm90IHN1cmUgaG93IHRvIHVzZSBvZl9pb21h cCBhbmQvb3IgaW9fcmVtYXAgdG8gY29udmVydCBWQSBiYWNrIHRvIFBBLg0KVGhlIHJlYXNvbiBJ IHN1c3BlY3QgdGhlcmUgaXMgYW4gaXNzdWUgdGhlcmUgaXMgYmVjYXVzZSB3ZSBhZGRlZCBhIGdp Y19kdW1wX3JlZ3MgZnVuY3Rpb24uDQpUaGlzIGZ1bmN0aW9uIGdldHMgdGhlIFZBIHdoaWNoIHN1 cHBvc2VkIHRvIHBvaW50cyB0byB0aGUgR0lDIGFuZCB0aGVuIHdlIGR1bXAgZmV3IHJlbGV2YW50 IHJlZ2lzdGVycy4NCkluIG9yZGVyIHRvIGdldCB0aGUgVkEgZm9yIHRoZSAyIEdJQyBibG9ja3Mg KGRpc3QgYW5kIHJlZGlzdCkgd2UgdXNlZDoNCmdpY19kYXRhLmRpc3RfYmFzZQ0KZ2ljX2RhdGEu cmVkaXN0X3JlZ2lvbnNbMF0ucmVkaXN0X2Jhc2UNCihTYXcgdGhhdCBpcnEtZ2ljLXYzLmMgdXNl cyB0aGF0IGdsb2JhbCBkYXRhIHN0cnVjdHVyZSB0byBwZXJmb3JtIHRoZSBnaWMgY29uZmlndXJh dGlvbikuDQoNCldoZW4gd2UgZHVtcCB0aGUgd3JpdGVzIGZyb20gYSBxZW11LXZpcnQgaXMgbG9v a3MgT0sgKGkuZS4gdmFsdWVzIHdyaXR0ZW4gdG8gdGhlIEdJQyBibG9jayBhcmUgcmVhZCBjb3Jy ZWN0bHkpDQpXaGVuIHdlIGR1bXAgdGhlIHdyaXRlcyBmcm9tIGEgcWVtdS1zcGlkZXIgaXQgc2Vl bXMgdGhhdCB0aGUgd3JpdGVzIHdlcmUgbm90IGdldHRpbmcgaW50byB0aGUgR0lDLg0KDQpBcyB5 b3UgcmVjYWxsLCB0aGUgcWVtdS1zcGlkZXIgaW1wbGVtZW50YXRpb24gd2FzIHRlc3RlZCBvbiBi YXJlLW1ldGFsIGNvZGUgd2hlcmUgd2UgYWNjZXNzIHRoZSBHSUMgdXNpbmcgUEEuDQpJdCBwcm92 ZWQgdG8gYmUgd29ya2luZyAoanVzdCBhIHNpbXBsZSB0aW1lcnMgc2V0dGluZyB0aGF0IHRyaWdn ZXIgYSBHSUMgaW50ZXJydXB0cyBvbiB2YXJpb3VzIEVMKS4NCg0KSSBldmVuIG1hbmFnZWQgdG8g dXNlIEdEQiB0byBzdGVwIGludG8gdGhlIGdpY19jcHVfaW5pdCBmdW5jdGlvbiAob24gaXJxLWdp Yy12My5jKS4NClBsYWNlZCBhIGJyZWFrcG9pbnQganVzdCBiZWZvcmUgdGhpcyBmdW5jdGlvbiBl eGl0IGFuZCB0aGVuIG9wZW5lZCBhbm90aGVyIHRlcm1pbmFsIGNvbm5lY3RpbmcgdG8gUUVNVSBt b25pdG9yICh1c2luZyB0ZWxuZXQgbG9jYWxob3N0IDEyMzUpLg0KRnJvbSB0aGUgUUVNVSBtb25p dG9yIHByb21wdCwgcmVhZCBHSUMgcmVnaXN0ZXJzICh1c2luZyB0aGUgUEEpIGFuZCBwcm92ZWQg dGhhdCB0aGV5IHdlcmUgbm90IHdyaXR0ZW4uDQoNCkkgdGhpbmsgdGhhdCB0aGUgR0lDIHNlY3Rp b24gb24gdGhlIERUIGlzIGNvcnJlY3QgYmVjYXVzZSB3aGVuIHdlIHJlYWQgdGhlIGdpY19kYXRh LmRpc3RfcGh5c19iYXNlIGl0IGdpdmVzIHRoZSBjb3JyZWN0IGFkZHJlc3MgKDB4RTBfMDAwMF8w MDAwKS4NCg0KVGhlIEdJQyBub2RlIG9uIG91ciBEVCBsb29rcyBhcyBmb2xsb3dzOg0KZ2ljOiBp bnRlcnJ1cHQtY29udHJvbGxlckBFMDAwMDAwMDAwIHsNCgljb21wYXRpYmxlID0gImFybSxnaWMt NjAwIiwgImFybSxnaWMtdjMiOw0KCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mz47DQoJI2FkZHJlc3Mt Y2VsbHMgPSA8Mj47DQoJI3NpemUtY2VsbHMgPSA8Mj47DQoJcmFuZ2VzOw0KCS8qIElkZW50aWZp ZXMgdGhlIG5vZGUgYXMgYW4gaW50ZXJydXB0IGNvbnRyb2xsZXIgKi8NCglpbnRlcnJ1cHQtY29u dHJvbGxlcjsNCglyZWcgPSA8MHhFMCAwICAgICAgIDAgMHgxMDAwMD4sIC8qIEdJQ0QgKi8NCgkg IDwweEUwIDB4NjAwMDAgMCAweDIwMDAwPjsgIC8qIEdJQ1IgKi8NCglpbnRlcnJ1cHRzID0gPEdJ Q19QUEkgOSBJUlFfVFlQRV9MRVZFTF9ISUdIPjsNCg0KCWl0czogZ2ljLWl0c0BFMDAwMDQwMDAw IHsNCgkJY29tcGF0aWJsZSA9ICJhcm0sZ2ljLXYzLWl0cyI7DQoJCW1zaS1jb250cm9sbGVyOw0K CQkjbXNpLWNlbGxzID0gPDE+Ow0KCQlyZWcgPSA8MHhFMCAweDQwMDAwIDB4MCAweDIwMDAwPjsg Ly8gR0lUUw0KCX07DQp9Ow0KDQoNClRoYW5rcyBhZ2FpbiBmb3IgeW91ciBncmVhdCBzdXBwb3J0 LA0KQ2hlZXJzLA0KTGlvci4NCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IEFobWFkIEZhdG91bSA8YS5mYXRvdW1AcGVuZ3V0cm9uaXguZGU+DQo+IFNlbnQ6IFRodXJz ZGF5LCBTZXB0ZW1iZXIgNywgMjAyMyAxMjozNiBQTQ0KPiBUbzogTGlvciBXZWludHJhdWIgPGxp b3J3QHBsaW9wcy5jb20+DQo+IENjOiBBaG1hZCBGYXRvdW0gPGFobWFkQGEzZi5hdD47IGJhcmVi b3hAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBQb3J0aW5n IGJhcmVib3ggdG8gYSBuZXcgU29DDQo+IA0KPiBDQVVUSU9OOiBFeHRlcm5hbCBTZW5kZXINCj4g DQo+IEhlbGxvIExpb3IsDQo+IA0KPiBPbiAwNy4wOS4yMyAxMTowNywgTGlvciBXZWludHJhdWIg d3JvdGU6DQo+ID4gSGkgQWhtYWQsDQo+ID4NCj4gPiBJIGhhdmVuJ3QgcG9zdGVkIGEgcXVlc3Rp b24geWV0LiBXaWxsIENDIHlvdSB3aGVuIGRvaW5nIHNvLg0KPiA+IEluIHRoZSBtZWFudGltZSwg SSBhbSB0cnlpbmcgdG8gZmluZCB0aGUgcm9vdCBjYXVzZSBvbiBteSBvd24gKHdpdGggbG93ZXIN Cj4gcHJpb3JpdHkpLg0KPiA+IEZvdW5kIGFuZCBmaXhlZCAyIHBvdGVudGlhbCBpc3N1ZXMgYnV0 IHRob3NlIGRpZG4ndCBzb2x2ZSB0aGUgc3R1Y2s6DQo+ID4gMS4gTGludXggZGVmYXVsdCBjb25m aWd1cmUgMzkgVkEgYml0cy4gQ2hhbmdlZCBpdCBub3cgdG8gNDguDQo+ID4gMi4gT3VyIERUIGhh ZCBkZWNsYXJlZCB0aGUgZm9sbG93aW5nIG1lbW9yeSBzZWN0aW9uOg0KPiA+ICAgICAgIG1lbW9y eUAwIHsNCj4gPiAgICAgICAgICAgICAgIGRldmljZV90eXBlID0gIm1lbW9yeSI7DQo+ID4gICAg ICAgICAgICAgICByZWcgPSA8IDB4MDAgMHgwMDAwMDAwMCAweDAgMHgzMDAwMDAwMCAgLyogNTEy TSArIDI1Nk0qLw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QzAgMHgwMDAw MDAwMCAweDAgMHgwMDQwMDAwMCA+OyAgICAgICAvKiA0TSAqLw0KPiANCj4gSSBkb24ndCB0aGlu ayB0aGF0J3MgY29ycmVjdC4gSWYgeW91IGhhdmUgbXVsdGlwbGUgbWVtb3J5IGJhbmtzLCB5b3Ug c2hvdWxkDQo+IGhhdmUgbXVsdGlwbGUgbWVtb3J5QCBub2Rlcy4NCj4gDQo+ID4gICAgICAgfTsN Cj4gPiBUaGVuIEkgc2F3IG9uIExpbnV4IHByaW50czoNCj4gPiBFYXJseSBtZW1vcnkgbm9kZSBy YW5nZXMNCj4gPiAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAw MmZmZmZmZmZdDQo+ID4gICBub2RlICAgMDogW21lbSAweDAwMDAwMGMwMDAwMDAwMDAtMHgwMDAw MDBjMDAwM2ZmZmZmXQ0KPiA+IEluaXRtZW0gc2V0dXAgbm9kZSAwIFttZW0gMHgwMDAwMDAwMDAw MDAwMDAwLTB4MDAwMDAwYzAwMDNmZmZmZl0NCj4gPg0KPiA+IFRoYXQgbG9va2VkIHN1c3BpY2lv dXMgYXMgbm9kZSAwIHRvb2sgdGhlIHdob2xlIHJhbmdlIHdpdGhvdXQgY29uc2lkZXJpbmcNCj4g dGhlIGdhcC4NCj4gPiBNYXliZSBpdCBpcyBoYXJtbGVzcyBidXQgaW4gYW55IGNhc2Ugd2UndmUg cmVtb3ZlZCB0aGUgU1JBTSA0TUIgcGFydA0KPiBiZWNhdXNlIGFueXdheSB0aGUgTGludXggd2ls bCBoYXZlIG5vdGhpbmcgdG8gZG8gd2l0aCBpdCBhcyBpdCB3aWxsIG9ubHkgdXNlIHRoZQ0KPiBE UkFNIHJlc291cmNlcy4NCj4gDQo+IEdlbmVyYWxseSwgeW91IHNob3VsZG4ndCBkZXNjcmliZSBT UkFNIGFzIC9tZW1vcnksIGVzcGVjaWFsbHkgaWYgVEYtQSBpcw0KPiBzaXR0aW5nIHRoZXJlDQo+ IGFzIHlvdSByaXNrIExpbnV4IGNsb2JiZXJpbmcgaXQuIFRoZXJlJ3MgYSBtbWlvLXNyYW0gYmlu ZGluZywgd2hpY2ggeW91IGNhbg0KPiB1c2UNCj4gaWYgeW91IHdhbnQgdG8gZ2l2ZSBkcml2ZXJz IGFjY2VzcyB0byBTUkFNIChlLmcuIGZvciBmYXN0ZXIgRE1BKSwgYnV0IHlvdQ0KPiBzaG91bGRu J3QNCj4gcmVnaXN0ZXIgaXQgYXMgZ2VuZXJhbC1wdXJwb3NlIC9tZW1vcnkuDQo+IA0KPiA+IFRo ZSBuZXcgcHJpbnQgbG9va3Mgbm93Og0KPiA+IE1vdmFibGUgem9uZSBzdGFydCBmb3IgZWFjaCBu b2RlDQo+ID4gRWFybHkgbWVtb3J5IG5vZGUgcmFuZ2VzDQo+ID4gICBub2RlICAgMDogW21lbSAw eDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDJmZmZmZmZmXQ0KPiA+IEluaXRtZW0gc2V0dXAg bm9kZSAwIFttZW0gMHgwMDAwMDAwMDAwMDAwMDAwLTB4MDAwMDAwMDAyZmZmZmZmZl0NCj4gDQo+ IFRoYXQgbG9va3MgYmV0dGVyLCB5ZXMuIEkgYXNzdW1lIHlvdSBsb2FkIExpbnV4IHRvIHNvbWUg YWRkcmVzcyBhdCB0aGUNCj4gYmVnaW5uaW5nIG9mIHRoaXMgcmVnaW9uPyBTWl8yTT8NCj4gDQo+ IA0KPiA+IEkgYW0gbG9va2luZyBmb3Igd2F5cyB0byBkZWJ1ZyB0aGUgTU1VIHNldHRpbmdzIHRo YXQgTGludXggaXMgdXNpbmcgYmVjYXVzZQ0KPiBJIHN1c3BlY3QgdGhhdCB0aGUgd3JpdGVzIHRv IHRoZSBHSUN2MyBhcmUgbm90IG1hcHBlZCBjb3JyZWN0bHkuDQo+ID4gVGhvdWdodCBtYXliZSB0 aGUgZmFjdCB0aGF0IG91ciBHSUMgaXMgbG9jYXRlZCBvbiAweEUwXzAwMDBfMDAwMCBjYXVzZXMN Cj4gYSBidWcuDQo+ID4gQ2hhbmdlZCBpdCdzIGFkZHJlc3Mgb24gdGhlIFFFTVUgYW5kIERUIHRv IGJlIDB4MDBfRTAwMF8wMDAwIGJ1dCB0aGlzDQo+IGRpZG4ndCBoZWxwLg0KPiA+DQo+ID4gVHJp ZWQgdG8gcHJpbnQgTU1VIG1hcHBpbmcgYnV0IGFzIHlvdSBwcm9iYWJseSBrbm93IGl0J3MgaGFy ZCB0byBkbyB3aGlsZQ0KPiBNTVUgaXMgZW5hYmxlZCA6LSkNCj4gDQo+IFRoZXJlJ3Mga2VybmVs X3BhZ2VfdGFibGVzIGluIGRlYnVnZnMuIEkga25vdyB5b3UgZG9uJ3QgcmVhY2ggdGhhdCBmYXIs IGJ1dA0KPiBtYXliZQ0KPiB5b3UgY2FuIGhhY2sgc29tZXRoaW5nIHRvZ2V0aGVyIHVzaW5nIGFu IGludGVybWVkaWF0ZSBmdW5jdGlvbiB0byBkdW1wDQo+IHdoYXQncw0KPiByZWxldmFudCB0byB5 b3UuDQo+IA0KPiA+IFRyaWVkIHRvIGNvbW1lbnQgb3V0IHRoZSBNTVUgZW5hYmxlIGNvZGUgYnV0 IHRoYXQgYWxzbyBjYXVzZWQgYSBjcmFzaA0KPiBiZWNhdXNlIExpbnV4IHRyaWVkIHRvIGFjY2Vz cyB0aGUgVkEuDQo+ID4gVHJpZWQgdG8gdXNlIHRoZSBMaW51eCBmdW5jdGlvbiBfX3ZpcnRfdG9f cGh5cyBpbiBvcmRlciB0byBzZWUgd2hpY2ggUEEgaXMNCj4gdXNlZCB3aGVuIHRoZSBHSUN2MyBp cyBhY2Nlc3NlZCB1c2luZyB0aGUgZm9sbG93aW5nIGNvZGU6DQo+ID4gICAgIHVpbnQ2NF90IGRp c3RfYmFzZV9waHlzX2FkZCA9IF9fdmlydF90b19waHlzKGdpY19kYXRhLmRpc3RfYmFzZSk7DQo+ ID4gICAgIHVpbnQ2NF90IHJlZGlzdF9iYXNlX3BoeXNfYWRkID0NCj4gX192aXJ0X3RvX3BoeXMo Z2ljX2RhdGEucmVkaXN0X3JlZ2lvbnNbMF0ucmVkaXN0X2Jhc2UpOw0KPiA+ICAgICBwcl9pbmZv KCJkaXN0X2Jhc2VfcGh5c19hZGQgICA9IDB4JWxseFxuIixkaXN0X2Jhc2VfcGh5c19hZGQpOw0K PiA+ICAgICBwcl9pbmZvKCJyZWRpc3RfYmFzZV9waHlzX2FkZCA9IDB4JWxseFxuIixyZWRpc3Rf YmFzZV9waHlzX2FkZCk7DQo+ID4NCj4gPiBJdCBwcmludGVkIG91dCBzdHJhbmdlIGFkZHJlc3Nl czoNCj4gPiBHSUN2MzogZGlzdF9iYXNlX3BoeXNfYWRkICAgPSAweDhhYTAwMDANCj4gPiBHSUN2 MzogcmVkaXN0X2Jhc2VfcGh5c19hZGQgPSAweDhhYzAwMDANCj4gDQo+IFRoZSBQQSBzaG91bGQg YmUgcmV0dXJuZWQgYnkgb2ZfaW9tYXAgYW5kIHBhc3NlZCB0byBpb19yZW1hcC4gRG8geW91DQo+ IHN1c3BlY3QNCj4gc29tZXRoaW5nIGNoYW5nZXMgaXRzIHZhbHVlPw0KPiANCj4gDQo+ID4gU2F3 IHRoZXJlIGlzIGFuIG9wdGlvbiB0byBlbmFibGUgQ09ORklHX0RFQlVHX1ZJUlRVQUwgYW5kIHRo aXMgc2hvd2VkDQo+IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiBJIHVzZWQgdGhlIF9fdmlydF90b19w aHlzIGZ1bmN0aW9uOg0KPiA+IC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0K PiA+IHZpcnRfdG9fcGh5cyB1c2VkIGZvciBub24tbGluZWFyIGFkZHJlc3M6IChfX19fcHRydmFs X19fXykNCj4gKDB4ZmZmZjgwMDA4MGFhMDAwMCkNCj4gPiBXQVJOSU5HOiBDUFU6IDAgUElEOiAw IGF0IGFyY2gvYXJtNjQvbW0vcGh5c2FkZHIuYzoxMg0KPiBfX3ZpcnRfdG9fcGh5cysweDU0LzB4 NzANCj4gPiBNb2R1bGVzIGxpbmtlZCBpbjoNCj4gPiBDUFU6IDAgUElEOiAwIENvbW06IHN3YXBw ZXIvMCBOb3QgdGFpbnRlZCA2LjUuMCAjODYNCj4gPiBIYXJkd2FyZSBuYW1lOiBQbGlvcHMgU3Bp ZGVyIE1LLUkgRVZLIChEVCkNCj4gPiBwc3RhdGU6IDYwMDAwMGM1IChuWkN2IGRhSUYgLVBBTiAt VUFPIC1UQ08gLURJVCAtU1NCUyBCVFlQRT0tLSkNCj4gPiBwYyA6IF9fdmlydF90b19waHlzKzB4 NTQvMHg3MA0KPiA+IGxyIDogX192aXJ0X3RvX3BoeXMrMHg1NC8weDcwDQo+ID4gc3AgOiBmZmZm ODAwMDgwOGYzZGUwDQo+ID4geDI5OiBmZmZmODAwMDgwOGYzZGUwIHgyODogMDAwMDAwMDAwODc1 OTA3NCB4Mjc6IDAwMDAwMDAwMDdhMzBkZDgNCj4gPiB4MjY6IGZmZmY4MDAwODA3YjUwMDggeDI1 OiAwMDAwMDAwMDAwMDAwMDE5IHgyNDogZmZmZjgwMDA4MDljYzM5OA0KPiA+IHgyMzogZmZmZjgw MDA4MGFhMDAwMCB4MjI6IGZmZmY4MDAwODA5Y2MwMTggeDIxOiBmZmZmODAwMDgwYWMwMDAwDQo+ ID4geDIwOiBmZmZmODAwMDgwNmRmZmYwIHgxOTogZmZmZjgwMDA4MGFhMDAwMCB4MTg6IGZmZmZm ZmZmZmZmZmZmZmYNCj4gPiB4MTc6IGZmZmYwMDAwMDAwODk0MDAgeDE2OiBmZmZmMDAwMDAwMDg5 MjAwIHgxNTogZmZmZjgwMDEwMDhmMzczZA0KPiA+IHgxNDogMDAwMDAwMDAwMDAwMDAwMSB4MTM6 IGZmZmY4MDAwODA4ZjM3NDAgeDEyOiBmZmZmODAwMDgwOGYzNmQwDQo+ID4geDExOiBmZmZmODAw MDgwOGYzNmM4IHgxMDogMDAwMDAwMDAwMDAwMDAwYSB4OSA6IGZmZmY4MDAwODA4ZjM2NTANCj4g PiB4OCA6IGZmZmY4MDAwODA5MGFmMjggeDcgOiBmZmZmODAwMDgwOGYzYzAwIHg2IDogMDAwMDAw MDAwMDAwMDAwYw0KPiA+IHg1IDogMDAwMDAwMDAwMDAwMDAzNyB4NCA6IDAwMDAwMDAwMDAwMDAw MDAgeDMgOg0KPiAwMDAwMDAwMDAwMDAwMDAwDQo+ID4geDIgOiAwMDAwMDAwMDAwMDAwMDAwIHgx IDogMDAwMDAwMDAwMDAwMDAwMCB4MCA6IGZmZmY4MDAwODA4ZmQwYzANCj4gPiBDYWxsIHRyYWNl Og0KPiA+ICBfX3ZpcnRfdG9fcGh5cysweDU0LzB4NzANCj4gPiAgZHVtcF9naWNfcmVncysweDQw LzB4MTY4DQo+ID4gIHN0YXJ0X2tlcm5lbCsweDI2MC8weDVjYw0KPiA+ICBfX3ByaW1hcnlfc3dp dGNoZWQrMHhiNC8weGJjDQo+ID4gLS0tWyBlbmQgdHJhY2UgMDAwMDAwMDAwMDAwMDAwMCBdLS0t DQo+IA0KPiBZZSwgSSBkb24ndCB0aGluayB2aXJ0X3RvX3BoeXMgaXMgbWVhbnQgdG8gYmUgdXNl ZCBmb3IgYXJiaXRyYXJ5IGFkZHJlc3Nlcy4NCj4gDQo+ID4gU28gYXMgeW91IGNhbiBzZWUsIEkg YW0gdHJ5aW5nIHRvIGd1ZXNzIG15IHdheSA6LSkuDQo+ID4gTm90IHJlYWxseSBrbm93IHdoYXQg SSBhbSBkb2luZyBidXQgSSB0aGluayB0aGF0IGlzIHRoZSBiZXN0IHdheSB0byBsZWFybi4NCj4g DQo+IFRoYXQgZm9yIHN1cmUuIEdvb2QgbHVjayBhbmQga2VlcCBtZSBwb3N0ZWQuIDopDQo+IA0K PiBDaGVlcnMsDQo+IEFobWFkDQo+IA0KPiA+DQo+ID4gQ2hlZXJzLA0KPiA+IExpb3IuDQo+ID4N Cj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQWhtYWQgRmF0b3Vt IDxhLmZhdG91bUBwZW5ndXRyb25peC5kZT4NCj4gPj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJl ciA3LCAyMDIzIDExOjMzIEFNDQo+ID4+IFRvOiBMaW9yIFdlaW50cmF1YiA8bGlvcndAcGxpb3Bz LmNvbT4NCj4gPj4gQ2M6IEFobWFkIEZhdG91bSA8YWhtYWRAYTNmLmF0PjsgYmFyZWJveEBsaXN0 cy5pbmZyYWRlYWQub3JnDQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIFBvcnRpbmcgYmFy ZWJveCB0byBhIG5ldyBTb0MNCj4gPj4NCj4gPj4gQ0FVVElPTjogRXh0ZXJuYWwgU2VuZGVyDQo+ ID4+DQo+ID4+IEhlbGxvIExpb3IsDQo+ID4+DQo+ID4+IE9uIDIyLjA4LjIzIDEwOjQ4LCBMaW9y IFdlaW50cmF1YiB3cm90ZToNCj4gPj4+IFRoYW5rcyBBaG1hZCwgSSBXaWxsIHRyeSB0byBwb3N0 IHNhbWUgcXVlc3Rpb24gb24gTGludXggbWFpbGluZyBsaXN0Lg0KPiA+Pg0KPiA+PiBJIGFtIGN1 cmlvdXMgdG8gZm9sbG93IHRoZSBkaXNjdXNzaW9uLiBEaWQgeW91IGFscmVhZHkgcG9zdCBzb21l d2hlcmU/DQo+ID4+IEkgY2FuJ3QgZmluZCBhIHJlY2VudCBtYWlsIG9uIGxvcmUua2VybmVsLm9y Zy4NCj4gPj4NCj4gPj4gRmVlbCBmcmVlIHRvIENjIG1lIHdoZW4geW91IHBvc3QuDQo+ID4+DQo+ ID4+IENoZWVycywNCj4gPj4gQWhtYWQNCj4gPj4NCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBBaG1hZCBGYXRvdW0gPGEuZmF0b3VtQHBlbmd1 dHJvbml4LmRlPg0KPiA+Pj4+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAyMiwgMjAyMyAxMTowMSBB TQ0KPiA+Pj4+IFRvOiBMaW9yIFdlaW50cmF1YiA8bGlvcndAcGxpb3BzLmNvbT4NCj4gPj4+PiBD YzogQWhtYWQgRmF0b3VtIDxhaG1hZEBhM2YuYXQ+OyBiYXJlYm94QGxpc3RzLmluZnJhZGVhZC5v cmcNCj4gPj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBQb3J0aW5nIGJhcmVib3ggdG8gYSBu ZXcgU29DDQo+ID4+Pj4NCj4gPj4+PiBDQVVUSU9OOiBFeHRlcm5hbCBTZW5kZXINCj4gPj4+Pg0K PiA+Pj4+IEhlbGxvIExpb3IsDQo+ID4+Pj4NCj4gPj4+PiBPbiAwMy4wOC4yMyAxMzoxNywgTGlv ciBXZWludHJhdWIgd3JvdGU6DQo+ID4+Pj4+IEhpIEFobWFkLA0KPiA+Pj4+Pg0KPiA+Pj4+PiBI b3BlIHlvdSBoYWQgYSBncmVhdCB0aW1lIG9uIEVPU1MgMjAyMyA6LSkNCj4gPj4+Pg0KPiA+Pj4+ IFRoYW5rcyBhbmQgc29ycnkgZm9yIHRoZSBsYXRlIGFuc3dlci4NCj4gPj4+Pg0KPiA+Pj4+PiBR dWljayByZWNhcCBhbmQgYWRkaXRpb25hbCBpbmZvIG9uIHRoZSBjdXJyZW50IGlzc3VlOg0KPiA+ Pj4+Pg0KPiA+Pj4+PiAxLg0KPiA+Pj4+PiBUaGUgc3BpZGVyLXNvYyBRRU1VIHdpdGggdGhlIGFk ZGl0aW9uYWwgR0lDdjMgYW5kIFRpbWVycyB3YXMgdGVzdGVkDQo+ID4+IHdpdGgNCj4gPj4+PiBh IGJhcmUtbWV0YWwgY29kZSBhbmQgcHJvdmVkIHRvIGJlIE9LLg0KPiA+Pj4+PiBUaGlzIGJhcmUt bWV0YWwgY29kZSBzZXRzIHRoZSBBNTMgdGltZXJzIGFuZCBHSUN2MyB0byBoYW5kbGUgaW50ZXJy dXB0cw0KPiA+PiBvbg0KPiA+Pj4+IHZhcmlvdXMgZXhlY3V0aW9uIGxldmVscyBhcyB3ZWxsIGFz IHZhcmlvdXMgc2VjdXJpdHkgbGV2ZWxzOg0KPiA+Pj4+PiBFTDFfTlNfUEhZU0lDQUxfVElNRVIg c2V0IGFzIEdST1VQMV9OT05fU0VDVVJFDQo+ID4+Pj4+IEVMMV9TQ1JfUEhZU0lDQUxfVElNRVIg c2V0IGFzIEdST1VQMV9TRUNVUkUNCj4gPj4+Pj4gRUwyX1BIWVNJQ0FMX1RJTUVSIHNldCBhcyBH Uk9VUDFfU0VDVVJFDQo+ID4+Pj4+IFZJUlRVQUxfVElNRVIgc2V0IGFzIEdST1VQMV9OT05fU0VD VVJFDQo+ID4+Pj4NCj4gPj4+PiBvay4NCj4gPj4+Pg0KPiA+Pj4+PiAyLg0KPiA+Pj4+PiBUaGUg a2VybmVsIHdlIGJ1aWxkIHdpdGggQnVpbGRyb290IHJ1bnMgT0sgb24gdmlydCBRRU1VIGJ1dCBn ZXRzIHN0dWNrDQo+IGluDQo+ID4+Pj4gdGhlIG1pZGRsZSB3aGVuIHdlIHVzZSBvdXIgc3BpZGVy LXNvYyBRRU1VLg0KPiA+Pj4+PiBUaGVyZSBhcmUgZmV3IGRpZmZlcmVuY2VzIGJldHdlZW4gdGhv c2UgcnVuczoNCj4gPj4+Pj4gYS4NCj4gPj4+Pj4gVGhlIHZpcnQgUUVNVSBpcyBleGVjdXRlZCB3 aXRoIC1rZXJuZWwgc3dpdGNoIGFuZCBoZW5jZSB0aGUgUUVNVQ0KPiBpdHNlbGYNCj4gPj4+PiBp bXBsZW1lbnRzIHRoZSAiYm9vdGxvYWRlciIgYW5kIHByZXBhcmVzIHRoZSBEVCBnaXZlbiB0byB0 aGUgS2VybmVsLg0KPiA+Pj4+PiBXaGVuIHRoZSBLZXJuZWwgc3RhcnRzIG9uIHRoaXMgcGxhdGZv cm1zIGl0IHN0YXJ0cyBhdCBFTDEuDQo+ID4+Pj4NCj4gPj4+PiBUaGlzIGNhbiBiZSBpbmZsdWVu Y2VkIGUuZy4gb24gVmlydCB3aXRoIC1NIHZpcnQsdmlydHVhbGl6YXRpb249b24sIEkgdGhpbmsu DQo+ID4+Pj4NCj4gPj4+Pj4gYi4NCj4gPj4+Pj4gVGhlIHNwaWRlci1zb2MgUUVNVSBpcyBleGVj dXRlZCB3aXRoIC1kZXZpY2UgbG9hZGVyLGZpbGU9c3BpZGVyLXNvYy0NCj4gPj4gYmwxLmVsZg0K PiA+Pj4+PiBKdXN0IGZvciBlYXN5IGV4ZWN1dGlvbiBhbmQgdGVzdGluZywgdGhpcyBleGVjdXRh YmxlIGluY2x1ZGVzIGFsbCB0aGUNCj4gbmVlZGVkDQo+ID4+Pj4gYmluYXJpZXMgKGFzIGNvbnN0 IGRhdGEgYmxvYnMpIGFuZCBpdCBjb3BpZXMgdGhlIGJpbmFyaWVzIGludG8gY29ycmVjdA0KPiA+ PiBsb2NhdGlvbnMNCj4gPj4+PiBiZWZvcmUganVtcGluZyB0byBCYXJlYm94IGV4ZWN1dGlvbi4N Cj4gPj4+Pj4gVGhlIGxpc3Qgb2YgYmluYXJpZXMgaW5jbHVkZXMgdGhlIGJhcmVib3gsIGtlcm5l bCwgZHQsIGFuZCByb290ZnMuDQo+ID4+Pj4+IEFzIHlvdSByZWNhbGwsIEJMMzEgaXMgY29tcGls ZWQgdmlhIFRydXN0ZWQtRmlybXdhcmUtQSBhbmQgaGFzIGFsbCBpdCdzDQo+ID4+Pj4gZnVuY3Rp b25zIGFzIGVtcHR5IHN0dWJzIGJlY2F1c2Ugd2UgY3VycmVudGx5IGRvbid0IGNhcmUgYWJvdXQg Q1BVDQo+ID4+IHBvd2VyDQo+ID4+Pj4gc3RhdGVzLg0KPiA+Pj4+PiBUaGUgcHJvdmUgdGhhdCBC TDMxIGlzIGV4ZWN1dGVkIGNvcnJlY3RseSBpcyB0aGF0IEJhcmVib3ggbm93IHJ1bnMgYXQNCj4g RUwyLg0KPiA+Pj4+DQo+ID4+Pj4gR29vZC4NCj4gPj4+Pg0KPiA+Pj4+PiBBdCB0aGF0IHBvaW50 IHRoZSBMaW51eCBrZXJuZWwgaXMgc3RhcnRpbmcgYW5kIGFzIEkgbWVudGlvbmVkIGdldHMgc3R1 Y2sgaW4NCj4gPj4gdGhlDQo+ID4+Pj4gbWlkZGxlIChjcHVfZG9faWRsZSBmdW5jdGlvbi4gbW9y ZSBkZXRhaWxzIHRvIGZvbGxvdykuDQo+ID4+Pj4+DQo+ID4+Pj4+IERlYnVnZ2luZyB0aGUga2Vy bmVsIHdpdGggR0RCIHJldmVhbGVkIGZldyBkaWZmZXJlbmNlczoNCj4gPj4+Pj4gMS4gV2hlbiBy dW5uaW5nIHdpdGggQmFyZWJveCwgdGhlIGtlcm5lbCBzdGFydHMgYXQgRUwyIGFuZCBhdCBzb21l DQo+IHBvaW50DQo+ID4+Pj4gbW92ZXMgdG8gRUwxLg0KPiA+Pj4+PiBOb3Qgc3VyZSBpZiB0aGF0 IGhhcyBzb21lIGltcGFjdCBvbiB0aGUgZm9sbG93aW5nIGlzc3VlIGJ1dCB0aG91Z2h0IGl0IGlz DQo+ID4+Pj4gd29ydGggbWVudGlvbmluZy4NCj4gPj4+Pj4gKFdlIGdldCBhICJDUFU6IEFsbCBD UFUocykgc3RhcnRlZCBhdCBFTDIiIHRyYWNlKQ0KPiA+Pj4+DQo+ID4+Pj4gSSBnZXQgdGhlIHNh bWUgb24gYW4gaS5NWDhNIGFzIHdlbGwgKG11bHRpLWNvcmUgQ29ydGV4LUE1MyBTb0MpLg0KPiA+ Pj4+DQo+ID4+Pj4+IEFub3RoZXIgZGlmZmVyZW5jZSB0aGF0IG1pZ2h0IGJlIHJlbGF0ZWQgdG8g dGhpcyBleGVjdXRpb24gbGV2ZWwgaXMgdGhhdA0KPiA+PiB0aW1lcnMNCj4gPj4+PiBzZXR0aW5n IHNob3dzIHRoYXQgaXQgdXNlcyB0aGUgcGh5c2ljYWwgdGltZXIgKGFzIG9wcG9zZSB0byB2aXJ0 IFFFTVUgcnVuDQo+ID4+IHRoYXQNCj4gPj4+PiB1c2VzIHRoZSB2aXJ0dWFsIHRpbWVyKToNCj4g Pj4+Pj4gVGhlIHNwaWRlci1zb2MgUUVNVSBUaW1lcnMgZHVtcDoNCj4gPj4+Pj4gQ05URlJRX0VM MCA9IDB4M2I5YWNhMA0KPiA+Pj4+PiBDTlRQX0NUTF9FTDAgPSAweDUNCj4gPj4+Pj4gQ05UVl9D VExfRUwwID0gMHgwDQo+ID4+Pj4+IENOVFBfVFZBTF9FTDAgPSAweGZmMWYyYWQ1DQo+ID4+Pj4+ IENOVFBfQ1ZBTF9FTDAgPSAweGFjNWMzMjQwDQo+ID4+Pj4+IENOVFZfVFZBTF9FTDAgPSAweDUy YzJkOTE2DQo+ID4+Pj4+IENOVFZfQ1ZBTF9FTDAgPSAweDANCj4gPj4+Pj4NCj4gPj4+Pj4gVGhl IHZpcnQgUUVNVSBUaW1lcnMgZHVtcDoNCj4gPj4+Pj4gQ05URlJRX0VMMCA9IDB4M2I5YWNhMA0K PiA+Pj4+PiBDTlRQX0NUTF9FTDAgPSAweDANCj4gPj4+Pj4gQ05UVl9DVExfRUwwID0gMHg1DQo+ ID4+Pj4+IENOVFBfVFZBTF9FTDAgPSAweGI4Mzk0ZmJjDQo+ID4+Pj4+IENOVFBfQ1ZBTF9FTDAg PSAweDANCj4gPj4+Pj4gQ05UVl9UVkFMX0VMMCA9IDB4ZmZkMThlMzkNCj4gPj4+Pj4gQ05UVl9D VkFMX0VMMCA9IDB4NDc5ODU4YWENCj4gPj4+Pj4NCj4gPj4+Pj4gMi4gV2hlbiBydW5uaW5nIHdp dGggQmFyZWJveCwgdGhlIGtlcm5lbCBmYWlscyB0byBjb3JyZWN0bHkgc2V0IHRoZSBHSUN2Mw0K PiA+Pj4+IHJlZ2lzdGVycy4NCj4gPj4+Pj4gU28gaW4gb3RoZXIgd29yZHMsIHRoZXJlIGFyZSBu byB0aW1lciBldmVudHMgYW5kIGhlbmNlIHRoZSBzY2hlZHVsZXIgaXMNCj4gPj4gbm90DQo+ID4+ Pj4gcnVubmluZy4NCj4gPj4+Pj4gVGhlIGNvZGUgZ2V0IHN0dWNrIG9uIGNwdV9kb19pZGxlIGJ1 dCB3ZSBhbHNvIGZvdW5kIHRoYXQgdGhlIFJDVQ0KPiBjYl9saXN0DQo+ID4+IGlzDQo+ID4+Pj4g bm90IGVtcHR5IChwcm9iYWJseSBleHBsYWlucyB3aHkgc2NoZWR1bGVyIGhhdmVuJ3Qgc3RhcnRl ZCAoanVzdCBhDQo+IGd1ZXNzKSkuDQo+ID4+Pj4+IFdlIHBsYWNlZCBhIGJyZWFrcG9pbnQganVz dCBiZWZvcmUgY2FsbGluZyB3YWl0X2Zvcl9jb21wbGV0aW9uIChmcm9tDQo+ID4+Pj4gZnVuY3Rp b24gcmN1X2JhcnJpZXIgb24ga2VybmVsL3JjdS90cmVlLmMpIGFuZCBmb3VuZDoNCj4gPj4+Pj4g YnQNCj4gPj4+Pj4gIzAgIHJjdV9iYXJyaWVyICgpIGF0IGtlcm5lbC9yY3UvdHJlZS5jOjQwNjQN Cj4gPj4+Pj4gIzEgIDB4ZmZmZmZmYzA4MDU5ZTFiNCBpbiBtYXJrX3JlYWRvbmx5ICgpIGF0IGlu aXQvbWFpbi5jOjE3ODkNCj4gPj4+Pj4gIzIgIGtlcm5lbF9pbml0ICh1bnVzZWQ9PG9wdGltaXpl ZCBvdXQ+KSBhdCBpbml0L21haW4uYzoxODM4DQo+ID4+Pj4+ICMzICAweGZmZmZmZmMwODAwMTVl NDggaW4gcmV0X2Zyb21fZm9yayAoKSBhdA0KPiA+Pj4+IGFyY2gvYXJtNjQva2VybmVsL2VudHJ5 LlM6ODUzDQo+ID4+Pj4+DQo+ID4+Pj4+IEF0IHRoYXQgcG9pbnQgcmN1X3N0YXRlLmJhcnJpZXJf Y3B1X2NvdW50LmNvdW50ZXIgaXMgMSAoYXMgb3Bwb3NlIHRvDQo+IHZpcnQNCj4gPj4+PiBRRU1V IHdoZXJlIGl0IGlzIDAgYXQgdGhhdCBwb2ludCkNCj4gPj4+Pj4gSWYgd2UgcGxhY2UgdGhlIGJy ZWFrcG9pbnQgYSBiaXQgZWFybGllciBpbiB0aGlzIHJjdV9iYXJyaWVyIGZ1bmN0aW9uIChqdXN0 DQo+ID4+Pj4gYmVmb3JlIHRoZSBmb3JfZWFjaF9wb3NzaWJsZV9jcHUgbG9vcCkgYW5kIHJ1biBm ZXcgbW9yZSBzdGVwcyAodG8gZ2V0DQo+IHRoZQ0KPiA+Pj4+IHJkcCkgd2Ugc2VlIHRoYXQgcmRw LT5jYmxpc3QubGVuIGlzIDB4MjY4ICg2MTYpOg0KPiA+Pj4+PiBwL3ggcmRwLT5jYmxpc3QNCj4g Pj4+Pj4gJDEgPSB7aGVhZCA9IDB4ZmZmZmZmYzA4MDhmMDZkMCwgdGFpbHMgPSB7MHhmZmZmZmY4 MDJmZTU1YTc4LA0KPiA+Pj4+IDB4ZmZmZmZmODAyZmU1NWE3OCwgMHhmZmZmZmY4MDJmZTU1YTc4 LCAweGZmZmZmZjgwMDAxYzIyYzh9LCBncF9zZXEgPQ0KPiA+PiB7MHgwLA0KPiA+Pj4+IDB4MCwg MHgwLCAweDB9LCBsZW4gPSAweDI2OCwgc2VnbGVuID0gezB4MCwgMHgwLCAweDAsIDB4MjY4fSwg ZmxhZ3MgPSAweDF9DQo+ID4+Pj4+DQo+ID4+Pj4+IFdoZW4gd2UgY29tcGFyZSB0aGF0IHdpdGgg dmlydCBRRU1VIHdlIHNlZSB0aGF0IHRoZSByZHAtPmNibGlzdC5sZW4NCj4gaXMgMA0KPiA+Pj4+ IHRoZXJlLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJTUhPLCB0aGlzIGFsbCBpcyBhIHJlc3VsdCBvZiB0 aGUgR0lDdjMgc2V0dGluZ3MgdGhhdCB3ZXJlIG5vdCBhcHBsaWVkDQo+ID4+IHByb3Blcmx5Lg0K PiA+Pj4+PiBBcyBhIHJlc3VsdCB0aGVyZSBhcmUgbm8gdGltZXIgaW50ZXJydXB0cy4NCj4gPj4+ Pj4NCj4gPj4+Pj4gRnVydGhlciBkZWJ1Z2dpbmcgb24gdGhlIEdJQ3YzIHNldHRpbmdzIHNob3dl ZCB0aGF0IHRoZSBjb2RlDQo+IChmdW5jdGlvbg0KPiA+Pj4+IGdpY19jcHVfaW5pdCBvbiBkcml2 ZXJzL2lycWNoaXAvaXJxLWdpYy12My5jKSB0cmllcyB0byB3cml0ZSAweGZmZmZmZmZmIHRvDQo+ ID4+Pj4gR0lDUl9JR1JPVVBSMCAoQ29uZmlndXJlIFNHSXMvUFBJcyBhcyBub24tc2VjdXJlIEdy b3VwLTEpIGJ1dCB3aGVuDQo+ID4+IHdlDQo+ID4+Pj4gdHJ5IHRvIHJlYWQgaXQgYmFjayB3ZSBn ZXQgYWxsIHplcm9zLg0KPiA+Pj4+PiBEdW1waW5nIEdJQ3YzIHNldHRpbmdzIGFmdGVyIHRoZSBj YWxsIHRvIGluaXRfSVJROg0KPiA+Pj4+PiBTaG93aW5nIG9ubHkgdGhlIGRpZmZlcmVuY2VzOg0K PiA+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgU3BpZGVyLVNvQyBRRU1VIHZpcnQgUUVNVQ0K PiA+Pj4+PiBHSUNEX0NUTFIgPSAgICAgICAgICAgMHgwMDAwMDAxMiAgICAgICAgICAgICAgMHgw MDAwMDA1Mw0KPiA+Pj4+PiBHSUNEX1RZUEVSID0gICAgICAgICAgMHgwMzdhMDQwMiAgICAgICAg ICAgICAgMHgwMzdhMDAwNw0KPiA+Pj4+PiBHSUNSMF9JR1JPVVBSMCA9ICAgICAgMHgwMDAwMDAw MCAgICAgICAgICAgICAgMHhmZmZmZmZmZg0KPiA+Pj4+PiBHSUNSMF9JU0VOQUJMRVIwID0gICAg MHgwMDAwMDAwMCAgICAgICAgICAgICAgMHgwMDAwMDA3Zg0KPiA+Pj4+PiBHSUNSMF9JQ0VOQUJM RVIwID0gICAgMHgwMDAwMDAwMCAgICAgICAgICAgICAgMHgwMDAwMDA3Zg0KPiA+Pj4+PiBHSUNS MF9JQ0ZHUjAgPSAgICAgICAgMHgwMDAwMDAwMCAgICAgICAgICAgICAgMHhhYWFhYWFhYQ0KPiA+ Pj4+Pg0KPiA+Pj4+PiBBbnkgdGhvdWdodHM/DQo+ID4+Pj4+IEFzIGFsd2F5cywgeW91ciBzdXBw b3J0IGlzIG11Y2ggYXBwcmVjaWF0ZWQhDQo+ID4+Pj4NCj4gPj4+PiBTb3JyeSB0byBkaXNhcHBv aW50LCBidXQgSSBoYXZlIG5vIGhhbmRzLW9uIGV4cGVyaWVuY2Ugd2l0aCB0aGUgR0lDLg0KPiA+ Pj4+IE15IGd1ZXNzIHdvdWxkIGJlIHRoYXQgeW91IGFyZSBtaXNzaW5nIGluaXRpYWxpemF0aW9u IGluIHRoZSBURi1BLi4uDQo+ID4+Pj4NCj4gPj4+PiBDaGVlcnMsDQo+ID4+Pj4gQWhtYWQNCj4g Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiBDaGVlcnMsDQo+ID4+Pj4+IExpb3IuDQo+ID4+Pj4+DQo+ ID4+Pj4+DQo+ID4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4gRnJv bTogQWhtYWQgRmF0b3VtIDxhLmZhdG91bUBwZW5ndXRyb25peC5kZT4NCj4gPj4+Pj4+IFNlbnQ6 IEZyaWRheSwgSnVuZSAzMCwgMjAyMyA4OjUzIEFNDQo+ID4+Pj4+PiBUbzogTGlvciBXZWludHJh dWIgPGxpb3J3QHBsaW9wcy5jb20+OyBBaG1hZCBGYXRvdW0NCj4gPj4gPGFobWFkQGEzZi5hdD47 DQo+ID4+Pj4+PiBiYXJlYm94QGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gPj4+Pj4+IFN1YmplY3Q6 IFJlOiBbUEFUQ0ggdjJdIFBvcnRpbmcgYmFyZWJveCB0byBhIG5ldyBTb0MNCj4gPj4+Pj4+DQo+ ID4+Pj4+PiBDQVVUSU9OOiBFeHRlcm5hbCBTZW5kZXINCj4gPj4+Pj4+DQo+ID4+Pj4+PiBIaSBM aW9yLA0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IE9uIDI1LjA2LjIzIDIyOjMzLCBMaW9yIFdlaW50cmF1 YiB3cm90ZToNCj4gPj4+Pj4+PiBIZWxsbyBBaG1hZCwNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBbU29y cnkgZm9yIHRoZSBkZWxheSwgd2UncmUgYXQgRU9TUyAyMDIzIGN1cnJlbnRseV0NCj4gPj4+Pj4+ DQo+ID4+Pj4+Pj4gSSBmYWlsZWQgdG8gcmVwcm9kdWNlIHRoaXMgaXNzdWUgb24gdmlydCBiZWNh dXNlIHRoZSBhZGRyZXNzZXMgYW5kDQo+ID4+Pj4gcGVyaXBoZXJhbHMNCj4gPj4+Pj4+IG9uIHZp cnQgbWFjaGluZSBhcmUgZGlmZmVyZW50IGFuZCBpdCBpcyBkaWZmaWN1bHQgdG8gY2hhbmdlIG91 ciBjb2RlIHRvDQo+ID4+IG1hdGNoDQo+ID4+Pj4+PiB0aGF0Lg0KPiA+Pj4+Pj4+IElmIHlvdSB0 aGluayB0aGlzIGlzIGNyaXRpY2FsIEkgd2lsbCBtYWtlIGV4dHJhIGVmZm9ydCB0byBtYWtlIGl0 IHdvcmsuDQo+ID4+Pj4+Pj4gQUZBSVUsIHRoaXMgc3VnZ2VzdGlvbiB3YXMgbWFkZSB0byBkZWJ1 ZyB0aGUgImNvbmZsaWN0IiBpc3N1ZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJdCdzIG5vdCBjcml0 aWNhbCwgYnV0IEknZCBoYXZlIGxpa2VkIHRvIHVuZGVyc3RhbmQgdGhpcywgc28gSSBjYW4gY2hl Y2sNCj4gPj4+Pj4+IGlmIGl0J3MgcGVyaGFwcyBhIGJhcmVib3ggYnVnLg0KPiA+Pj4+Pj4NCj4g Pj4+Pj4+PiBDdXJyZW50bHkgdGhlIHdvcmthcm91bmQgSSBhbSB1c2luZyBpcyBqdXN0IHRvIHNl dCB0aGUgc2l6ZSBvZiB0aGUNCj4ga2VybmVsDQo+ID4+Pj4+PiBwYXJ0aXRpb24gdG8gbWF0Y2gg dGhlIGV4YWN0IHNpemUgb2YgdGhlICJJbWFnZSIgZmlsZS4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ IFRoZSBvdGhlciBpc3N1ZSBJIGFtIGZhY2luZyBpcyB0aGF0IEtlcm5lbCBzZWVtcyBzdHVjayBv biBjcHVfZG9faWRsZQ0KPiA+PiBhbmQNCj4gPj4+Pj4+IHRoZXJlIGlzIG5vIGxvZ2luIHByb21w dCBmcm9tIHRoZSBrZXJuZWwuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gRG9lcyBpdCBjYWxsIGludG8g UFNDSSBkdXJpbmcgaWRsZT8NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4gQXMgeW91IHJlY2FsbCwgSSBh bSBydW5uaW5nIG9uIGEgY3VzdG9tIFFFTVUgdGhhdCB0cmllcyB0byBlbXVsYXRlDQo+IG91cg0K PiA+Pj4+Pj4gcGxhdGZvcm0uDQo+ID4+Pj4+Pj4gSSBzdXNwZWN0IHRoYXQgSSBkaWQgc29tZXRo aW5nIHdyb25nIHdpdGggdGhlIEdJQ3YzIGFuZCBUaW1lcnMNCj4gPj4+PiBjb25uZWN0aXZpdHku DQo+ID4+Pj4+Pj4gVGhlIGNvZGUgSSB1c2VkIHdhcyBiYXNlZCBvbiBleGFtcGxlcyBJIHNhdyBv biBzYnNhLXJlZi5jIGFuZCB2aXJ0LmMuDQo+ID4+Pj4+Pj4gSW4gYWRkaXRpb24sIEkgZGVjbGFy ZWQgdGhlIEdJQ3YzIGFuZCB0aW1lcnMgb24gb3VyIGRldmljZSB0cmVlLg0KPiA+Pj4+Pj4+DQo+ ID4+Pj4+Pj4gSSBydW5uaW5nIFFFTVUgd2l0aCAiLWQgaW50IiBzbyBJIGFtIGFsc28gZ2V0dGlu ZyB0cmFjZSBvZiBleGNlcHRpb25zDQo+ID4+IGFuZA0KPiA+Pj4+Pj4gaW50ZXJydXB0cy4NCj4g Pj4+Pj4+DQo+ID4+Pj4+PiBOaWNlLiBEaWRuJ3Qga25vdyBhYm91dCB0aGlzIG9wdGlvbi4NCj4g Pj4+Pj4+DQo+ID4+Pj4+PiBbc25pcF0NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4gRXhjZXB0aW9uIHJl dHVybiBmcm9tIEFBcmNoNjQgRUwzIHRvIEFBcmNoNjQgRUwxIFBDDQo+ID4+Pj4gMHhmZmZmZmZj MDA4MDIxMTJjDQo+ID4+Pj4+Pj4gVGFraW5nIGV4Y2VwdGlvbiAxMyBbU2VjdXJlIE1vbml0b3Ig Q2FsbF0gb24gQ1BVIDANCj4gPj4+Pj4+PiAuLi5mcm9tIEVMMSB0byBFTDMNCj4gPj4+Pj4+PiAu Li53aXRoIEVTUiAweDE3LzB4NWUwMDAwMDANCj4gPj4+Pj4+PiAuLi53aXRoIEVMUiAweGZmZmZm ZmMwMDgwMjE2NDANCj4gPj4+Pj4+PiAuLi50byBFTDMgUEMgMHgxMDAwNTQwMCBQU1RBVEUgMHgz Y2QNCj4gPj4+Pj4+PiBFeGNlcHRpb24gcmV0dXJuIGZyb20gQUFyY2g2NCBFTDMgdG8gQUFyY2g2 NCBFTDEgUEMNCj4gPj4+PiAweGZmZmZmZmMwMDgwMjE2NDANCj4gPj4+Pj4+DQo+ID4+Pj4+PiBM b29rcyBmaW5lIHNvIGZhcj8gRG9lc24ndCBsb29rIGxpa2UgaXQncyBoYW5naW5nIGluIEVMMS4N Cj4gPj4+Pj4+DQo+ID4+Pj4+PiBbc25pcF0NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4gU2VnbWVudCBS b3V0aW5nIHdpdGggSVB2Ng0KPiA+Pj4+Pj4+IEluLXNpdHUgT0FNIChJT0FNKSB3aXRoIElQdjYN Cj4gPj4+Pj4+PiBzaXQ6IElQdjYsIElQdjQgYW5kIE1QTFMgb3ZlciBJUHY0IHR1bm5lbGluZyBk cml2ZXINCj4gPj4+Pj4+PiBORVQ6IFJlZ2lzdGVyZWQgUEZfUEFDS0VUIHByb3RvY29sIGZhbWls eQ0KPiA+Pj4+Pj4+IE5FVDogUmVnaXN0ZXJlZCBQRl9LRVkgcHJvdG9jb2wgZmFtaWx5DQo+ID4+ Pj4+Pj4gTkVUOiBSZWdpc3RlcmVkIFBGX1ZTT0NLIHByb3RvY29sIGZhbWlseQ0KPiA+Pj4+Pj4+ IHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQ0KPiA+Pj4+Pj4+IGNsazogRGlzYWJsaW5n IHVudXNlZCBjbG9ja3MNCj4gPj4+Pj4+PiBGcmVlaW5nIHVudXNlZCBrZXJuZWwgbWVtb3J5OiAx NjY0Sw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IE5vdCBzdXJlLiBOb3JtYWxseSwgSSdkIHRyeSBhZ2Fp biB3aXRoIHBkX2lnbm9yZV91bnVzZWQNCj4gPj4gY2xrX2lnbm9yZV91bnVzZWQNCj4gPj4+PiBp bg0KPiA+Pj4+Pj4gdGhlDQo+ID4+Pj4+PiBrZXJuZWwgYXJndW1lbnRzLCBidXQgSSB0aGluayB5 b3UgZGVmaW5lIG5vIGNsb2NrcyBvciBwb3dlciBkb21haW5zDQo+IHlldA0KPiA+PiBpbg0KPiA+ Pj4+Pj4gdGhlIERUPw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFlvdSBjYW4gdHJ5IGFnYWluIHdpdGgg a2VybmVsIGNvbW1hbmQgbGluZSBvcHRpb24gaW5pdGNhbGxfZGVidWcgYW5kDQo+IHNlZQ0KPiA+ Pj4+Pj4gd2hhdCB0aGUNCj4gPj4+Pj4+IGluaXRjYWxsIGlzIHRoYXQgaXMgZ2V0dGluZyBzdHVj ay4gSWYgbm90aGluZyBoZWxwcywgbWF5YmUgYXR0YWNoIGENCj4gaGFyZHdhcmUNCj4gPj4+Pj4+ IGRlYnVnZ2VyPw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IENoZWVycywNCj4gPj4+Pj4+IEFobWFkDQo+ ID4+Pj4+Pg0KPiA+Pj4+Pj4gLS0NCj4gPj4+Pj4+IFBlbmd1dHJvbml4IGUuSy4gICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+Pj4+ PiBTdGV1ZXJ3YWxkZXIgU3RyLiAyMSAgICAgICAgICAgICAgICAgICAgICAgfCBodHRwOi8vc2Vj dXJlLQ0KPiA+Pj4+DQo+IHdlYi5jaXNjby5jb20vMVJLbFh6TEZ1QWRPZXN3bFd2SFJDYlZISHZv UXNzRm83aVZGcXl2djhZbjBzUC0NCj4gPj4+Pg0KPiA+Pg0KPiBNc1d0ZlZSZjJIV180QVhoUU51 UjVrTkJ1S0xITldrUWZ6ZzVxUWhaMkFZaGROWXFyZm1OTTdJc2INCj4gPj4+Pg0KPiA+Pg0KPiBi RGh5YlllN0MyMVRJUjZEdTVweEM3VFNUYmhoZzRvQkszSjl5Mlh5TXRKTmhCS2VsaU52Mkk1RzRt bG5CXw0KPiA+Pj4+IDU3cGg5eDl0bFBIc3RtWjhTTDIyVnpNOVJ4TG9qLTVMZGRiVlNzQjY5VkdH LQ0KPiA+Pj4+IE8zSHc1N0V5b1NGV0tXbWpOak9IRG11VTFSM1N3T1gydGtETW1pTFBhdXFiQmMt DQo+ID4+Pj4gRlA5Y0FGcGNsQ2dyT0lKdTJKZmVmMC0NCj4gPj4+PiBzVlYzNDZCbWJ4QzFTT0ZB S0NJL2h0dHAlM0ElMkYlMkZ3d3cucGVuZ3V0cm9uaXguZGUlMkYgIHwNCj4gPj4+Pj4+IDMxMTM3 IEhpbGRlc2hlaW0sIEdlcm1hbnkgICAgICAgICAgICAgICAgICB8IFBob25lOiArNDktNTEyMS0y MDY5MTctMA0KPiB8DQo+ID4+Pj4+PiBBbXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEgMjY4NiAg ICAgICAgICAgfCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LQ0KPiA1NTU1DQo+ID4+IHwNCj4gPj4+ Pj4NCj4gPj4+Pg0KPiA+Pj4+IC0tDQo+ID4+Pj4gUGVuZ3V0cm9uaXggZS5LLiAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPj4+PiBT dGV1ZXJ3YWxkZXIgU3RyLiAyMSAgICAgICAgICAgICAgICAgICAgICAgfCBodHRwOi8vc2VjdXJl LQ0KPiA+Pj4+DQo+IHdlYi5jaXNjby5jb20vMVJLbFh6TEZ1QWRPZXN3bFd2SFJDYlZISHZvUXNz Rm83aVZGcXl2djhZbjBzUC0NCj4gPj4+Pg0KPiA+Pg0KPiBNc1d0ZlZSZjJIV180QVhoUU51UjVr TkJ1S0xITldrUWZ6ZzVxUWhaMkFZaGROWXFyZm1OTTdJc2INCj4gPj4+Pg0KPiA+Pg0KPiBiRGh5 YlllN0MyMVRJUjZEdTVweEM3VFNUYmhoZzRvQkszSjl5Mlh5TXRKTmhCS2VsaU52Mkk1RzRtbG5C Xw0KPiA+Pj4+IDU3cGg5eDl0bFBIc3RtWjhTTDIyVnpNOVJ4TG9qLTVMZGRiVlNzQjY5VkdHLQ0K PiA+Pj4+IE8zSHc1N0V5b1NGV0tXbWpOak9IRG11VTFSM1N3T1gydGtETW1pTFBhdXFiQmMtDQo+ ID4+Pj4gRlA5Y0FGcGNsQ2dyT0lKdTJKZmVmMC0NCj4gPj4+PiBzVlYzNDZCbWJ4QzFTT0ZBS0NJ L2h0dHAlM0ElMkYlMkZ3d3cucGVuZ3V0cm9uaXguZGUlMkYgIHwNCj4gPj4+PiAzMTEzNyBIaWxk ZXNoZWltLCBHZXJtYW55ICAgICAgICAgICAgICAgICAgfCBQaG9uZTogKzQ5LTUxMjEtMjA2OTE3 LTAgICAgfA0KPiA+Pj4+IEFtdHNnZXJpY2h0IEhpbGRlc2hlaW0sIEhSQSAyNjg2ICAgICAgICAg ICB8IEZheDogICArNDktNTEyMS0yMDY5MTctNTU1NQ0KPiB8DQo+ID4+Pj4NCj4gPj4+DQo+ID4+ DQo+ID4+IC0tDQo+ID4+IFBlbmd1dHJvbml4IGUuSy4gICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+IFN0ZXVlcndhbGRlciBTdHIu IDIxICAgICAgICAgICAgICAgICAgICAgICB8IGh0dHA6Ly9zZWN1cmUtDQo+ID4+DQo+IHdlYi5j aXNjby5jb20vMU8wNDVvOGk5OGJ1VUJ4aHVYMnQwdXZERXpkZkRzT09rSFh2aHcyenNnMmRpTlY4 Zg0KPiA+PiA4RVpsTTltVDlPcmxGWHVlbWhIS2xEMUYxc2thRkRfWVQ0bjVFVmF1UFBBeHJTWDRQ bWUtDQo+ID4+DQo+IDFtSWdydlVLZUFWYlpnem92bGRsMGo2aktSMlVZS2NJZ1ZFSWNxMUpvdjEz aGUzV2R5VVZzM1hWWGdjWlVaTQ0KPiA+PiB2ZFdPTFgtDQo+ID4+DQo+IHZvcVFEQU1EUWNFNnIy b19nNG03ZGJQYUtOWGxpUUZXVDh5QTZiR3d0dThOMldNOUdJQURxSzJaXw0KPiA+Pg0KPiBiSUN3 dmViY0FIUnplMlpOU2NiSjdwM2lfOHBaajA1R2JnRENvSE5pSEhYY094YXBHVnZGZFBYbGRmbDZB bF84DQo+ID4+DQo+IFhTVnFVdzV6RVlxc3lJbjZ0OG1lUklCVTNfOGVfL2h0dHAlM0ElMkYlMkZ3 d3cucGVuZ3V0cm9uaXguZGUNCj4gPj4gJTJGICB8DQo+ID4+IDMxMTM3IEhpbGRlc2hlaW0sIEdl cm1hbnkgICAgICAgICAgICAgICAgICB8IFBob25lOiArNDktNTEyMS0yMDY5MTctMCAgICB8DQo+ ID4+IEFtdHNnZXJpY2h0IEhpbGRlc2hlaW0sIEhSQSAyNjg2ICAgICAgICAgICB8IEZheDogICAr NDktNTEyMS0yMDY5MTctNTU1NSB8DQo+ID4+DQo+ID4NCj4gDQo+IC0tDQo+IFBlbmd1dHJvbml4 IGUuSy4gICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8DQo+IFN0ZXVlcndhbGRlciBTdHIuIDIxICAgICAgICAgICAgICAgICAgICAgICB8IGh0 dHA6Ly9zZWN1cmUtDQo+IHdlYi5jaXNjby5jb20vMWFmb0Z1RkMzcnBpTFVRbGJVckFCR1VjOW5i dHJKRVFOQXhCS21sNzFIODZkQktuYg0KPiBZS0pPM2paY2NnYXlpSm1YOGFReDRUS2JmX3NnVjRm VmlJWElyM2x4ZTJqZVdLcjNjSzdFSXdJYjJlSER2X2hNd3INCj4gZjBZM0JXNU5aVEh4ZnRVUFNK R3o1SE43a3VBU01XUHVLalFyU2VfcUdGcmhWXzVuTkNfMk5ucDJDUEsNCj4gYW1NOUsxTi0NCj4g WXZ2S2NRcTAwMlVUMTByTDV4MXdLb3NET1pqS01fTjI4dzJvY1JQNVVwUlYyMzM5bkp0YW4xRzdr MW4NCj4gUVdsZkZGQWdWcC0NCj4gYXNtcWlabk1VMF9FMXJTQlBJQlQ3TjlmQ3RnNUE3c0hHbG43 VXgxSHV4eGRwYjB1a1BPWnRpYXdrMGJMTFgNCj4gWTVqUmY0MC9odHRwJTNBJTJGJTJGd3d3LnBl bmd1dHJvbml4LmRlJTJGICB8DQo+IDMxMTM3IEhpbGRlc2hlaW0sIEdlcm1hbnkgICAgICAgICAg ICAgICAgICB8IFBob25lOiArNDktNTEyMS0yMDY5MTctMCAgICB8DQo+IEFtdHNnZXJpY2h0IEhp bGRlc2hlaW0sIEhSQSAyNjg2ICAgICAgICAgICB8IEZheDogICArNDktNTEyMS0yMDY5MTctNTU1 NSB8DQo+IA0KDQo=