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) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id B39709D67F for ; Thu, 26 Oct 2023 14:50:04 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 982851F62D for ; Thu, 26 Oct 2023 14:50:04 +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 ; Thu, 26 Oct 2023 14:50:02 +0200 (CEST) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id EBA884073C06; Thu, 26 Oct 2023 14:49:57 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr EBA884073C06 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1698324598; bh=Xws+Y9QIYOu0rHG0RqxMy5RqxeVZwFAPoHhUeo0Pgm4=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=nxcdU5nA8v4hE9oAqlGtZjLoX58A3sRCQF+vXlItuNP+LvBrJe+zqOmUUDB+qZTDI 92of4fGQ+ilPAUkqzTTAUS0Jq0X7c9yr2b6O9iCMN1ba7io5GvaePexJuAQFueXpKQ XOwSJseRe1NEW6cGbi/HwS+dde1jv3DU5g5TbP2I= 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.34; Thu, 26 Oct 2023 14:49:58 +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.34 via Frontend Transport; Thu, 26 Oct 2023 14:49:58 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oYI98v3rtorpCr6Cq+5mJnyQODjImqNv6yruACdt6pEsdgH8Ldj8o/E63xJ7cOhOcHAHIQgaCIwasht3S/fLVfllc95AGQmXZK98ZNeNtSpIomQv9lLq+6H0PQX35W9UxnF3T0wZ0zhxeOu1224vc2OgA8c7pWTKRALXHPUvMMqPh0GKqCdVtaX1QJJgRwYRdg/sZDHyTqGVo8Rs+GFwJ77zylzb5JER95v02FngJOP3E8RJJn1qycXAvEqlABBCI/YRScpLGNDEqsMxU9CPc1hy4FVEkqtS4veWtK083+AG02jRSn8lyeCPQlxs0nV4fkLNYZa+ZuIGJg4GgjxnTA== 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=Xws+Y9QIYOu0rHG0RqxMy5RqxeVZwFAPoHhUeo0Pgm4=; b=YQkbtEAeLdWIF8ncSLEJ8ud0EVJvX+VDFS95oNmOrmagh/NeFlVdnDCUwwQVFZXqwjpCBVw6EXHzfWNOaP+0SWUVNOQT+2VoYokTlVbFmcywHzJR5vVuUJIqpTdTUS0VP6GvjZg2fji1eq/wlfF0EvMn9p63o8uRwetXdiXOiIf8T7brxrwiMuvKoR3UE2c2MN6iHAvgGcK78d/83aZntlz59P5nBKOVtMsDH2JhGRAawNIawp+rQbbO+tyl0CGu1EXIBsx2zZsu7XFY4h3N7N1AKkC2FXBfHdHadUbnvbyGHo89i7zR2a7CmqwOAi3KDRj0BW2dXPa5gPl3bhy5Pw== 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=Xws+Y9QIYOu0rHG0RqxMy5RqxeVZwFAPoHhUeo0Pgm4=; b=lLQyULpuvZCIcn+++UmdMFm0g7D0FZo8jocQMXdV96OdCOnQfI3GILR0J1deFodh8QymZICA44faCPFIVjLuar2TkV1fGCP6pOdtWQIpmNLyfyUEs37+IvHGUZAtbtR6qau9MtI2ZcmUhq0JcQou+umQ9Jtihr41rY2ilr92gow= Received: from PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1f0::17) by MR1P264MB1649.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:13::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.8; Thu, 26 Oct 2023 12:49:57 +0000 Received: from PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM ([fe80::10d3:953b:818a:260d]) by PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM ([fe80::10d3:953b:818a:260d%5]) with mapi id 15.20.6933.011; Thu, 26 Oct 2023 12:49:57 +0000 From: "DERUMIER, Alexandre" To: "s.lendl@proxmox.com" CC: "pve-devel@lists.proxmox.com" Thread-Topic: [pve-devel] [WIP v2 cluster/network/manager/qemu-server/container 00/10] Add support for DHCP servers to SDN Thread-Index: AQHaBZuRuN5ZUT+pgEKZtCzF3L2iK7BcCqAA Date: Thu, 26 Oct 2023 12:49:57 +0000 Message-ID: <0ab6a28cb30ebea986f05db86ffb540d44ce2bf5.camel@groupe-cyllene.com> References: <875y2xab2d.fsf@gmail.com> In-Reply-To: <875y2xab2d.fsf@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.50.0-1 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: PAZP264MB2494:EE_|MR1P264MB1649:EE_ x-ms-office365-filtering-correlation-id: b13cf7fe-1656-4df2-b2b0-08dbd6220efd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pai7LTfHBDM4HXnXpukKEk3CHrYy4zi3f5Rk2I8HnqwXDEmvuaWlv7tfa+rVa/1i9Cr+JVOXMVzCkFPonv5FSdFqpBM45UcnyMXhGwqzRZ2TT/eE1NF+/F/jexXjly7eo3qrjguEkOI+m80dls4JJViQ5WhVaQIb+SorB1bcs4FCzx3Pef71d9DaI69fV0eGnFImuh0UZjwwJ3r4x433wQ3Vw1ZCiJ1s/2lOyFImtsw/Q8KuS783YIx1ZbuypUC+7e4u7d7hr/BogjMbqkHDOHmvjjdQscsTsbxPrCRzdQEr9h5SoX8wCRBYwSYgg91/x3Xs9X7oP2aeXR86puxc1b2oal69oJX9lIwOrwBxvr/s3B8qxBcyajuu++C5Jzh/v+b3paa6+7t8Kbhms0weVeRs6MMWnjECT6KTTC30c1acu9mRCRvbB/vhkxcv7TQ9eGLx3R1nc0B/6UaA//HildpPnibNQ/gsA7XHZ8666GyhJYke4ZiAu2bX4njvCUErbfiHK0HW3DARw77p/uDtEapwJ0sC6WUhDihSWXj63sA+ifQUpmlhdIpklqtzClsBiGqRPS7y6hw5ytPBe+/9E5/KBLf3Kjj39OgHQtjlRHD00c5TDV2i9uBllspYmO+DyetCGN72uVd1AJcPziMrjg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(136003)(376002)(346002)(396003)(366004)(39850400004)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(38070700009)(84970400001)(66899024)(38100700002)(316002)(36756003)(6512007)(30864003)(2906002)(86362001)(6506007)(83380400001)(122000001)(5660300002)(2616005)(4326008)(478600001)(19627235002)(66946007)(66446008)(41300700001)(66476007)(966005)(6486002)(66556008)(64756008)(8936002)(76116006)(8676002)(71200400001)(6916009)(91956017); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YzN2MnZ6NDJJT05XeGQ0TW0vUVF4RWxTa2dSdEhtSnlYYjYrMGkwdThqSGtm?= =?utf-8?B?NXhSSzJJcGkxTVU4TTNvUXFGYnFIRlZ0eFh2NW9vSkVLL2ZtV1Fpb2lCb1Fx?= =?utf-8?B?b2RHdU1UekFDTU1LREltL0JGVWJQcFI4V05NQnVwRjdtY1FkMnArTGE4R0E3?= =?utf-8?B?SjNVVDAvRVdCQUM2VFBZM0FYTVJNMzJiZGVhYXhQVFh0ZGdKZytEVXRHQnpu?= =?utf-8?B?TVhsek1SRFRQYXFUNHd1K0ZabjdjWnU3VDNiQXhUMGUzeFJJU29QNGZCUkVG?= =?utf-8?B?TG9IUkhCbEpVU0dyanB2dEZVWmhOMmIyV0tiK2QrcDJ1YkRYUzhCdmJ4VDVE?= =?utf-8?B?ZXo2SnZzZC8yWUthUVZrVDRQNWNZcUhKRFVWQ3hRRDhRWWFYUnZaYnBRZnZn?= =?utf-8?B?eWU2YjJMMW4xV1owS2FoQllEL3IxTDlBVE5YdG1EN1FoWnp6dTFNSEdyN2t3?= =?utf-8?B?ZFk3Z094bVF1S1RsRFJrd1BVeWwzSmYvSkRJdklYV2NaQVc1NWoxVFR0L1Uv?= =?utf-8?B?MUF5VXJaY3JrYnBUeFdreS8vNHk2dmFVdU4vZ1R6eW1uZGhJbkZOeENIQWFK?= =?utf-8?B?MTVVYm15Zi9XOUJFdnNQVUVDMjJBUlY3Wk81czRhSTJKMkErVEMxSjFjS2Zm?= =?utf-8?B?Ykw1d3NZdUVXTjRpcjNBVkRaNStFanM3KzVDUXVYcDBraXF3S3hlVWcrcXB2?= =?utf-8?B?ZGVJWWdWeWtrQmtKLyt4ODhBcEgrdStvc01MVlAzYURxTG9uelpQcmd0Y1gy?= =?utf-8?B?UHJMVkxMV25LdUwyVXdRVjhYaWY2TS9oUi81RmFCWGNlK0VFMG02TmZHckg2?= =?utf-8?B?SGk1ZHAvTnI2bHc1ajlOQmE4Z002Wjg2QlZBSmhWVzRId3J0RENXTGQzS2lB?= =?utf-8?B?T3MzcTBPbmczWDVrakFyQ2paRjlOUDExcHoyWmtuL09iM0xuYU1Db1htcnFL?= =?utf-8?B?bTlqdG5kRmtLUWV1NjRaZ3Y4YVJGa1krSkN2UlJjcUs2NVhHZCtjU2ZvbWZK?= =?utf-8?B?SEF3SStpd3pKWGNHQnkyL2NZb0lVNWRVaS90MUJNZG9tQUg0bU9iM1pHSkx2?= =?utf-8?B?WVM2d0cvd2NoT1gvckx1MklOM3pqZEduck4zZmczeFZKNnRHVi85cFhTQk4w?= =?utf-8?B?eTFNR2FVZVRpb2dZY0lsRDNaVkkrYUhnS0dNUkhPS0hqOWVFbk1FSkdoK3Nn?= =?utf-8?B?b1hNYzZ5RVM1cnBuSGdxUjM2SXZnbnczdUI3RENudlZSU1VOOVZZbDZFeXZW?= =?utf-8?B?RFF4NHVrV084d2dBdEJiQzFkbWFYeFNzblVCS3ZFbURPT3d1S21ra1dmNkM3?= =?utf-8?B?MlFRM0t5T0NWOFJRV1dkZ0tOY3owOUN4Tytybmt3SmwzR0lXaW9tVkJNZ3R5?= =?utf-8?B?UUd3QkRTK2kxWW13aHByT2R2MkVqdERDUVYvY3RhbDNGMW5OWXZSRjVGLzhv?= =?utf-8?B?NDY4d0ErcTMyUE1QOUFnN3ArbEVEUkI0YUtwS1RTNnVBcFB5eU9abVd0d1Y5?= =?utf-8?B?NXltR1llNlQwMmNlTzNqSUxNcUtnaEdORXppVXJFNTA5VzVUWDAxMk9HQ2Nv?= =?utf-8?B?dCtia1hZQ2RkSkxoNEVuQzUrOWgrbmxwdGhiejZUQjNLcDlsUmxYU2VGMktY?= =?utf-8?B?a1pjMjBPbDhKVWhqTW1QbTk4MFVyMFl2YlVWVEpCU3FSVUlIazdSQW0yY0RZ?= =?utf-8?B?aUZYdVBWK2hMSTkrV3pEcEZXSU10SVhDSmVKNnEwUUN6Q3hhOTlCUFJuVVBp?= =?utf-8?B?bHV1NzhOQVQ3OXBmRUlFRUV6blVya3R3T2VnQXFlVTY5N0FWWXRidmVnRHdX?= =?utf-8?B?OTJmWXMwQ0lFOGtZV3JmRXdBcjhXa0xna3dhTTlxVW1uMDNMOHhuZCtjVGRx?= =?utf-8?B?cVJBMldkS0lKUHR3aUhSc1FRQjdQb1QvdkdTRE9yQStFNDYyRktid0pRUExB?= =?utf-8?B?UUU3ckxHTGhJdzZ0bTNTTjVNSHlvcWh3N0RHYlBXVUE2ck5rQkFYVUk3b1Nw?= =?utf-8?B?N0NGbUFsYW4xQzBoUjRZdlMydU5VaFFqcXJLQmVtYndLWE02cVFicS9jZUtU?= =?utf-8?B?RmllemxSRUdqaGtWL2lzNXhUcGVEeWxjY0hkS3lyMU1HNWw1Ynd0eTQ3Vnp2?= =?utf-8?B?eW1ZQnBUcGJyMWlLbkhhbkF5UFhHOC8wV0UzZStBeWJvcS9heSsxUTFGUVhs?= =?utf-8?Q?4qNnMEwEw77piOfOAxs6VPJNa6B2X/mqusttyvttebBb?= Content-Type: text/plain; charset="utf-8" Content-ID: <5431AC4E5C92FB458A3FC673AFB3CBDE@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: b13cf7fe-1656-4df2-b2b0-08dbd6220efd X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2023 12:49:57.1504 (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: Ilkv5BMFoL22YTowzFckqUIBkIfWkikmDjoFUS2KRluIyQuI90RmYKlG07CJGuw59tR6ddEjC+fLfGod9ycfxrxgQ8ftu+GRaY6SZsdB/xkcmd5gZdPT5jmKgmsOVEqq X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB1649 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature AWL -1.168 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 KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [pveplugin.pm, groupecyllene.onmicrosoft.com, proxmox.com, cluster.pm, mox.com, dhcp.pm, subnets.pm, network.pm, x.com, vnets.pm, sdn.pm, lxc.pm, plugin.pm, groupe-cyllene.com, qemuserver.pm, cetsi.fr, subnetplugin.pm, dnsmasq.pm] Subject: Re: [pve-devel] [WIP v2 cluster/network/manager/qemu-server/container 00/10] Add support for DHCP servers to SDN 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: Thu, 26 Oct 2023 12:50:04 -0000 SGkgU3RlZmFuIChMZW5kbCksDQoNCkknbSB0b3RhbGx5IGFncmVlZCB3aXRoIHlvdSwgd2Ugc2hv dWxkIGhhdmUgcGVyc2lzdGVudCByZXNlcnZhdGlvbiwNCmF0IHZtIGNyZWF0ZS9uaWMgcGx1Zywg bmljIGRlbGV0ZSwgdm0gZGVsZXRlLg0KDQpBdCBsZWFzdCAsIGZvciBteSB1c2FnZSB3aXRoIG11 bHRpcGxlIGNsdXN0ZXIgb24gZGlmZmVyZW50IGRhdGFjZW50ZXJzLA0KSSByZWFsbHkgY2FuIHdh aXQgdG8gY2FsbCBpcGFtIHRvIGFwaSBhdCBlYWNoIHN0YXJ0IChmb3Igc2NhbGFiaWxpdHkgb3IN CmZvciBzZWN1cml0eSBpZiBpcGFtIGlzIGRvd24pDQoNCg0KVGhpcyBhbHNvIGFsbG93IHRvIHNp bXBseSBkbyByZXNlcnZhdGlvbnMgaW4gZG5zbWFzcSBmaWxlIHdpdGhvdXQgYW55DQpuZWVkIHRv IHJlc3RhcnQgaXQuIChBRkFJSywgb3BlbnN0YWNrIGlzIHVzaW5nIGRuc21hc3EgbGlrZSB0aGlz IHRvbykNCg0KDQpJJ20gbm90IHN1cmUgaWYgdHJ1ZSBkeW5hbWljIGVwaGVtcmFsIGlwICwgY2hh bmdpbmcgYXQgZWFjaCB2bQ0Kc3RvcC9zdGFydCBpcyBpbnRlcmVzdGluZyBmb3IgYSBzZXJ2ZXIg dm0gdXNhZ2UuIChtYXliZSBmb3IgZGVza3RvcA0Kdm13aGVyZSB5b3Ugc2hhcmUgYSBzbWFsbCBw b29sIG9mIGlwLCBidXQgSSBwZXJzb25uYWx5IGRvbid0IGtub3duIGFueQ0KcHJveG1veCB1c2Vy cyB1c2luZyBwcm94bW94IHZlIGZvciB0aGlzKQ0KDQoNCnNlZSBteSBwcm9wb3NhbCBoZXJlICh3 aXRoIGhhbmRsZSBlcGhlbWVyYWwgJiYgcmVzZXJ2ZWQsIGJ1dCBpdCdzIGV2ZW4NCmVhc2llciB3 aXRoIG9ubHkgcmVzZXJ2ZWQpOg0KDQpodHRwczovL2xpc3RzLnByb3htb3guY29tL3BpcGVybWFp bC9wdmUtZGV2ZWwvMjAyMy1TZXB0ZW1iZXIvMDU5MTY5Lmh0bWwNCg0KDQoNCg0KIg0KSSB0aGlu ayB3ZSBjb3VsZCBpbXBsZW1lbnQgaXBhbSBjYWxsIGxpa2U6DQoNCg0KY3JlYXRlIHZtIG9yIGFk ZCBhIG5ldyBuaWMgIC0tPiANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpxbSBjcmVh dGUgLi4uIC1uZXQwDQpicmlkZ2U9dm5ldCwuLi4uLGlwPShhdXRvfDE5Mi4xNjguMC4xfGR5bmFt aWMpLGlwNj0oLi4pDQoNCg0KYXV0byA6IHNlYXJjaCBhIGZyZWUgaXAgaW4gaXBhbS4gIHdyaXRl IHRoZSBpcCBhZGRyZXNzIGluIG5ldDA6IC4uLixpcD0NCmlwIGZpZWxkIA0KDQoxOTIuMTY4LjAu MTogIGNoZWNrIGlmIGlwIGlzIGZyZWUgaW4gaXBhbSAmJiByZWdpc3RlciBpcCBpbiBpcGFtLiB3 cml0ZQ0KdGhlIGlwIGluIGlwIGZpZWxkLg0KDQoNCmR5bmFtaWM6IHdyaXRlICJlcGhlbWVyYWwi IGluIG5ldDA6IC4uLi4saXA9ZXBoZW1lcmFsIChUaGlzIGlzIGENCmR5bmFtaWMgaXAgcmVnaXN0 ZXJlZCBhdCB2bSBzdGFydCwgYW5kIHJlbGVhc2UgYXQgdm0gc3RvcCkNCg0KDQoNCnZtIHN0YXJ0 DQotLS0tLS0tLS0NCi0gaWYgaXA9ZXBoZW1lcmFsLCBmaW5kICYmIHJlZ2lzdGVyIGEgZnJlZSBp cCBpbiBpcGFtLCB3cml0ZSBpdCBpbiB2bQ0KbmV0MDogLi4uLGlwPTE5Mi4xNjguMC4xMFtFXSAu ICAgKG1heWJlIHdpdGggYSBzcGVjaWFsIGZsYWcgW0VdIHRvDQppbmRpY2F0ZSBpdCdzIGVwaGVt ZXJhbCkNCi0gcmVhZCBpcCBmcm9tIHZtIGNvbmZpZyAmJiBpbmplY3QgaW4gZGhjcA0KDQoNCnZt X3N0b3ANCi0tLS0tLS0NCmlmIGlwIGlzIGVwaGVtZXJhbCAobmV0WDogaXA9MTkyLjE2OC4wLjEw W0VdKSwgIGRlbGV0ZSBpcCBmcm9tIGlwYW0sDQpzZXQgaXA9ZXBoZW1lcmFsIGluIHZtIGNvbmZp Zw0KDQoNCnZtX2Rlc3Ryb3kgb3IgbmljIHJlbW92ZS91bnBsdWcNCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCmlmIG5ldFg6IC4uLixpcD0xOTIuMTY4LjAuMTAgICAsICByZW1vdmUgaXAgZnJv bSBpcGFtDQoNCg0KDQpuaWMgdXBkYXRlIHdoZW4gdm0gaXMgcnVubmluZzoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYgaXAgaXMgZGVmaW5lZCA6IG5ldFg6IGlwPTE5Mi4xNjgu MC4xMCwgIHdlIGRvbid0IGFsbG93IGJyaWRnZSBjaGFuZ2UNCm9yIGlwIGNoYW5nZSwgYXMgdm0g aXMgbm90IG5vdGlmaWVkIGFib3V0IHRoZXNlcyBjaGFuZ2VzLCBhbmQgc3RpbGwgdXNlDQpvbGQg aXAuDQoNCldlIGNhbiBhbGxvdyBuaWMgaG90LXVucGx1ZyAmJiBob3RwbHVnLiAoZ3Vlc3Qgb3Mg d2lsbCByZW1vdmUgdGhlIGlwIG9uDQpuaWMgcmVtb3ZhbCwgYW5kIHdpbGwgY2FsbCBkaGNwIGFn YWluIG9uIG5pYyBob3RwbHVnKQ0KDQoNCg0KDQpuaWMgaG90cGx1ZyB3aXRoIGlwPWF1dG86DQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCi0tPiBhZGQgbmljIGluIHBlbmRpbmcgc3RhdGUg LS0tLT4gZmluZCBpcCBpbiBpcGFtICYmIHdyaXRlIGl0IGluDQpwZW5kaW5nIC0tLT4gZG8gdGhl IGhvdHBsdWcgaW4gcWVtdS4NCg0KV2UgbmVlZCB0byBoYW5kbGUgdGhlIGNvbmZpZyByZXZlcnQg dG8gcmVtb3ZlIGlwIGZyb20gaXBhbSBpZiB0aGUgbmljDQpob3RwbHVnIGlzIGJsb2NrZWQgaW4g cGVuZGluZyBzdGF0ZShJIG5ldmVyIHNlZSB0aGlzIGNhc2UgdW50aWwgb3MNCmRvbid0IGhhdmUg cGNpX2hvdHBsdWcgbW9kdWxlIGxvYWRlZCwgYnV0IGl0J3MgYmV0dGVyIHRvIGJlIGNhcmVmdWxs ICkNCg0KIg0KDQoNCj4+SSBhbSBjdXJyZW50bHkgd29ya2luZyBvbiB0aGUgU0ROIGZlYXR1cmUu wqAgVGhpcyBpcyBhbiBpbml0aWFsIHJldmlldw0KPj5vZg0KPj50aGUgcGF0Y2ggc2VyaWVzIGFu ZCBJIGFtIHRyeWluZyB0byBtYWtlIGEgc3Ryb25nIGNhc2UgYWdhaW5zdA0KPj5lcGhlbWVyYWwN Cj4+REhDUCBJUCByZXNlcnZhdGlvbi4NCj4+DQo+PlRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBw YXRjaCBzZXJpZXMgaW52b2tlcyB0aGUgSVBBTSBvbiBldmVyeSBWTS9DVA0KPj5zdGFydC9zdG9w IHRvIGFkZCBvciByZW1vdmUgdGhlIElQIGZyb20gdGhlIElQQU0uDQo+PlRoaXMgdHJpZ2dlcnMg dGhlIGRuc21hc3EgY29uZmlnIGdlbmVyYXRpb24gb24gdGhlIHNwZWNpZmljIGhvc3Qgd2l0aA0K Pj5vbmx5IHRoZSBNQUMvSVAgbWFwcGluZyBvZiB0aGF0IHBhcnRpY3VsYXIgaG9zdC4NCg0KDQoN Cg0KDQpGcm9tIHJlYWRpbmcgdGhlIGRpc2N1c3Npb24gb2YgdGhlIHYxIHBhdGNoIHNlcmllcyBJ IHVuZGVyc3RhbmQgdGhpcw0KYXBwcm9hY2ggdHJpZXMgdG8gaW1wbGVtZW50IHRoZSBlcGhlbWVy YWwgSVAgcmVzZXJ2YXRpb24gc3RyYXRlZ3kuIEZyb20NCm9mZi1saXN0IGNvbnZlcnNhdGlvbnMg d2l0aCBTdGVmYW4gSGFucmVpY2gsIEkgYWdyZWUgdGhhdCBoYXZpbmcNCmVwaGVtZXJhbCBJUCBy ZXNlcnZhdGlvbiBjb29yZGluYXRlZCBieSB0aGUgSVBBTSByZXF1aXJlcyB1cyB0bw0KcmUtaW1w bGVtZW50IERIQ1AgZnVuY3Rpb25hbGl0eSBpbiB0aGUgSVBBTSBhbmQgaGVhdmlseSByZWx5IG9u IHN5bmNpbmcNCmJldHdlZW4gdGhlIGRpZmZlcmVudCBzZXJ2aWNlcy4NCg0KVG8gbWFpbnRhaW4g cmVsaWFibGUgc3luYyB3ZSBuZWVkIHRvIGhvb2sgaW50byBtYW55IGRpZmZlcmVudCBwbGFjZXMN CndoZXJlIHRoZSBJUEFNIG5lZWQgdG8gYmUgcXVlcmllZC7CoCBBbnkgaXNzdWVzIHdpdGggdGhl IGltcGxlbWVudGF0aW9uDQptYXkgbGVhZCB0byBJUEFNIGFuZCBESENQIGxvY2FsIGNvbmZpZyBz dGF0ZSBydW5uaW5nIG91dCBvZiBzeW5jDQpjYXVzaW5nDQpuZXR3b3JrIGlzc3VlcyBkdXBsaWNh dGUgbXVsdGlwbGUgSVBzLg0KDQpGdXJ0aGVybW9yZSwgZXZlcnkgaW50ZXJhY3Rpb24gd2l0aCB0 aGUgSVBBTSByZXF1aXJlcyBhIGNsdXN0ZXItd2lkZQ0KbG9jayBvbiB0aGUgSVBBTS4gSGF2aW5n IGEgY2VudHJhbCBjbHVzdGVyLXdpZGUgbG9jayBvbiBldmVyeSBWTQ0Kc3RhcnQvc3RvcC9taWdy YXRlIHdpbGwgc2lnbmlmaWNhbnRseSBsaW1pdCBwYXJhbGxlbCBvcGVyYXRpb25zLsKgIEV2ZW50 DQpzdGFydGluZyB0d28gVk1zIGluIHBhcmFsbGVsIHdpbGwgYmUgbGltaXRlZCBieSB0aGlzIGNl bnRyYWwgbG9jay4gQXQNCmJvb3QgdHJ5aW5nIHRvIHN0YXJ0IG1hbnkgVk1zIChpZGVhbGx5IGFz IG11Y2ggaW4gcGFyYWxsZWwgYXMgcG9zc2libGUpDQppcyBsaW1pdGVkIGJ5IHRoZSBjZW50cmFs IElQQU0gbG9jayBldmVuIGZ1cnRoZXIuDQoNCkkgYXJndWUgdGhhdCB3ZSBzaGFsbCBub3Qgc3Vw cG9ydCBlcGhlbWVyYWwgSVBzIGFsdG9nZXRoZXIuDQpUaGUgYWx0ZXJuYXRpdmUgaXMgdG8gbWFr ZSBhbGwgSVBBTSByZXNlcnZhdGlvbnMgcGVyc2lzdGVudC4NCg0KVXNpbmcgcGVyc2lzdGVudCBJ UHMgb25seSByZWR1Y2VzIHRoZSBpbnRlcmFjdGlvbnMgb2YgVk0vQ1RzIHdpdGggdGhlDQpJUEFN IHRvIGEgbWluaW11bSBvZiBOSUMgam9pbmluZyBhIHN1Ym5ldCBhbmQgTklDIGxlYXZpbmcgYSBz dWJuZXQuIEkNCmFtDQpkZWxpYmVyYXRlbHkgbm90IHJlZmVycmluZyB0byBWTXMgYmVjYXVzZSBh IFZNIG1heSBiZSBwYXJ0IG9mIG11bHRpcGxlDQpWTmV0cyBvciBldmVuIG11bHRpcGxlIHRpbWVz IGluIHRoZSBzYW1lIFZOZXQgKHJlZ2FyZGxlc3MgaWYgdGhhdCBpcw0Kc2Vuc2libGUpLg0KDQpD YXNlcyB0aGUgSVBBTSBuZWVkcyB0byBiZSBpbnZvbHZlZDoNCg0KLSBOSUMgd2l0aCBESENQIGVu YWJsZWQgVk5ldCBpcyBhZGRlZCB0byBWTSBjb25maWcNCi0gTklDIHdpdGggREhDUCBlbmFibGVk IFZOZXQgaXMgcmVtb3ZlZCBmcm9tIFZNIGNvbmZpZw0KLSBOSUMgaXMgYXNzaWduZWQgdG8gYW5v dGhlciBCcmlkZ2UNCsKgIGNhbiBiZSB0cmVhdGVkIGFzIGluZGl2aWR1YWwgbGVhdmUgKyBqb2lu IGV2ZW50cw0KDQpDYXNlcyB0aGF0IGFyZSBleHBsaWNpdGx5IG5vdCBjb3ZlcmVkIGJ1dCBtYXkg YmUgYWRkZWQgaWYgZGVzaXJlZDoNCg0KLSBNYW51YWxseSBhc3NpZ24gYW4gSVAgYWRkcmVzcyBv biBhIE5JQw0KwqAgd2lsbCBub3QgYmUgYXV0b21hdGljYWxseSB2aXNpYmxlIGluIHRoZSBJUEFN DQotIE1hbnVhbGx5IGNoYW5nZSB0aGUgTUFDIG9uIGEgTklDDQrCoCBkb24ndCBkbyB0aGF0ID4g eW91IGFyZSBvbiB5b3VyIG93bi4NCsKgIE5vdCBoYW5kbGVkID4gY2hhbmdlIGluIElQQU0gbWFu dWFsbHkNCg0KT25jZSBhbiBJUCBpcyByZXNlcnZlZCB2aWEgSVBBTSwgdGhlIGRuc21hc3EgY29u ZmlnIGNhbiBiZSBnZW5lcmF0ZWQNCnN0YXRlbGVzcyBhbmQgaWRlbXBvdGVudCBmcm9tIHRoZSBw dmUgSVBBTSBhbmQgaXMgaWRlbnRpY2FsIG9uIGFsbA0Kbm9kZXMNCnJlZ2FyZGxlc3MgaWYgYSBW TS9DVCBhY3R1YWxseSByZXNpZGVzIG9uIHRoYXQgbm9kZSBvciBpcyBydW5uaW5nIG9yDQpzdG9w cGVkLsKgIFRoaXMgaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIFZNIG1pZ3JhdGlvbiBiZWNhdXNl IHRoZSBJUA0Kc3RheXMgY29uc2lzdGVudCB3aXRob3V0IHNwYWNpYWwgY29uc2lkZXJpbmcuDQoN ClNuYXBzaG90L3JldmVydCwgYmFja3VwL3Jlc3RvcmUsIHN1c3BlbmQvaGliZXJuYXRlL3Jlc3Vt ZSBjYXNlcyBhcmUNCmF1dG9tYXRpY2FsbHkgY292ZXJlZCBiZWNhdXNlIHRoZSBJUCB3aWxsIGFs cmVhZHkgYmUgcmVzZXJ2ZWQgZm9yIHRoYXQNCk1BQy4NCg0KSWYgdGhlIGFkbWluIHdhbnRzIHRv IGNoYW5nZSwgdGhlIElQIG9mIGEgVk0gdGhpcyBjYW4gYmUgZG9uZSB2aWEgdGhlDQpJUEFNIEFQ SS9VSSB3aGljaCB3aWxsIGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQgc2VwYXJhdGVseS4NCg0KQSBs aW1pdGF0aW9uIG9mIHRoaXMgYXBwcm9hY2ggdnMgZHluYW1pYyBJUCByZXNlcnZhdGlvbiBpcyB0 aGF0IHRoZSBJUA0KcmFuZ2Ugb24gdGhlIHN1Ym5ldCBuZWVkcyB0byBiZSBsYXJnZSBlbm91Z2gg dG8gaG9sZCBhbGwgSVBzIG9mIGFsbCwNCmV2ZW4gc3RvcHBlZCwgVk1zIGluIHRoYXQgc3VibmV0 LiBUaGlzIGlzIGluIGNvbnRyYXN0IHRvIGRlZmF1bHQgREhDUA0KZnVuY3Rpb25hbGl0eSB3aGVy ZSBvbmx5IHRoZSBudW1iZXIgb2YgYWN0aXZlbHkgcnVubmluZyBWTXMgaXMgbGltaXRlZC4NCkl0 IHNob3VsZCBiZSBlbm91Z2ggdG8gbWVudGlvbiB0aGlzIGluIHRoZSBkb2NzLg0KDQpJIHdpbGwg ZnVydGhlciByZXZpZXcgdGhlIGNvZGUgYW4gdHJ5IHRvIGltcGxlbWVudCB0aGUgYWZvcmVtZW50 aW9uZWQNCmFwcHJvYWNoLg0KDQpCZXN0IHJlZ2FyZHMsDQpTdGVmYW4gTGVuZGwNCg0KU3RlZmFu IEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPiB3cml0ZXM6DQoNCj4gVGhpcyBpcyBh IFdJUCBwYXRjaCBzZXJpZXMsIHNpbmNlIEkgd2lsbCBiZSBnb25lIGZvciAzIHdlZWtzIGFuZA0K PiB3YW50ZWQgdG8NCj4gc2hhcmUgbXkgY3VycmVudCBwcm9ncmVzcyB3aXRoIHRoZSBESENQIHN1 cHBvcnQgZm9yIFNETi4NCj4gDQo+IFRoaXMgcGF0Y2ggc2VyaWVzIGFkZHMgc3VwcG9ydCBmb3Ig YXV0b21hdGljYWxseSBkZXBsb3lpbmcgZG5zbWFzcSBhcw0KPiBhIERIQ1ANCj4gc2VydmVyIHRv IGEgc2ltcGxlIFNETiBab25lLg0KPiANCj4gV2hpbGUgY2VydGFpbmx5IG5vdCAxMDAlIHBvbGlz aGVkIG9uIHNvbWUgZW5kcyAobG9va2luZyBhdCByZXN0YXJ0aW5nDQo+IHN5c3RlbWQNCj4gc2Vy dmljZXMgaW4gcGFydGljdWxhciksIHRoZSBnZW5lcmFsIGlkZWEgYmVoaW5kIHRoZSBtZWNoYW5p c20gc2hvd3MuDQo+IEkgd2FudGVkDQo+IHRvIGdhdGhlciBzb21lIGZlZWRiYWNrIG9uIGhvdyBJ IGFwcHJvYWNoZWQgZGVzaWduaW5nIHRoZSBwbHVnaW5zIGFuZA0KPiB0aGUNCj4gY29uZmlnIHJl Z2VuZXJhdGlvbiBwcm9jZXNzIGJlZm9yZSBjb21pdHRpbmcgdG8gdGhpcyBkZXNpZ24gYnkNCj4g Y3JlYXRpbmcgYW4gQVBJDQo+IGFuZCBVSSBhcm91bmQgaXQuDQo+IA0KPiBZb3UgbmVlZCB0byBp bnN0YWxsIGRuc21hc3EgKGFuZCBkaXNhYmxlIGl0IGFmdGVyd2FyZHMpOg0KPiANCj4gwqAgYXB0 IGluc3RhbGwgZG5zbWFzcSAmJiBzeXN0ZW1jdGwgZGlzYWJsZSAtLW5vdyBkbnNtYXNxDQo+IA0K PiANCj4gWW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBleGFtcGxlIGNvbmZpZ3VyYXRpb24gZm9y IGRlcGxveWluZyBhIERIQ1ANCj4gc2VydmVyIGluDQo+IGEgU0ROIHN1Ym5ldDoNCj4gDQo+IC9l dGMvcHZlL3Nkbi9kaGNwLmNmZzoNCj4gDQo+IMKgIGRuc21hc3E6IG5hdA0KPiANCj4gDQo+IC9l dGMvcHZlL3Nkbi96b25lcy5jZmc6DQo+IA0KPiDCoCBzaW1wbGU6IERIQ1BOQVQNCj4gwqDCoMKg wqDCoMKgwqDCoMKgIGlwYW0gcHZlDQo+IA0KPiANCj4gL2V0Yy9wdmUvc2RuL3ZuZXRzLmNmZzoN Cj4gDQo+IMKgIHZuZXQ6IGRoY3BuYXQNCj4gwqDCoMKgwqDCoMKgwqDCoMKgIHpvbmUgREhDUE5B VA0KPiANCj4gDQo+IC9ldGMvcHZlL3Nkbi9zdWJuZXRzLmNmZzoNCj4gDQo+IMKgIHN1Ym5ldDog REhDUE5BVC0xMC4xLjAuMC0xNg0KPiDCoMKgwqDCoMKgwqDCoMKgwqAgdm5ldCBkaGNwbmF0DQo+ IMKgwqDCoMKgwqDCoMKgwqDCoCBkaGNwLWRucy1zZXJ2ZXIgMTAuMS4wLjENCj4gwqDCoMKgwqDC oMKgwqDCoMKgIGRoY3AtcmFuZ2Ugc2VydmVyPW5hdCxzdGFydC1hZGRyZXNzPTEwLjEuMC4xMDAs ZW5kLQ0KPiBhZGRyZXNzPTEwLjEuMC4yMDANCj4gwqDCoMKgwqDCoMKgwqDCoMKgIGdhdGV3YXkg MTAuMS4wLjENCj4gwqDCoMKgwqDCoMKgwqDCoMKgIHNuYXQgMQ0KPiANCj4gDQo+IFRoZW4gYXBw bHkgdGhlIFNETiBjb25maWd1cmF0aW9uOg0KPiANCj4gwqAgcHZlc2ggc2V0IC9jbHVzdGVyL3Nk bg0KPiANCj4gWW91IG5lZWQgdG8gYXBwbHkgdGhlIFNETiBjb25maWd1cmF0aW9uIG9uY2UgYWZ0 ZXIgYWRkaW5nIHRoZSBkaGNwLQ0KPiByYW5nZSBsaW5lcw0KPiB0byB0aGUgY29uZmlndXJhdGlv biwgc2luY2UgdGhlIHJ1bm5pbmcgY29uZmlndXJhdGlvbiBpcyB1c2VkIGZvcg0KPiBtYW5hZ2lu Zw0KPiBESENQLiBJdCB3aWxsIG5vdCB3b3JrIG90aGVyd2lzZSENCj4gDQo+IEZvciB0ZXN0aW5n IGl0IGNhbiBiZSBoZWxwZnVsIHRvIG1vbml0b3IgdGhlIGZvbGxvd2luZyBmaWxlcyAoZS5nLg0K PiB3aXRoIHdhdGNoKQ0KPiB0byBmaW5kIG91dCB3aGF0IGlzIGhhcHBlbmluZw0KPiDCoCAqIC9l dGMvZG5zbWFzcS5kLzxkaGNwX2lkPi9ldGhlcnMgKG9uIGVhY2ggbm9kZSkNCj4gwqAgKiAvZXRj L3B2ZS9wcml2L2lwYW0uZGINCj4gDQo+IENoYW5nZXMgZnJvbSB2MSAtPiB2MjoNCj4gwqAgKiBh ZGRlZCBob29rcyBmb3IgaGFuZGxpbmcgREhDUCB3aGVuIHN0YXJ0aW5nIC8gc3RvcHBpbmcgLyAu LiBWTXMNCj4gYW5kIENUcw0KPiDCoCAqIEdldCBhbiBJUCBmcm9tIElQQU0gYW5kIHJlZ2lzdGVy IHRoYXQgSVAgaW4gdGhlIERIQ1Agc2VydmVyDQo+IMKgwqDCoCAocHZlIG9ubHkgZm9yIG5vdykN Cj4gwqAgKiByZW1vdmUgbGVhc2UtdGltZSwgc2luY2UgaXQgaXMgbm93IGluZmluaXRlIGFuZCBt YW5hZ2VkIGJ5IHRoZSBWTQ0KPiBsaWZlY3ljbGUNCj4gwqAgKiBhZGQgaG9va3MgZm9yIHNldHRp bmcgJiBkZWxldGluZyBESENQIG1hcHBpbmdzIHRvIERIQ1AgcGx1Z2lucw0KPiDCoCAqIG1vZGlm aWVkIGludGVyZmFjZSBvZiB0aGUgYWJzdHJhY3QgY2xhc3MgdG8gcmVmbGVjdCBuZXcNCj4gcmVx dWlyZW1lbnRzDQo+IMKgICogYWRkZWQgaGVscGVycyBpbiBleGlzdGluZyBTRE4gY2xhc3Nlcw0K PiDCoCAqIHNpbXBsaWZpZWQgREhDUCBjb25maWd1cmF0aW9uIHNldHRpbmdzDQo+IA0KPiANCj4g DQo+IHB2ZS1jbHVzdGVyOg0KPiANCj4gU3RlZmFuIEhhbnJlaWNoICgxKToNCj4gwqAgY2x1c3Rl ciBmaWxlczogYWRkIGRoY3AuY2ZnDQo+IA0KPiDCoHNyYy9QVkUvQ2x1c3Rlci5wbcKgIHwgMSAr DQo+IMKgc3JjL3BteGNmcy9zdGF0dXMuYyB8IDEgKw0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspDQo+IA0KPiANCj4gcHZlLW5ldHdvcms6DQo+IA0KPiBTdGVmYW4gSGFucmVp Y2ggKDYpOg0KPiDCoCBzdWJuZXRzOiB2bmV0czogcHJlcGFyYXRpb25zIGZvciBESENQIHBsdWdp bnMNCj4gwqAgZGhjcDogYWRkIGFic3RyYWN0IGNsYXNzIGZvciBESENQIHBsdWdpbnMNCj4gwqAg ZGhjcDogc3VibmV0OiBhZGQgREhDUCBvcHRpb25zIHRvIHN1Ym5ldCBjb25maWd1cmF0aW9uDQo+ IMKgIGRoY3A6IGFkZCBESENQIHBsdWdpbiBmb3IgZG5zbWFzcQ0KPiDCoCBpcGFtOiBBZGQgaGVs cGVyIG1ldGhvZHMgZm9yIERIQ1AgdG8gUFZFIElQQU0NCj4gwqAgZGhjcDogcmVnZW5lcmF0ZSBj b25maWcgZm9yIERIQ1Agc2VydmVycyBvbiByZWxvYWQNCj4gDQo+IMKgZGViaWFuL2NvbnRyb2zC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMSAr DQo+IMKgc3JjL1BWRS9OZXR3b3JrL1NETi5wbcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoCAxMSArLQ0KPiDCoHNyYy9QVkUvTmV0d29yay9TRE4vRGhjcC5wbcKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCAxOTINCj4gKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiDCoHNyYy9Q VkUvTmV0d29yay9TRE4vRGhjcC9EbnNtYXNxLnBtwqDCoMKgIHwgMTg2DQo+ICsrKysrKysrKysr KysrKysrKysrKysrKw0KPiDCoHNyYy9QVkUvTmV0d29yay9TRE4vRGhjcC9NYWtlZmlsZcKgwqDC oMKgwqAgfMKgwqAgOCArKw0KPiDCoHNyYy9QVkUvTmV0d29yay9TRE4vRGhjcC9QbHVnaW4ucG3C oMKgwqDCoCB8wqAgODMgKysrKysrKysrKysNCj4gwqBzcmMvUFZFL05ldHdvcmsvU0ROL0lwYW1z L1BWRVBsdWdpbi5wbSB8wqAgNjQgKysrKysrKysrDQo+IMKgc3JjL1BWRS9OZXR3b3JrL1NETi9N YWtlZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDMgKy0NCj4gwqBzcmMvUFZFL05ldHdv cmsvU0ROL1N1Ym5ldFBsdWdpbi5wbcKgwqDCoCB8wqAgMzIgKysrKysNCj4gwqBzcmMvUFZFL05l dHdvcmsvU0ROL1N1Ym5ldHMucG3CoMKgwqDCoMKgwqDCoMKgIHzCoCA0MyArKysrLS0NCj4gwqBz cmMvUFZFL05ldHdvcmsvU0ROL1ZuZXRzLnBtwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDI3ICsr LS0NCj4gwqAxMSBmaWxlcyBjaGFuZ2VkLCA2MjIgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25z KC0pDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9QVkUvTmV0d29yay9TRE4vRGhjcC5wbQ0K PiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvUFZFL05ldHdvcmsvU0ROL0RoY3AvRG5zbWFzcS5w bQ0KPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvUFZFL05ldHdvcmsvU0ROL0RoY3AvTWFrZWZp bGUNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL1BWRS9OZXR3b3JrL1NETi9EaGNwL1BsdWdp bi5wbQ0KPiANCj4gDQo+IHB2ZS1tYW5hZ2VyOg0KPiANCj4gU3RlZmFuIEhhbnJlaWNoICgxKToN Cj4gwqAgc2RuOiByZWdlbmVyYXRlIERIQ1AgY29uZmlnIG9uIHJlbG9hZA0KPiANCj4gwqBQVkUv QVBJMi9OZXR3b3JrLnBtIHwgMSArDQo+IMKgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp DQo+IA0KPiANCj4gcWVtdS1zZXJ2ZXI6DQo+IA0KPiBTdGVmYW4gSGFucmVpY2ggKDEpOg0KPiDC oCBzZG46IGRoY3A6IGFkZCBESENQIHNldHVwIHRvIHZtLW5ldHdvcmstc2NyaXB0cw0KPiANCj4g wqBQVkUvUWVtdVNlcnZlci5wbcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTQg KysrKysrKysrKysrKysNCj4gwqB2bS1uZXR3b3JrLXNjcmlwdHMvcHZlLWJyaWRnZcKgwqDCoMKg IHzCoCAzICsrKw0KPiDCoHZtLW5ldHdvcmstc2NyaXB0cy9wdmUtYnJpZGdlZG93biB8IDE5ICsr KysrKysrKysrKysrKysrKysNCj4gwqAzIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKykN Cj4gDQo+IA0KPiBwdmUtY29udGFpbmVyOg0KPiANCj4gU3RlZmFuIEhhbnJlaWNoICgxKToNCj4g wqAgc2RuOiBkaGNwOiBzZXR1cCBESENQIG1hcHBpbmdzIGluIExYQyBob29rcw0KPiANCj4gwqBz cmMvUFZFL0xYQy5wbcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAxMCArKysrKysrKysrDQo+IMKg c3JjL2x4Yy1wdmUtcG9zdHN0b3AtaG9vayB8wqAgMSArDQo+IMKgc3JjL2x4Yy1wdmUtcHJlc3Rh cnQtaG9vayB8wqAgOSArKysrKysrKysNCj4gwqAzIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlv bnMoKykNCj4gDQo+IA0KPiBTdW1tYXJ5IG92ZXIgYWxsIHJlcG9zaXRvcmllczoNCj4gwqAgMjAg ZmlsZXMgY2hhbmdlZCwgNjgxIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQ0KPiANCj4g LS0NCj4gbXVycHAgdjAuNC4wDQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCj4gcHZlLWRldmVsIG1haWxpbmcgbGlzdA0KPiBwdmUtZGV2 ZWxAbGlzdHMucHJveG1veC5jb20NCj4gaHR0cHM6Ly9hbnRpcGhpc2hpbmcuY2V0c2kuZnIvcHJv eHkvdjM/aT1kMWw0TlhOTmFXRTRTV1pxVTBkTFdjdVRmZHhFDQo+IGQ5OE5mV0lwOWRtYTVrWSZy PU1YSlVhMEZyVVZKcWMxVXdZV3hOWi0NCj4gdHVYZHVFTzhBTVZuQ3ZZVk1wckNaM29QaWxneTNu WGN1SlRPR0g1aUs4NHJWUmc4Y3VrRkFST2R4WVJnRlRUZyZmPWMyDQo+IHhNZFZONFNtaDJSMnRP WkRkSVJLQ2s3V0VvY0hwVFBNZXJUMVEtDQo+IEFxNXF3cjhsMnh2QVd1T0d2RnNWM2ZycDJvU0Fn eE5VUUNwSkRIcDJpVW1UV2cmdT1odHRwcyUzQS8vbGlzdHMucHJveA0KPiBtb3guY29tL2NnaS1i aW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwmaz1manpTDQoNCg0KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QN CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQ0KaHR0cHM6Ly9hbnRpcGhpc2hpbmcuY2V0c2ku ZnIvcHJveHkvdjM/aT1kMWw0TlhOTmFXRTRTV1pxVTBkTFdjdVRmZHhFZDkNCjhOZldJcDlkbWE1 a1kmcj1NWEpVYTBGclVWSnFjMVV3WVd4TlotDQp0dVhkdUVPOEFNVm5DdllWTXByQ1ozb1BpbGd5 M25YY3VKVE9HSDVpSzg0clZSZzhjdWtGQVJPZHhZUmdGVFRnJmY9YzJ4TQ0KZFZONFNtaDJSMnRP WkRkSVJLQ2s3V0VvY0hwVFBNZXJUMVEtDQpBcTVxd3I4bDJ4dkFXdU9HdkZzVjNmcnAyb1NBZ3hO VVFDcEpESHAyaVVtVFdnJnU9aHR0cHMlM0EvL2xpc3RzLnByb3htbw0KeC5jb20vY2dpLWJpbi9t YWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbCZrPWZqelMNCg0KDQo=