From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7216294651790098432 X-Received: by 2002:a2e:97c6:0:b0:295:9626:a20f with SMTP id m6-20020a2e97c6000000b002959626a20fmr2511341ljj.1.1680212369717; Thu, 30 Mar 2023 14:39:29 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:2829:b0:4e9:c006:ce26 with SMTP id cf41-20020a056512282900b004e9c006ce26ls613283lfb.3.-pod-prod-gmail; Thu, 30 Mar 2023 14:39:28 -0700 (PDT) X-Google-Smtp-Source: AKy350bDOwentnjzSqgYTSxIi4bhxFNA6ENzNEN6Wkd2IJwDhlmONVMB4w02xvh0Gs1jVqVWhGbu X-Received: by 2002:ac2:5a46:0:b0:4b5:26f3:2247 with SMTP id r6-20020ac25a46000000b004b526f32247mr7005999lfn.69.1680212368157; Thu, 30 Mar 2023 14:39:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1680212368; cv=pass; d=google.com; s=arc-20160816; b=KMyTfBFxEEp5YOscuJZb78WW1WUIkX9NiQ35Q0kwdCrhJH1+T9Nl9JPWFb4zvrmB+Y bWMIn/apndejsXbhk0+WX1CxlF2GtT90+SqXiYgwsXs+GXDrpHpn8bRCa5/kNW95JIFO F+1z0kex7aC8pDzBdxiPHFVZnPpRVB6eG1jyA9jq8R+gRK1UUsIhE0hH+qxYSEAom3qN NXySmi7EDrU0rWg71FY/ibGJL+cTRhDsr9o5NijjZZMgkA/Vd65Fe0t1bzM/d0buHeIT vc3pzEFC6Hpty6jiud41pKBLM+dP7HMY8hds+3moRvmrUJDFivQLm11YlQWi5n+y3zy/ XH6Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:content-id:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=uV7f+z+Sb9+VKME1ZavSTz5s4o96vzgwViZpot0j+S4=; b=c5pUpg/9FHDTDIlYxLvgFit4W9XLd7PWp0/CIVs6wGiz1WwtA92x/sNchoD6MwPgoL 6wT4VOTfdqJgza5lgF2rtBKCrwux7JuOtO9y/dEd06ajNYyENNUdWd/V3eoo3Ugeozvx LmTLrIgJdyPWf0nLu0gUNq/hwpVsNDAIzFqNAgVRv6/VZwkOL0TY7Z4vdl5hE6JGJ23W DE06AphAMQPyi3NFAr+z5Yk9Y1dTLe9dd9FdTj1emeIUTVO9CNtGJTq+yr4h0N/WmayY 75zvP0CJM2Zkjy0eNLMNaCRMqwoduFbqUi/lII0UD0XZX6YQWpTttjGuLkFr267iwLxu M3fA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=LFqshfPR; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:7e1b::62a as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2062a.outbound.protection.outlook.com. [2a01:111:f400:7e1b::62a]) by gmr-mx.google.com with ESMTPS id x40-20020a056512132800b004dd8416c0d6si42342lfu.0.2023.03.30.14.39.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Mar 2023 14:39:27 -0700 (PDT) Received-SPF: pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:7e1b::62a as permitted sender) client-ip=2a01:111:f400:7e1b::62a; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=LFqshfPR; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:7e1b::62a as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NVSScd2DiJufnpzeTJbn+BEJKgnp5E7ZgfGNiZCiTbJn6Ue9Z2I0PJB4HFs+Fdi8GPnUY6uDWfm4FNXi65I/1grHrbYkN+HNNfvsHMaDKca32vRac24OIeqZsoizy3jwF5QIQLXDS4EkBsVbXp2374Kfwkvr8hFFQluXrJRwl0dOElZQZF+FiqYqZbDWIZmV34SzTobVnSnyByXQfL8a1Eo+LasybnCJ/wnSvzTALsCorqXAAJHmetz4rO3uxtoHyJ5bS5qC14VGuNCTTiQrJcOq9cl3qVZPrhJ8iLMyHwnSsj00t4a+d751jO9Q/FJaLAynkvRxu2Ku439pnfRKVA== 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=uV7f+z+Sb9+VKME1ZavSTz5s4o96vzgwViZpot0j+S4=; b=hOjUGRwdJbE1zD6s0nyARy3P2l7iaErMBaxm5/vqf+G6BAkJ7+2W0dTmKVal0HzbwY8/uTvZ+bKusaIaGPA6wSohw5tTACIVMH2VQxZI8DO4JBArwX/7Snx0XpLXX0c5FDnKWh+qTzt4NXa+EyuI4MOgb6CzvcM+8802d2MlKGS/0LpNPjql8barN1treHYkV4ak5udQX9g81FsuFSkcmgcBqZMtNd+MQ2DHL2FMTOxCaCcyQjvmDiNl2uouDvJjC1oqR76VvSri/E5kJaJQI1f2vAGvDH/XgiFHm1M7q++HAFusv1+zSJtEpo/+6D9mfYCiRUem5uxYSsLd0303Vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uV7f+z+Sb9+VKME1ZavSTz5s4o96vzgwViZpot0j+S4=; b=LFqshfPReRAaOPi3xkDjCM4BWwnI9bnRtKeYygL6DJyhWvB5tqXyfKlrzFZcV4JBWuh5YMMNE3L8DbWv4+jNkKZSUZmSYTHrQ+qzw12mcO3OaPHnwsXGcdnGvGIqEAO8szNtUTaMJiktMouuDL+KZULzmJO02ThJ0F5Wjm0d7QDuuI6k+gQhfPsZxeNn1MehLT2JZmAC261VTtA6evO8TxSwGywAxNtTHOn+QSU+m7TH+mFupOMy85911aOd0bDkQXNXrf7Fme/9f3wOTTOz7kg+j6wAUlUtlJ6O8FUf7ho8+xo5FAEoMg7Idrq1ICpWpYHxWVG/hCX63vYYTw8Now== Received: from GV1PR10MB6345.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:8b::8) by AM0PR10MB3716.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:156::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.14; Thu, 30 Mar 2023 21:39:26 +0000 Received: from GV1PR10MB6345.EURPRD10.PROD.OUTLOOK.COM ([fe80::d20a:1d1a:a72e:a633]) by GV1PR10MB6345.EURPRD10.PROD.OUTLOOK.COM ([fe80::d20a:1d1a:a72e:a633%6]) with mapi id 15.20.6254.016; Thu, 30 Mar 2023 21:39:26 +0000 From: "Schaffner, Tobias" To: "Schild, Henning" CC: "isar-users@googlegroups.com" , "quirin.gylstorff@siemens.com" Subject: Re: [PATCH 1/4] simplify image-account-extension Thread-Topic: [PATCH 1/4] simplify image-account-extension Thread-Index: AQHZYvf/VIbUFiYwqEO7cAKH+3mPSK8TvRaAgAAdKgA= Date: Thu, 30 Mar 2023 21:39:25 +0000 Message-ID: References: <20230330110804.1016614-1-tobias.schaffner@siemens.com> <20230330110804.1016614-2-tobias.schaffner@siemens.com> <20230330215501.6f7cafb7@md1za8fc.ad001.siemens.net> In-Reply-To: <20230330215501.6f7cafb7@md1za8fc.ad001.siemens.net> Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: GV1PR10MB6345:EE_|AM0PR10MB3716:EE_ x-ms-office365-filtering-correlation-id: 1bac730c-ebbb-499a-c6bf-08db31673ba2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jGJxwL3TYcVarWerBdoSdmetH5/aasS4X+15gcvMCNx0Rg8DZC1s+YzdEUF2vN0jXvhypRIN5p+p3aFn2VSrS1/fp2pNjB2x4+XmizH99AmtvpasFcOqLsWl3t0wLrxPOu1KTQhh2lmze8GFUgR46voJLTsfyH4yqDzwERFGqz8RGrhOP7BiKqBEJITSXj/1g3ICSbnxKgp90mClBT3Jq1avQKYDI9G/YbkFB4tmOI+ohKtgY81PReV+xkw8LGhHtiVY9DFd/414CSLXF4ZpL7saTKVmiX2oXg1UP1bwoT5EvYiOoHesb3wYz9XxKzmdwZW7Ndi6T1UVGMJ0rd3iTkGgfrOAeDZqHbuL83DUPgYtA4Uka6Ab8hq7gyUpubRVs4VWXwh960C66Pt9VZsB9cCGvk2axZTJ/HoXi4KMxPYD9xrg7WFgDfZh2kYnFwpOUQ3nXCXiQAqyB8BkjjEYyYaCH6IhBwtWqKYrDfXtp6mvKWS5Q3ov4H3JoYD2TGFILy2DqXkXxeQ9qQn+xXZKRDx9k9V6hCvqmjKoW6dsWux3lLVvPabMOE+BISVS1T/MmmhzCO345zZNuUyCQ7ThmbeZrWTDtmvHKofBnnPbhpX9fiCuevG3NsT8C7Y0TmSrYWFIfchI3v+9DTWC16wEvQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR10MB6345.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(346002)(396003)(136003)(39860400002)(366004)(451199021)(478600001)(54906003)(6636002)(37006003)(2616005)(83380400001)(31686004)(31696002)(107886003)(71200400001)(64756008)(66446008)(76116006)(316002)(4326008)(91956017)(6506007)(53546011)(6512007)(186003)(66476007)(66946007)(66556008)(6486002)(82960400001)(122000001)(41300700001)(5660300002)(38100700002)(30864003)(15650500001)(38070700005)(2906002)(8936002)(6862004)(8676002)(86362001)(36756003)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WERQNU51Z1FCQjIwaGl5aXhaeklhNktXR1NBUlphNGFocGMzblZXczA1MmIx?= =?utf-8?B?bHlrMmFETUNSY3l3c2hXMHNQUjNWZ0RpM2FyZldnOEw2RDJQMlFLREhwcUxx?= =?utf-8?B?Zk4wcktQWTZqWEFseXpSNnhCdXZjT2VXSXZJbjhGSmt1YUhHdkZJbzhsQXpY?= =?utf-8?B?WHV0Vm1lUXpVd2dVd1BYQXVLNTA3Z3FNRnpGenJud0JJN1pTS0JTeHN4b253?= =?utf-8?B?RUs0dzJ6b0JxeGdZcHM5N0xmS3AxODhUbTd2OEsrcHJDS2FCVDJPd3F2V1ls?= =?utf-8?B?d0NucXI1L1hCa2g1QVVQTG05UDhsUTlVWUNPVEVpT09yS05jdjUzUmQxK0pW?= =?utf-8?B?VXdxMXJoYjJmUlYzb3lmUlVsa3BTbGRvQzEvcHhFMWx2OTl0QXA4ZElEQXZ0?= =?utf-8?B?ZFRTNnRYVEQ1SFV6NVdlVG1YRitCVis4QjlQMjNvVzlwTlc2UHp6RlBaRERt?= =?utf-8?B?WkhuQ1ZxYmE0UndnU00yNml6V0c4NFNhQjM2QXBoV01nTDdodXhzQ1ZkK0lB?= =?utf-8?B?ZUpPT0VGQyt3RzFkbXk1cGZhSEhlYXFobjRHUmhSd1hCSHhOTVRDUzNEWVk5?= =?utf-8?B?SmR4TDVWWWtzbUJQbWpyVkc2UXRlS2dTUVF1bFdNaFhTL2pNalRTQWJNZC85?= =?utf-8?B?ZFVGQkdTM1JkMFpNTkRFZEdlVnEwVWUrb2dtZndJWTlneFkyeCtMWFBDMFov?= =?utf-8?B?TkQrK1NPNGQxVlk1bU1Nak9WNTVPT29WdHJlTFNJSHdENFdOQ2F1d3c5TFBo?= =?utf-8?B?U2hja1A4blU3OC9IdVRkZ2NaT002RU0ycFlSd1VmcFNabzBXenhra01uaVVU?= =?utf-8?B?dXl2cWkvaVMwK3JCOThsZ20wbmRQUjRjeFA5UXFkUU04VC9VQjJSbkF4UlZD?= =?utf-8?B?bXhtcWFhRTl4Qzg1TnhNQ0djbzgySk51NHhXajkzdHAwMGs3VlF3Q2p2aG1j?= =?utf-8?B?SmdFK1VYQytnamRHSEkwekdGRGRaeWxzTVJZWlhYSXpXT2RpYlFackhHNjJo?= =?utf-8?B?QXRXamFzTDdMM0VWTXIvVklKUE9DWSthU0NvRWh0QUhpT25UZ0lpaGJMYTV4?= =?utf-8?B?UmIwZ0hORC9QYjQ3OUJ6djhQUkVkenlPSjFHTGFES1JqK0Y3cWdTcnRtQmNX?= =?utf-8?B?bStkankzL2tWZW9qVmZQdHhjb2dNajhZbDc0ai8wUCtpWlFsQ2VOeTBQV2NG?= =?utf-8?B?ak9hQ2Q5cTgzVE9mQjF4Z2tXVGFXYkhCYWRiSlZSeUNzM3hycVNIVkQycVFM?= =?utf-8?B?UHAwdStpWkNDZGFlQXRmdlhBa3djS21WTnI0YnVTM3lYN2t4RWlDNXoyMDJ5?= =?utf-8?B?VFI5K2FIU2psN1NLNE9EeGc2QytpanR6ZHE2ZHI4TnJGMkFCaFRQMGcyUUg3?= =?utf-8?B?VklHUy9oRlJONFArVm9PanBSSE1CM1RTcGVMalNOQklKS2QxVmFYcWgrTWd5?= =?utf-8?B?UDVPUHVQZGcxWG96N1dwdGd1Wm5TM0VSd3h3VHBVTjdON0dlbnFabmdEdElJ?= =?utf-8?B?L2VaT2t2d1B6dWU2bVJjQVB5RjdzTEVaWldiQndRNGhGOHBJQklzakxWbjdH?= =?utf-8?B?bUF1K01CWjJFK001bllFamRDYUMwN1RCQU5NWk5XUGplTTBmK2RjV1l0N0ow?= =?utf-8?B?UjRJK0J2ZVlXek5ucGlBOTREZjFBeVc0dGgrb2lRYTNqSUJMUGE0TGFXQzFu?= =?utf-8?B?WFR2ekJNQ0o4S2tJSkFKWXFCbTk5MGR4NWRvYm9sT09mRHBDUTFGNEJxS2dm?= =?utf-8?B?bnZvN2lJeEFrcFV4cFFQc3A5MnAwWjVzUWhlZDRsM0kweGp2VVQyaU5nVHlz?= =?utf-8?B?SkFCOUxYVEhXQ2JGdWg1SXFWNmVDWVg1Vmw0cnRicUtNQmdxdzJUWHBWUm1Z?= =?utf-8?B?TmE2NTBmY2YxLzdSNTZRWnJEZjJjN3lWLzNxYnVkZ1d1akpmZ2d2Q1RtMW94?= =?utf-8?B?dzdMYnk2SFJVcG8xOWN6aWxtUnBVeEVSNFEzczFKYmlRa1d6aHZzWm94c1ZO?= =?utf-8?B?ZC80SEdLZXZiN2JGR3lzek8vQk9JZG43akN1a3lUcUozV09xditkZlcxLzYw?= =?utf-8?B?MFBtbmpMTkxqay9lekRuaXVkK3p5QkZrWlRJWVNqaGhKRkd2dXlsZXM1OUM2?= =?utf-8?B?S3dzclM2TUJNTm00a1hwUnplR09aa3l4ak9odlBLZEpmRjErUyt3Mmh2Wk80?= =?utf-8?B?V0JDeFdNVGlxUmxjUVRLOGJHeGNxbXlSY2k0dHB5VDltSHZLWGlabE9XK0tq?= =?utf-8?B?SnZ6TVhmVGtmbkFIZjJKcFdISk53PT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: <34660C15E7EBC14DB93F7AC658246911@EURPRD10.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: GV1PR10MB6345.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1bac730c-ebbb-499a-c6bf-08db31673ba2 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Mar 2023 21:39:25.4960 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NzjcQqcwG9lkLJBwYLXmBLvVmkwJoCOqy9VECjAWafr2HC5v+uj1Kb3XQchzl3zfO16DVYf96Er/Zg9gyPgjoSzh9c8+JJ0wspuIkPQk2Rw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3716 X-TUID: BTbCHcwuc/ze T24gMzAuMDMuMjMgMjE6NTUsIFNjaGlsZCwgSGVubmluZyAoVCBDRUQgU0VTLURFKSB3cm90ZToN Cj4gQW0gVGh1LCAzMCBNYXIgMjAyMyAxMzowODowMSArMDIwMA0KPiBzY2hyaWViICJULiBTY2hh ZmZuZXIiIDx0b2JpYXMuc2NoYWZmbmVyQHNpZW1lbnMuY29tPjoNCj4gDQo+PiBGcm9tOiBUb2Jp YXMgU2NoYWZmbmVyIDx0b2JpYXMuc2NoYWZmbmVyQHNpZW1lbnMuY29tPg0KPj4NCj4+IERvIHRo ZSBjb21wbGV0ZSB1c2VyIGFuZCBncm91cCBjcmVhdGlvbiBpbiBweXRob24uIFRoaXMgYWxsb3dz IHVzIHRvDQo+PiBkcm9wIHRoZSBlbmNvZGluZyBhbmQgcGFyc2luZyBjb2RlIHRoYXQgd2FzIHVz ZWQgdG8gbWFrZSB0aGUgdXNlciBhbmQNCj4+IGdyb3VwIGxpc3RzIGF2YWlsYWJsZSBpbiB0aGUg c2hlbGwgZnVuY3Rpb24uDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogVG9iaWFzIFNjaGFmZm5lciA8 dG9iaWFzLnNjaGFmZm5lckBzaWVtZW5zLmNvbT4NCj4+IC0tLQ0KPj4gICBtZXRhL2NsYXNzZXMv aW1hZ2UtYWNjb3VudC1leHRlbnNpb24uYmJjbGFzcyB8IDM2OA0KPj4gKysrKysrKy0tLS0tLS0t LS0tLSAxIGZpbGUgY2hhbmdlZCwgMTI0IGluc2VydGlvbnMoKyksIDI0NA0KPj4gZGVsZXRpb25z KC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL21ldGEvY2xhc3Nlcy9pbWFnZS1hY2NvdW50LWV4dGVu c2lvbi5iYmNsYXNzDQo+PiBiL21ldGEvY2xhc3Nlcy9pbWFnZS1hY2NvdW50LWV4dGVuc2lvbi5i YmNsYXNzIGluZGV4DQo+PiAxYTFmNzA0ZC4uZDExMzNiYjQgMTAwNjQ0IC0tLQ0KPj4gYS9tZXRh L2NsYXNzZXMvaW1hZ2UtYWNjb3VudC1leHRlbnNpb24uYmJjbGFzcyArKysNCj4+IGIvbWV0YS9j bGFzc2VzL2ltYWdlLWFjY291bnQtZXh0ZW5zaW9uLmJiY2xhc3MgQEAgLTEsNSArMSw1IEBADQo+ PiAgICMgVGhpcyBzb2Z0d2FyZSBpcyBhIHBhcnQgb2YgSVNBUi4NCj4+IC0jIENvcHlyaWdodCAo QykgU2llbWVucyBBRywgMjAxOQ0KPj4gKyMgQ29weXJpZ2h0IChDKSBTaWVtZW5zIEFHLCAyMDIz DQo+IA0KPiAyMDE5LTIwMjMNCj4gDQo+IGRpZCBub3QgbG9vayBhdCB0aGUgcmVzdCwgdGhpcyBm ZWVscyBsaWtlIGl0IHNob3VsZCBiZSB0cmllZCBvdXQgLi4uDQo+IGZ1bmN0aW9uYWwgcmV2aWV3 LCB3aGljaCBpIHdvdWxkIHRyeSB0byBkbw0KPiANCj4gcGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHdv dWxkIHBhc3MgZmxha2U4IC4uLiBtaWdodCBiZSBoYXJkIHNpbmNlIGl0IGlzDQo+ICJlbWJlZGRl ZCBjb2RlIg0KDQpIaSBIZW5uaW5nLA0KDQp0aGUgY29kZSBhbHJlYWR5IHBlcDggY29tcGxpYW50 IGFuZCBwYXNzZXMgZmxha2U4IHdpdGggdHdvIGV4Y2VwdGlvbnM6DQogICogbGluZSBsZW5ndGgg bWF5IGJlID4gNzkgY2hhcnMgKEU1MDEpIGFzIGV2ZXJ5d2hlcmUgZWxzZSBpbiB0aGUgcHJvamVj dA0KICAqIGJiIGFuZCBvcyBtb2R1bGVzIGFyZSBub3QgdmlzaWJsZSB0byBmbGFrZTggKEY4MjEp IGFzIHRoZXkgYXJlIA0KaW1wb3J0ZWQgYnkgYml0YmFrZQ0KDQpBY3R1YWxseSBpdCBpcyBub3Qg dGhhdCBoYXJkLiBJZiB5b3Ugd2FudCB0byB1c2UgZmxha2U4IGZyb20gdGhlIGNvbW1hbmQgDQps aW5lIHlvdSBjYW4gd3JpdGUgYSB3cmFwcGVyIGZvciB0aGUgaGFuZGxlIGZ1bmN0aW9uIGluIHRo ZSBiYi5wYXJzZSANCm1vZHVsZSBzaW1pbGFyIHRvIHRoZSBiaXRiYWtlIG1vZHVsZSB0aGF0IEkg Y3JlYXRlZCBpbiANCnRlc3RzdWl0ZS91bml0dGVzdHMuIElmIHlvdSBwcmludCB0aGUgcHl0aG9u IGZ1bmN0aW9ucyB0byB0aGUgc3Rkb3V0IHlvdSANCmNhbiBwaXBlIGl0IHRvIHRoZSBzdGRpbiBv ZiBmbGFrZTguDQoNCklmIHlvdSB1c2UgdnNjb2RlIHdpdGggcHl0aG9uIGV4dGVuc2lvbnMgaXRz IGV2ZW4gZWFzaWVyLiBKdXN0IGNvbmZpZ3VyZSANCnlvdXIgZGVzaXJlZCBsaW50ZXIgYW5kIHNl dCB0aGUgTGFuZ3VhZ2UgTW9kZSB0byBQeXRob24gZm9yIHRoZSBvcGVuIA0KLmJiY2xhc3MuDQoN CkJlc3QsDQpUb2JpYXMNCg0KPiBhIGxvbmcgdGltZSBhZ28gd2UgaGFkIGNvbnRyaWJ1dGlvbnMg ZnJvbSBIYXJhbGQgU2VpbGVyLCB3aG8gbWFuYWdlZCB0bw0KPiBzb21laG93IGxpbnQgcHl0aG9u IGNvZGUgaW5zaWRlIGJiIGNvZGUuDQo+IA0KPiBIZW5uaW5nID4+ICAgIw0KPj4gICAjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBNSVQNCj4+ICAgIw0KPj4gQEAgLTI1LDI1MSArMjUsMTMxIEBA IEdST1VQUyA/Pz0gIiINCj4+ICAgI0dST1VQX3Jvb3RbZ2lkXSA9ICIiDQo+PiAgICNHUk9VUF9y b290W2ZsYWdzXSA9ICJzeXN0ZW0iDQo+PiAgIA0KPj4gLWRlZiBnZW5fYWNjb3VudHNfYXJyYXko ZCwgbGlzdG5hbWUsIGVudHJ5bmFtZSwgZmxhZ3MsDQo+PiB2ZXJiX2ZsYWdzPU5vbmUpOg0KPj4g LSAgICBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgY2hhaW4NCj4+IC0NCj4+IC0gICAgZW50cmllcyA9 IChkLmdldFZhcihsaXN0bmFtZSkgb3IgIiIpLnNwbGl0KCkNCj4+IC0gICAgcmV0dXJuICIgIi5q b2luKA0KPj4gLSAgICAgICAgIjoiLmpvaW4oDQo+PiAtICAgICAgICAgICAgY2hhaW4oDQo+PiAt ICAgICAgICAgICAgICAgIChlbnRyeSwpLA0KPj4gLSAgICAgICAgICAgICAgICAoDQo+PiAtICAg ICAgICAgICAgICAgICAgICAoIiwiLmpvaW4oDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAg KA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLmdldFZhckZsYWcoZW50cnluYW1l ICsgIl8iICsgZW50cnksDQo+PiBmbGFnLCBUcnVlKSBvciAiIg0KPj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICkuc3BsaXQoKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgKSBpZiBmbGFnIG5v dCBpbiAodmVyYl9mbGFncyBvciBbXSkgZWxzZSAoDQo+PiAtICAgICAgICAgICAgICAgICAgICAg ICAgZC5nZXRWYXJGbGFnKGVudHJ5bmFtZSArICJfIiArIGVudHJ5LCBmbGFnLA0KPj4gVHJ1ZSkg b3IgIiINCj4+IC0gICAgICAgICAgICAgICAgICAgICkpLnJlcGxhY2UoIjoiLCI9IikNCj4+IC0g ICAgICAgICAgICAgICAgICAgIGZvciBmbGFnIGluIGZsYWdzDQo+PiAtICAgICAgICAgICAgICAg ICksDQo+PiAtICAgICAgICAgICAgKQ0KPj4gLSAgICAgICAgKQ0KPj4gLSAgICAgICAgZm9yIGVu dHJ5IGluIGVudHJpZXMNCj4+IC0gICAgKQ0KPj4gLQ0KPj4gLSMgTGlzdCBvZiBzcGFjZSBzZXBh cmF0ZWQgZW50cmllcywgd2hlcmUgZWFjaCBlbnRyeSBoYXMgdGhlIGZvcm1hdDoNCj4+IC0jDQo+ PiB1c2VybmFtZTplbmNyeXB0ZWRwYXNzd29yZDpleHBpcmVkYXRlOmluYWN0aXZlbnVtYmVyOnVz ZXJpZDpncm91cGlkOmNvbW1lbnQ6aG9tZWRpcjpzaGVsbDpncm91cDEsZ3JvdXAyOmZsYWcxLGZs YWcyDQo+PiAtSU1BR0VfQUNDT1VOVFNfVVNFUlMgPSsgIiR7QGdlbl9hY2NvdW50c19hcnJheShk LCAnVVNFUlMnLCAnVVNFUicsDQo+PiBbJ3Bhc3N3b3JkJywgICdleHBpcmUnLCAnaW5hY3RpdmUn LCAndWlkJywgJ2dpZCcsICdjb21tZW50JywgJ2hvbWUnLA0KPj4gJ3NoZWxsJywgJ2dyb3Vwcycs ICdmbGFncyddLCBbJ3Bhc3N3b3JkJywgJ2NvbW1lbnQnLCAnaG9tZScsDQo+PiAnc2hlbGwnXSl9 IiAtIC0jIExpc3Qgb2Ygc3BhY2Ugc2VwYXJhdGVkIGVudHJpZXMsIHdoZXJlIGVhY2ggZW50cnkN Cj4+IGhhcyB0aGUgZm9ybWF0OiAtIyBncm91cG5hbWU6Z3JvdXBpZDpmbGFnMSxmbGFnMg0KPj4g LUlNQUdFX0FDQ09VTlRTX0dST1VQUyA9KyAiJHtAZ2VuX2FjY291bnRzX2FycmF5KGQsICdHUk9V UFMnLA0KPj4gJ0dST1VQJywgWydnaWQnLCAnZmxhZ3MnXSl9IiAtIC1kb19yb290ZnNfaW5zdGFs bFt2YXJkZXBzXSArPQ0KPj4gIiR7SU1BR0VfQUNDT1VOVFNfR1JPVVBTfSAke0lNQUdFX0FDQ09V TlRTX1VTRVJTfSINCj4+IC1ST09URlNfUE9TVFBST0NFU1NfQ09NTUFORCArPSAiaW1hZ2VfcG9z dHByb2Nlc3NfYWNjb3VudHMiDQo+PiAtaW1hZ2VfcG9zdHByb2Nlc3NfYWNjb3VudHMoKSB7DQo+ PiAtICAgICMgQ3JlYXRlIGdyb3Vwcw0KPj4gLSAgICAjIEFkZCBzcGFjZSB0byB0aGUgZW5kIG9m IHRoZSBsaXN0Og0KPj4gLSAgICBsaXN0PScke0AiICIuam9pbihkLmdldFZhcignSU1BR0VfQUND T1VOVFNfR1JPVVBTJykuc3BsaXQoKSl9ICcNCj4+IC0gICAgd2hpbGUgdHJ1ZTsgZG8NCj4+IC0g ICAgICAgICMgUG9wIGZpcnN0IGdyb3VwIGVudHJ5Og0KPj4gLSAgICAgICAgbGlzdF9yZXN0PSIk e2xpc3QjKjoqOiogfSINCj4+IC0gICAgICAgIGVudHJ5PSIke2xpc3QlJSR7bGlzdF9yZXN0fX0i DQo+PiAtICAgICAgICBsaXN0PSIke2xpc3RfcmVzdH0iDQo+PiAtDQo+PiAtICAgICAgICBpZiBb IC16ICIke2VudHJ5fSIgXTsgdGhlbg0KPj4gLSAgICAgICAgICAgIGJyZWFrDQo+PiAtICAgICAg ICBmaQ0KPj4gLQ0KPj4gLSAgICAgICAgIyBBZGQgY29sb24gdG8gdGhlIGVuZCBvZiB0aGUgZW50 cnkgYW5kIHJlbW92ZSB0cmFpbGluZw0KPj4gc3BhY2U6DQo+PiAtICAgICAgICBlbnRyeT0iJHtl bnRyeSUgfToiDQo+PiAtDQo+PiAtICAgICAgICAjIERlY29kZSBlbnRyaWVzOg0KPj4gLSAgICAg ICAgbmFtZT0iJHtlbnRyeSUlOip9Ig0KPj4gLSAgICAgICAgZW50cnk9IiR7ZW50cnkjJHtuYW1l fTp9Ig0KPj4gLQ0KPj4gLSAgICAgICAgZ2lkPSIke2VudHJ5JSU6Kn0iDQo+PiAtICAgICAgICBl bnRyeT0iJHtlbnRyeSMke2dpZH06fSINCj4+IC0NCj4+IC0gICAgICAgIGZsYWdzPSIke2VudHJ5 JSU6Kn0iDQo+PiAtICAgICAgICBlbnRyeT0iJHtlbnRyeSMke2ZsYWdzfTp9Ig0KPj4gLQ0KPj4g LSAgICAgICAgZmxhZ3M9Iiwke2ZsYWdzfSwiICMgTmVlZGVkIGZvciBzZWFyY2hpbmcgZm9yIHN1 YnN0cmluZ3MNCj4+IC0NCj4+IC0gICAgICAgICMgQ2hlY2sgaWYgdXNlciBhbHJlYWR5IGV4aXN0 czoNCj4+IC0gICAgICAgIGlmIGdyZXAgLXEgIl4ke25hbWV9OiIgJyR7Uk9PVEZTRElSfS9ldGMv Z3JvdXAnOyB0aGVuDQo+PiAtICAgICAgICAgICAgZXhpc3RzPSJ5Ig0KPj4gLSAgICAgICAgZWxz ZQ0KPj4gLSAgICAgICAgICAgIGV4aXN0cz0ibiINCj4+IC0gICAgICAgIGZpDQo+PiAtDQo+PiAt ICAgICAgICAjIENyZWF0ZSBhcmd1bWVudHM6DQo+PiAtICAgICAgICBzZXQgLS0gIyBjbGVhciBh cmd1bWVudHMNCj4+IC0NCj4+IC0gICAgICAgIGlmIFsgLW4gIiRnaWQiIF07IHRoZW4NCj4+IC0g ICAgICAgICAgICBzZXQgLS0gIiRAIiAtLWdpZCAiJGdpZCINCj4+IC0gICAgICAgIGZpDQo+PiAt DQo+PiAtICAgICAgICBpZiBbICJuIiA9ICIkZXhpc3RzIiBdOyB0aGVuDQo+PiAtICAgICAgICAg ICAgaWYgWyAiJHtmbGFnc30iICE9ICIke2ZsYWdzJSosc3lzdGVtLCp9IiBdOyB0aGVuDQo+PiAt ICAgICAgICAgICAgICAgIHNldCAtLSAiJEAiIC0tc3lzdGVtDQo+PiAtICAgICAgICAgICAgZmkN Cj4+IC0gICAgICAgIGZpDQo+PiAtDQo+PiAtICAgICAgICAjIENyZWF0ZSBvciBtb2RpZnkgZ3Jv dXBzOg0KPj4gLSAgICAgICAgaWYgWyAieSIgPSAiJGV4aXN0cyIgXTsgdGhlbg0KPj4gLSAgICAg ICAgICAgIGlmIFsgLXogIiRAIiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAgICAgIGVjaG8gIkRv IG5vdCBleGVjdXRlIGdyb3VwbW9kIChubyBjaGFuZ2VzKS4iDQo+PiAtICAgICAgICAgICAgZWxz ZQ0KPj4gLSAgICAgICAgICAgICAgICBlY2hvICJFeGVjdXRlIGdyb3VwbW9kIHdpdGggXCIkQFwi IGZvciBcIiRuYW1lXCIiDQo+PiAtICAgICAgICAgICAgICAgIHN1ZG8gLUUgY2hyb290ICcke1JP T1RGU0RJUn0nIFwNCj4+IC0gICAgICAgICAgICAgICAgICAgIC91c3Ivc2Jpbi9ncm91cG1vZCAi JEAiICIkbmFtZSINCj4+IC0gICAgICAgICAgICBmaQ0KPj4gLSAgICAgICAgZWxzZQ0KPj4gLSAg ICAgICAgICAgIGVjaG8gIkV4ZWN1dGUgZ3JvdXBhZGQgd2l0aCBcIiRAXCIgZm9yIFwiJG5hbWVc IiINCj4+IC0gICAgICAgICAgICBzdWRvIC1FIGNocm9vdCAnJHtST09URlNESVJ9JyBcDQo+PiAt ICAgICAgICAgICAgICAgIC91c3Ivc2Jpbi9ncm91cGFkZCAiJEAiICIkbmFtZSINCj4+IC0gICAg ICAgIGZpDQo+PiAtICAgIGRvbmUNCj4+IC0NCj4+IC0gICAgIyBDcmVhdGUgdXNlcnMNCj4+IC0g ICAgbGlzdD0nJHtAIiAiLmpvaW4oZC5nZXRWYXIoJ0lNQUdFX0FDQ09VTlRTX1VTRVJTJykuc3Bs aXQoKSl9ICcNCj4+IC0gICAgd2hpbGUgdHJ1ZTsgZG8NCj4+IC0gICAgICAgICMgUG9wIGZpcnN0 IHVzZXIgZW50cnk6DQo+PiAtICAgICAgICBsaXN0X3Jlc3Q9IiR7bGlzdCMqOio6KjoqOio6Kjoq Oio6KjoqOiogfSINCj4+IC0gICAgICAgIGVudHJ5PSIke2xpc3QlJSR7bGlzdF9yZXN0fX0iDQo+ PiAtICAgICAgICBsaXN0PSIke2xpc3RfcmVzdH0iDQo+PiAtDQo+PiAtICAgICAgICBpZiBbIC16 ICIke2VudHJ5fSIgXTsgdGhlbg0KPj4gLSAgICAgICAgICAgIGJyZWFrDQo+PiAtICAgICAgICBm aQ0KPj4gLQ0KPj4gLSAgICAgICAgIyBBZGQgY29sb24gdG8gdGhlIGVuZCBvZiB0aGUgZW50cnkg YW5kIHJlbW92ZSB0cmFpbGluZw0KPj4gc3BhY2U6DQo+PiAtICAgICAgICBlbnRyeT0iJHtlbnRy eSUgfToiDQo+PiAtDQo+PiAtICAgICAgICAjIERlY29kZSBlbnRyaWVzOg0KPj4gLSAgICAgICAg bmFtZT0iJHtlbnRyeSUlOip9Ig0KPj4gLSAgICAgICAgZW50cnk9IiR7ZW50cnkjJHtuYW1lfTp9 Ig0KPj4gLQ0KPj4gLSAgICAgICAgcGFzc3dvcmQ9IiR7ZW50cnklJToqfSINCj4+IC0gICAgICAg IGVudHJ5PSIke2VudHJ5IyR7cGFzc3dvcmR9On0iDQo+PiAtDQo+PiAtICAgICAgICBleHBpcmU9 IiR7ZW50cnklJToqfSINCj4+IC0gICAgICAgIGVudHJ5PSIke2VudHJ5IyR7ZXhwaXJlfTp9Ig0K Pj4gLQ0KPj4gLSAgICAgICAgaW5hY3RpdmU9IiR7ZW50cnklJToqfSINCj4+IC0gICAgICAgIGVu dHJ5PSIke2VudHJ5IyR7aW5hY3RpdmV9On0iDQo+PiAtDQo+PiAtICAgICAgICB1aWQ9IiR7ZW50 cnklJToqfSINCj4+IC0gICAgICAgIGVudHJ5PSIke2VudHJ5IyR7dWlkfTp9Ig0KPj4gLQ0KPj4g LSAgICAgICAgZ2lkPSIke2VudHJ5JSU6Kn0iDQo+PiAtICAgICAgICBlbnRyeT0iJHtlbnRyeSMk e2dpZH06fSINCj4+IC0NCj4+IC0gICAgICAgIGNvbW1lbnQ9IiR7ZW50cnklJToqfSINCj4+IC0g ICAgICAgIGVudHJ5PSIke2VudHJ5IyR7Y29tbWVudH06fSINCj4+IC0NCj4+IC0gICAgICAgIGhv bWU9IiR7ZW50cnklJToqfSINCj4+IC0gICAgICAgIGVudHJ5PSIke2VudHJ5IyR7aG9tZX06fSIN Cj4+IC0NCj4+IC0gICAgICAgIHNoZWxsPSIke2VudHJ5JSU6Kn0iDQo+PiAtICAgICAgICBlbnRy eT0iJHtlbnRyeSMke3NoZWxsfTp9Ig0KPj4gLQ0KPj4gLSAgICAgICAgZ3JvdXBzPSIke2VudHJ5 JSU6Kn0iDQo+PiAtICAgICAgICBlbnRyeT0iJHtlbnRyeSMke2dyb3Vwc306fSINCj4+IC0NCj4+ IC0gICAgICAgIGZsYWdzPSIke2VudHJ5JSU6Kn0iDQo+PiAtICAgICAgICBlbnRyeT0iJHtlbnRy eSMke2ZsYWdzfTp9Ig0KPj4gLQ0KPj4gLSAgICAgICAgZmxhZ3M9Iiwke2ZsYWdzfSwiICMgTmVl ZGVkIGZvciBzZWFyY2hpbmcgZm9yIHN1YnN0cmluZ3MNCj4+IC0NCj4+IC0gICAgICAgICMgQ2hl Y2sgaWYgdXNlciBhbHJlYWR5IGV4aXN0czoNCj4+IC0gICAgICAgIGlmIGdyZXAgLXEgIl4ke25h bWV9OiIgJyR7Uk9PVEZTRElSfS9ldGMvcGFzc3dkJzsgdGhlbg0KPj4gLSAgICAgICAgICAgIGV4 aXN0cz0ieSINCj4+IC0gICAgICAgIGVsc2UNCj4+IC0gICAgICAgICAgICBleGlzdHM9Im4iDQo+ PiAtICAgICAgICBmaQ0KPj4gLQ0KPj4gLSAgICAgICAgIyBDcmVhdGUgYXJndW1lbnRzOg0KPj4g LSAgICAgICAgc2V0IC0tICMgY2xlYXIgYXJndW1lbnRzDQo+PiAtDQo+PiAtICAgICAgICBpZiBb IC1uICIkZXhwaXJlIiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAgc2V0IC0tICIkQCIgLS1leHBp cmVkYXRlICIkZXhwaXJlIg0KPj4gLSAgICAgICAgZmkNCj4+IC0NCj4+IC0gICAgICAgIGlmIFsg LW4gIiRpbmFjdGl2ZSIgXTsgdGhlbg0KPj4gLSAgICAgICAgICAgIHNldCAtLSAiJEAiIC0taW5h Y3RpdmUgIiRpbmFjdGl2ZSINCj4+IC0gICAgICAgIGZpDQo+PiAtDQo+PiAtICAgICAgICBpZiBb IC1uICIkdWlkIiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAgc2V0IC0tICIkQCIgLS11aWQgIiR1 aWQiDQo+PiAtICAgICAgICBmaQ0KPj4gLQ0KPj4gLSAgICAgICAgaWYgWyAtbiAiJGdpZCIgXTsg dGhlbg0KPj4gLSAgICAgICAgICAgIHNldCAtLSAiJEAiIC0tZ2lkICIkZ2lkIg0KPj4gLSAgICAg ICAgZmkNCj4+IC0NCj4+IC0gICAgICAgIGlmIFsgLW4gIiRjb21tZW50IiBdOyB0aGVuDQo+PiAt ICAgICAgICAgICAgc2V0IC0tICIkQCIgLS1jb21tZW50ICIkY29tbWVudCINCj4+IC0gICAgICAg IGZpDQo+PiAtDQo+PiAtICAgICAgICBpZiBbIC1uICIkaG9tZSIgXTsgdGhlbg0KPj4gLSAgICAg ICAgICAgIGlmIFsgInkiID0gIiRleGlzdHMiIF07IHRoZW4NCj4+IC0gICAgICAgICAgICAgICAg c2V0IC0tICIkQCIgLS1ob21lICIkaG9tZSIgLS1tb3ZlLWhvbWUNCj4+IC0gICAgICAgICAgICBl bHNlDQo+PiAtICAgICAgICAgICAgICAgIHNldCAtLSAiJEAiIC0taG9tZS1kaXIgIiRob21lIg0K Pj4gLSAgICAgICAgICAgIGZpDQo+PiAtICAgICAgICBmaQ0KPj4gLQ0KPj4gLSAgICAgICAgaWYg WyAtbiAiJHNoZWxsIiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAgc2V0IC0tICIkQCIgLS1zaGVs bCAiJHNoZWxsIg0KPj4gLSAgICAgICAgZmkNCj4+IC0NCj4+IC0gICAgICAgIGlmIFsgLW4gIiRn cm91cHMiIF07IHRoZW4NCj4+IC0gICAgICAgICAgICBzZXQgLS0gIiRAIiAtLWdyb3VwcyAiJGdy b3VwcyINCj4+IC0gICAgICAgIGZpDQo+PiAtDQo+PiAtICAgICAgICBpZiBbICJuIiA9ICIkZXhp c3RzIiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAgaWYgWyAiJHtmbGFnc30iICE9ICIke2ZsYWdz JSosc3lzdGVtLCp9IiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAgICAgIHNldCAtLSAiJEAiIC0t c3lzdGVtDQo+PiAtICAgICAgICAgICAgZmkNCj4+IC0gICAgICAgICAgICBpZiBbICIke2ZsYWdz fSIgIT0gIiR7ZmxhZ3MlKixuby1jcmVhdGUtaG9tZSwqfSIgXTsgdGhlbg0KPj4gLSAgICAgICAg ICAgICAgICBzZXQgLS0gIiRAIiAtLW5vLWNyZWF0ZS1ob21lDQo+PiAtICAgICAgICAgICAgZWxz ZQ0KPj4gLSAgICAgICAgICAgICAgICBpZiBbICIke2ZsYWdzfSIgIT0gIiR7ZmxhZ3MlKixjcmVh dGUtaG9tZSwqfSIgXTsgdGhlbg0KPj4gLSAgICAgICAgICAgICAgICAgICAgc2V0IC0tICIkQCIg LS1jcmVhdGUtaG9tZQ0KPj4gLSAgICAgICAgICAgICAgICBmaQ0KPj4gLSAgICAgICAgICAgIGZp DQo+PiAtICAgICAgICBmaQ0KPj4gLQ0KPj4gLSAgICAgICAgIyBDcmVhdGUgb3IgbW9kaWZ5IHVz ZXJzOg0KPj4gLSAgICAgICAgaWYgWyAieSIgPSAiJGV4aXN0cyIgXTsgdGhlbg0KPj4gLSAgICAg ICAgICAgIGlmIFsgLXogIiRAIiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAgICAgIGVjaG8gIkRv IG5vdCBleGVjdXRlIHVzZXJtb2QgKG5vIGNoYW5nZXMpLiINCj4+IC0gICAgICAgICAgICBlbHNl DQo+PiAtICAgICAgICAgICAgICAgIGVjaG8gIkV4ZWN1dGUgdXNlcm1vZCB3aXRoIFwiJEBcIiBm b3IgXCIkbmFtZVwiIg0KPj4gLSAgICAgICAgICAgICAgICBzdWRvIC1FIGNocm9vdCAnJHtST09U RlNESVJ9JyBcDQo+PiAtICAgICAgICAgICAgICAgICAgICAvdXNyL3NiaW4vdXNlcm1vZCAiJEAi ICIkbmFtZSINCj4+IC0gICAgICAgICAgICBmaQ0KPj4gLSAgICAgICAgZWxzZQ0KPj4gLSAgICAg ICAgICAgIGVjaG8gIkV4ZWN1dGUgdXNlcmFkZCB3aXRoIFwiJEBcIiBmb3IgXCIkbmFtZVwiIg0K Pj4gLSAgICAgICAgICAgIHN1ZG8gLUUgY2hyb290ICcke1JPT1RGU0RJUn0nIFwNCj4+IC0gICAg ICAgICAgICAgICAgL3Vzci9zYmluL3VzZXJhZGQgIiRAIiAiJG5hbWUiDQo+PiAtICAgICAgICBm aQ0KPj4gLQ0KPj4gLSAgICAgICAgIyBTZXQgcGFzc3dvcmQ6DQo+PiAtICAgICAgICBpZiBbIC1u ICIkcGFzc3dvcmQiIC1vICIke2ZsYWdzfSIgIT0NCj4+ICIke2ZsYWdzJSosYWxsb3ctZW1wdHkt cGFzc3dvcmQsKn0iIF07IHRoZW4NCj4+IC0gICAgICAgICAgICBjaHBhc3N3ZF9hcmdzPSItZSIN Cj4+IC0gICAgICAgICAgICBpZiBbICIke2ZsYWdzfSIgIT0gIiR7ZmxhZ3MlKixjbGVhci10ZXh0 LXBhc3N3b3JkLCp9IiBdOw0KPj4gdGhlbiArZGVmIGltYWdlX2NyZWF0ZV9ncm91cHMoZDogIkRh dGFTbWFydCIpIC0+IE5vbmU6DQo+PiArICAgICIiIkNyZWF0ZXMgdGhlIGdyb3VwcyBkZWZpbmVk IGluIHRoZSBgYEdST1VQU2BgIGJpdGJha2UgdmFyaWFibGUuDQo+PiArDQo+PiArICAgIEFyZ3M6 DQo+PiArICAgICAgICBkIChEYXRhU21hcnQpOiBUaGUgYml0YmFrZSBkYXRhc3RvcmUuDQo+PiAr DQo+PiArICAgIFJldHVybnM6DQo+PiArICAgICAgICBOb25lDQo+PiArICAgICIiIg0KPj4gKyAg ICBlbnRyaWVzID0gKGQuZ2V0VmFyKCJHUk9VUFMiKSBvciAiIikuc3BsaXQoKQ0KPj4gKyAgICBy b290ZnNkaXIgPSBkLmdldFZhcigiUk9PVEZTRElSIikNCj4+ICsgICAgY2hyb290ID0gWyJzdWRv IiwgIi1FIiwgImNocm9vdCIsIHJvb3Rmc2Rpcl0NCj4+ICsNCj4+ICsgICAgZm9yIGVudHJ5IGlu IGVudHJpZXM6DQo+PiArICAgICAgICBhcmdzID0gW10NCj4+ICsgICAgICAgIGdyb3VwX2VudHJ5 ID0gIkdST1VQX3t9Ii5mb3JtYXQoZW50cnkpDQo+PiArDQo+PiArICAgICAgICB3aXRoIG9wZW4o Int9L2V0Yy9ncm91cCIuZm9ybWF0KHJvb3Rmc2RpciksICJyIikgYXMNCj4+IGdyb3VwX2ZpbGU6 DQo+PiArICAgICAgICAgICAgZXhpc3RzID0gYW55KGxpbmUuc3RhcnRzd2l0aCgie306Ii5mb3Jt YXQoZW50cnkpKSBmb3INCj4+IGxpbmUgaW4gZ3JvdXBfZmlsZSkgKw0KPj4gKyAgICAgICAgZ2lk ID0gZC5nZXRWYXJGbGFnKGdyb3VwX2VudHJ5LCAiZ2lkIikgb3IgIiINCj4+ICsgICAgICAgIGlm IGdpZDoNCj4+ICsgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1naWQiKQ0KPj4gKyAgICAgICAg ICAgIGFyZ3MuYXBwZW5kKGdpZCkNCj4+ICsNCj4+ICsgICAgICAgIGZsYWdzID0gKGQuZ2V0VmFy RmxhZyhncm91cF9lbnRyeSwgImZsYWdzIikgb3IgIiIpLnNwbGl0KCkNCj4+ICsgICAgICAgIGlm ICJzeXN0ZW0iIGluIGZsYWdzOg0KPj4gKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLXN5c3Rl bSIpDQo+PiArDQo+PiArICAgICAgICBpZiBleGlzdHM6DQo+PiArICAgICAgICAgICAgaWYgYXJn czoNCj4+ICsgICAgICAgICAgICAgICAgYmIucHJvY2Vzcy5ydW4oWypjaHJvb3QsICIvdXNyL3Ni aW4vZ3JvdXBtb2QiLA0KPj4gKmFyZ3MsIGVudHJ5XSkNCj4+ICsgICAgICAgIGVsc2U6DQo+PiAr ICAgICAgICAgICAgYmIucHJvY2Vzcy5ydW4oWypjaHJvb3QsICIvdXNyL3NiaW4vZ3JvdXBhZGQi LCAqYXJncywNCj4+IGVudHJ5XSkgKw0KPj4gKw0KPj4gK2RlZiBpbWFnZV9jcmVhdGVfdXNlcnMo ZDogIkRhdGFTbWFydCIpIC0+IE5vbmU6DQo+PiArICAgICIiIkNyZWF0ZXMgdGhlIHVzZXJzIGRl ZmluZWQgaW4gdGhlIGBgVVNFUlNgYCBiaXRiYWtlIHZhcmlhYmxlLg0KPj4gKw0KPj4gKyAgICBB cmdzOg0KPj4gKyAgICAgICAgZCAoRGF0YVNtYXJ0KTogVGhlIGJpdGJha2UgZGF0YXN0b3JlLg0K Pj4gKw0KPj4gKyAgICBSZXR1cm5zOg0KPj4gKyAgICAgICAgTm9uZQ0KPj4gKyAgICAiIiINCj4+ ICsgICAgaW1wb3J0IGhhc2hsaWINCj4+ICsgICAgaW1wb3J0IGNyeXB0DQo+PiArDQo+PiArICAg IGVudHJpZXMgPSAoZC5nZXRWYXIoIlVTRVJTIikgb3IgIiIpLnNwbGl0KCkNCj4+ICsgICAgcm9v dGZzZGlyID0gZC5nZXRWYXIoIlJPT1RGU0RJUiIpDQo+PiArICAgIGNocm9vdCA9IFsic3VkbyIs ICItRSIsICJjaHJvb3QiLCByb290ZnNkaXJdDQo+PiArDQo+PiArICAgIGZvciBlbnRyeSBpbiBl bnRyaWVzOg0KPj4gKyAgICAgICAgYXJncyA9IFtdDQo+PiArICAgICAgICB1c2VyX2VudHJ5ID0g IlVTRVJfe30iLmZvcm1hdChlbnRyeSkNCj4+ICsNCj4+ICsgICAgICAgIHdpdGggb3Blbigie30v ZXRjL3Bhc3N3ZCIuZm9ybWF0KHJvb3Rmc2RpciksICJyIikgYXMNCj4+IHBhc3N3ZF9maWxlOg0K Pj4gKyAgICAgICAgICAgIGV4aXN0cyA9IGFueShsaW5lLnN0YXJ0c3dpdGgoInt9OiIuZm9ybWF0 KGVudHJ5KSkgZm9yDQo+PiBsaW5lIGluIHBhc3N3ZF9maWxlKSArDQo+PiArICAgICAgICBkZWYg YWRkX3VzZXJfb3B0aW9uKG9wdGlvbl9uYW1lLCBmbGFnX25hbWUpOg0KPj4gKyAgICAgICAgICAg IGZsYWdfdmFsdWUgPSBkLmdldFZhckZsYWcodXNlcl9lbnRyeSwgZmxhZ19uYW1lKSBvciAiIg0K Pj4gKyAgICAgICAgICAgIGlmIGZsYWdfdmFsdWU6DQo+PiArICAgICAgICAgICAgICAgIGFyZ3Mu YXBwZW5kKG9wdGlvbl9uYW1lKQ0KPj4gKyAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZChmbGFn X3ZhbHVlKQ0KPj4gKw0KPj4gKyAgICAgICAgYWRkX3VzZXJfb3B0aW9uKCItLWV4cGlyZSIsICJl eHBpcmVkYXRlIikNCj4+ICsgICAgICAgIGFkZF91c2VyX29wdGlvbigiLS1pbmFjdGl2ZSIsICJp bmFjdGl2ZSIpDQo+PiArICAgICAgICBhZGRfdXNlcl9vcHRpb24oIi0tdWlkIiwgInVpZCIpDQo+ PiArICAgICAgICBhZGRfdXNlcl9vcHRpb24oIi0tZ2lkIiwgImdpZCIpDQo+PiArICAgICAgICBh ZGRfdXNlcl9vcHRpb24oIi0tY29tbWVudCIsICJjb21tZW50IikNCj4+ICsgICAgICAgIGFkZF91 c2VyX29wdGlvbigiLS1zaGVsbCIsICJzaGVsbCIpDQo+PiArDQo+PiArICAgICAgICBncm91cHMg PSBkLmdldFZhckZsYWcodXNlcl9lbnRyeSwgImdyb3VwcyIpIG9yICIiDQo+PiArICAgICAgICBp ZiBncm91cHM6DQo+PiArICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tZ3JvdXBzIikNCj4+ICsg ICAgICAgICAgICBhcmdzLmFwcGVuZChncm91cHMucmVwbGFjZSgnICcsICcsJykpDQo+PiArDQo+ PiArICAgICAgICBmbGFncyA9IChkLmdldFZhckZsYWcodXNlcl9lbnRyeSwgImZsYWdzIikgb3Ig IiIpLnNwbGl0KCkNCj4+ICsNCj4+ICsgICAgICAgIGlmIGV4aXN0czoNCj4+ICsgICAgICAgICAg ICBhZGRfdXNlcl9vcHRpb24oIi0taG9tZSIsICJob21lIikNCj4+ICsgICAgICAgICAgICBpZiBk LmdldFZhckZsYWcodXNlcl9lbnRyeSwgImhvbWUiKSBvciAiIjoNCj4+ICsgICAgICAgICAgICAg ICAgYXJncy5hcHBlbmQoIi0tbW92ZS1ob21lIikNCj4+ICsgICAgICAgIGVsc2U6DQo+PiArICAg ICAgICAgICAgYWRkX3VzZXJfb3B0aW9uKCItLWhvbWUtZGlyIiwgImhvbWUiKQ0KPj4gKw0KPj4g KyAgICAgICAgICAgIGlmICJzeXN0ZW0iIGluIGZsYWdzOg0KPj4gKyAgICAgICAgICAgICAgICBh cmdzLmFwcGVuZCgiLS1zeXN0ZW0iKQ0KPj4gKyAgICAgICAgICAgIGlmICJuby1jcmVhdGUtaG9t ZSIgaW4gZmxhZ3M6DQo+PiArICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLW5vLWNyZWF0 ZS1ob21lIikNCj4+ICsgICAgICAgICAgICBpZiAiY3JlYXRlLWhvbWUiIGluIGZsYWdzOg0KPj4g KyAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1jcmVhdGUtaG9tZSIpDQo+PiArDQo+PiAr ICAgICAgICBpZiBleGlzdHM6DQo+PiArICAgICAgICAgICAgaWYgYXJnczoNCj4+ICsgICAgICAg ICAgICAgICAgYmIucHJvY2Vzcy5ydW4oWypjaHJvb3QsICIvdXNyL3NiaW4vdXNlcm1vZCIsICph cmdzLA0KPj4gZW50cnldKQ0KPj4gKyAgICAgICAgZWxzZToNCj4+ICsgICAgICAgICAgICBiYi5w cm9jZXNzLnJ1bihbKmNocm9vdCwgIi91c3Ivc2Jpbi91c2VyYWRkIiwgKmFyZ3MsDQo+PiBlbnRy eV0pICsNCj4+ICsgICAgICAgIGNvbW1hbmQgPSBbKmNocm9vdCwgIi91c3Ivc2Jpbi9jaHBhc3N3 ZCJdDQo+PiArICAgICAgICBwYXNzd29yZCA9IGQuZ2V0VmFyRmxhZyh1c2VyX2VudHJ5LCAicGFz c3dvcmQiKSBvciAiIg0KPj4gKyAgICAgICAgaWYgcGFzc3dvcmQgb3IgImFsbG93LWVtcHR5LXBh c3N3b3JkIiBpbiBmbGFnczoNCj4+ICsgICAgICAgICAgICBpZiAiY2xlYXItdGV4dC1wYXNzd29y ZCIgaW4gZmxhZ3M6DQo+PiArDQo+PiAgICAgICAgICAgICAgICAgICAjIGNocGFzc3dkIGFkZHMg YSByYW5kb20gc2FsdCB3aGVuIHJ1bm5pbmcgYWdhaW5zdCBhDQo+PiBjbGVhci10ZXh0IHBhc3N3 b3JkLiAjIEZvciByZXByb2R1Y2libGUgaW1hZ2VzLCB3ZSBtYW51YWxseSBnZW5lcmF0ZQ0KPj4g dGhlIHBhc3N3b3JkIGFuZCB1c2UgdGhlICMgU09VUkNFX0RBVEVfRVBPQ0ggdG8gZ2VuZXJhdGUg dGhlIHNhbHQgaW4NCj4+IGEgZGV0ZXJtaW5pc3RpYyB3YXkuDQo+PiAtICAgICAgICAgICAgICAg IGlmIFsgLXogIiR7U09VUkNFX0RBVEVfRVBPQ0h9IiBdOyB0aGVuDQo+PiAtICAgICAgICAgICAg ICAgICAgICBjaHBhc3N3ZF9hcmdzPSIiDQo+PiAtICAgICAgICAgICAgICAgIGVsc2UNCj4+IC0g ICAgICAgICAgICAgICAgICAgIHNhbHQ9IiQoZWNobyAiJHtTT1VSQ0VfREFURV9FUE9DSH0iIHwg c2hhMjU2c3VtDQo+PiAteiB8IGN1dCAtYyAxLTE1KSINCj4+IC0gICAgICAgICAgICAgICAgICAg IHBhc3N3b3JkPSIkKG9wZW5zc2wgcGFzc3dkIC02IC1zYWx0ICRzYWx0DQo+PiAiJHBhc3N3b3Jk IikiDQo+PiAtICAgICAgICAgICAgICAgIGZpDQo+PiAtICAgICAgICAgICAgZmkNCj4+IC0gICAg ICAgICAgICBwcmludGYgJyVzOiVzJyAiJG5hbWUiICIkcGFzc3dvcmQiIHwgc3VkbyBjaHJvb3QN Cj4+ICcke1JPT1RGU0RJUn0nIFwNCj4+IC0gICAgICAgICAgICAgICAgL3Vzci9zYmluL2NocGFz c3dkICRjaHBhc3N3ZF9hcmdzDQo+PiAtICAgICAgICBmaQ0KPj4gLSAgICAgICAgaWYgWyAiJHtm bGFnc30iICE9ICIke2ZsYWdzJSosZm9yY2UtcGFzc3dkLWNoYW5nZSwqfSIgXTsgdGhlbg0KPj4g LSAgICAgICAgICAgIGVjaG8gIkV4ZWN1dGUgcGFzc3dkIHRvIGZvcmNlIHBhc3N3b3JkIGNoYW5n ZSBvbiBmaXJzdA0KPj4gYm9vdCBmb3IgXCIkbmFtZVwiIg0KPj4gLSAgICAgICAgICAgIHN1ZG8g LUUgY2hyb290ICcke1JPT1RGU0RJUn0nIFwNCj4+IC0gICAgICAgICAgICAgICAgL3Vzci9iaW4v cGFzc3dkIC0tZXhwaXJlICIkbmFtZSINCj4+IC0gICAgICAgIGZpDQo+PiAtICAgIGRvbmUNCj4+ ICsgICAgICAgICAgICAgICAgc291cmNlX2RhdGVfZXBvY2ggPSBkLmdldFZhcigiU09VUkNFX0RB VEVfRVBPQ0giKSBvcg0KPj4gIiINCj4+ICsgICAgICAgICAgICAgICAgaWYgc291cmNlX2RhdGVf ZXBvY2g6DQo+PiArICAgICAgICAgICAgICAgICAgICBjb21tYW5kLmFwcGVuZCgiLWUiKQ0KPj4g KyAgICAgICAgICAgICAgICAgICAgc2FsdCA9DQo+PiBoYXNobGliLnNoYTI1Nigie31cbiIuZm9y bWF0KHNvdXJjZV9kYXRlX2Vwb2NoKS5lbmNvZGUoKSkuaGV4ZGlnZXN0KClbMDoxNV0NCj4+ICsg ICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gY3J5cHQuY3J5cHQocGFzc3dvcmQsDQo+PiAi JDYke30iLmZvcm1hdChzYWx0KSkgKw0KPj4gKyAgICAgICAgICAgIGVsc2U6DQo+PiArICAgICAg ICAgICAgICAgIGNvbW1hbmQuYXBwZW5kKCItZSIpDQo+PiArDQo+PiArICAgICAgICAgICAgYmIu cHJvY2Vzcy5ydW4oY29tbWFuZCwgInt9Ont9Ii5mb3JtYXQoZW50cnksDQo+PiBwYXNzd29yZCku ZW5jb2RlKCkpICsNCj4+ICsgICAgICAgIGlmICJmb3JjZS1wYXNzd2QtY2hhbmdlIiBpbiBmbGFn czoNCj4+ICsgICAgICAgICAgICBiYi5wcm9jZXNzLnJ1bihbKmNocm9vdCwgIi91c3Ivc2Jpbi9w YXNzd2QiLCAiLS1leHBpcmUiLA0KPj4gZW50cnldKSArDQo+PiArDQo+PiArUk9PVEZTX1BPU1RQ Uk9DRVNTX0NPTU1BTkQgKz0gImltYWdlX3Bvc3Rwcm9jZXNzX2FjY291bnRzIg0KPj4gK3B5dGhv biBpbWFnZV9wb3N0cHJvY2Vzc19hY2NvdW50cygpIHsNCj4+ICsgICAgaW1hZ2VfY3JlYXRlX2dy b3VwcyhkKQ0KPj4gKyAgICBpbWFnZV9jcmVhdGVfdXNlcnMoZCkNCj4+ICAgfQ0KPiANCg==