From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id D4CE99D595 for ; Sun, 4 Jun 2023 08:40:57 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B5F351E1EF for ; Sun, 4 Jun 2023 08:40:57 +0200 (CEST) Received: from mail02.cetsi.fr (mail02.cetsi.fr [91.151.64.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Sun, 4 Jun 2023 08:40:56 +0200 (CEST) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id 714094050280; Sun, 4 Jun 2023 08:40:53 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 714094050280 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1685860853; bh=P4d80zzSy9MyUUKH1EHePeNTGjg8WkQ3kT0xnsLEAQ4=; h=From:To:Subject:Date:References:In-Reply-To:From; b=ly4OrrEidq1Z8cKSzZnJ4/ZDPv92+kYxMojMx+nBGoKnfowuaojh8RS6Z7ZNd+Znn F+P9iVqEeIkuZc6DPqFZoS38Z29th9kUYSTy5R6UfrC+wwOuH/A1EaZv5NXD1yy7V+ wdYgdafU4yxVDBN1J4Wa3lWi2izPOTwoChN0nCf0= Received: from CYLNEXC01.cyllene.corp (10.0.250.28) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Sun, 4 Jun 2023 08:40:56 +0200 Received: from FRA01-MR2-obe.outbound.protection.outlook.com (10.0.250.254) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23 via Frontend Transport; Sun, 4 Jun 2023 08:40:56 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MblUe0QL0aPhqSShdF/KMczY7dcclHqy/5HRgcxhKDth2y5Vn5eSHo3CtQ2JWYtFBgtYDOtSOo8sSOg8nS8/lr5iNtXomSAlAl6JOiL7y0MGd2UPkyiAgskOmWtuebO2UHkmsYMBxHTkPh8r24kcyy1ok11J4yuejnd1aMTot+yVJYT9ys9IweyTJ9xTdz+2+CCb2Y6Kf5U41xt10B0Bh1/YMEMJSskiH1j68IcFLJMW9GP5eVt5WG1LHgrqqT+T5BJZ7wwgQ8wz3eNjlYzXo1yobb3E3bMFK9szA/iipy5FGEb+fKNVBm4lzuzf7GuN1An+WyVDhNJC6ajrlE/DfA== 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=P4d80zzSy9MyUUKH1EHePeNTGjg8WkQ3kT0xnsLEAQ4=; b=FbcN+JplVoIbjsmEB/mZ9D0Wpu/uZ++gRKYanpW7cL5xFnbhgaSmgBcdhx44KDLNs6qqFW/DBa8BlkAUgbKcUISm3lcMugHRpIfm8GezWjUnbCa7Vf3Hm26sKlebdYw4gRYHmY7pZhIDSPnK3x5dXCn8Ot6b9ywmnFtExqmW45uQVm47knqHym6IHMBnI7pxMbwp51fqyhEiKbseJqQ/1C2V1xB+UurCBg2YupPzJ3AFdaLbuRwgxDESTAYUTtaYpkpMKlWGfehRKTHbzaa8cGI6rsSTV5hwpY5DO/PqeyGdQAVdu6cmnTbRJwCwiKxCnsU2EELOKJWyUIthm12n2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P4d80zzSy9MyUUKH1EHePeNTGjg8WkQ3kT0xnsLEAQ4=; b=f4ZIuCMxBTMjK2+knfLC2UsSmG5+qu18W3OHJRbbMQ8x3CzylukKvsmAP6H8J3+1LfM2gbdGJCdElrUZogpeOKLt9kIno73O6wQG9N3dtJU0T55Dz/qJdAUAEXcof/Nnv4d774vvz27mArwCz/aZB4TVmUKO4Twmht1T7iJWu70= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by MR1P264MB2962.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:3b::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.31; Sun, 4 Jun 2023 06:40:54 +0000 Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::cef1:6229:8d42:b0ee]) by MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::cef1:6229:8d42:b0ee%2]) with mapi id 15.20.6455.030; Sun, 4 Jun 2023 06:40:54 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" , "t.lamprecht@proxmox.com" , "aderumier@odiso.com" Thread-Topic: [pve-devel] [PATCH-SERIES pve-manager/qemu-server] fix#4689 autofind node with proxyto_callback Thread-Index: AQHZlA9m7bWz18OjREus8uFZ7lRKc695HoQAgAEYYAA= Date: Sun, 4 Jun 2023 06:40:54 +0000 Message-ID: References: <20230531222834.1915972-1-aderumier@odiso.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.48.1-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MR1P264MB2481:EE_|MR1P264MB2962:EE_ x-ms-office365-filtering-correlation-id: 4906a17d-8bbe-4009-eb18-08db64c6a567 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Q0KDwsBC7mF04YNt9dSakS2/W+vml0KGSFzHQpUFaof4r0StX+PotJy0zmHdl5BzQ/RefWyCEg3yaBz9hRncbZNny0W58vfWmZqVxjBExft0ifByXYGNmOTVuFmvUigqEh5nPFVSNGkBxdr0lwZ3ZjxDx7fGr9Ypw869xGDC29sUgN5tMuJQltolfk9Oy82Rj692EbpwWOSewIB6yGB8AlKOYvMg+huH4UgBYyS73A6KUT+STZJQj0jzj4FmQ0i8xX/qSDiNuXG6PbDQTSaNUvkHRYfZ+Ln2RJmd1h0lJ/WuuQbui0NvpVWqZTUg1LxkCRRkhR/GidjyI3fD/2dn6qaJ+w3/bzd+cRXO7AxIiUWtfaiHYp/M+EgH5TkI2hBTtUbJ6Q1I6Ud09wbH9QoXBI25JzljukJWqdo7F693+6oejrdD0xjGj5HxWFxBIHw8noG8iFj5nMog/h3c8E7bTKJgBIzoI7RC4wFWOiOquM/VtDqVCD50IwF/A59qNNeR79QBQsDsuSWQMyrPxjFje0LWMgQvlDJ4Jhy6jUjdQyuiHo20qhVU9ACSupS21+ufCrjgXnIhUEsx5ucb2peOygczU2TL8LDMtZp386vBAs/F85d41ZD3ORi/omhapQLU x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230028)(4636009)(346002)(39830400003)(376002)(366004)(396003)(136003)(451199021)(110136005)(478600001)(91956017)(8676002)(8936002)(76116006)(66946007)(66446008)(38100700002)(66476007)(64756008)(66556008)(316002)(122000001)(2616005)(41300700001)(186003)(83380400001)(66574015)(6486002)(71200400001)(6506007)(6512007)(26005)(86362001)(5660300002)(2906002)(38070700005)(36756003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N2w0RFFET3RPODVKSVo4K0NKYnRQcVd3Q1ZyY3dxL3FqWCtFWTByVXdiTXRu?= =?utf-8?B?NHNGeDErWks0ZTh2Ym84T2k4WmFobEpoVTdtbUIrZ2lyWmdlbGhDZFRMZXRP?= =?utf-8?B?RXJOa2hUdkRRTkloSHJ3S1NTVmZ3TlNZMTllQ25ZUlVHVXcvREsrckhhN2s0?= =?utf-8?B?OG5sejJXa21QWjMybW1ZVFhFZ1lSVUlVQXVqeFpRYzNiQ3kyUys0b1paTGtE?= =?utf-8?B?R3dtVjh6OEwzVjVJRUNRWlNiazkxbDFrMlg4L3dsdWcvTnNwUjNKMXh2ZVJ3?= =?utf-8?B?SzAzZ0NYR2pnazNMWk02WUdqeVBNdU1BVTd5M3ZMVDNGMWNRQTd3WkRqTTRm?= =?utf-8?B?N1BPL1NXYVlkWlo0anMzU3o2OEVpRllhenVCU3dtWDJDMjlwdWtaRlZtZXNq?= =?utf-8?B?UHpUTFI0eGc2WjlaT2ptYzhkRGxGaSsxWFRFcXlOd2VUN2lORlRBbDBIWGNt?= =?utf-8?B?WldHZ3lPZzVkSUpSbzJqODNGNmhlL3VhQnhoTnZJUytLWkcrREhhbVljK3ZB?= =?utf-8?B?T2FDdVhVWGZzNnlTVkhJallhOFpRWWhOYzRpUUxzbjJ1VDQ5QXk5anpvZTAr?= =?utf-8?B?NjA1NW12VTd5S3U4YVJwNk5EdjJ0NFBxNUt1QWUrY1d0S0FrMmEvVnVnMkdn?= =?utf-8?B?cWJDSmtCMzUzd01NV0VsQnc3UmJTZUJJZUVuUHEwUE0xMnE5YnA3enU5c2Nw?= =?utf-8?B?NXVNMUoyZktZcm9PTjAvR1NLUlJyTGduN3h4eHl3VTZKbXpld1k1aXNKbmFa?= =?utf-8?B?M0JrWTdBVXlBUEdjUGhZNVVDb3lOQWZwWnBSeVg4RnUwZTM5ajNDUHhZOVdY?= =?utf-8?B?SDAyK2Z3aGp0SkNkU2hSQXk5ODlqMWdFMU1QQkhKNm16SWxHR1RjdFljckU1?= =?utf-8?B?LzdhUHZHNENiWURpZnlZemgwUDdqcml5OFk2U21Hd3k1cE9WRU1IQlR1Y0dG?= =?utf-8?B?My8vNkZHR082dG16Ui9JcjR2ZWRFUGlyOUFWSVh6NGd0cG5JWHhBb2NvQnN3?= =?utf-8?B?bkROM0dHL252NVdObUNKVlJzZkRWNFl1RldFaG8wbDdQUmlqV2g1TkI1QlNo?= =?utf-8?B?cHpRMTdoWUplLzhNbG5jaFEyRjFBT3luRkY4MmwzaWtkdnJRa1dldExCeEQv?= =?utf-8?B?cDZHVFhlQkltckppbURhQ1VOc01aN1JTR0FMV2l0Z3R6UFlwQW5IL3ZaNjhC?= =?utf-8?B?V1N4a0xiZnpCbzZDa0Y3TVY0TWsydnd2QlFVdkFmUyszRTdOakpBNVA0RXB2?= =?utf-8?B?Q0dZNVJ1Tm8vc3FpRG52U1NrNVBPMGprRmZST01NVkZHand3Vmd6c2dJSnVW?= =?utf-8?B?aUhtQm01TWlkTlp4RHg0Qmh5UG9MNGtJNDB5L1I5TEE5STBQS2FCMkRZQUUw?= =?utf-8?B?aXkzNmJjdUhLYTNLclhHZVdrV3VQSHJpWmlHcm16bWZjRTlSR3pVMlRQekRt?= =?utf-8?B?M2t1OVV6Y0JCbWZ5Y213N3ZGRVFib2hwOW4xeXI2Q2JMZE01SGZ4QmhCK0tp?= =?utf-8?B?bmNqWG5wb2lpYUNSRzF1SVd3amNSaXlRa1NRMVNjcEIwNEFEZ0xKK0hWZytY?= =?utf-8?B?bHFRNGFtSytEQ0JpSHJkYk45WnBUc2Qxc250WkFxdi9MNTVIbFFscnE3WU5i?= =?utf-8?B?UHNiMWp4RW1PazJ0NnFRb1QySXJTVzRBckVaQUxPbWx4aGU5T1J1K2xScHFY?= =?utf-8?B?VXZRL3FvMkdMRDRCU28vQUN2V3VIZHJuUGRvOTNlVTE3V2N1UVV1eXExNXh3?= =?utf-8?B?bVcwSzVSTU5rTEJVaFZVb0JBRHVEV0xhb0JrUXZ5dVYwMHdVVmVHbk50RExC?= =?utf-8?B?WjJmbzMyR0phSTFkY1EwdEc3YU1yaEFlRldsakdMSmdpd3FJbGg0b20vcGtD?= =?utf-8?B?T2dlNG01bG9wb0liMzZIMU5TTnZBNlBueDV1VnQ1VEIwSW1Jb2RtT2t0enRJ?= =?utf-8?B?SHJ4bXdBZFp4ejEyU2x2ZVVwM1g4TjZmOGhKZE5DU25QRE0xZERoY3RsaVl1?= =?utf-8?B?KzFrbVZtVVRuMDdidGpLRW1zT0M2SjY0TWVjN1Y3andQUWRWUlZBNHY4NnFS?= =?utf-8?B?VTVvS2d3UThGTTAwSXpSd1dKWDN2ZVRKSDN4NDJZUlU2MVlkM0dlWTNtTGti?= =?utf-8?B?S1hlNmVleDhqOFVDcW5GUzdvK250ZmlJT1crUlc4U3lMci9XLzZVSUdoZUNu?= =?utf-8?Q?608SQ7pJfX3lVOTprK+PCysuNMzNnwz1Hh19xReb+VG4?= Content-Type: text/plain; charset="utf-8" Content-ID: <37630F5DC8CCA94294041E1EA44A1B2A@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 4906a17d-8bbe-4009-eb18-08db64c6a567 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2023 06:40:54.4349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: u3uE8sVBaY6k9SN7BjMIF5yz7xoadt2pM8Z46VvrXZlBbcXyhGTPplKG9TbVBZCfHop6+9Tu2lwcud5SRJbPZbZydeS5rdAJ6mjnZ8tRG1LNuQlko47qM00Flfw/1Hsa X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2962 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID -0.1 Message has a valid ARC signature AWL -0.142 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_MISSING 0.1 Missing DMARC policy POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH-SERIES pve-manager/qemu-server] fix#4689 autofind node with proxyto_callback X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2023 06:40:57 -0000 TGUgc2FtZWRpIDAzIGp1aW4gMjAyMyDDoCAxNTo1NyArMDIwMCwgVGhvbWFzIExhbXByZWNodCBh IMOpY3JpdMKgOg0KPiBIaSENCj4gDQo+IEFtIDAxLzA2LzIwMjMgdW0gMDA6Mjggc2NocmllYiBB bGV4YW5kcmUgRGVydW1pZXI6DQo+ID4gQ3VycmVudGx5LCB0byBtYW5hZ2UgcWVtdSAmJiBseGMg dm1zLCB3ZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5DQo+ID4gbm9kZW5hbWUgaW4gdXJpLg0KPiA+ IA0KPiA+IFRoaXMgaXMgYSBwcm9ibGVtIHdpdGggYXV0b21hdGlvbiB0b29scyBsaWtlIHRlcnJh Zm9ybSwgd2hlcmUgaXMNCj4gPiBub2RlIGlzIHJlZ2lzdGVyZWQNCj4gPiBpbiB0aGUgc3RhdGUg b2YgdGVycmFmb3JtLg0KPiANCj4gV2hhdCBkbyB5b3UgbmVlZCBoZXJlLCB0aGUgd2hvbGUgQVBJ LCBqdXN0IHNvbWUgb3BlcmF0aW9uIG9uIGV4aXN0aW5nDQo+IFZNcw0KPiBsaWtlIHN0YXJ0LCBz dG9wLCBtaWdyYXRlLCBvciBqdXN0IHRoYXQgKyBWTSBjcmVhdGlvbj8NCg0KSXQncyByZWFsbHkg Zm9yIGFsbCB2bSBvcGVyYXRpb25zIGluY2x1ZGluZyBtb2RpZmljYXRpb24uDQpCYXNpY2FseSwg dGVycmFmb3JtIGlzIHN0YXRlZnVsbCwgdGhhbiBtZWFuIHRoYW4gaWYgeW91IGNyZWF0ZSBhIHZt IA0Kd2l0aCBwYXJhbSAtLW5vZGUgWCAgLCBJdCdsbCBrZWVwIHRoZSBub2RlIHggIGluIGhpcyBz dGF0ZS4NCg0KaWYgeW91IChvciB0aGUgSEEpIGlzIG1vdmluZyB0aGUgdm0sIHRlcnJhZm9ybSBk b24ndCBrbm93biBhYm91dCBpdC4NCih0aGVuIGlmIHlvdSByZWxhdW5jaCB0ZXJyYWZvcm0sIGl0 J2xsIHRyeSB0byByZWNyZWF0ZSB0aGUgdm0gYWdhaW4pDQoNCg0KPiANCj4gPiAoVGhhdCBtZWFu LCB0aGFuIGlmIHdlIG1vdmUgdGhlIHZtIG9uIGFub3RoZXIgbm9kZSwgdGVycmFmb3JtIGRvbid0 DQo+ID4ga25vd24gaXQsIGFuZCB0cnkgdG8gY3JlYXRlIHRoZSB2bQ0KPiA+IGFnYWluIG9yIGNh bid0IGRlbGV0ZSB0aGUgdm0sLi4uKQ0KPiA+IA0KPiA+IA0KPiA+IFRoaXMgY2FuIGFsc28gYmUg YSBwb3RlbnRpYWwgcHJvYmxlbSB3aXRoIHJhY2UsIGlmIHdlIG5lZWQgdG8gcXVlcnkNCj4gPiAv Y2x1c3Rlci9yZXNzb3VyY2VzIHRvIGZpbmQgdGhlIG5vZGUsIHRoZW4gYW5vdGhlcg0KPiA+IHF1 ZXJ5IG9uIHRoZSB2bS4NCj4gPiANCj4gPiBJIGhhdmUgc29tZSBkaXNjdXNzaW9uIHdpdGggZmFi aWFuIGFib3V0IGl0Og0KPiA+IA0KPiA+IA0KPiA+IFRoaXMgcGF0Y2ggc2VyaWVzLCBmaW5kIHRo ZSBub2RlbmFtZSB3aXRoIHByb3h5dG9fY2FsbGJhY2suDQo+ID4gPiBhIG5ldyBhcGkgZW5kcG9p bnQgL2d1ZXN0cy/CoCBpcyBkZWZpbmVkOg0KPiA+IA0KPiA+IC9ndWVzdHMvKHFlbXV8bHhjKS92 bWlkDQo+ID4gDQo+IA0KPiBleHBvc2luZyB0aGUgc2FtZSBBUEkgdGhyb3VnaCBtdWx0aXBsZSBw b2ludHMgaXNuJ3QgcmVhbGx5IFJFU1QteQ0KPiBkZXNpZ24sDQo+IGNvdWxkIGV2ZW4gYnJlYWsg dGhpbmdzIGFuZCB3b3VsZCBkZWYuIG5lZWQgc3BlY2lhbCBoYW5kbGluZyB0byBtYWtlDQo+IHRo aXMNCj4gYWN0dWFsbHkgdmlzaWJsZSBpbiB0aGUgQVBJIHNjaGVtYSwgYW5kIHRodXMgcHZlc2gg YW5kIHRoZSBhcGkNCj4gdmlld2VyLCBhbW9uZw0KPiBvdGhlciB0aGluZ3MuDQoNClllcywgdGhh dCdzIHdoeSBteSB2MSB3YXMgYSBzaW1wbGUgdXJpIHJld3JpdGUuDQoNCj4gDQo+ID4gDQo+ID4g VGhpcyBwYXRjaCBzZXJpZXMgY3VycmVudGx5IGltcGxlbWVudCBjYWxsYmFjayBmb3IgYXBpMjo6 cWVtdQ0KPiA+IA0KPiA+IEknbSBub3Qgc3VyZSBob3cgdG8gY3JlYXRlIHZtX2NyZWF0ZSB3aGVu IHZtaWQgJiYgbm9kZW5hbWUgaXMgbm90DQo+ID4gZGVmaW5lZC4NCj4gPiBDdXJyZW50bHkgdGhl IGNhbGxiYWNrIHJldHVybiBsb2NhbGhvc3QsIHNvIHRoZSB2bSBpcyBjcmVhdGVkIG9uDQo+ID4g dGhlIGNhbGxlZA0KPiA+IG5vZGUuDQo+ID4gDQo+ID4gdG9kbyAoaWYgdGhpcyBwYXRjaCBzZXJp ZSBpcyBvayBmb3IgeW91KToNCj4gDQo+IA0KPiBBVE0gSSdkIHJhdGhlciBzdHJvbmdseSBvYmpl Y3QgdGhpcywgZm9yIG9uZSB0byBhdm9pZCB0aGF0IG1vcmUgd29yaw0KPiBpcyBkb25lIHRoYXQN Cj4gdGhlbiBtaWdodCBub3QgZ2V0IGFjY2VwdGVkLCB3aGljaCB3b3VsZCBiZSBhdm9pZGFibGUg d2FzdGUgZm9yIGFsbA0KPiBvZiB1cywgYW5kIGFzDQo+IHRlbXBvcmFyeSByZWFzb246IHRoaXMg ZGVmaW5pdGl2ZWx5IHdvbid0IGdldCBpbnRvIFByb3htb3ggVkUgOC4wLA0KPiBidXQgYXMgbmV3 DQo+IGZ1bmN0aW9uYWxpdHksIHdoaWNoIGRvZXNuJ3QgYnJlYWtzIGV4aXN0aW5nIHN0dWZmLCBp dCBjYW4gYmUgYWRkZWQNCj4ganVzdCBmaW5lIHRvDQo+IDguMSBvciA4LjIg4oCTIGFuZCBzbyBJ J2QgbGlrZSB0byBwb3N0cG9uZSBpbi1kZXB0aCByZXZpZXcgYW5kDQo+IGFjY2VwdGluZyBpdCBp bnRvDQo+IHRoZSBzb3VyY2UgdHJlZSB1bnRpbCBhIGZldyB3ZWVrcyBhZnRlciA4LjAgUmVsZWFz ZSB3aGVyZSBJIGdvdCBhIGJpdA0KPiBtb3JlIHRpbWUNCj4gdG8gY2FsbWx5IHRoaW5rIGFib3V0 IHRoaXMg4oCTIGJlY2F1c2UgdGhlIGJhc2UgaWRlYSBvZiBoYXZpbmcgc3VjaCBhDQo+IGZlYXR1 cmUNCj4gaXMgZGVmaW5pdGl2ZWx5IGNvbXBlbGxpbmcgYW5kIEkgdGhpbmsgcXVpdGUgYSBmZXcg YWRtaW5zIGFuZCBkZXZzDQo+IHRoYXQgcmUtaW50ZWdyYXRlDQo+IG91ciBBUEkgd291bGQgbGlr ZSB0byBzZWUgdGhpcy4NCj4gDQp5ZXMsIG5vIHByb2JsZW0uDQoNCj4gU3RpbGwsIHNvbWUgdGhv dWdodHMgdGhhdCBJIGNvdWxkbid0IHN1cHByZXNzIDtQOg0KPiANCj4gLSB0aGUgZGF0YWNlbnRl ciBtYW5hZ2VyIG1pZ2h0IGF2b2lkIGEgbG90IG9mIHN1Y2ggaXNzdWVzIGFscmVhZHksDQo+IHRo ZXJlIHdlDQo+IMKgIG5lZWQgdG8gcmVzb2x2ZSBHdWVzdCBJRCdzIHRvIG5vZGVzIGFueXdheS4g QnV0LCBpdCdkIHJlcXVpcmUNCj4gaGF2aW5nIHRoYXQNCj4gwqAgc2V0dXAgYWx3YXlzLCB3aGlj aCBtaWdodCBub3QgYmUgd2FudGVkLg0KPiANCj4gLSBjb3VsZCBwdXR0aW5nIGFuIGFkYXB0ZXIg YmV0d2VlbiBUZXJyYWZvcm0gPC0+IFByb3htb3ggVkUgQVBJIHdvcms/DQo+IMKgIERpZCBub3Qg cmVhbGx5IHVzZSBUZXJyYWZvcm0sIHNvIEknbSBqdXN0IGd1ZXNzdGltYXRpbmcgaGVyZS4NCj4g DQo+IC0gRldJVzsgdGhlIEhBIHN0YWNrIGFscmVhZHkgaXMgc29tZXdoYXQgb2YgYSBhdXRvbWFn aWMgbm9kZQ0KPiByZXNvbHZlciwgYnV0DQo+IMKgIG5hdHVyYWxseSBvbmx5IGZvciBvcGVyYXRp dmUgdGhpbmdzIGxpa2Ugc3RhcnQvc3RvcC9taWdyYXRlLCBidXQgaWYNCj4gb25lIHdvdWxkDQo+ IMKgIGp1c3QgcmVxdWlyZSB0aG9zZSBhY3Rpb25zIHRoZW4gaXQgbWlnaHQgYmUgYSBmZWFzaWJs ZSB3YXkgdGhhdA0KPiBhbHJlYWR5IGV4aXN0cy4NCj4gDQo+IC0gV2UgZ290IHRoZSBCYXRjaC1w cm9jZXNzIEFQSSBjYWxscyBFbmRwb2ludCBhbHJlYWR5IGFuZCB3aGlsZSBJDQo+IGFjdHVhbGx5 IHBsYW5uZWQNCj4gwqAgdG8gcmVtb3ZlIHRoYXQgZm9yIFBWRSA4IChmb3Igb3RoZXIsIG1vc3Rs eSBzZWN1cml0eSByZWFzb25zKSwgaWYNCj4gd2UnZCBrZWVwIChhbmQNCj4gwqAgZml4KSB0aGF0 LCBvbmUgY291bGQgcG90ZW50aWFsbHkgYWxzbyBhZGQgcHJveHlpbmfCoCBhbmQgcmVsYXlpbmcN Cj4gc3VwcG9ydCB0aGVyZS4NCj4gDQo+IFRoYXQgc2FpZCwgSSBoYXZlIHRvIGFkbWl0IHRoYXQg dGhlIHNvbHV0aW9uIHlvdSBjaG9vc2UsIHdoaWxlIGJlaW5nDQo+IGEgYml0IGhhY2t5IGlzDQo+ IHJlYWxseSBub3QgYSBpbnZhc2l2ZSBjaGFuZ2UgY29kZS13aXNlOyBCdXQsIGFuZCBoZXJlIHN0 aWxsIGFzc3VtaW5nDQo+IHdlIGdvIHRoYXQNCj4gZGlyZWN0aW9uIGluIHRoZSBmaXJzdCBwbGFj ZSwgScKgIHN0aWxsIGRvbid0IGxpa2UgZG9pbmcgdGhhdCBpbiBzdWNoDQo+IGEgc3VidGxlIHdh eS4NCj4gDQo+IFJhdGhlciwgSSdkIGFkZCBzb21ldGhpbmcgbGlrZSBhICJpbmhlcml0IiBwcm9w ZXJ0eSB0aGF0DQo+IHJlZ2lzdGVyX21ldGhvZCB1bmRlcnN0YW5kcw0KPiBhbmQgdGhlbiB3ZSBj b3VsZCByZS1yZWdpc3RlciBBUEkgZW5kcG9pbnQgcGF0aHMgdW5kZXIgYW5vdGhlciBwYXRoLA0K PiB3aGlsZSBsZXR0aW5nDQo+IHRoZSBzY2hlbWEgYW5kIHJvdXRpbmcgYWN0dWFsbHkga25vdyBh Ym91dCBpdC4gDQo+IA0KPiBJJ2Qgd291bGQgcHJvYmFibHkgZG8gdGhhdCBldmVuIGluIGEgbGln aHR3ZWlnaHQgd2F5LCBpLmUuLCByZXNvbHZlZA0KPiBkeW5hbWljYWxseSBhbmQNCj4gdGhlbiBh bHNvIGNhbGxpbmcgdGhlICJhY3R1YWwiIG9yaWdpbmFsIGNvZGUgc2l0ZSwgdG8gYXZvaWQgcG90 ZW50aWFsDQo+IGJ1Z3Mgdy5yLnQuDQo+IGltcG9ydHMgYW5kIGdsb2JhbCB2YXJpYWJsZXMgZnJv bSBtb3JlIGluLWRlcHRoIGNvcGllcy4NCj4gDQo+IEkuZS4sIHVzYWdlIHdvdWxkIGxvb2sgc29t ZXRoaW5nIGxpa2U6DQo+IA0KPiANCj4gcHZlLW1hbmFnZXI6IyBjYXQgUFZFL0FQSTIvR3Vlc3Rz L1FlbXUucG0NCj4gDQo+ICMgLi4uDQo+IA0KPiB1c2UgUFZFOjpBUEkyOjpRZW11OyAjIDwtIHJl cXVpcmVkIHRvIGVuc3VyZSB0aGUgbWV0aG9kcyB3ZSB3YW50IHRvDQo+IGluaGVyaXQgZnJvbSBn b3QgcmVnaXN0ZXJlZA0KPiANCj4gdXNlIGJhc2UgcXcoUFZFOjpSRVNUSGFuZGxlcik7DQo+IA0K PiBfX1BBQ0tBR0VfXy0+cmVnaXN0ZXJfbWV0aG9kKHsNCj4gwqDCoMKgIG5hbWUgPT4gJ2luZGV4 JywNCj4gwqDCoMKgIHBhdGggPT4gJ3t2bWlkfScsDQo+IMKgwqDCoCAjIC4uLg0KPiDCoMKgwqAg Y29kZSA9PiBzdWIgew0KPiDCoMKgwqDCoMKgwqDCoCByZXR1cm4gWw0KPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHsgbmFtZSA9PiAnY29uZmlnJyB9LA0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICMgLi4uDQo+IMKgwqDCoMKgwqDCoMKgIF07DQo+IH0pOw0KPiANCj4gX19QQUNLQUdFX18tPnJl Z2lzdGVyX21ldGhvZCh7DQo+IMKgwqDCoCBuYW1lID0+ICdzZXRfY29uZmlnJywNCj4gwqDCoMKg IHBhdGggPT4gJ3t2bWlkfScsDQo+IMKgwqDCoCBtZXRob2QgPT4gJ0dFVCcsDQo+IMKgwqDCoCBp bmhlcml0ID0+ICdub2Rlcy97bm9kZXN9L3FlbXUve3ZtaWR9L2NvbmZpZycsDQo+IMKgwqDCoCBw cm94eXRvX2NhbGxiYWNrID0+IFwmUFZFOjpBUEkyVG9vbHM6OnJlc29sdmVfdm1pZF9ub2RlLA0K PiB9KTsNCj4gDQo+ICMgLi4uIG90aGVyIGFwaSBlbmRwb2ludCdzIHdlIGxpa2UgdG8gZXhwb3Nl IGluIGEgbm9kZS1pbmRlcGVuZGVudA0KPiB3YXkuDQo+IA0KPiAxOw0KPiANCj4gDQo+IEZvciB0 aGF0IHRvIHdvcmsgd2UnZCAocHJvYmFibHksIEkgZGlkIG5vdCBjaGVjayBfdGhhdF8gY2xvc2Vs eSkgbmVlZA0KPiB0byBhZGFwdCB0aGUgYmFzZQ0KPiBSZXN0SGFuZGxlcidzIHJlZ2lzdGVyX21l dGhvZCBhbmQgbWFwX3BhdGhfdG9fbWV0aG9kcywgYnV0IGZvciBlaXRoZXINCj4gdGhlIGNoYW5n ZXMgc2hvdWxkDQo+IGJlIGluIHJlYXNvbmFibGUgc2l6ZS4NCj4gDQo+IEZvciBzdGFydGVycyBJ J2Qgb25seSBhbGxvdy1saXN0IGEgZmV3IHByb3BlcnRpZXMgdGhhdCBjYW4gYmUNCj4gb3ZlcnJp ZGRlbiBvbiBzdWNoIGENCj4gaW5oZXJpdGFuY2UsIGFzIGUuZy4sIGV4cG9zaW5nIHRoZSBzYW1l IHRoaW5nIHdpdGggZGlmZmVyZW50DQo+IHByaXZpbGVnZXMgbWlnaHQgYmUNCj4gcXVlc3Rpb25h YmxlIGF0IGJlc3QgYW5kIGdpdmUgdXMgc29tZSBzZWN1cml0eSB3b2VzLg0KPiANCj4gSSBoYWQg c29tZXRoaW5nIGxpa2UgYWJvdmUgYXBwcm9hY2ggaW4gbXkgbWluZCBmb3IgYSBmZXcgb3RoZXIg dGhpbmdzDQo+IGFscmVhZHkgaW4gdGhlIHBhc3QsDQo+IGUuZy4sIGluIHRoZSBQcm94bW94IE1h aWwgR2F0ZXdheSB3ZSBoYXZlIGEgZmV3IHBsYWNlcyB3aGVyZSB3ZQ0KPiByZWdpc3RlciB0aGUg ZXNzZW50aWFsbHkNCj4gc2FtZSBBUEkgZW5kcG9pbnQgYSBmZXcgdGltZXMsIGFuZCBkbyB0aGF0 IHdpdGggc29tZSBhZGhvYyBsb29wIGFuZCBhDQo+IGJpdCBvZiBub3QgX3RoYXRfDQo+IG5pY2Ug Y29kZTsgYnV0IG1vc3RseSB0aGF0IHdhc24ndCBzbyBiYWQgdG8gcmVxdWlyZSBjaGFuZ2UgYW5k IHRodXMgSQ0KPiBkaWQgbm90IGZlbHQgdGhhdA0KPiBzdWNoIGluaGVyaXRhbmNlIHdhcyByZXF1 aXJlZCBqdXN0IGR1ZSB0byB0aGF0Lg0KPiANCj4gQnV0LCBpZiB3ZSBkbyBzb21ldGhpbmcgbGlr ZSB5b3Ugd2FudCB0byBoYXZlIGhlcmUgYXMgZW5kIHJlc3VsdCwNCj4gYWJvdmUgd291bGQgYmUg Zm9yIG1lIHRoZQ0KPiB3YXkgSSdkIGZpbmQgdGhlIG1vc3QgYWNjZXB0YWJsZSBmb3IgdGhpcy4g QWxiZWl0LCB3aXRoIHRoZQ0KPiBkaXNjbGFpbWVyIHRoYXQgd2l0aG91dCB0aGlua2luZw0KPiB0 aGlzIGZ1bGx5IHRocm91Z2ggYW5kIGhhdmluZyBteSBicmFpbiBzb21ld2hhdCBtZWx0ZWQgYnkg dGhlDQo+IGFic29sdXRlbHkgaHVnZSBhbW91bnQgb2YNCj4gcGFja2FnZXMsIGFuZCBjaHVybiBp dCBoYXMgYmVlbiB0aHJvdWdoIGZvciB1cGNvbWluZyBQVkUgOCA7LVANCj4gDQo+IElNTyBpdCB3 b3VsZCBiZSBuaWNlIGFzIGl0IHdvdWxkIGJlIHJlYWxseSBleHBsaWNpdCwgZW5zdXJlIHRoYXQg d2UNCj4gY2FuIGdldCBpdCBlYXNpbHkgaW50bw0KPiBBUEkgc2NoZW1hIGR1bXBzIHdpdGhvdXQg aGF2aW5nIHRvIGFkYXB0IHRoZSBjb2RlIG1hbmFnaW5nIHRoYXQgKGF0DQo+IGxlYXN0IG5vdCBp biBhIGJpZyB3YXkpDQo+IGFuZCBvbmUgY291bGQgZXZlbiBlYXNpbHkgY3JlYXRlIGEgQ0xJIHRv b2wgZm9yIGNsdXN0ZXItbG9jYWwNCj4gY29udmVuaWVuY2UgdGhpbmdzIGxpa2UNCj4gInN0YXJ0 IHRoYXQgVk0gYnV0IEkgZG9uJ3QgY2FyZSB3aGVyZSBpdCBjdXJyZW50bHkgaXMiDQo+IA0KPiBw cy4gc29ycnkgZm9yIGR1bXBpbmcgYSBsb3Qgb2YgbG9vc2VseSBvcmdhbml6ZWQgaW5mby9xdWVz dGlvbnMvaWRlYQ0KPiBoZXJlIGluIHRoaXMgcmVwbHksDQo+IGJ1dCBJIHRyaWVkIHRvIGdldCBh cyBtdWNoIGludG8gaXQgdG8gcmVtZW1iZXIgd2hlbiByZXR1cm5pbmcgdG8NCj4gdGhpcywgYWZ0 ZXIgUFZFIDguMCByZWxlYXNlDQo+IGFuZCBwb3N0LXJlbGVhc2Ugd29yayBpcyBkb25lLg0KPiAN Cg0K