From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, LOTS_OF_MONEY,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BBFBAC2BA83 for ; Thu, 13 Feb 2020 11:14:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8136B20848 for ; Thu, 13 Feb 2020 11:14:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729874AbgBMLN7 (ORCPT ); Thu, 13 Feb 2020 06:13:59 -0500 Received: from mga03.intel.com ([134.134.136.65]:13458 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726232AbgBMLN7 (ORCPT ); Thu, 13 Feb 2020 06:13:59 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Feb 2020 03:13:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,436,1574150400"; d="scan'208";a="267040890" Received: from orsmsx101.amr.corp.intel.com ([10.22.225.128]) by fmsmga002.fm.intel.com with ESMTP; 13 Feb 2020 03:13:56 -0800 Received: from orsmsx157.amr.corp.intel.com (10.22.240.23) by ORSMSX101.amr.corp.intel.com (10.22.225.128) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 13 Feb 2020 03:13:56 -0800 Received: from orsmsx115.amr.corp.intel.com ([169.254.4.100]) by ORSMSX157.amr.corp.intel.com ([169.254.9.95]) with mapi id 14.03.0439.000; Thu, 13 Feb 2020 03:13:55 -0800 From: "Boeuf, Sebastien" To: "sgarzare@redhat.com" CC: "stefanha@redhat.com" , "netdev@vger.kernel.org" , "davem@davemloft.net" Subject: Re: [PATCH] net: virtio_vsock: Fix race condition between bind and listen Thread-Topic: [PATCH] net: virtio_vsock: Fix race condition between bind and listen Thread-Index: AQHV4k47o+FvdyeZdUa5OLpq2zu4PqgZZQkAgAAC0ACAAAitgIAABgwAgAAFMoCAAAMUAA== Date: Thu, 13 Feb 2020 11:13:55 +0000 Message-ID: References: <668b0eda8823564cd604b1663dc53fbaece0cd4e.camel@intel.com> <20200213094130.vehzkr4a3pnoiogr@steredhat> <3448e588f11dad913e93dfce8031fbd60ba4c85b.camel@intel.com> <20200213102237.uyhfv5g2td5ayg2b@steredhat> <1d4c3958d8b75756341548e7d51ccf42397c2d27.camel@intel.com> <20200213110251.2unj3sykwpku6dd7@steredhat> In-Reply-To: <20200213110251.2unj3sykwpku6dd7@steredhat> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.252.24.191] Content-Type: text/plain; charset="utf-8" Content-ID: MIME-Version: 1.0 Content-Transfer-Encoding: base64 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org T24gVGh1LCAyMDIwLTAyLTEzIGF0IDEyOjAyICswMTAwLCBTdGVmYW5vIEdhcnphcmVsbGEgd3Jv dGU6DQo+IE9uIFRodSwgRmViIDEzLCAyMDIwIGF0IDEwOjQ0OjE4QU0gKzAwMDAsIEJvZXVmLCBT ZWJhc3RpZW4gd3JvdGU6DQo+ID4gT24gVGh1LCAyMDIwLTAyLTEzIGF0IDExOjIyICswMTAwLCBT dGVmYW5vIEdhcnphcmVsbGEgd3JvdGU6DQo+ID4gPiBPbiBUaHUsIEZlYiAxMywgMjAyMCBhdCAw OTo1MTozNkFNICswMDAwLCBCb2V1ZiwgU2ViYXN0aWVuIHdyb3RlOg0KPiA+ID4gPiBIaSBTdGVm YW5vLA0KPiA+ID4gPiANCj4gPiA+ID4gT24gVGh1LCAyMDIwLTAyLTEzIGF0IDEwOjQxICswMTAw LCBTdGVmYW5vIEdhcnphcmVsbGEgd3JvdGU6DQo+ID4gPiA+ID4gSGkgU2ViYXN0aWVuLA0KPiA+ ID4gPiA+IA0KPiA+ID4gPiA+IE9uIFRodSwgRmViIDEzLCAyMDIwIGF0IDA5OjE2OjExQU0gKzAw MDAsIEJvZXVmLCBTZWJhc3RpZW4NCj4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+IEZyb20g MmYxMjc2ZDAyZjVhMTJkODVhZWM1YWRjMTFkZmUxZWFiN2UxNjBkNiBNb24gU2VwIDE3DQo+ID4g PiA+ID4gPiAwMDowMDowMA0KPiA+ID4gPiA+ID4gMjAwMQ0KPiA+ID4gPiA+ID4gRnJvbTogU2Vi YXN0aWVuIEJvZXVmIDxzZWJhc3RpZW4uYm9ldWZAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gRGF0 ZTogVGh1LCAxMyBGZWIgMjAyMCAwODo1MDozOCArMDEwMA0KPiA+ID4gPiA+ID4gU3ViamVjdDog W1BBVENIXSBuZXQ6IHZpcnRpb192c29jazogRml4IHJhY2UgY29uZGl0aW9uDQo+ID4gPiA+ID4g PiBiZXR3ZWVuDQo+ID4gPiA+ID4gPiBiaW5kDQo+ID4gPiA+ID4gPiBhbmQgbGlzdGVuDQo+ID4g PiA+ID4gPiANCj4gPiA+ID4gPiA+IFdoZW5ldmVyIHRoZSB2c29jayBiYWNrZW5kIG9uIHRoZSBo b3N0IHNlbmRzIGEgcGFja2V0DQo+ID4gPiA+ID4gPiB0aHJvdWdoDQo+ID4gPiA+ID4gPiB0aGUN Cj4gPiA+ID4gPiA+IFJYDQo+ID4gPiA+ID4gPiBxdWV1ZSwgaXQgZXhwZWN0cyBhbiBhbnN3ZXIg b24gdGhlIFRYIHF1ZXVlLiBVbmZvcnR1bmF0ZWx5LA0KPiA+ID4gPiA+ID4gdGhlcmUNCj4gPiA+ ID4gPiA+IGlzIG9uZQ0KPiA+ID4gPiA+ID4gY2FzZSB3aGVyZSB0aGUgaG9zdCBzaWRlIHdpbGwg aGFuZyB3YWl0aW5nIGZvciB0aGUgYW5zd2VyDQo+ID4gPiA+ID4gPiBhbmQNCj4gPiA+ID4gPiA+ IHdpbGwNCj4gPiA+ID4gPiA+IGVmZmVjdGl2ZWx5IG5ldmVyIHJlY292ZXIuDQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gRG8geW91IGhhdmUgYSB0ZXN0IGNhc2U/DQo+ID4gPiA+IA0KPiA+ID4gPiBZ ZXMgSSBkby4gVGhpcyBoYXMgYmVlbiBhIGJ1ZyB3ZSd2ZSBiZWVuIGludmVzdGlnYXRpbmcgb24g S2F0YQ0KPiA+ID4gPiBDb250YWluZXJzIGZvciBxdWl0ZSBzb21lIHRpbWUgbm93LiBUaGlzIHdh cyBoYXBwZW5pbmcgd2hlbg0KPiA+ID4gPiB1c2luZw0KPiA+ID4gPiBLYXRhDQo+ID4gPiA+IGFs b25nIHdpdGggQ2xvdWQtSHlwZXJ2aXNvciAod2hpY2ggcmVseSBvbiB0aGUgaHlicmlkIHZzb2Nr DQo+ID4gPiA+IGltcGxlbWVudGF0aW9uIGZyb20gRmlyZWNyYWNrZXIpLiBUaGUgdGhpbmcgaXMs IHRoaXMgYnVnIGlzDQo+ID4gPiA+IHZlcnkNCj4gPiA+ID4gaGFyZA0KPiA+ID4gPiB0byByZXBy b2R1Y2UgYW5kIHdhcyBoYXBwZW5pbmcgZm9yIEthdGEgYmVjYXVzZSBvZiB0aGUNCj4gPiA+ID4g Y29ubmVjdGlvbg0KPiA+ID4gPiBzdHJhdGVneS4gVGhlIGthdGEtcnVudGltZSB0cmllcyB0byBj b25uZWN0IGEgbWlsbGlvbiB0aW1lcw0KPiA+ID4gPiBhZnRlcg0KPiA+ID4gPiBpdA0KPiA+ID4g PiBzdGFydGVkIHRoZSBWTSwganVzdCBob3BpbmcgdGhlIGthdGEtYWdlbnQgd2lsbCBzdGFydCB0 byBsaXN0ZW4NCj4gPiA+ID4gZnJvbQ0KPiA+ID4gPiB0aGUgZ3Vlc3Qgc2lkZSBhdCBzb21lIHBv aW50Lg0KPiA+ID4gDQo+ID4gPiBNYXliZSBpcyByZWxhdGVkIHRvIHNvbWV0aGluZyBlbHNlLiBJ IHRyaWVkIHRoZSBmb2xsb3dpbmcgd2hpY2gNCj4gPiA+IHNob3VsZCBiZQ0KPiA+ID4geW91ciBj YXNlIHNpbXBsaWZpZWQgKElJVUMpOg0KPiA+ID4gDQo+ID4gPiBndWVzdCQgcHl0aG9uDQo+ID4g PiAgICAgaW1wb3J0IHNvY2tldA0KPiA+ID4gICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5B Rl9WU09DSywgc29ja2V0LlNPQ0tfU1RSRUFNKQ0KPiA+ID4gICAgIHMuYmluZCgoc29ja2V0LlZN QUREUl9DSURfQU5ZLCAxMjM0KSkNCj4gPiA+IA0KPiA+ID4gaG9zdCQgcHl0aG9uDQo+ID4gPiAg ICAgaW1wb3J0IHNvY2tldA0KPiA+ID4gICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9W U09DSywgc29ja2V0LlNPQ0tfU1RSRUFNKQ0KPiA+ID4gICAgIHMuY29ubmVjdCgoMywgMTIzNCkp DQo+ID4gPiANCj4gPiA+IFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToNCj4gPiA+ ICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4NCj4gPiA+IFRpbWVvdXRFcnJv cjogW0Vycm5vIDExMF0gQ29ubmVjdGlvbiB0aW1lZCBvdXQNCj4gPiANCj4gPiBZZXMgdGhpcyBp cyBleGFjdGx5IHRoZSBzaW1wbGlmaWVkIGNhc2UuIEJ1dCB0aGF0J3MgdGhlIHBvaW50LCBJDQo+ ID4gZG9uJ3QNCj4gPiB0aGluayB0aGUgdGltZW91dCBpcyB0aGUgYmVzdCB3YXkgdG8gZ28gaGVy ZS4gQmVjYXVzZSB0aGlzIG1lYW5zDQo+ID4gdGhhdA0KPiA+IHdoZW4gd2UgcnVuIGludG8gdGhp cyBjYXNlLCB0aGUgaG9zdCBzaWRlIHdpbGwgd2FpdCBmb3IgcXVpdGUgc29tZQ0KPiA+IHRpbWUN Cj4gPiBiZWZvcmUgcmV0cnlpbmcsIHdoaWNoIGNhbiBjYXVzZSBhIHZlcnkgbG9uZyBkZWxheSBi ZWZvcmUgdGhlDQo+ID4gY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBndWVzdCBpcyBlc3RhYmxpc2hl ZC4gQnkgc2ltcGx5IGFuc3dlcmluZw0KPiA+IHRoZQ0KPiA+IGhvc3Qgd2l0aCBhIFJTVCBwYWNr ZXQsIHdlIGluZm9ybSBpdCB0aGF0IG5vYm9keSdzIGxpc3RlbmluZyBvbiB0aGUNCj4gPiBndWVz dCBzaWRlIHlldCwgdGhlcmVmb3JlIHRoZSBob3N0IHNpZGUgd2lsbCBjbG9zZSBhbmQgdHJ5IGFn YWluLg0KPiANCj4gWWVzLCBtYWtlIHNlbnNlLg0KPiANCj4gSSBqdXN0IHdhbnRlZCB0byBwb2lu dCBvdXQgdGhhdCB0aGUgaG9zdCBzaG91bGRuJ3QgZ2V0IHN0dWNrIGlmIHRoZQ0KPiBndWVzdCBk b2Vzbid0IHJlc3BvbmQuIFNvIGl0J3Mgd2VpcmQgdGhhdCB0aGlzIGhhcHBlbnMgYW5kIGl0IG1p Z2h0DQo+IGJlDQo+IHJlbGF0ZWQgdG8gc29tZSBvdGhlciBwcm9ibGVtLg0KDQpZZXMgdGhhdCdz IGJlY2F1c2Ugd2UncmUgdXNpbmcgdGhlIGh5YnJpZCB2c29jayBpbXBsZW1lbnRhdGlvbiBmcm9t DQpGaXJlY3JhY2tlci4gU28gYmFzaWNhbGx5IHRoZXkgcHJveHkgYSBVTklYIHNvY2tldCBjb25u ZWN0aW9uIGludG8gYQ0KVlNPQ0sgc29ja2V0LiBBbmQgdGhlIHRpbWVvdXQgaXMgbm90IGltcGxl bWVudGVkLiBJJ2xsIHBvaW50IHRoZW0gb3V0DQp0aGF0J3Mgc29tZXRoaW5nIGl0J2QgYmUgbmlj ZSB0byBoYXZlIGFsb25nIHdpdGggdGhpcyBmaXggaW4gdGhlIGd1ZXN0Lg0KDQo+IA0KPiA+ID4g PiA+IEluIHRoZSBob3N0LCB0aGUgYWZfdnNvY2suYzp2c29ja19zdHJlYW1fY29ubmVjdCgpIHNl dCBhDQo+ID4gPiA+ID4gdGltZW91dCwNCj4gPiA+ID4gPiBzbw0KPiA+ID4gPiA+IGlmDQo+ID4g PiA+ID4gdGhlIGhvc3QgdHJ5IHRvIGNvbm5lY3QgYmVmb3JlIHRoZSBndWVzdCBzdGFydHMgbGlz dGVuaW5nLA0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IGNvbm5lY3QoKQ0KPiA+ID4gPiA+IHNo b3VsZCByZXR1cm4gRVRJTUVET1VUIGlmIHRoZSBndWVzdCBkb2VzIG5vdCBhbnN3ZXINCj4gPiA+ ID4gPiBhbnl0aGluZy4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBBbnl3YXksIG1heWJlIHRoZSBw YXRjaCBtYWtlIHNlbnNlIGFueXdheSwgY2hhbmdpbmcgYSBiaXQgdGhlDQo+ID4gPiA+ID4gZGVz Y3JpcHRpb24NCj4gPiA+ID4gPiAoaWYgdGhlIGhvc3QgY29ubmVjdCgpIHJlY2VpdmUgdGhlIEVU SU1FRE9VVCkuDQo+ID4gPiA+ID4gSSdtIGp1c3QgY29uY2VybmVkIHRoYXQgdGhpcyBjb2RlIGlz IGNvbW1vbiBiZXR3ZWVuIGd1ZXN0IGFuZA0KPiA+ID4gPiA+IGhvc3QuDQo+ID4gPiA+ID4gSWYg YQ0KPiA+ID4gPiA+IG1hbGljaW91cyBndWVzdCBzdGFydHMgc2VuZGluZyB1cyB3cm9uZyByZXF1 ZXN0cywgd2Ugc3BlbmQNCj4gPiA+ID4gPiB0aW1lDQo+ID4gPiA+ID4gc2VuZGluZw0KPiA+ID4g PiA+IGEgcmVzZXQgcGFja2V0LiBCdXQgd2UgYWxyZWFkeSBkbyB0aGF0IGlmIHdlIGNhbid0IGZp bmQgdGhlDQo+ID4gPiA+ID4gYm91bmQNCj4gPiA+ID4gPiBzb2NrZXQsDQo+ID4gPiA+ID4gc28g aXQgbWlnaHQgbWFrZSBzZW5zZS4NCj4gPiA+ID4gDQo+ID4gPiA+IFllcyBJIGRvbid0IHRoaW5r IHRoaXMgaXMgZ29ubmEgY2F1c2UgbW9yZSB0cm91YmxlLCBidXQgYXQNCj4gPiA+ID4gbGVhc3Qg d2UNCj4gPiA+ID4gY2Fubm90IGVuZCB1cCBpbiB0aGlzIHdlaXJkIHNpdHVhdGlvbiBJIGRlc2Ny aWJlZC4NCj4gPiA+IA0KPiA+ID4gT2theSwgYnV0IGluIHRoZSBob3N0LCB3ZSBjYW4ndCB0cnVz dCB0aGUgZ3Vlc3QgdG8gYW5zd2VyLCB3ZQ0KPiA+ID4gc2hvdWxkDQo+ID4gPiBoYW5kbGUgdGhp cyBjYXNlIHByb3Blcmx5Lg0KPiA+IA0KPiA+IFdlbGwgSSBjYW5ub3QgYWdyZWUgbW9yZSB3aXRo IHRoZSAid2UgY2Fubm90IHRydXN0IHRoZSBndWVzdCINCj4gPiBwaGlsb3NvcGh5LCBidXQgaW4g dGhpcyBjYXNlIHRoZSB3b3JzdCB0aGluZyB0aGF0IGNhbiBoYXBwZW4gaXMgdGhlDQo+ID4gZ3Vl c3Qgc2hvb3RpbmcgaGltc2VsZiBpbiB0aGUgZm9vdCBiZWNhdXNlIGl0IHdvdWxkIHNpbXBseSBw cmV2ZW50DQo+ID4gdGhlDQo+ID4gY29ubmVjdGlvbiBmcm9tIGhhcHBlbmluZy4NCj4gPiANCj4g PiBBbmQgSSBhZ3JlZSBzZXR0aW5nIHVwIGEgdGltZW91dCBmcm9tIHRoZSBob3N0IHNpZGUgaXMg c3RpbGwgYSBnb29kDQo+ID4gaWRlYSBmb3IgcHJldmVudGluZyBmcm9tIHN1Y2ggRE9TIGF0dGFj ay4NCj4gPiANCj4gPiBCdXQgYXMgSSBtZW50aW9uZWQgYWJvdmUsIGluIHRoZSBub3JtYWwgdXNl IGNhc2UsIHRoaXMgYWxsb3dzIGZvcg0KPiA+IGJldHRlciByZXNwb25zaXZlbmVzcyB3aGVuIGl0 IGNvbWVzIHRvIGVzdGFibGlzaCB0aGUgY29ubmVjdGlvbiBhcw0KPiA+IGZhc3QNCj4gPiBhcyBw b3NzaWJsZS4NCj4gDQo+IFN1cmUsIG1heWJlIHlvdSBjYW4gcmV3cml0ZSBhIGJpdCB0aGUgY29t bWl0ICh0aXRsZSBhbmQgYm9keSkgdG8NCj4gZXhwbGFpbg0KPiB0aGlzLg0KDQpPZiBjb3Vyc2Us IGxldCBtZSB3b3JrIG9uIHRoaXMuDQpIb3cgYW0gSSBzdXBwb3NlZCB0byByZXNlbmQgdGhlIHBh dGNoPyBTaG91bGQgSSBzZW5kIGEgbmV3IGVtYWlsIHdpdGgNCnYyIGluIHRoZSB0aXRsZT8NCg0K PiANCj4gPiA+ID4gSSB3YXMganVzdCBub3Qgc3VyZSBpZiB0aGUgZnVuY3Rpb24gd2Ugc2hvdWxk IHVzZSB0byBkbyB0aGUNCj4gPiA+ID4gcmVzZXQNCj4gPiA+ID4gc2hvdWxkIGJlIHZpcnRpb190 cmFuc3BvcnRfcmVzZXRfbm9fc29jaygpIG9yDQo+ID4gPiA+IHZpcnRpb190cmFuc3BvcnRfcmVz ZXQoKQ0KPiA+ID4gPiBzaW5jZSBhdCB0aGlzIHBvaW50IHRoZSBzb2NrZXQgaXMgYWxyZWFkeSBi b3VuZC4NCj4gPiA+IA0KPiA+ID4gSSB0aGluayB5b3UgY2FuIHNhZmVseSB1c2UgdmlydGlvX3Ry YW5zcG9ydF9yZXNldCgpIGluIHRoaXMgY2FzZS4NCj4gPiANCj4gPiBJJ3ZlIGp1c3QgdHJpZWQg aXQgYW5kIHVuZm9ydHVuYXRlbHkgaXQgZG9lc24ndCB3b3JrLiBJIHRoaW5rDQo+ID4gdGhhdCdz DQo+ID4gYmVjYXVzZSB0aGUgY29ubmVjdGlvbiBoYXMgbm90IGJlZW4gcHJvcGVybHkgZXN0YWJs aXNoZWQgeWV0LCBzbyB3ZQ0KPiA+IGNhbm5vdCBjb25zaWRlciBiZWluZyBpbiB0aGlzIGNhc2Uu DQo+ID4gVXNpbmcgdmlydGlvX3RyYW5zcG9ydF9yZXNldF9ub19zb2NrKCkgc2VlbXMgbGlrZSB0 aGUgbGVzcw0KPiA+IGludHJ1c2l2ZQ0KPiA+IGZ1bmN0aW9uIGhlcmUuDQo+IA0KPiBPaCBzb3Jy eSwgSSBhbHNvIHB1dCBhIGNvbW1lbnQgb24gdmlydGlvX3RyYW5zcG9ydF9yZXNldCgpIHRvIHNh eSB0bw0KPiB1c2UgaXQNCj4gb25seSBvbiBjb25uZWN0ZWQgc29ja2V0cyBhbmQgbm90IGxpc3Rl bmVycy4NCj4gSW4gdGhpcyBjYXNlIGl0J3MgYSBsaXN0ZW5lciwgc29ycnkgZm9yIHRoZSB3cm9u ZyBzdWdnZXN0aW9uLg0KDQpIZWhlIG5vIHdvcnJpZXMsIGF0IGxlYXN0IHdlJ3JlIG9uIHRoZSBz YW1lIHBhZ2UgOikNCg0KVGhhbmtzLA0KU2ViYXN0aWVuDQoNCj4gDQo+IFRoYW5rcywNCj4gU3Rl ZmFubw0KPiANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJbnRlbCBDb3Jwb3JhdGlvbiBTQVMgKEZyZW5jaCBzaW1w bGlmaWVkIGpvaW50IHN0b2NrIGNvbXBhbnkpClJlZ2lzdGVyZWQgaGVhZHF1YXJ0ZXJzOiAiTGVz IE1vbnRhbGV0cyItIDIsIHJ1ZSBkZSBQYXJpcywgCjkyMTk2IE1ldWRvbiBDZWRleCwgRnJhbmNl ClJlZ2lzdHJhdGlvbiBOdW1iZXI6ICAzMDIgNDU2IDE5OSBSLkMuUy4gTkFOVEVSUkUKQ2FwaXRh bDogNCw1NzIsMDAwIEV1cm9zCgpUaGlzIGUtbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBj b250YWluIGNvbmZpZGVudGlhbCBtYXRlcmlhbCBmb3IKdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRl bmRlZCByZWNpcGllbnQocykuIEFueSByZXZpZXcgb3IgZGlzdHJpYnV0aW9uCmJ5IG90aGVycyBp cyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQKcmVjaXBp ZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVyIGFuZCBkZWxldGUgYWxsIGNvcGllcy4K