From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web12.495.1613687327270079799 for ; Thu, 18 Feb 2021 14:28:47 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=sPhqeT3q; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: DdhyEDtWmtj05ZKLN9IaDXTCIjffVV4hzHt7wOyfGGSGB8j5D1PY+mUk8tRhy1zzW9awXaY5Yh A8/TJmPdXshg== X-IronPort-AV: E=McAfee;i="6000,8403,9899"; a="183793514" X-IronPort-AV: E=Sophos;i="5.81,187,1610438400"; d="scan'208";a="183793514" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2021 14:28:45 -0800 IronPort-SDR: ugN1dopCB+A/fFY9fsE8nXUK3dPuNIZMIx8nxBSxBNiB6uUqbGBU3Pb3wM45e3sNCNjfd4TAbl k9LFGRd5VhNA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,187,1610438400"; d="scan'208";a="427496653" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 18 Feb 2021 14:28:44 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 18 Feb 2021 14:28:43 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 18 Feb 2021 14:28:43 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Thu, 18 Feb 2021 14:28:43 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.102) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Thu, 18 Feb 2021 14:28:42 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BZnTRsOWyMqhlKVE6q6hVrqMZuOaJxOVIZdTXAPlO05CgwfzhL2vmBzm4Cum7QUyUCk9uDgXP+OeUrJDJx0PLduxSB+fyFQ4O9LIUAHOCy2u/xuHPuWN+cjxrkGh4uyfcB/xwBWR2xhaZq29Ylka782uBKaemzZ6x7Scs1ffkZD2oN6OYhg9TUCoNkcedaqSxkvlcYCD71Vb6UA914yJXGvXtOXF3oTbYy6dtMAJOVCY0zp4Smt01OjGQSGX89eRmZVjt0fYXoMyOQ0ku7oT/+7oazTkWMwnlBa1SPCRe3pFaVOUjtux8Go6ERz5v4FoV1aMmuF091q5B9F7P3j0ww== 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-SenderADCheck; bh=G3oAVspiCKd+2gmpbPq7I1C6ppQjNp61uqez0K13sco=; b=L/DTT+WMbT2924Ebf5rlYrO5mY4tGyfPKc9mKSCZxfFwxLfvIE6EL+1a7sKTkZnVp4qaSTGdCd38YaTWM3nINS9eUJbPNeFHpKCOQtWbY6TbrKwFhPMkMq8Qic4HCEyYLQK6Bd7jUEFzcJnjNc5NgcdHk8RbqWwIXCdgAEdODlinJUfYhfizKrXVkSFHLHfSFIVvclP+MY4xcjB9znFks2FjRFXhEYDSTor+qKTwVPQccmZT0Yxs+Nlm+XGpu6ZnDRg4JeNAv4NzyiOgDqNZhFOhqZJhNql+3LElWlNtlPpXSRVl3reMz3s1vDNfTqmtJnIG7Aa4Mnx+C+/zdbe7gg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G3oAVspiCKd+2gmpbPq7I1C6ppQjNp61uqez0K13sco=; b=sPhqeT3qJV3z8ri8NOQhFQb2v2INn866K1BIYCM03gt1W6GCvhP5EMHw2NmmyxWfZTKnkEJ5HhB7q6KKitXcSlCBoTKDrsFV7fa/tRdZNYpfz5XoiYZTbA6p6rR8ck8n9j8EHUTKRjuoAaJT5C+T/ZDzHGXY71mPRR0Gv3a86J4= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MWHPR1101MB2095.namprd11.prod.outlook.com (2603:10b6:301:5b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.27; Thu, 18 Feb 2021 22:28:40 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ddb6:ec7f:2548:efdc]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ddb6:ec7f:2548:efdc%4]) with mapi id 15.20.3846.042; Thu, 18 Feb 2021 22:28:40 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "graf@amazon.com" , "Kinney, Michael D" CC: Leif Lindholm , Laszlo Ersek , "Ard Biesheuvel" , "Justen, Jordan L" , "Woodhouse, David" , "Hendrik Borghorst" Subject: Re: [edk2-devel] [PATCH 1/2] MdeModulePkg/Core/Dxe: Allow to force runtime allocations at separate range Thread-Topic: [edk2-devel] [PATCH 1/2] MdeModulePkg/Core/Dxe: Allow to force runtime allocations at separate range Thread-Index: AQHXBjmM6myaj+5+tUGcDnqXsxvTXqpeeiVg Date: Thu, 18 Feb 2021 22:28:40 +0000 Message-ID: References: <20210218200953.20943-1-graf@amazon.com> <20210218200953.20943-2-graf@amazon.com> In-Reply-To: <20210218200953.20943-2-graf@amazon.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3fa38a14-fa82-4643-1b97-08d8d45c8acc x-ms-traffictypediagnostic: MWHPR1101MB2095: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3dOn3ud2NMgWa3z10bTa77Pmh2A5ttGCUM709APdqb6Q3y8ndc880qbMZQuVDwl6BArGOwaLfBsX0rivtQ3+aMwqIVX1VWuzuBWOtW3luggnx/M0N4dMvcwZXn1bD+TsShw9GCA0BRice559sGgBAwnakmVn/Aii80e7I9K0YPQRcGxFxlUlgeCpAAZcM9E23b5YewnJg0SFdsaPlb+xFDQKK0s9W5myABixWG3Ga7+L67C5kNfKAQuz92XoM4Q2voPNuzmEha2ZBt3zXh6NK5+rRubJ7Y1HoUOJDcCuj/4zksr03QDfrOfD6+Jr4nqzOLSXzPo+b69bb8hnqw9WVKKec0os8y6ApgX9sHfQkfraWt8PbTHjJTDG6HL8JcV/LOviL2mG4DglmxmvQ4fKRYPVuP7yDd7vdQXqX0OQR2dHIdSl51JMcR8QIHLhHukzerf5qZ/XftVGJd9XixT41kTLwtPNdHNo3XHDm3NYWD+11jLxojZBJq/oq6N9sywDhrAOBwqlltv1KuZXwA0N//MDdBsetiv5s7SCFMSmYnDDyo1kruLPm764PEOmpcKgrjfxWyaYyi/IXIEmEanXSC46+1SD83WjwEm4+3TzlwU= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(346002)(366004)(136003)(39860400002)(26005)(7696005)(186003)(83380400001)(86362001)(966005)(30864003)(8676002)(5660300002)(478600001)(52536014)(8936002)(71200400001)(55016002)(6506007)(4326008)(9686003)(2906002)(64756008)(66556008)(66476007)(66446008)(66946007)(76116006)(53546011)(316002)(110136005)(54906003)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?N0F1aXFrZXRMeEFucWs4bGJwR1htWFFUMFpuY2dQd1RLWEd4cDZWWVNacDN3?= =?utf-8?B?bkFYV3dSNldMQ0hCdFFOQWhRM0xucVcxb3NNRCtqWHkwTWwyWktNUnFKOU1K?= =?utf-8?B?bFVEZFRpcnZJSnRMNzJyQ3MxWmJEbC9EdkRZdUQ3Qnk5YUNIU1QrTmNEYVNu?= =?utf-8?B?NUpoMGV3WHp3eEcvWmxLbnZ3Qys0bW8rQkNNOGVEeDNwck00a1dtWGwrNmdy?= =?utf-8?B?TUlGWFgwWDIwUlRyUkFvMHZ1RHk5blArSVFEcWptays3MVEvTFFNNEwzbjBY?= =?utf-8?B?UXpyT2RpWE14M1RSRXRoWVhCZWltQkpja1Z2MlFQOFJrYmtxbDlwL2hyckE2?= =?utf-8?B?QXp5YjVVczdWeVA4YVd6U05JMnZNS1hmSWphWFhWdXI1RFpkYnRPOTZjbHdE?= =?utf-8?B?V0l4RHJOMXNiS0EyNlh5RTJXU2tsaFFvdndRQy9LQnVhL1B4L1d5WU9LQXJY?= =?utf-8?B?b1hEMzdnL0VWcjZqdDNTbmJ0ZHU0SmRPRWkwWE5ZZ0JMVCtrNHJscE1pSmtV?= =?utf-8?B?MTlZbEVYaFVMMFZoYmlhdVVXcGtjTHIxZzMxQkJ3Wnl2dGloblpyM3VTUlJ5?= =?utf-8?B?MXJLeXk3TWZqZnQ0WW9DMGp3c2NYVnpONTJRcFFqczJ6dGN4cEFFR29nTHVa?= =?utf-8?B?eUJzN3lkK1dSRitid3pOMUc1ZnFpSTYyaE5wWURRUy9jMmRMSm1kNm5PRXZP?= =?utf-8?B?M3o3cFJyaGxsenh4cTNwdXZadnpTOUY0K29pa3A0TU13eFFaN3ZZdjZ2V2Mx?= =?utf-8?B?blV2ZFFuSEVGeitpTFRpeHpqQUsvNXhOMW9haG0xRVMrVVFGajM0ZFByRVRh?= =?utf-8?B?Qm9XYm11cSszNmNVc0hsV1Vka2diMzNTR3FCb1JOOCtOWEZwaDM0WVltWmtV?= =?utf-8?B?Z0dpMWlHS29NWXNDbkpldTI2bnI2Y1VBVllrNmJBZVpXSm9GdkZ3MG5ZNUtH?= =?utf-8?B?Y0JhQmNRbjBGY1lDV2ZwMmlvTkR3YVZ1cHR5TFNKeEpLeHJDOE05MTVvZ1di?= =?utf-8?B?VTRNNmJicE9yRDVTdVkvRlFkY2pCTnlWY3p4M0lVVUxVVUV2SjhLRTc4MVNI?= =?utf-8?B?MVdiVFhIZFVHTng1VHUzRVFwbHVDOHM2MTA3T2ZJY1NRTThid0g2eWJzUXg3?= =?utf-8?B?QU84VGRIQ3VjT2dRUzZmbVN6ZWtua0FoVVVnS3RIM3NuVXZnWERqbmN5M2Ra?= =?utf-8?B?c2tNWEFCc0t1eVAzZHZ1bE1zaHYrODdsRGd5cENLZmVQTVRYR3RKU0pBZUJz?= =?utf-8?B?VkV3TDdiY1RpbmZkbmY4OFc3T1g2K2lxd09WOGxlMzFuWmZORTd3d2NEeVpk?= =?utf-8?B?aGE3ZFFSMytqQmpvUFJOUWZwenc0dkxkSDY3cnVQTFUvVjIvVndWZFRJNjBU?= =?utf-8?B?QnErZ0FmRnpjY01wL0pxa3g2UFlxem5zUjVMaTJxZSt6cFI5RmR1dVFmRlZt?= =?utf-8?B?d2wrb2NlZ2gzd05aV05jb3FJTjZld3g4QzNNS3F4cWxXOFRqQTlNRHM0WTl6?= =?utf-8?B?aHpwVzdBdmo2UHNsQmhhdjU5dmJqRGJlT1RBdXJiaktSamFHc2xrZUNtUFBx?= =?utf-8?B?bk56U0dQZlpFWWxUSmpuK0lDUlZlSzlFdWc4SFpOS25Lb2IzQWx1MU9YRDZM?= =?utf-8?B?a3Q1OHN2S04rUis2enR3UTJRVU1XMUdhZWZsNWVPTnI5WWllV0VaaU5ha2lr?= =?utf-8?B?NDVyT0FvRi9sQjd2NThxNzJ3ZE5sOHErc0l6dzVoSFN1Tko0eCsrTU5WWFFX?= =?utf-8?Q?muAgUIer0PJ1Ac6hl8=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3fa38a14-fa82-4643-1b97-08d8d45c8acc X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Feb 2021 22:28:40.2034 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bbA2JF/9FkejTeiCHzGJXkCt3+QOg92Jwe+stSNr78fZv/fpFGgkDG0/CpX2DjO6DM3T3pstFtJEdpoeaKq1QtyssXZPoSIYQubfX4Nhrjw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2095 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQWxleCwNCg0KVGhpcyBmZWF0dXJlIGlzIGFscmVhZHkgYXZhaWxhYmxlIGZyb20gdGhlIERY RSBDb3JlIHVzaW5nIHRoZSBNZW1vcnlUeXBlSW5mb3JtYXRpb24gYW5kIHdhcw0Kc3BlY2lmaWNh bGx5IGFkZGVkIHRvIHN1cHBvcnQgaGliZXJuYXRpb24gdXNlIGNhc2UuDQoNClRoZXJlIGlzIGFu IG9wdGlvbmFsIEhPQiB0aGF0IGlzIHBhc3NlZCBpbnRvIERYRSBDb3JlIHRoYXQgY2FuIHByb3Zp ZGUgYmluIHNpemVzIGZvciBhbnkgc3VwcG9ydGVkIG1lbW9yeSB0eXBlcy4gIE5vdCBqdXN0IFJ1 bnRpbWUgYW5kIEFDUEkuDQoNClRoaXMgZmVhdHVyZSBjYW4gdXNlIGEgZml4ZWQgSE9CIG9yIHVz ZSBhIGR5bmFtaWMgSE9CIGZyb20gYSBVRUZJIFZhcmlhYmxlLCBzbyB0aGF0IGNoYW5nZXMgaW4g dGhlIG1lbW9yeSB1c2FnZSBvZiANCnRoZSBjcml0aWNhbCBtZW1vcnkgdHlwZXMgZm9yIGhpYmVy bmF0aW9uIGNhbiBiZSB0cmFja2VkIGFuZCBzdG9yZWQgaW4gdGhlIFVFRkkgVmFyaWFibGVzIGFu ZCBiZSB1c2VkIHRvIHBvcHVsYXRlDQp0aGUgSE9CLiAgSXQgaXMgYSBwbGF0Zm9ybSBjaG9pY2Ug dG8gdXNlIGZpeGVkIG9yIGR5bmFtaWMgSE9CLg0KDQpodHRwczovL2dpdGh1Yi5jb20vdGlhbm9j b3JlL2VkazIvYmxvYi9tYXN0ZXIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvR3VpZC9NZW1vcnlUeXBl SW5mb3JtYXRpb24uaA0KDQpodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxvYi85 NzhiOWQ1MTFmNWI5Y2I3YmM1YjA5NzQ5Zjg2YzM5YmVjNTE1MjVkL01kZU1vZHVsZVBrZy9Db3Jl L0R4ZS9HY2QvR2NkLmMjTDIyMzMNCg0KaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsy L2Jsb2IvOTc4YjlkNTExZjViOWNiN2JjNWIwOTc0OWY4NmMzOWJlYzUxNTI1ZC9NZGVNb2R1bGVQ a2cvQ29yZS9EeGUvTWVtL1BhZ2UuYyNMNDUNCg0KVGhlIERYRSBDb3JlIHVzZSB0aGUgSE9CIHRv IHByZS1hbGxvY2F0ZSBiaW5zIGZvciB0aGUgbWVtb3J5IHR5cGVzIGFuZCBkbyBhbGxvY2F0aW9u cyBmcm9tIHRob3NlIGJpbnMuDQoNClRoZSBVRUZJIE1lbW9yeSBNYXAgcHJvdmlkZXMgYW4gZW50 cnkgZm9yIHRoZSBlbnRpcmUgYmluIChubyBqdXN0IHRoZSBhbGxvY2F0ZWQgc3BhY2UpLCBzbyBz bWFsbA0KZGlmZmVyZW5jZXMgaW4gYWxsb2NhdGlvbnMgZnJvbSBib290IHRvIGJvb3QgZG8gbm90 IGNoYW5nZSB0aGUgVUVGSSBtZW1vcnkgbWFwLiAgVGhpcyBhbHNvDQpyZWR1Y2VzIHRoZSB0b3Rh bCBudW1iZXIgb2YgbWVtb3J5IG1hcCBlbnRyaWVzIGluIHRoZSBVRUZJIG1lbW9yeSBtYXAuDQoN CklmIGR5bmFtaWMgSE9CIGlzIHVzZWQsIHRoZW4gdGhlIEJvb3QgTWFuYWdlciBjb21wYXJlcyB0 aGUgYWN0dWFsIG1lbW9yeSB1c2FnZSB0byB0aGUgSE9CLg0KSWYgdGhlIHVzYWdlIGlzIGxhcmdl ciBvciBzbWFsbGVyIGJ5IG1vcmUgdGhhbiBhIHRocmVzaG9sZCwgdGhlbiB0aGUgVUVGSSBWYXJp YWJsZSBpcw0KdXBkYXRlZC4gIFRoZSBwbGF0Zm9ybSBoYXMgdGhlIGNob2ljZSB0byByZWJvb3Qg b3IgY29udGludWUgYm9vdGluZyBhZnRlciB0aGlzIFVFSUYgVmFyaWFibGUNCnVwZGF0ZSBiYXNl ZCBvbiBhIFBDRC4gIFRoZSByZWJvb3QgY2FuIGhlbHAgbWFrZSBzdXJlIHRoZSBmaXJzdCBib290 IHRvIHRoZSBPUyBoYXMgdGhlIHJpZ2h0DQpiaW4gc2l6ZXMgdG8gc3VwcG9ydCBmdXR1cmUgaGli ZXJuYXRlIGJvb3QgZmxvd3MuDQoNCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4g T24gQmVoYWxmIE9mIEFsZXhhbmRlciBHcmFmIHZpYSBncm91cHMuaW8NCj4gU2VudDogVGh1cnNk YXksIEZlYnJ1YXJ5IDE4LCAyMDIxIDEyOjEwIFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bw0KPiBDYzogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+OyBMYXN6bG8gRXJzZWsg PGxlcnNla0ByZWRoYXQuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5l bC5vcmc+Ow0KPiBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsg V29vZGhvdXNlLCBEYXZpZCA8ZHdtd0BhbWF6b24uY28udWs+OyBIZW5kcmlrIEJvcmdob3JzdCA8 aGJvcmdob3JAYW1hem9uLmRlPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMl0g TWRlTW9kdWxlUGtnL0NvcmUvRHhlOiBBbGxvdyB0byBmb3JjZSBydW50aW1lIGFsbG9jYXRpb25z IGF0IHNlcGFyYXRlIHJhbmdlDQo+IA0KPiBPcGVyYXRpbmcgU3lzdGVtcyB0aGF0IGdldCBoaWJl cm5hdGVkIGV4cGVjdCBhbGwgbm9uLWJvb3QtdGltZSBhbGxvY2F0aW9ucw0KPiB0byBiZSBpZGVu dGljYWwgYmVmb3JlIGFuZCBhZnRlciBoaWJlcm5hdGlvbi4NCj4gDQo+IEluIGVkazIsIHdlIGNy ZWF0ZSBwb29scyBhbmQgYWxsb2NhdGUgcGFnZXMgc3RhcnRpbmcgZnJvbSB0aGUgaGlnaGVzdA0K PiBhbGxvd2VkIGFkZHJlc3MgZm9yIHRoZSBhbGxvY2F0aW9uLCB1c3VhbGx5IDB4RkZGRkZGRkYu IFR5cGljYWxseSwgdGhhdA0KPiBtZWFucyB3ZSBhbGxvY2F0ZSBhIGZldyBwYWdlcyBvZiBib290 IHRpbWUgZGF0YSwgdGhlbiBhIGZldyBwYWdlcyBvZg0KPiBydW50aW1lIGRhdGEsIHRoZW4gYW5v dGhlciBmZXcgcGFnZXMgb2YgYm9vdCB0aW1lIGRhdGEgYW5kIGFnYWluIHJ1bnRpbWUNCj4gZGF0 YS4gRXZlcnkgYWxsb2NhdGlvbiBoYXMgZGlyZWN0IGltcGFjdCBvbiB0aGUgZm9sbG93aW5nIGFs bG9jYXRpb25zLg0KPiANCj4gVGhlIHByb2JsZW0gd2l0aCB0aGlzIHNjaGVtZSBpcyB0aGF0IHNt YWxsIGNvZGUgY2hhbmdlcyBpbiBib290IHRpbWUgY29kZQ0KPiBhbHJlYWR5IGNhbiBoYXZlIHNp Z25pZmljYW50IGltcGFjdCBvbiBydW50aW1lIGFsbG9jYXRpb25zLCB3aGljaCB0aGVuDQo+IGJy ZWFrIGhpYmVybmF0aW9uLg0KPiANCj4gVGhpcyBwYXRjaCBhZGRzIGEgbWVjaGFuaXNtIHRvIG92 ZXJyaWRlIHRoZSBNYXhBZGRyZXNzIGZvciBydW50aW1lDQo+IGFsbG9jYXRpb25zIHdpdGggYSB0 YXJnZXQgZGVmaW5lZCBQY2QgdmFsdWUuIFdpdGggdGhpcyBmZWF0dXJlIGVuYWJsZWQsDQo+IHdl IGNhbiBoYXZlIGRpZmZlcmVudCBhbGxvY2F0aW9uIHJhbmdlcyBmb3IgcnVudGltZSBhbmQgYm9v dCB0aW1lDQo+IGFsbG9jYXRpb25zLg0KPiANCj4gVGhpcyBhbGxvd3MgdXMgdG8gZGV0ZXJtaW5l IGF0IGJvb3QgdGltZSB3aGV0aGVyIHRvIGxvYWQgYW4gb2xkLA0KPiBoaWJlcm5hdGlvbiBjb21w YXRpYmxlIHJ1bnRpbWUgYWxsb2NhdGlvbiBwYXRoIG9yIGEgbmV3LCBoaWJlcm5hdGlvbg0KPiB1 bnNhZmUgcnVudGltZSBhbGxvY2F0aW9uLiBBbGwgd2l0aGluIHRoZSBzYW1lIGVkazIgdGFyZ2V0 IGJpbmFyeS4NCj4gSXQgYWxzbyBhbGxvd3MgdXMgdG8gbW9kaWZ5IGJvb3QgdGltZSBiZWhhdmlv ciwgc3VjaCBhcyBtb2RpZnlpbmcNCj4gYnVmZmVyIGFsbG9jYXRpb24gbWVjaGFuaXNtcyB3aXRo b3V0IGNvbXByb21pc2luZyBvbiBoaWJlcm5hdGlvbiBzYWZldHkuDQo+IA0KPiBTaWduZWQtb2Zm LWJ5OiBBbGV4YW5kZXIgR3JhZiA8Z3JhZkBhbWF6b24uY29tPg0KPiAtLS0NCj4gIE1kZU1vZHVs ZVBrZy9Db3JlL0R4ZS9EeGVNYWluLmluZiB8ICA0ICsrKw0KPiAgTWRlTW9kdWxlUGtnL0NvcmUv RHhlL01lbS9QYWdlLmMgIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrDQo+ICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYyAgICAgfCAxNiArKysrKysrKysN Cj4gIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cudW5pICAgICB8IDEyICsrKysrKysNCj4gIDQg ZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQgYS9NZGVN b2R1bGVQa2cvQ29yZS9EeGUvRHhlTWFpbi5pbmYgYi9NZGVNb2R1bGVQa2cvQ29yZS9EeGUvRHhl TWFpbi5pbmYNCj4gaW5kZXggZTRiY2E4OTU3Ny4uMDY5NjI0Njk3MCAxMDA2NDQNCj4gLS0tIGEv TWRlTW9kdWxlUGtnL0NvcmUvRHhlL0R4ZU1haW4uaW5mDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9D b3JlL0R4ZS9EeGVNYWluLmluZg0KPiBAQCAtMTg2LDYgKzE4NiwxMCBAQA0KPiAgICBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkSGVhcEd1YXJkUHJvcGVydHlNYXNrICAgICAgICAg ICAgICAgICAgICMjIENPTlNVTUVTDQo+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RDcHVTdGFja0d1YXJkICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMN Cj4gICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZ3Vm9sRHhlTWF4RW5jYXBz dWxhdGlvbkRlcHRoICAgICAgICAgICAjIyBDT05TVU1FUw0KPiArICBnRWZpTWRlTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkRW5mb3JjZU1heEFDUElSZWNsYWltTWVtb3J5ICAgICAgICAgICAg ICMjIENPTlNVTUVTDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFbmZv cmNlTWF4QUNQSU1lbW9yeU5WUyAgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCj4gKyAgZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuZm9yY2VNYXhFZmlSdW50aW1lU2Vydmlj ZXNDb2RlICAgICAgICAjIyBDT05TVU1FUw0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRW5mb3JjZU1heEVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGEgICAgICAgICMjIENPTlNV TUVTDQo+IA0KPiAgIyBbSG9iXQ0KPiAgIyBSRVNPVVJDRV9ERVNDUklQVE9SICAgIyMgQ09OU1VN RVMNCj4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9Db3JlL0R4ZS9NZW0vUGFnZS5jIGIvTWRl TW9kdWxlUGtnL0NvcmUvRHhlL01lbS9QYWdlLmMNCj4gaW5kZXggNzMxYmYwOGJjOS4uOTE1OTlh ZGNjYiAxMDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL0NvcmUvRHhlL01lbS9QYWdlLmMNCj4g KysrIGIvTWRlTW9kdWxlUGtnL0NvcmUvRHhlL01lbS9QYWdlLmMNCj4gQEAgLTEwMDcsNiArMTAw Nyw3NCBAQCBDb3JlVXBkYXRlTWVtb3J5QXR0cmlidXRlcyAoDQo+ICAgIENvcmVSZWxlYXNlTWVt b3J5TG9jayAoKTsNCj4gIH0NCj4gDQo+ICtVSU5UNjQNCj4gK0VuZm9yY2VNYXhBZGRyZXNzICgN Cj4gKyAgSU4gVUlOVDY0ICAgICAgICAgICBNYXhBZGRyZXNzLA0KPiArICBJTiBFRklfTUVNT1JZ X1RZUEUgIE5ld1R5cGUsDQo+ICsgIElOIFVJTlQ2NCAgICAgICAgICAgTnVtYmVyT2ZQYWdlcw0K PiArICApDQo+ICt7DQo+ICsgIFVJTlQ2NCAgICAgTnVtYmVyT2ZCeXRlcyA9IExTaGlmdFU2NCAo TnVtYmVyT2ZQYWdlcywgRUZJX1BBR0VfU0hJRlQpOw0KPiArICBVSU5UNjQgICAgIExvd2VzdFBv c3NpYmxlID0gTWF4QWRkcmVzczsNCj4gKyAgVUlOVDY0ICAgICBGb3JjZU1heEFkZHJlc3M7DQo+ ICsgIExJU1RfRU5UUlkgKkxpbms7DQo+ICsgIE1FTU9SWV9NQVAgKkVudHJ5Ow0KPiArDQo+ICsg IHN3aXRjaCAoTmV3VHlwZSkgew0KPiArICBjYXNlIEVmaUFDUElSZWNsYWltTWVtb3J5Og0KPiAr ICAgIEZvcmNlTWF4QWRkcmVzcyA9IFBjZEdldDY0KFBjZEVuZm9yY2VNYXhBQ1BJUmVjbGFpbU1l bW9yeSk7DQo+ICsgICAgYnJlYWs7DQo+ICsgIGNhc2UgRWZpQUNQSU1lbW9yeU5WUzoNCj4gKyAg ICBGb3JjZU1heEFkZHJlc3MgPSBQY2RHZXQ2NChQY2RFbmZvcmNlTWF4QUNQSU1lbW9yeU5WUyk7 DQo+ICsgICAgYnJlYWs7DQo+ICsgIGNhc2UgRWZpUnVudGltZVNlcnZpY2VzQ29kZToNCj4gKyAg ICBGb3JjZU1heEFkZHJlc3MgPSBQY2RHZXQ2NChQY2RFbmZvcmNlTWF4RWZpUnVudGltZVNlcnZp Y2VzQ29kZSk7DQo+ICsgICAgYnJlYWs7DQo+ICsgIGNhc2UgRWZpUnVudGltZVNlcnZpY2VzRGF0 YToNCj4gKyAgICBGb3JjZU1heEFkZHJlc3MgPSBQY2RHZXQ2NChQY2RFbmZvcmNlTWF4RWZpUnVu dGltZVNlcnZpY2VzRGF0YSk7DQo+ICsgICAgYnJlYWs7DQo+ICsgIGRlZmF1bHQ6DQo+ICsgICAg Rm9yY2VNYXhBZGRyZXNzID0gTWF4QWRkcmVzczsNCj4gKyAgICBicmVhazsNCj4gKyAgfQ0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBjdXJyZW50bHkgcmVxdWVzdGVkIGFkZHJlc3MgYWxyZWFk eSBmaXRzIG91ciBmb3JjZWQgbWF4IGNvbnN0cmFpbnQ/DQo+ICsgIC8vIEdyZWF0LCBsZXQncyB1 c2UgdGhhdCB0aGVuLg0KPiArICAvLw0KPiArICBpZiAoRm9yY2VNYXhBZGRyZXNzID49IE1heEFk ZHJlc3MpIHsNCj4gKyAgICByZXR1cm4gTWF4QWRkcmVzczsNCj4gKyAgfQ0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIENoZWNrIGlmIHRoZSBhbGxvY2F0aW9uIHdvdWxkIGZpdC4gSWYgbm90LCBkb24n dCBmb3JjZSBpdC4NCj4gKyAgLy8NCj4gKyAgZm9yIChMaW5rID0gZ01lbW9yeU1hcC5Gb3J3YXJk TGluazsgTGluayAhPSAmZ01lbW9yeU1hcDsgTGluayA9IExpbmstPkZvcndhcmRMaW5rKSB7DQo+ ICsgICAgRW50cnkgPSBDUiAoTGluaywgTUVNT1JZX01BUCwgTGluaywgTUVNT1JZX01BUF9TSUdO QVRVUkUpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiBpdCdzIG5vdCBhIGZyZWUgZW50 cnksIGRvbid0IGJvdGhlciB3aXRoIGl0DQo+ICsgICAgLy8NCj4gKyAgICBpZiAoRW50cnktPlR5 cGUgIT0gRWZpQ29udmVudGlvbmFsTWVtb3J5KSB7DQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgICBpZiAoKEVudHJ5LT5TdGFydCA8IExvd2VzdFBvc3NpYmxlKSAmJg0K PiArICAgICAgICAoKEVudHJ5LT5FbmQgLSBFbnRyeS0+U3RhcnQpID49IE51bWJlck9mQnl0ZXMp KSB7DQo+ICsgICAgICBMb3dlc3RQb3NzaWJsZSA9IEVudHJ5LT5FbmQ7DQo+ICsgICAgfQ0KPiAr ICB9DQo+ICsgIERFQlVHICgoREVCVUdfRVJST1IgfCBERUJVR19QQUdFLCAiRm9yY2U9JWx4IExv d2VzdD0lbHggTWF4PSVseFxuIiwgRm9yY2VNYXhBZGRyZXNzLCBMb3dlc3RQb3NzaWJsZSwgTWF4 QWRkcmVzcykpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFdlIGRvbid0IGhhdmUgZnJlZSBSQU0g YXZhaWxhYmxlIGluIHRoZSBkZXNpcmVkIHRhcmdldCBhcmVhPyBCYWlsIG91dCENCj4gKyAgLy8N Cj4gKyAgaWYgKEZvcmNlTWF4QWRkcmVzcyA8IExvd2VzdFBvc3NpYmxlKSB7DQo+ICsgICAgcmV0 dXJuIE1heEFkZHJlc3M7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRm9yY2VNYXhBZGRyZXNz Ow0KPiArfQ0KPiANCj4gIC8qKg0KPiAgICBJbnRlcm5hbCBmdW5jdGlvbi4gRmluZHMgYSBjb25z ZWN1dGl2ZSBmcmVlIHBhZ2UgcmFuZ2UgYmVsb3cNCj4gQEAgLTEwNDEsNiArMTEwOSw4IEBAIENv cmVGaW5kRnJlZVBhZ2VzSSAoDQo+ICAgIExJU1RfRU5UUlkgICAgICAqTGluazsNCj4gICAgTUVN T1JZX01BUCAgICAgICpFbnRyeTsNCj4gDQo+ICsgIE1heEFkZHJlc3MgPSBFbmZvcmNlTWF4QWRk cmVzcyhNYXhBZGRyZXNzLCBOZXdUeXBlLCBOdW1iZXJPZlBhZ2VzKTsNCj4gKw0KPiAgICBpZiAo KE1heEFkZHJlc3MgPCBFRklfUEFHRV9NQVNLKSB8fChOdW1iZXJPZlBhZ2VzID09IDApKSB7DQo+ ICAgICAgcmV0dXJuIDA7DQo+ICAgIH0NCj4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9NZGVN b2R1bGVQa2cuZGVjIGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gaW5kZXggMTQ4 Mzk1NTExMC4uY2JhZDQ4YWY1ZSAxMDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL01kZU1vZHVs ZVBrZy5kZWMNCj4gKysrIGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gQEAgLTE1 MzUsNiArMTUzNSwyMiBAQA0KPiAgICAjIEBQcm9tcHQgTWF4aW11bSBwZXJtaXR0ZWQgRndWb2wg c2VjdGlvbiBuZXN0aW5nIGRlcHRoIChleGNsdXNpdmUpLg0KPiAgICBnRWZpTWRlTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkRndWb2xEeGVNYXhFbmNhcHN1bGF0aW9uRGVwdGh8MHgxMHxVSU5U MzJ8MHgwMDAwMDAzMA0KPiANCj4gKyAgIyMgTWF4aW11bSBhZGRyZXNzIHRoYXQgYSBkeW5hbWlj IEVmaUFDUElSZWNsYWltTWVtb3J5IGFsbG9jYXRpb24gY2FuIGJlIHJlcXVlc3RlZCBhdA0KPiAr ICAjIEBQcm9tcHQgTWF4aW11bSBhZGRyZXNzIGZvciBFZmlBQ1BJUmVjbGFpbU1lbW9yeSBhbGxv Y2F0aW9ucw0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRW5mb3JjZU1h eEFDUElSZWNsYWltTWVtb3J5fDB4RkZGRkZGRkZGRkZGRkZGRnxVSU5UNjR8MHgzMDAwMTAxNg0K PiArDQo+ICsgICMjIE1heGltdW0gYWRkcmVzcyB0aGF0IGEgZHluYW1pYyBFZmlBQ1BJTWVtb3J5 TlZTIGFsbG9jYXRpb24gY2FuIGJlIHJlcXVlc3RlZCBhdA0KPiArICAjIEBQcm9tcHQgTWF4aW11 bSBhZGRyZXNzIGZvciBFZmlBQ1BJTWVtb3J5TlZTIGFsbG9jYXRpb25zDQo+ICsgIGdFZmlNZGVN b2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFbmZvcmNlTWF4QUNQSU1lbW9yeU5WU3wweEZGRkZG RkZGRkZGRkZGRkZ8VUlOVDY0fDB4MzAwMDEwMTcNCj4gKw0KPiArICAjIyBNYXhpbXVtIGFkZHJl c3MgdGhhdCBhIGR5bmFtaWMgRWZpUnVudGltZVNlcnZpY2VzQ29kZSBhbGxvY2F0aW9uIGNhbiBi ZSByZXF1ZXN0ZWQgYXQNCj4gKyAgIyBAUHJvbXB0IE1heGltdW0gYWRkcmVzcyBmb3IgRWZpUnVu dGltZVNlcnZpY2VzQ29kZSBhbGxvY2F0aW9ucw0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkRW5mb3JjZU1heEVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGV8MHhGRkZGRkZGRkZG RkZGRkZGfFVJTlQ2NHwweDMwMDAxMDE4DQo+ICsNCj4gKyAgIyMgTWF4aW11bSBhZGRyZXNzIHRo YXQgYSBkeW5hbWljIEVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGEgYWxsb2NhdGlvbiBjYW4gYmUgcmVx dWVzdGVkIGF0DQo+ICsgICMgQFByb21wdCBNYXhpbXVtIGFkZHJlc3MgZm9yIEVmaVJ1bnRpbWVT ZXJ2aWNlc0RhdGEgYWxsb2NhdGlvbnMNCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZEVuZm9yY2VNYXhFZmlSdW50aW1lU2VydmljZXNEYXRhfDB4RkZGRkZGRkZGRkZGRkZG RnxVSU5UNjR8MHgzMDAwMTAxOQ0KPiArDQo+ICBbUGNkc1BhdGNoYWJsZUluTW9kdWxlLCBQY2Rz RHluYW1pYywgUGNkc0R5bmFtaWNFeF0NCj4gICAgIyMgVGhpcyBQQ0QgZGVmaW5lcyB0aGUgQ29u c29sZSBvdXRwdXQgcm93LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAyNSBhY2NvcmRpbmcgdG8gVUVG SSBzcGVjLg0KPiAgICAjICBUaGlzIFBDRCBjb3VsZCBiZSBzZXQgdG8gMCB0aGVuIGNvbnNvbGUg b3V0cHV0IHdvdWxkIGJlIGF0IG1heCBjb2x1bW4gYW5kIG1heCByb3cuDQo+IGRpZmYgLS1naXQg YS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLnVuaSBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQ a2cudW5pDQo+IGluZGV4IGVmOWY0ZDk3YjkuLjBkYzVjMTk2MGIgMTAwNjQ0DQo+IC0tLSBhL01k ZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cudW5pDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cudW5pDQo+IEBAIC0xMzMwLDMgKzEzMzAsMTUgQEANCj4gICNzdHJpbmcgU1RSX2dFZmlN ZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZF9QY2RQY2llUmVzaXphYmxlQmFyU3VwcG9ydF9IRUxQ ICNsYW5ndWFnZSBlbi1VUyAiSW5kaWNhdGVzIGlmIHRoZSBQQ0llDQo+IFJlc2l6YWJsZSBCQVIg Q2FwYWJpbGl0eSBTdXBwb3J0ZWQuPEJSPjxCUj5cbiINCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIlRSVUUgIC0gUENJZSBSZXNpemFibGUgQkFSDQo+IENhcGFiaWxpdHkg aXMgc3VwcG9ydGVkLjxCUj5cbiINCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkZBTFNFIC0gUENJZSBSZXNpemFibGUgQkFSDQo+IENhcGFiaWxpdHkgaXMgbm90IHN1cHBv cnRlZC48QlI+Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9nRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRW5mb3JjZU1heEFDUElSZWNsYWltTWVtb3J5X1BST01QVCAjbGFuZ3VhZ2UgZW4t VVMgIk1heGltdW0gYWRkcmVzcyBmb3INCj4gRWZpQUNQSVJlY2xhaW1NZW1vcnkgYWxsb2NhdGlv bnMiDQo+ICsjc3RyaW5nIFNUUl9nRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRW5m b3JjZU1heEFDUElSZWNsYWltTWVtb3J5X0hFTFAgI2xhbmd1YWdlIGVuLVVTICJNYXhpbXVtIGFk ZHJlc3MgdGhhdCBhDQo+IGR5bmFtaWMgRWZpQUNQSVJlY2xhaW1NZW1vcnkgYWxsb2NhdGlvbiBj YW4gYmUgcmVxdWVzdGVkIGF0Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9nRWZpTWRlTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkRW5mb3JjZU1heEFDUElNZW1vcnlOVlNfUFJPTVBUICNsYW5ndWFn ZSBlbi1VUyAiTWF4aW11bSBhZGRyZXNzIGZvcg0KPiBFZmlBQ1BJTWVtb3J5TlZTIGFsbG9jYXRp b25zIg0KPiArI3N0cmluZyBTVFJfZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVu Zm9yY2VNYXhBQ1BJTWVtb3J5TlZTX0hFTFAgI2xhbmd1YWdlIGVuLVVTICJNYXhpbXVtIGFkZHJl c3MgdGhhdCBhDQo+IGR5bmFtaWMgRWZpQUNQSU1lbW9yeU5WUyBhbGxvY2F0aW9uIGNhbiBiZSBy ZXF1ZXN0ZWQgYXQiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX2dFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RFbmZvcmNlTWF4RWZpUnVudGltZVNlcnZpY2VzQ29kZV9QUk9NUFQgI2xhbmd1 YWdlIGVuLVVTICJNYXhpbXVtIGFkZHJlc3MNCj4gZm9yIEVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGUg YWxsb2NhdGlvbnMiDQo+ICsjc3RyaW5nIFNUUl9nRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkRW5mb3JjZU1heEVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGVfSEVMUCAjbGFuZ3VhZ2UgZW4t VVMgIk1heGltdW0gYWRkcmVzcyB0aGF0DQo+IGEgZHluYW1pYyBFZmlSdW50aW1lU2VydmljZXND b2RlIGFsbG9jYXRpb24gY2FuIGJlIHJlcXVlc3RlZCBhdCINCj4gKw0KPiArI3N0cmluZyBTVFJf Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuZm9yY2VNYXhFZmlSdW50aW1lU2Vy dmljZXNEYXRhX1BST01QVCAjbGFuZ3VhZ2UgZW4tVVMgIk1heGltdW0gYWRkcmVzcw0KPiBmb3Ig RWZpUnVudGltZVNlcnZpY2VzRGF0YSBhbGxvY2F0aW9ucyINCj4gKyNzdHJpbmcgU1RSX2dFZmlN ZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFbmZvcmNlTWF4RWZpUnVudGltZVNlcnZpY2Vz RGF0YV9IRUxQICNsYW5ndWFnZSBlbi1VUyAiTWF4aW11bSBhZGRyZXNzIHRoYXQNCj4gYSBkeW5h bWljIEVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGEgYWxsb2NhdGlvbiBjYW4gYmUgcmVxdWVzdGVkIGF0 Ig0KPiAtLQ0KPiAyLjE2LjQNCj4gDQo+IA0KPiANCj4gDQo+IEFtYXpvbiBEZXZlbG9wbWVudCBD ZW50ZXIgR2VybWFueSBHbWJIDQo+IEtyYXVzZW5zdHIuIDM4DQo+IDEwMTE3IEJlcmxpbg0KPiBH ZXNjaGFlZnRzZnVlaHJ1bmc6IENocmlzdGlhbiBTY2hsYWVnZXIsIEpvbmF0aGFuIFdlaXNzDQo+ IEVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIHVudGVyIEhSQiAxNDkx NzMgQg0KPiBTaXR6OiBCZXJsaW4NCj4gVXN0LUlEOiBERSAyODkgMjM3IDg3OQ0KPiANCj4gDQo+ IA0KPiANCj4gDQo+IA0KPiANCg0K