Received: by 10.223.164.202 with SMTP id h10csp675128wrb; Fri, 17 Nov 2017 06:58:08 -0800 (PST) X-Google-Smtp-Source: AGs4zMbw8uvkJsTvCfBPwhZWDfZbeg190TDAYqqtdtTxRE6lt+p7q/AhSKcAysMmV0m+XB9lNKH0 X-Received: by 10.84.133.111 with SMTP id 102mr5517114plf.136.1510930688819; Fri, 17 Nov 2017 06:58:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510930688; cv=none; d=google.com; s=arc-20160816; b=hl773BwCxNPqPH3fBJfvBio3nlSPN8bA1BfVAI5MPhwz6Wvv179xXgAnAgYpd7O90v 2xRSpx+LbDpFIcul/k3JJ+SfkWhwYNJ5x7B5VBwqxZF2hspFyE6hBewSl1MzJjsmyK8W Tyf3IBf1ps/Rou0OxJsEHU2wHB050rm5lw2AsrJaEGZ0MlUsH9G86QKveMVjqLw2M8// SNUVnZPP8SnVmH6T6gDLXc1V+YH0YdbNpqflnhmi8GxTZkVCv0iLyyP2VcB28N36C6ok Z9L5Xii/ymZD9Hr6mLnhg8RcIWFFKQA5LGqgD3nYUx0+9P/un/s8c1T+Rl/7p85YCFnU kjiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :dlp-reaction:dlp-version:dlp-product:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:arc-authentication-results; bh=N+SS0cCCfD2HYsQq7mDnubzeG/3myK42jJwFV2+Uj4U=; b=B62igzZZOep87w3eO3Zeigc8W529PKa2PCvxfxEn1DD6bQV7wFZsdizqP4q/VopcL2 Ggf1V6o21EOcFJB9nZvMwMc0lTong+so0LVntPaGJjBh8cseHSTg+YIrNyPBj2rQd3Rd ssqcteU4yyB9RHcN8vo04OyYog6PYkRYuIqCxAMu8dOgcsclm/l/bser1lpAE6wp61O5 XynkMlFDRAdaiqe7qzVmHrRve+5Xix7++6TAh2OV5BbSjvHkMyhL3eoaO+CLMz42LADQ ycQc0ujQN4xpNWeAH8JskKEWfaTumRDCw0cdrMrSQknYmcs7VrATvn9HrNBfUuUs8pHG Jo9w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 190si2876886pgj.9.2017.11.17.06.57.55; Fri, 17 Nov 2017 06:58:08 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757386AbdKQISK (ORCPT + 91 others); Fri, 17 Nov 2017 03:18:10 -0500 Received: from mga01.intel.com ([192.55.52.88]:37390 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751322AbdKQISC (ORCPT ); Fri, 17 Nov 2017 03:18:02 -0500 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Nov 2017 00:18:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,407,1505804400"; d="scan'208";a="3704443" Received: from irsmsx105.ger.corp.intel.com ([163.33.3.28]) by fmsmga001.fm.intel.com with ESMTP; 17 Nov 2017 00:17:58 -0800 Received: from irsmsx112.ger.corp.intel.com (10.108.20.5) by irsmsx105.ger.corp.intel.com (163.33.3.28) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 17 Nov 2017 08:17:57 +0000 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.180]) by irsmsx112.ger.corp.intel.com ([169.254.1.12]) with mapi id 14.03.0319.002; Fri, 17 Nov 2017 08:17:57 +0000 From: "Reshetova, Elena" To: Kees Cook CC: Peter Zijlstra , LKML , Greg KH , Thomas Gleixner , Ingo Molnar , Hans Liljestrand , "Paul E. McKenney" , Alan Stern , Jonathan Corbet , "linux-doc@vger.kernel.org" Subject: RE: [PATCH] refcount_t: documentation for memory ordering differences Thread-Topic: [PATCH] refcount_t: documentation for memory ordering differences Thread-Index: AQHTXecvasfUDpVAcEqQmsKb+ISJG6MXqkUAgACO6WA= Date: Fri, 17 Nov 2017 08:17:56 +0000 Message-ID: <2236FBA76BA1254E88B949DDB74E612B802BF69F@IRSMSX102.ger.corp.intel.com> References: <1510732551-25547-1-git-send-email-elena.reshetova@intel.com> <1510732551-25547-2-git-send-email-elena.reshetova@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWIzMTcwMGMtNDVmNi00ZTcwLWFhOGEtM2Q4NjE4OGY5ZTg3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJwU2RXT3Z6Tm1nV2E3MEFYYTA2OVFjajFHRjhMZlY0bDFjNVowVVZ6SUNDcFR2MmFkVWtQNXROSndXNDYwTlVkIn0= x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgS2VlcywgDQoNClRoYW5rIHlvdSBmb3IgdGhlIHByb29mIHJlYWRpbmcuIEkgd2lsbCBmaXgg dGhlIHR5cG9zL2xhbmd1YWdlLCBidXQNCnNlZSB0aGUgY29tbWVudHMgb24gYmlnZ2VyIHRoaW5n cyBpbnNpZGUuIA0KDQo+IE9uIFR1ZSwgTm92IDE0LCAyMDE3IGF0IDExOjU1IFBNLCBFbGVuYSBS ZXNoZXRvdmENCj4gPGVsZW5hLnJlc2hldG92YUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+IFNvbWUg ZnVuY3Rpb25zIGZyb20gcmVmY291bnRfdCBBUEkgcHJvdmlkZSBkaWZmZXJlbnQNCj4gPiBtZW1v cnkgb3JkZXJpbmcgZ3VhcmFudGVlcyB0aGF0IHRoZWlyIGF0b21pYyBjb3VudGVycGFydHMuDQo+ ID4gVGhpcyBhZGRzIGEgZG9jdW1lbnQgb3V0bGluaW5nIHRoZXNlIGRpZmZlcmVuY2VzLg0KPiAN Cj4gVGhhbmtzIGZvciB3cml0aW5nIHRoaXMgdXAhIE9uZSBiaWtlLXNoZWRkaW5nIHRoaW5nIEkn bGwgYnJpbmcgdXANCj4gYmVmb3JlIGFueW9uZSBlbHNlIGRvZXMgaXM6IHBsZWFzZSBmb3JtYXQg dGhpcyBpbiBSZVNUIGFuZCBsaW5rIHRvIGl0DQo+IGZyb20gc29tZXdoZXJlIChsaWtlbHkgZGV2 ZWxvcGVyIGRvY3VtZW50YXRpb24pIGluIHRoZSBEb2N1bWVudGF0aW9uLw0KPiBpbmRleC5yc3Qg ZmlsZSBzb21ld2hlcmUuDQo+IA0KPiBQZXJoYXBzIGluIERvY3VtZW50YXRpb24vY29yZS1hcGkv aW5kZXgucnN0ID8NCg0KU3VyZSwgSSBjYW4gZG8gaXQuIA0KUGV0ZXIgZG8geW91IGhhdmUgYW55 IG9iamVjdGlvbnM/DQoNCj4gDQo+IExvdHMgb2Ygbm90ZXMgaGVyZToNCj4gaHR0cHM6Ly93d3cu a2VybmVsLm9yZy9kb2MvaHRtbC9sYXRlc3QvZG9jLWd1aWRlL3NwaGlueC5odG1sI3dyaXRpbmct DQo+IGRvY3VtZW50YXRpb24NCj4gDQo+ID4gU2lnbmVkLW9mZi1ieTogRWxlbmEgUmVzaGV0b3Zh IDxlbGVuYS5yZXNoZXRvdmFAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBEb2N1bWVudGF0aW9u L3JlZmNvdW50LXZzLWF0b21pYy50eHQgfCAxMjQNCj4gKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysNCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDEyNCBpbnNlcnRpb25zKCspDQo+ID4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL3JlZmNvdW50LXZzLWF0b21pYy50eHQN Cj4gPg0KPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlZmNvdW50LXZzLWF0b21pYy50 eHQgYi9Eb2N1bWVudGF0aW9uL3JlZmNvdW50LXZzLQ0KPiBhdG9taWMudHh0DQo+ID4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi5lNzAzMDM5DQo+ID4gLS0tIC9kZXYv bnVsbA0KPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vcmVmY291bnQtdnMtYXRvbWljLnR4dA0KPiA+ IEBAIC0wLDAgKzEsMTI0IEBADQo+ID4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCj4gPiArcmVmY291bnRfdCBBUEkgY29tcGFyZSB0byBhdG9taWNfdA0KPiANCj4gImNvbXBh cmVkIg0KPiANCj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ICsN Cj4gPiArVGhlIGdvYWwgb2YgcmVmY291bnRfdCBBUEkgaXMgdG8gcHJvdmlkZSBhIG1pbmltYWwg QVBJIGZvciBpbXBsZW1lbnRpbmcNCj4gPiArb2JqZWN0J3MgcmVmZXJlbmNlIGNvdW50ZXJzLiBX aGlsZSBhIGdlbmVyaWMgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50DQo+IA0KPiAiYW4gb2JqZWN0 J3MiDQo+IA0KPiA+ICtpbXBsZW1lbnRhdGlvbiBmcm9tIGxpYi9yZWZjb3VudC5jIHVzZXMgYXRv bWljIG9wZXJhdGlvbnMgdW5kZXJuZWF0aCwNCj4gPiArdGhlcmUgYXJlIGEgbnVtYmVyIG9mIGRp ZmZlcmVuY2VzIGJldHdlZW4gc29tZSBvZiB0aGUgcmVmY291bnRfKigpIGFuZA0KPiA+ICthdG9t aWNfKigpIGZ1bmN0aW9ucyB3aXRoIHJlZ2FyZHMgdG8gdGhlIG1lbW9yeSBvcmRlcmluZyBndWFy YW50ZWVzLg0KPiA+ICsNCj4gPiArVGhpcyBkb2N1bWVudCBvdXRsaW5lcyB0aGUgZGlmZmVyZW5j ZXMgYW5kIHByb3ZpZGVzIHJlc3BlY3RpdmUgZXhhbXBsZXMNCj4gPiAraW4gb3JkZXIgdG8gaGVs cCBtYWludGFpbmVycyB2YWxpZGF0ZSB0aGVpciBjb2RlIGFnYWluc3QgdGhlIGNoYW5nZSBpbg0K PiA+ICt0aGVzZSBtZW1vcnkgb3JkZXJpbmcgZ3VhcmFudGVlcy4NCj4gPiArDQo+ID4gK21lbW9y eS1iYXJyaWVycy50eHQgYW5kIGF0b21pY190LnR4dCBwcm92aWRlIG1vcmUgYmFja2dyb3VuZCB0 byB0aGUNCj4gPiArbWVtb3J5IG9yZGVyaW5nIGluIGdlbmVyYWwgYW5kIGZvciBhdG9taWMgb3Bl cmF0aW9ucyBzcGVjaWZpY2FsbHkuDQo+ID4gKw0KPiA+ICtOb3RhdGlvbg0KPiANCj4gU2hvdWxk IHRoaXMgc2VjdGlvbiBiZSBjYWxsZWQgIlR5cGVzIG9mIG1lbW9yeSBvcmRlcmluZyI/DQoNCldl bGwsIHRoZXNlIGFyZSBvbmx5IHNvbWUgdHlwZXMgb2Ygb3JkZXJpbmcgYW5kIGV4cGxhaW5lZCBt b3N0bHkgYXJvdW5kDQpyZWZjb3VudF90IHZzLiBhdG9taWNfdCwgc28gaXQgZG9lc24ndCBjb3Zl ciBldmVyeXRoaW5nLi4uDQoNCj4gDQo+ID4gKz09PT09PT09DQo+ID4gKw0KPiA+ICtBbiBhYnNl bmNlIG9mIG1lbW9yeSBvcmRlcmluZyBndWFyYW50ZWVzIChpLmUuIGZ1bGx5IHVub3JkZXJlZCkN Cj4gPiAraW4gY2FzZSBvZiBhdG9taWNzICYgcmVmY291bnRlcnMgb25seSBwcm92aWRlcyBhdG9t aWNpdHkgYW5kDQo+IA0KPiBJIGNhbid0IHBhcnNlIHRoaXMuICJJbiBhbiBhYnNlbnNlIC4uLiBh dG9taWNzICYgcmVmY291bnRzIG9ubHkgcHJvdmlkZSAuLi4gIj8NCj4gDQo+ID4gK3Byb2dyYW0g b3JkZXIgKHBvKSByZWxhdGlvbiAob24gdGhlIHNhbWUgQ1BVKS4gSXQgZ3VhcmFudGVlcyB0aGF0 DQo+ID4gK2VhY2ggYXRvbWljXyooKSBhbmQgcmVmY291bnRfKigpIG9wZXJhdGlvbiBpcyBhdG9t aWMgYW5kIGluc3RydWN0aW9ucw0KPiA+ICthcmUgZXhlY3V0ZWQgaW4gcHJvZ3JhbSBvcmRlciBv biBhIHNpbmdsZSBDUFUuDQo+ID4gK0ltcGxlbWVudGVkIHVzaW5nIFJFQURfT05DRSgpL1dSSVRF X09OQ0UoKSBhbmQNCj4gPiArY29tcGFyZS1hbmQtc3dhcCBwcmltaXRpdmVzLg0KPiANCj4gRm9y IGhlcmUgYW4gbGF0ZXIsIG1heWJlICJUaGlzIGlzIGltcGxlbWVudGVkIC4uLiINCj4gDQo+ID4g Kw0KPiA+ICtBIHN0cm9uZyAoZnVsbCkgbWVtb3J5IG9yZGVyaW5nIGd1YXJhbnRlZXMgdGhhdCBh bGwgcHJpb3IgbG9hZHMgYW5kDQo+ID4gK3N0b3JlcyAoYWxsIHBvLWVhcmxpZXIgaW5zdHJ1Y3Rp b25zKSBvbiB0aGUgc2FtZSBDUFUgYXJlIGNvbXBsZXRlZA0KPiA+ICtiZWZvcmUgYW55IHBvLWxh dGVyIGluc3RydWN0aW9uIGlzIGV4ZWN1dGVkIG9uIHRoZSBzYW1lIENQVS4NCj4gPiArSXQgYWxz byBndWFyYW50ZWVzIHRoYXQgYWxsIHBvLWVhcmxpZXIgc3RvcmVzIG9uIHRoZSBzYW1lIENQVQ0K PiA+ICthbmQgYWxsIHByb3BhZ2F0ZWQgc3RvcmVzIGZyb20gb3RoZXIgQ1BVcyBtdXN0IHByb3Bh Z2F0ZSB0byBhbGwNCj4gPiArb3RoZXIgQ1BVcyBiZWZvcmUgYW55IHBvLWxhdGVyIGluc3RydWN0 aW9uIGlzIGV4ZWN1dGVkIG9uIHRoZSBvcmlnaW5hbA0KPiA+ICtDUFUgKEEtY3VtdWxhdGl2ZSBw cm9wZXJ0eSkuIEltcGxlbWVudGVkIHVzaW5nIHNtcF9tYigpLg0KPiA+ICsNCj4gPiArQSBSRUxF QVNFIG1lbW9yeSBvcmRlcmluZyBndWFyYW50ZWVzIHRoYXQgYWxsIHByaW9yIGxvYWRzIGFuZA0K PiA+ICtzdG9yZXMgKGFsbCBwby1lYXJsaWVyIGluc3RydWN0aW9ucykgb24gdGhlIHNhbWUgQ1BV IGFyZSBjb21wbGV0ZWQNCj4gPiArYmVmb3JlIHRoZSBvcGVyYXRpb24uIEl0IGFsc28gZ3VhcmFu dGVlcyB0aGF0IGFsbCBwby1lYXJsaWVyDQo+ID4gK3N0b3JlcyBvbiB0aGUgc2FtZSBDUFUgYW5k IGFsbCBwcm9wYWdhdGVkIHN0b3JlcyBmcm9tIG90aGVyIENQVXMNCj4gPiArbXVzdCBwcm9wYWdh dGUgdG8gYWxsIG90aGVyIENQVXMgYmVmb3JlIHRoZSByZWxlYXNlIG9wZXJhdGlvbg0KPiA+ICso QS1jdW11bGF0aXZlIHByb3BlcnR5KS4gSW1wbGVtZW50ZWQgdXNpbmcgc21wX3N0b3JlX3JlbGVh c2UoKS4NCj4gPiArDQo+ID4gK0EgY29udHJvbCBkZXBlbmRlbmN5IChvbiBzdWNjZXNzKSBmb3Ig cmVmY291bnRlcnMgZ3VhcmFudGVlcyB0aGF0DQo+ID4gK2lmIGEgcmVmZXJlbmNlIGZvciBhbiBv YmplY3Qgd2FzIHN1Y2Nlc3NmdWxseSBvYnRhaW5lZCAocmVmZXJlbmNlDQo+ID4gK2NvdW50ZXIg aW5jcmVtZW50IG9yIGFkZGl0aW9uIGhhcHBlbmVkLCBmdW5jdGlvbiByZXR1cm5lZCB0cnVlKSwN Cj4gPiArdGhlbiBmdXJ0aGVyIHN0b3JlcyBhcmUgb3JkZXJlZCBhZ2FpbnN0IHRoaXMgb3BlcmF0 aW9uLg0KPiA+ICtDb250cm9sIGRlcGVuZGVuY3kgb24gc3RvcmVzIGFyZSBub3QgaW1wbGVtZW50 ZWQgdXNpbmcgYW55IGV4cGxpY2l0DQo+ID4gK2JhcnJpZXJzLCBidXQgcmVseSBvbiBDUFUgbm90 IHRvIHNwZWN1bGF0ZSBvbiBzdG9yZXMuIFRoaXMgaXMgb25seQ0KPiA+ICthIHNpbmdsZSBDUFUg cmVsYXRpb24gYW5kIHByb3ZpZGVzIG5vIGd1YXJhbnRlZXMgZm9yIG90aGVyIENQVXMuDQo+ID4g Kw0KPiA+ICsNCj4gPiArQ29tcGFyaXNvbiBvZiBmdW5jdGlvbnMNCj4gPiArPT09PT09PT09PT09 PT09PT09PT09PT09PT0NCj4gPiArDQo+ID4gK2Nhc2UgMSkgLSBub24tUk1XIG9wcw0KPiANCj4g U2hvdWxkIHRoaXMgYmUgc3BlbGxlZCBvdXQgIlJlYWQvTW9kaWZ5L1dyaXRlIj8NCg0KU3VyZS4N Cg0KPiANCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKw0KPiA+ICtGdW5jdGlvbiBj aGFuZ2VzOg0KPiA+ICsgICAgICAgICAgICAgICAgYXRvbWljX3NldCgpIC0tPiByZWZjb3VudF9z ZXQoKQ0KPiA+ICsgICAgICAgICAgICAgICAgYXRvbWljX3JlYWQoKSAtLT4gcmVmY291bnRfcmVh ZCgpDQo+ID4gKw0KPiA+ICtNZW1vcnkgb3JkZXJpbmcgZ3VhcmFudGVlIGNoYW5nZXM6DQo+ID4g KyAgICAgICAgICAgICAgICBmdWxseSB1bm9yZGVyZWQgLS0+IGZ1bGx5IHVub3JkZXJlZA0KPiAN Cj4gTWF5YmUgc2F5OiAibm9uZSAoYm90aCBmdWxseSB1bm9yZGVyZWQpIg0KDQpPaw0KDQo+IA0K PiA+ICtjYXNlIDIpIC0gaW5jcmVtZW50LWJhc2VkIG9wcyB0aGF0IHJldHVybiBubyB2YWx1ZQ0K PiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiA+ICsNCj4gPiArRnVuY3Rpb24gY2hhbmdlczoNCj4gPiArICAgICAgICAgICAgICAgIGF0b21p Y19pbmMoKSAtLT4gcmVmY291bnRfaW5jKCkNCj4gPiArICAgICAgICAgICAgICAgIGF0b21pY19h ZGQoKSAtLT4gcmVmY291bnRfYWRkKCkNCj4gPiArDQo+ID4gK01lbW9yeSBvcmRlcmluZyBndWFy YW50ZWUgY2hhbmdlczoNCj4gPiArICAgICAgICAgICAgICAgIGZ1bGx5IHVub3JkZXJlZCAtLT4g ZnVsbHkgdW5vcmRlcmVkDQo+IA0KPiBTYW1lLg0KPiANCj4gPiArY2FzZSAzKSAtIGRlY3JlbWVu dC1iYXNlZCBSTVcgb3BzIHRoYXQgcmV0dXJuIG5vIHZhbHVlDQo+ID4gKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICtGdW5jdGlvbiBj aGFuZ2VzOg0KPiA+ICsgICAgICAgICAgICAgICAgYXRvbWljX2RlYygpIC0tPiByZWZjb3VudF9k ZWMoKQ0KPiA+ICsNCj4gPiArTWVtb3J5IG9yZGVyaW5nIGd1YXJhbnRlZSBjaGFuZ2VzOg0KPiA+ ICsgICAgICAgICAgICAgICAgZnVsbHkgdW5vcmRlcmVkIC0tPiBSRUxFQVNFIG9yZGVyaW5nDQo+ IA0KPiBTaG91bGQgdGhlIHNlY3Rpb25zIHdoZXJlIHRoZXJlIGlzIGEgY2hhbmdlIGluY2x1ZGUg YW4gZXhhbXBsZSBvZiBob3cNCj4gdGhpcyBtaWdodCBtYXR0ZXIgdG8gYSBkZXZlbG9wZXI/DQoN CkkgdHJpZWQgZ2l2aW5nIGV4YW1wbGVzIGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoaXMg ZG9jLCBidXQgSSBmb3VuZA0KdGhlbSB0byBiZSBtb3JlIGNvbmZ1c2luZyB0aGFuIGV4cGxhaW5p bmcgYW55dGhpbmcsIHNvIEkgbGVmdCB0aGVtIG91dA0KaW4gdGhpcyBuZXcgdmVyc2lvbi4gV2hh dCB3b3VsZCBiZSByZWFsbHkNCmdyZWF0IGhlcmUgaXMgdG8gZmluZCBhIHJlYWwgZXhhbXBsZSBm cm9tIHRyZWUgd2hlcmUgc3VjaCBhIGRpZmZlcmVuY2Ugd291bGQNCm1hdHRlciBmb3IgYSByZWZj b3VudGVyLCBidXQgSSB3YXNuJ3QgYWJsZSB0byBmaW5kIGFueSBjYXNlcyBsaWtlIHRoaXMuIA0K DQpGb3IgYW4gYXJ0aWZpY2lhbCBleGFtcGxlLCBJIGFtIHJlYWxseSBzdHJ1Z2dsaW5nIHRvIGRl ZmluZSBhIG1lYW5pbmdmdWwgb25lLCANCmRvZXMgYW55b25lIGhhdmUgYW55IGlkZWFzPyANCg0K QmVzdCBSZWdhcmRzLA0KRWxlbmEuDQoNCj4gDQo+ID4gKw0KPiA+ICsNCj4gPiArY2FzZSA0KSAt IGluY3JlbWVudC1iYXNlZCBSTVcgb3BzIHRoYXQgcmV0dXJuIGEgdmFsdWUNCj4gPiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ ID4gK0Z1bmN0aW9uIGNoYW5nZXM6DQo+ID4gKyAgICAgICAgICAgICAgICBhdG9taWNfaW5jX25v dF96ZXJvKCkgLS0+IHJlZmNvdW50X2luY19ub3RfemVybygpDQo+ID4gKyAgICAgICAgICAgICAg ICBubyBhdG9taWMgY291bnRlcnBhcnQgLS0+IHJlZmNvdW50X2FkZF9ub3RfemVybygpDQo+ID4g Kw0KPiA+ICtNZW1vcnkgb3JkZXJpbmcgZ3VhcmFudGVlcyBjaGFuZ2VzOg0KPiA+ICsgICAgICAg ICAgICAgICAgZnVsbHkgb3JkZXJlZCAtLT4gY29udHJvbCBkZXBlbmRlbmN5IG9uIHN1Y2Nlc3Mg Zm9yIHN0b3Jlcw0KPiA+ICsNCj4gPiArKk5vdGUqOiB3ZSByZWFsbHkgYXNzdW1lIGhlcmUgdGhh dCBuZWNlc3Nhcnkgb3JkZXJpbmcgaXMgcHJvdmlkZWQgYXMgYSByZXN1bHQNCj4gPiArb2Ygb2J0 YWluaW5nIHBvaW50ZXIgdG8gdGhlIG9iamVjdCENCj4gDQo+IFNhbWUuDQo+IA0KPiA+ICsNCj4g PiArDQo+ID4gK2Nhc2UgNSkgLSBkZWNyZW1lbnQtYmFzZWQgUk1XIG9wcyB0aGF0IHJldHVybiBh IHZhbHVlDQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ID4gKw0KPiA+ICtGdW5jdGlvbiBjaGFuZ2VzOg0KPiA+ICsgICAgICAgICAg ICAgICAgYXRvbWljX2RlY19hbmRfdGVzdCgpIC0tPiByZWZjb3VudF9kZWNfYW5kX3Rlc3QoKQ0K PiA+ICsgICAgICAgICAgICAgICAgYXRvbWljX3N1Yl9hbmRfdGVzdCgpIC0tPiByZWZjb3VudF9z dWJfYW5kX3Rlc3QoKQ0KPiA+ICsgICAgICAgICAgICAgICAgbm8gYXRvbWljIGNvdW50ZXJwYXJ0 IC0tPiByZWZjb3VudF9kZWNfaWZfb25lKCkNCj4gPiArICAgICAgICAgICAgICAgIGF0b21pY19h ZGRfdW5sZXNzKCZ2YXIsIC0xLCAxKSAtLT4gcmVmY291bnRfZGVjX25vdF9vbmUoJnZhcikNCj4g PiArDQo+ID4gK01lbW9yeSBvcmRlcmluZyBndWFyYW50ZWVzIGNoYW5nZXM6DQo+ID4gKyAgICAg ICAgICAgICAgICBmdWxseSBvcmRlcmVkIC0tPiBSRUxFQVNFIG9yZGVyaW5nICsgY29udHJvbCBk ZXBlbmRlbmN5DQo+ID4gKw0KPiA+ICtOb3RlOiBhdG9taWNfYWRkX3VubGVzcygpIG9ubHkgcHJv dmlkZXMgZnVsbCBvcmRlciBvbiBzdWNjZXNzLg0KPiANCj4gU2FtZS4NCj4gDQo+ID4gKw0KPiA+ ICsNCj4gPiArY2FzZSA2KSAtIGxvY2stYmFzZWQgUk1XDQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiA+ICsNCj4gPiArRnVuY3Rpb24gY2hhbmdlczoNCj4gPiArDQo+ID4gKyAgICAg ICAgICAgICAgICBhdG9taWNfZGVjX2FuZF9sb2NrKCkgLS0+IHJlZmNvdW50X2RlY19hbmRfbG9j aygpDQo+ID4gKyAgICAgICAgICAgICAgICBhdG9taWNfZGVjX2FuZF9tdXRleF9sb2NrKCkgLS0+ IHJlZmNvdW50X2RlY19hbmRfbXV0ZXhfbG9jaygpDQo+ID4gKw0KPiA+ICtNZW1vcnkgb3JkZXJp bmcgZ3VhcmFudGVlcyBjaGFuZ2VzOg0KPiA+ICsgICAgICAgICAgICAgICAgZnVsbHkgb3JkZXJl ZCAtLT4gUkVMRUFTRSBvcmRlcmluZyArIGNvbnRyb2wgZGVwZW5kZW5jeSArDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob2xkIHNwaW5fbG9jaygpIG9uIHN1Y2Nlc3MN Cj4gDQo+IFNhbWUuDQo+IA0KPiBUaGlzIGxvb2tzIGxpa2UgYSBnb29kIHN0YXJ0IHRvIGhlbHBp bmcgcGVvcGxlIGFuc3dlciBxdWVzdGlvbnMgYWJvdXQNCj4gcmVmY291bnRfdCBtZW1vcnkgb3Jk ZXJpbmcuIFRoYW5rcyENCj4gDQo+IC1LZWVzDQo+IA0KPiAtLQ0KPiBLZWVzIENvb2sNCj4gUGl4 ZWwgU2VjdXJpdHkNCg== From 1584304023854690851@xxx Fri Nov 17 09:14:16 +0000 2017 X-GM-THRID: 1584118008493682834 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread