From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id C6335C77 for ; Thu, 5 Jul 2018 15:10:46 +0000 (UTC) X-Greylist: delayed 00:20:15 by SQLgrey-1.7.6 Received: from scc-mailout-kit-01.scc.kit.edu (scc-mailout-kit-01.scc.kit.edu [129.13.231.81]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C3E3F76D for ; Thu, 5 Jul 2018 15:10:45 +0000 (UTC) Received: from kit-msx-25.kit.edu ([2a00:1398:9:f612::25]) by scc-mailout-kit-01.scc.kit.edu with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (envelope-from ) id 1fb5aV-0001MX-41; Thu, 05 Jul 2018 16:50:28 +0200 Received: from kit-msx-30.kit.edu (2a00:1398:9:f612::30) by KIT-MSX-25.kit.edu (2a00:1398:9:f612::25) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 5 Jul 2018 16:50:26 +0200 Received: from kit-msx-30.kit.edu ([fe80::3ced:f9d8:f832:e9b0]) by kit-msx-30.kit.edu ([fe80::3ced:f9d8:f832:e9b0%16]) with mapi id 15.00.1367.000; Thu, 5 Jul 2018 16:50:26 +0200 From: "Neudecker, Till (TM)" To: Bradley Denby , Bitcoin Protocol Discussion Thread-Topic: [bitcoin-dev] BIP proposal - Dandelion: Privacy Preserving Transaction Propagation Thread-Index: AQHT6F8E7un1rMCwbUyLXkwX0jdhdaRQk00AgDB6ZzA= Date: Thu, 5 Jul 2018 14:50:26 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US, de-DE Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.22.214.250] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Fri, 06 Jul 2018 18:31:18 +0000 Subject: Re: [bitcoin-dev] BIP proposal - Dandelion: Privacy Preserving Transaction Propagation X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2018 15:10:46 -0000 RGVhciBCcmFkbGV5LA0KDQptYXliZSBJ4oCZbSBhIGxpdHRsZSBiaXQgbGF0ZSB0byB0aGUgZGlz Y3Vzc2lvbiwgYnV0IEnigJlkIGFsc28gbGlrZSB0byBzaGFyZSBzb21lIHRob3VnaHRzOg0KDQoq IENvdWxkIHlvdSBlbGFib3JhdGUgb24gdGhlIHJlYXNvbmluZyBiZWhpbmQgY2hvb3NpbmcgdGhl IHBlcmlvZGljIHJvdXRlIHNodWZmbGluZyBpbnRlcnZhbCB0byBiZSBhcm91bmQgMTAgbWludXRl cz8gSSBndWVzcyB0aGF0IHRoZXJlIGlzIHNvbWUgdHJhZGVvZmYgYmV0d2VlbiBtYWtpbmcgaW50 ZXJzZWN0aW9uIGF0dGFja3MgcG9zc2libGUgYnkgY2hvb3NpbmcgYSB0b28gc21hbGwgaW50ZXJ2 YWwsIGFuZCBtYWtpbmcgZ3JhcGgtbGVhcm5pbmcgYXR0YWNrcyBwb3NzaWJsZSBieSBjaG9vc2lu ZyBhIHRvbyBsYXJnZSBpbnRlcnZhbC4gSW50dWl0aXZlbHksIHRoaXMgaW50ZXJ2YWwgc2hvdWxk IGRlcGVuZCBvbiB0aGUgbnVtYmVyIG9mIGZvcndhcmRlZCBEYW5kZWxpb24gdHJhbnNhY3Rpb25z LCBiZWNhdXNlIHRoZXNlIGFyZSB0aGUgZXZlbnRzIHRoYXQgbGVhayBpbmZvcm1hdGlvbiwgYW5k IG5vdCB0aGUgYWJzb2x1dGUgZWxhcHNlZCB0aW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwgbWFraW5n IHRoZSBpbnRlcnZhbCBkZXBlbmRlbnQgb24gdGhlIG51bWJlciBvZiBwcm9jZXNzZWQgdHJhbnNh Y3Rpb25zIHdvdWxkIGFsbG93IGFuIGFjdGl2ZSBhZHZlcnNhcnkgdG8gdHJpZ2dlciByb3V0ZSBz aHVmZmxpbmcgYnkgc2VuZGluZyBEYW5kZWxpb24gdHJhbnNhY3Rpb24gdG8gc3BlY2lmaWMgcGVl cnMsIHdoaWNoIGNvdWxkIGVuYWJsZSBpbnRlcnNlY3Rpb24gYXR0YWNrcy4uLg0KDQoqIFNwZWFr aW5nIG9mIGFjdGl2ZSBhZHZlcnNhcmllczogQWR2ZXJzYXJpZXMgY291bGQgc2VuZCBhIGxhcmdl IG51bWJlciBvZiB0cmFuc2FjdGlvbnMgdG8gc2VsZWN0ZWQgcGVlcnMgLSBlaXRoZXIgYnkgY3Jl YXRpbmcgdGhlIHRyYW5zYWN0aW9ucyBvbiB0aGVpciBvd24sIG9yIGJ5IHJlbGF5aW5nIChEYW5k ZWxpb24pIHRyYW5zYWN0aW9ucyBvYnNlcnZlZCBieSB0aGUgYWR2ZXJzYXJ54oCZcyBwZWVycyB0 byB0aGUgc2VsZWN0ZWQgcGVlci4gQ291bGQgdGhpcyBhbGxvdyB0aGUgYWR2ZXJzYXJ5IHRvIGxh dW5jaCBmaW5nZXJwcmludGluZyBhdHRhY2tzIG9uIHRoZSBzZWxlY3RlZCBwZWVyIGJ5IGNvbXBh cmluZyB0aGUgb2JzZXJ2ZWQgcHJvcGFnYXRpb24gb2YgdGhlIHRyYW5zYWN0aW9ucyByZWxheWVk IHRocm91Z2ggdGhlIHBlZXIgdG8gb3RoZXIgdHJhbnNhY3Rpb25zIG9ic2VydmVkPw0KDQoqIElm IGFuIGFkdmVyc2FyeSBwZXJmb3JtcyBhIGJsYWNrLWhvbGUgYXR0YWNrIChpLmUuLCBkcm9wcyBE YW5kZWxpb24gdHJhbnNhY3Rpb25zKSwgYW5kIGlmIHRoZSBhZHZlcnNhcnkgaXMgYWJsZSB0byBp ZGVudGlmeSB0aGUgZGlmZnVzaW9uIHNvdXJjZSwgcmVjb25zdHJ1Y3Rpb24gb2YgcGFydHMgb2Yg dGhlIGFub255bWl0eSBncmFwaCAoaS5lLiwgdGhlIHBhcnQgYmV0d2VlbiB0aGUgZGlmZnVzaW9u IHNvdXJjZSBhbmQgdGhlIGxhc3QgcGVlciBiZWZvcmUgdGhlIGJsYWNrLWhvbGUpIG1pZ2h0IGJl IHBvc3NpYmxlLiBJIHVuZGVyc3RhbmQgdGhhdCB0aGUgYWR2ZXJzYXJ5IGRvZXMgbm90IGdhaW4g bXVjaCBmcm9tIHRoZSBrbm93bGVkZ2Ugb2YgdGhlIGFub255bWl0eSBncmFwaCwgYnV0IGl0IG5v bmV0aGVsZXNzIGhlbHBzIHRoZSBhZHZlcnNhcnkuDQoNCiogT3V0IG9mIHBlcnNvbmFsIGludGVy ZXN0OiBJbmZlcnJpbmcgQml0Y29pbuKAmXMgbmV0d29yayB0b3BvbG9neSBpcyBoYXJkLiBJIHRo aW5rIGl04oCZcyB3aXNlIHRvIGFzc3VtZSBhIHN0cm9uZyBhZHZlcnNhcnkgdGhhdCBoYXMgcGVy ZmVjdCBrbm93bGVkZ2Ugb2YgdGhlIHRvcG9sb2d5LCBidXQgY2FuIHlvdSBtYWtlIGFueSBzdGF0 ZW1lbnRzIG9uIHRoZSBzZW5zaXRpdml0eSBvZiB0aGUgYWR2ZXJzYXJ54oCZcyBwcmVjaXNpb24g YW5kIHJlY2FsbCByZWdhcmRpbmcgaW1wZXJmZWN0IHRvcG9sb2d5IGtub3dsZWRnZT8NCg0KDQot LVRpbGwNCg0KDQpGcm9tOiBiaXRjb2luLWRldi1ib3VuY2VzQGxpc3RzLmxpbnV4Zm91bmRhdGlv bi5vcmcgW21haWx0bzpiaXRjb2luLWRldi1ib3VuY2VzQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5v cmddIE9uIEJlaGFsZiBPZiBCcmFkbGV5IERlbmJ5IHZpYSBiaXRjb2luLWRldg0KU2VudDogTW9u ZGF5LCBKdW5lIDQsIDIwMTggMTA6MzAgUE0NClRvOiBiaXRjb2luLWRldkBsaXN0cy5saW51eGZv dW5kYXRpb24ub3JnDQpTdWJqZWN0OiBSZTogW2JpdGNvaW4tZGV2XSBCSVAgcHJvcG9zYWwgLSBE YW5kZWxpb246IFByaXZhY3kgUHJlc2VydmluZyBUcmFuc2FjdGlvbiBQcm9wYWdhdGlvbg0KDQpI ZWxsbyBhbGwsDQoNCldlIG5vdyBoYXZlIGFuIGFyWGl2IHByZXByaW50IG9mIG91ciBsYXRlc3Qg ZmluZGluZ3MgYXZhaWxhYmxlLCB3aGljaCBwcm92aWRlcyBhZGRpdGlvbmFsIGRldGFpbHMgcmVn YXJkaW5nIERhbmRlbGlvbjogaHR0cHM6Ly9hcnhpdi5vcmcvcGRmLzE4MDUuMTEwNjAucGRmDQoN Ck5vdGUgdGhhdCBEYW5kZWxpb24ncyBwcmVjaXNpb24gZ3VhcmFudGVlcyBhcmUgYXQgdGhlIHBv cHVsYXRpb24gbGV2ZWwsIHdoaWxlIHRoZSByZWNhbGwgZ3VhcmFudGVlcyBjYW4gYmUgaW50ZXJw cmV0ZWQgYXMgaW5kaXZpZHVhbCBndWFyYW50ZWVzLiBFeHBlY3RlZCByZWNhbGwgaXMgZXF1aXZh bGVudCB0byB0aGUgcHJvYmFiaWxpdHkgb2YgYW4gYWR2ZXJzYXJ5IGFzc29jaWF0aW5nIGEgc2lu Z2xlIHRyYW5zYWN0aW9uIHdpdGggYSBnaXZlbiBzb3VyY2UuDQoNClNpbmNlIHRoZXNlIGd1YXJh bnRlZXMgYXJlIHByb2JhYmlsaXN0aWMsIGEgbm9kZSBjYW5ub3QgYmUgc3VyZSB3aGV0aGVyIGFs bCBvZiBpdHMgcGVlcnMgYXJlIG1vbml0b3JpbmcgaXQuIERhbmRlbGlvbiBkb2VzIG5vdCBwcm90 ZWN0IGFnYWluc3QgdGhlc2UgYWR2ZXJzYXJpZXMsIGFuZCBpbmRpdmlkdWFscyB3aG8gYXJlIHdv cnJpZWQgYWJvdXQgdGFyZ2V0ZWQgZGVhbm9ueW1pemF0aW9uIHNob3VsZCBzdGlsbCB1c2UgVG9y Lg0KDQpPbmUgd2F5IHRvIGNvbmNlcHR1YWxpemUgRGFuZGVsaW9uIGlzIGFzIGEgInB1YmxpYyBo ZWFsdGgiIGZpeCBvciBhbiAiYW5vbnltaXR5IHZhY2NpbmF0aW9uLiIgSGlnaGVyIGFkb3B0aW9u IGxlYWRzIHRvIGdyZWF0ZXIgYmVuZWZpdHMsIGV2ZW4gZm9yIHRob3NlIHdobyBhcmUgbm90IHVz aW5nIFRvci4gSW5kaXZpZHVhbHMgd2hvIGFkb3B0IERhbmRlbGlvbiBiZW5lZml0IGJlY2F1c2Ug dGhlaXIgdHJhbnNhY3Rpb25zIG1ha2UgYXQgbGVhc3Qgb25lIGhvcCBiZWZvcmUgZGlmZnVzaW5n IChvciBtb3JlIGFzIGFkb3B0aW9uIGluY3JlYXNlcykuDQoNCk5ldmVydGhlbGVzcywgdGhlIHBy b2JhYmlsaXN0aWMgbmF0dXJlIG9mIHRoZSBndWFyYW50ZWVzIG1lYW5zIHRoYXQgdGhleSBhcmUg bm90IGFic29sdXRlLiBXZSBoYXZlIHNob3duIHRoYXQgYW55IHNvbHV0aW9uIGJhc2VkIG9ubHkg b24gcm91dGluZyBjYW5ub3QgYmUgYWJzb2x1dGUgZHVlIHRvIGZ1bmRhbWVudGFsIGxvd2VyIGJv dW5kcyBvbiBwcmVjaXNpb24gYW5kIHJlY2FsbC4NCg0KVGhhbmsgeW91IHRvIEVyaWMgVm9za3Vp bCwgUGlldGVyIFd1aWxsZSwgU3VoYXMgRGFmdHVhciwgQ2hyaXN0aWFuIERlY2tlciwgYW5kIFRp bSBSdWZmaW5nIGZvciB0aGUgcmVjZW50IGZlZWRiYWNrIQ0KDQpPbiBUaHUsIE1heSAxMCwgMjAx OCBhdCA4OjU5IEFNLCBCcmFkbGV5IERlbmJ5IDxiZGVuYnlAY211LmVkdT4gd3JvdGU6DQpIaSBh bGwsDQoNCldlJ3JlIHdyaXRpbmcgd2l0aCBhbiB1cGRhdGUgb24gdGhlIERhbmRlbGlvbiBwcm9q ZWN0LiBBcyBhIHJlbWluZGVyLCBEYW5kZWxpb24NCmlzIGEgcHJhY3RpY2FsLCBsaWdodHdlaWdo dCBwcml2YWN5IHNvbHV0aW9uIHRoYXQgcHJvdmlkZXMgQml0Y29pbiB1c2VycyBmb3JtYWwNCmFu b255bWl0eSBndWFyYW50ZWVzLiBXaGlsZSBvdGhlciBwcml2YWN5IHNvbHV0aW9ucyBhaW0gdG8g cHJvdGVjdCBpbmRpdmlkdWFsDQp1c2VycywgRGFuZGVsaW9uIHByb3RlY3RzIHByaXZhY3kgYnkg bGltaXRpbmcgdGhlIGNhcGFiaWxpdHkgb2YgYWR2ZXJzYXJpZXMgdG8NCmRlYW5vbnltaXplIHRo ZSBlbnRpcmUgbmV0d29yay4NCg0KQml0Y29pbidzIHRyYW5zYWN0aW9uIHNwcmVhZGluZyBwcm90 b2NvbCBpcyB2dWxuZXJhYmxlIHRvIGRlYW5vbnltaXphdGlvbg0KYXR0YWNrcy4gV2hlbiBhIG5v ZGUgZ2VuZXJhdGVzIGEgdHJhbnNhY3Rpb24gd2l0aG91dCBEYW5kZWxpb24sIGl0IHRyYW5zbWl0 cw0KdGhhdCB0cmFuc2FjdGlvbiB0byBpdHMgcGVlcnMgd2l0aCBpbmRlcGVuZGVudCwgZXhwb25l bnRpYWwgZGVsYXlzLiBUaGlzDQphcHByb2FjaCwga25vd24gYXMgZGlmZnVzaW9uIGluIGFjYWRl bWlhLCBhbGxvd3MgbmV0d29yayBhZHZlcnNhcmllcyB0byBsaW5rDQp0cmFuc2FjdGlvbnMgdG8g SVAgYWRkcmVzc2VzLg0KDQpEYW5kZWxpb24gcHJldmVudHMgdGhpcyBjbGFzcyBvZiBhdHRhY2tz IGJ5IHNlbmRpbmcgdHJhbnNhY3Rpb25zIG92ZXIgYSByYW5kb21seQ0Kc2VsZWN0ZWQgcGF0aCBi ZWZvcmUgZGlmZnVzaW9uLiBUcmFuc2FjdGlvbnMgdHJhdmVsIGFsb25nIHRoaXMgcGF0aCBkdXJp bmcgdGhlDQoic3RlbSBwaGFzZSIgYW5kIGFyZSB0aGVuIGRpZmZ1c2VkIGR1cmluZyB0aGUgImZs dWZmIHBoYXNlIiAoaGVuY2UgdGhlIG5hbWUNCkRhbmRlbGlvbikuIFdlIGhhdmUgc2hvd24gdGhh dCB0aGlzIHJvdXRpbmcgcHJvdG9jb2wgcHJvdmlkZXMgbmVhci1vcHRpbWFsDQphbm9ueW1pdHkg Z3VhcmFudGVlcyBhbW9uZyBzY2hlbWVzIHRoYXQgZG8gbm90IGludHJvZHVjZSBhZGRpdGlvbmFs IGVuY3J5cHRpb24NCm1lY2hhbmlzbXMuDQoNClNpbmNlIHRoZSBsYXN0IHRpbWUgd2UgY29udGFj dGVkIHRoZSBsaXN0LCB3ZSBoYXZlOg0KIC0gQ29tcGxldGVkIGFkZGl0aW9uYWwgdGhlb3JldGlj YWwgYW5hbHlzaXMgYW5kIHNpbXVsYXRpb25zDQogLSBCdWlsdCBhIHdvcmtpbmcgcHJvdG90eXBl DQogICAoaHR0cHM6Ly9naXRodWIuY29tL21hYmxlbTgvYml0Y29pbi90cmVlL2RhbmRlbGlvbikN CiAtIEJ1aWx0IGEgdGVzdCBzdWl0ZSBmb3IgdGhlIHByb3RvdHlwZQ0KICAgKGh0dHBzOi8vZ2l0 aHViLmNvbS9tYWJsZW04L2JpdGNvaW4vYmxvYi9kYW5kZWxpb24vdGVzdC9mdW5jdGlvbmFsL3Ay cF9kYW5kZWxpb24ucHkpDQogLSBXcml0dGVuIGRldGFpbGVkIGRvY3VtZW50YXRpb24gZm9yIHRo ZSBuZXcgaW1wbGVtZW50YXRpb24NCiAgIChodHRwczovL2dpdGh1Yi5jb20vbWFibGVtOC9iaXBz L2Jsb2IvbWFzdGVyL2JpcC1kYW5kZWxpb24vZGFuZGVsaW9uLXJlZmVyZW5jZS1kb2N1bWVudGF0 aW9uLnBkZikNCg0KQW1vbmcgb3RoZXIgdGhpbmdzLCBvbmUgcXVlc3Rpb24gd2UndmUgYWRkcmVz c2VkIGluIG91ciBhZGRpdGlvbmFsIGFuYWx5c2lzIGlzDQpob3cgdG8gcm91dGUgbWVzc2FnZXMg ZHVyaW5nIHRoZSBzdGVtIHBoYXNlLiBGb3IgZXhhbXBsZSwgaWYgdHdvIERhbmRlbGlvbg0KdHJh bnNhY3Rpb25zIGFycml2ZSBhdCBhIG5vZGUgZnJvbSBkaWZmZXJlbnQgaW5ib3VuZCBwZWVycywg dG8gd2hpY2ggRGFuZGVsaW9uDQpkZXN0aW5hdGlvbihzKSBzaG91bGQgdGhlc2UgdHJhbnNhY3Rp b25zIGJlIHNlbnQ/IFdlIGhhdmUgZm91bmQgdGhhdCBzb21lDQpjaG9pY2VzIGFyZSBtdWNoIGJl dHRlciB0aGFuIG90aGVycy4NCg0KQ29uc2lkZXIgdGhlIGNhc2UgaW4gd2hpY2ggZWFjaCBEYW5k ZWxpb24gdHJhbnNhY3Rpb24gaXMgZm9yd2FyZGVkIHRvIGENCkRhbmRlbGlvbiBkZXN0aW5hdGlv biBzZWxlY3RlZCB1bmlmb3JtbHkgYXQgcmFuZG9tLiBXZSBoYXZlIHNob3duIHRoYXQgdGhpcw0K YXBwcm9hY2ggcmVzdWx0cyBpbiBhIGZpbmdlcnByaW50IGF0dGFjayBhbGxvd2luZyBuZXR3b3Jr LWxldmVsIGJvdG5ldA0KYWR2ZXJzYXJpZXMgdG8gYWNoaWV2ZSB0b3RhbCBkZWFub255bWl6YXRp b24gb2YgdGhlIFAyUCBuZXR3b3JrIGFmdGVyIG9ic2VydmluZw0KbGVzcyB0aGFuIHRlbiB0cmFu c2FjdGlvbnMgcGVyIG5vZGUuDQoNClRvIGF2b2lkIHRoaXMgaXNzdWUsIHdlIHN1Z2dlc3QgInBl ci1pbmJvdW5kLWVkZ2UiIHJvdXRpbmcuIEVhY2ggaW5ib3VuZCBwZWVyIGlzDQphc3NpZ25lZCBh IHBhcnRpY3VsYXIgRGFuZGVsaW9uIGRlc3RpbmF0aW9uLiBFYWNoIERhbmRlbGlvbiB0cmFuc2Fj dGlvbiB0aGF0DQphcnJpdmVzIHZpYSB0aGlzIHBlZXIgaXMgZm9yd2FyZGVkIHRvIHRoZSBzYW1l IERhbmRlbGlvbiBkZXN0aW5hdGlvbi4NClBlci1pbmJvdW5kLWVkZ2Ugcm91dGluZyBicmVha3Mg dGhlIGRlc2NyaWJlZCBhdHRhY2sgYnkgYmxvY2tpbmcgYW4gYWR2ZXJzYXJ5J3MNCmFiaWxpdHkg dG8gY29uc3RydWN0IHVzZWZ1bCBmaW5nZXJwcmludHMuDQoNClRoaXMgaXRlcmF0aW9uIG9mIERh bmRlbGlvbiBoYXMgYmVlbiB0ZXN0ZWQgb24gb3VyIG93biBzbWFsbCBuZXR3b3JrLCBhbmQgd2UN CndvdWxkIGxpa2UgdG8gZ2V0IHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBmcm9udCBvZiBhIHdpZGVy IGF1ZGllbmNlLiBBbiB1cGRhdGVkDQpCSVAgZG9jdW1lbnQgd2l0aCBmdXJ0aGVyIGRldGFpbHMg b24gbW90aXZhdGlvbiwgc3BlY2lmaWNhdGlvbiwgY29tcGF0aWJpbGl0eSwNCmFuZCBpbXBsZW1l bnRhdGlvbiBpcyBsb2NhdGVkIGhlcmU6DQpodHRwczovL2dpdGh1Yi5jb20vbWFibGVtOC9iaXBz L2Jsb2IvbWFzdGVyL2JpcC1kYW5kZWxpb24ubWVkaWF3aWtpDQoNCldlIHdvdWxkIGxpa2UgdG8g dGhhbmsgdGhlIEJpdGNvaW4gQ29yZSBkZXZlbG9wZXJzIGFuZCBHcmVnb3J5IE1heHdlbGwgaW4N CnBhcnRpY3VsYXIgZm9yIHRoZWlyIGluc2lnaHRmdWwgY29tbWVudHMsIHdoaWNoIGhlbHBlZCB0 byBpbmZvcm0gdGhpcw0KaW1wbGVtZW50YXRpb24gYW5kIHNvbWUgb2YgdGhlIGZvbGxvdy11cCB3 b3JrIHdlIGNvbmR1Y3RlZC4gV2Ugd291bGQgYWxzbyBsaWtlDQp0byB0aGFuayB0aGUgTWltYmxl d2ltYmxlIGRldmVsb3BtZW50IGNvbW11bml0eSBmb3IgY29pbmluZyB0aGUgdGVybSAic3RlbXBv b2wsIg0Kd2hpY2ggd2UgaGFwcGlseSBhZG9wdGVkIGZvciB0aGlzIGltcGxlbWVudGF0aW9uLg0K DQpBbGwgdGhlIGJlc3QsDQpCcmFkIERlbmJ5IDxiZGVuYnlAY211LmVkdT4NCkFuZHJldyBNaWxs ZXIgPHNvYzEwMjRAaWxsaW5vaXMuZWR1Pg0KR2l1bGlhIEZhbnRpIDxnZmFudGlAYW5kcmV3LmNt dS5lZHU+DQpTdXJ5YSBCYWtzaGkgPHNiYWtzaGkzQGlsbGlub2lzLmVkdT4NClNoYWlsZXNoaCBC b2pqYSBWZW5rYXRha3Jpc2huYW4gPHNoYWlsZXNoaC5idkBnbWFpbC5jb20+DQpQcmFtb2QgVmlz d2FuYXRoIDxwcmFtb2R2QGlsbGlub2lzLmVkdT4NCg0K