Return-Path: X-Original-To: apmail-hadoop-mapreduce-user-archive@minotaur.apache.org Delivered-To: apmail-hadoop-mapreduce-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 71A7EDF5B for ; Fri, 2 Nov 2012 16:36:14 +0000 (UTC) Received: (qmail 97401 invoked by uid 500); 2 Nov 2012 16:36:09 -0000 Delivered-To: apmail-hadoop-mapreduce-user-archive@hadoop.apache.org Received: (qmail 97259 invoked by uid 500); 2 Nov 2012 16:36:09 -0000 Mailing-List: contact user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hadoop.apache.org Delivered-To: mailing list user@hadoop.apache.org Received: (qmail 97251 invoked by uid 99); 2 Nov 2012 16:36:09 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2012 16:36:09 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [206.47.135.205] (HELO Spam1.prd.mpac.ca) (206.47.135.205) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2012 16:36:00 +0000 Received: from Spam1.prd.mpac.ca (unknown [127.0.0.1]) by IMSVA80 (Postfix) with ESMTP id 36FAD1D8065 for ; Fri, 2 Nov 2012 12:35:36 -0400 (EDT) Received: from SMAIL1.prd.mpac.ca (unknown [172.29.2.53]) by Spam1.prd.mpac.ca (Postfix) with ESMTP id DDB5D1D8049 for ; Fri, 2 Nov 2012 12:35:35 -0400 (EDT) Received: from SMAIL1.prd.mpac.ca ([fe80::d548:4221:967c:4cfb]) by SMAIL1.prd.mpac.ca ([fe80::18cb:8648:b77f:2b55%11]) with mapi id 14.02.0318.004; Fri, 2 Nov 2012 12:35:35 -0400 From: "Kartashov, Andy" To: "user@hadoop.apache.org" Subject: Hadoop - cluster set-up (for DUMMIES)... or how I did it Thread-Topic: Hadoop - cluster set-up (for DUMMIES)... or how I did it Thread-Index: Ac25GBP4uqCQobbLRT+SeDj+M0AJIA== Date: Fri, 2 Nov 2012 16:35:35 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.29.60.102] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-TM-AS-Product-Ver: IMSVA-8.0.0.1304-6.5.0.1024-19334.000 X-TM-AS-Result: No--23.363-5.0-31-10 X-imss-scan-details: No--23.363-5.0-31-10 X-TM-AS-Result-Xfilter: Match text exemption rules:No X-TMASE-MatchedRID: mQrKqCMJczSJ/cHV2hr3sajFA2STVo+4d0/IMHz0evlnnK6mXN72m2XB 1ysRBJpI5J+kpDMEvF0Ol4+I2REw+s1ybZtba3mcdXu122+iJtpMkOX0Uoduua2PbheqHTJcnoJ 74YDGbZmT4MVfZK1pgbhQxPZMGPbOQvhoDby9iEPcWo5Vvs8MQrjqaj+29pPc33Nl3elSfsrDcD W4tUEEBh6iPIOilh6mICPAoukugywpvmSX9Mtyl+QoIU4rAATMv6tnral9Lo6HwGEm+CpYGaoKU 9R7erGEnkKgvrvozkid1cJ+ghnpuD3sYyXp4rAYo65WJt1k1O8uhg66Itb65fgnJH5vm2+g3yVl Qmz6NJWRJ1uPRlLfN285lcm7BHYwoOQjMGdQr9hQiFNNqFvt1UMYW8F4Hadcte8MfJIL55RDlsg 2kwAmNe2jLZ7KeVq7bhpyZdUlKSgxdw0LqPMG2qLL4SGBhbizUCwb19dUaUlDHTlN7bRG+GT6xz QKBjdSgEx/MZlaMxWNEuCqXgz1ZjB9eXnpC3lIDB+ErBr0bAPYP0VsOD0E/sAtnXPNjFIC3Hzgo F7KPK79lGeYHe55I9eS5VWUkyw9shha2NISrGqdb+Vq50kV4VsEWAH6IL2op+2qn7yJKRRLW9x4 IR3Beg+yGPslmfmIwL/oEFtBHx32l1CeX5j0XwDPuhU4P53K/akb2jtl/yEFXFSkfaz0cQ0liId e/RKgwsnV74kUAgDrJyiIu20AGg== X-Virus-Checked: Checked by ClamAV on apache.org SGVsbG8gSGFkb29wZXJzLA0KDQpBZnRlciB3ZWVrcyBvZiBzdHJ1Z2dsZSwgbnVtZXJvdXMgZXJy b3IgZGVidWdnaW5nIGFuZCB0aGUgbGlrZSBJIGZpbmFsbHkgbWFuYWdlZCB0byBzZXQtdXAgYSBm dWxseSBkaXN0cmlidXRlZCBjbHVzdGVyLiBJIGRlY2lkZWQgdG8gc2hhcmUgbXkgZXhwZXJpZW5j ZSB3aXRoIHRoZSBuZXcgY29tZXJzLg0KIEluIGNhc2UgdGhlIGV4cGVydHMgb24gaGVyZSBkaXNh Z3JlZSB3aXRoIHNvbWUgb2YgdGhlIGZhY3RzIG1lbnRpb25lZCBoZXJlLWluIGZlZWwgZnJlZSB0 byBjb3JyZWN0IG9yIGFkZCB5b3VyIGNvbW1lbnRzLg0KDQpFeGFtcGxlIENsdXN0ZXIgVG9wb2xv Z3k6DQpOb2RlIDEg4oCTIE5hbWVOb2RlK0pvYlRyYWNrZXINCk5vZGUgMiDigJMgU2Vjb25kYXJ5 TmFtZU5vZGUNCk5vZGUgMywgNCwgLi4sIE4g4oCTIERhdGFOb2RlcyAxLDIsLi5OK1Rhc2tUcmFj a2VycyAxLDIsLi5ODQoNCkNvbmZpZ3VyYXRpb24gc2V0LXVwIGFmdGVyIHlvdSBpbnN0YWxsZWQg SGFkb29wOg0KDQpGaXJzdGx5LCB5b3Ugd2lsbCBuZWVkIHRvIGZpbmQgZXZlcnkgaG9zdCBhZGRy ZXNzIG9mIHlvdXIgcmVzcGVjdGl2ZSBOb2RlIGJ5IHJ1bm5pbmc6DQokaG9zdG5hbWUg4oCTZg0K DQpZb3VyIC9ldGMvaGFkb29wLyBmb2xkZXIgY29udGFpbnMgc3ViZm9sZGVycyBvZiB5b3VyIGNv bmZpZ3VyYXRpb24gZmlsZXMuICBZb3VyIGluc3RhbGxhdGlvbiB3aWxsIGNyZWF0ZSBhIGRlZmF1 bHQgZm9sZGVyIGNvbmYuZW1wdHkuIENvcHkgaXQgdG8sIHNheSBjb25mLmNsdXN0ZXIgYW5kIG1h a2Ugc3VyZSB5b3VyIHNvZnQgbGluayBjb25mLT4gcG9pbnRzIHRvIGNvbmYuY2x1c3Rlcg0KDQpZ b3UgY2FuIHNlZSB3aGF0IGl0IHBvaW50cyBub3cgdG8gYnkgcnVubmluZzoNCiQgYWx0ZXJuYXRp dmVzIC0tZGlzcGxheSBoYWRvb3AtY29uZg0KDQpNYWtlIGEgbmV3IGxpbmsgYW5kIHNldCBpdCB0 byBwb2ludCB0byBjb25mLmNsdXN0ZXI6DQokIHN1ZG8gYWx0ZXJuYXRpdmVzIC0tdmVyYm9zZSAt LWluc3RhbGwgL2V0Yy9oYWRvb3AvY29uZiBoYWRvb3AtY29uZiAvZXRjL2hhZG9vcC9jb25mLmNs dXN0ZXIgNTANCiQgc3VkbyBhbHRlcm5hdGl2ZXMgLS1zZXQgaGFkb29wLWNvbmYgL2V0Yy9oYWRv b3AvY29uZi5jbHVzdGVyDQpSdW4gdGhlIGRpc3BsYXkgYWdhaW4gdG8gY2hlY2sgcHJvcGVyIGNv bmZpZ3VyYXRpb24NCiQgYWx0ZXJuYXRpdmVzIC0tZGlzcGxheSBoYWRvb3AtY29uZg0KDQpMZXTi gJlzIGdvIGluc2lkZSBjb25mLmNsdXN0ZXINCiRjZCBjb25mLmNsdXN0ZXIvDQoNCkFzIGEgbWlu aW11bSwgd2Ugd2lsbCBuZWVkIHRvIG1vZGlmeSB0aGUgZm9sbG93aW5nIGZpbGVzOg0KMS4gICAg ICBjb3JlLXNpdGUueG1sDQo8cHJvcGVydHk+DQogIDxuYW1lPmZzLmRlZmF1bHRGUzwvbmFtZT4N CiAgICA8dmFsdWU+aGRmczovLzxob3N0LW5hbWU+Lzo4MDIwLzwvdmFsdWU+ICMgaXQgaXMgdGhl IGhvc3QtbmFtZSBvZiB5b3VyIE5hbWVOb2RlIC1Ob2RlMSB3aGljaCB5b3UgZm91bmQgd2l0aCDi gJxob3N0bmFtZSDigJNm4oCdIGFib3ZlDQogIDwvcHJvcGVydHk+DQoNCjIuICAgICAgbWFwcmVk LXNpdGUueG1sDQogIDxwcm9wZXJ0eT4NCiAgICA8bmFtZT5tYXByZWQuam9iLnRyYWNrZXI8L25h bWU+DQogICAgPCEtLTx2YWx1ZT48aG9zdC1uYW1lPjo4MDIxPC92YWx1ZT4gLS0+ICMgaXQgaXMg aG9zdC1uYW1lIG9mIHlvdXIgTmFtZU5vZGUg4oCTIE5vZGUgMSAgYXMgd2VsbCwgc2luY2Ugd2Ug aW50ZW5kIHRvIHJ1biBOYW1lTm9kZSBhbmQgSm9iVHJhY2tlciBvbiB0aGUgc2FtZSBtYWNoaW5l DQogICAgPHZhbHVlPmhkZnM6Ly9pcC0xMC02Mi02Mi0yMzUuZWMyLmludGVybmFsOjgwMjE8L3Zh bHVlPg0KICA8L3Byb3BlcnR5Pg0KDQozLiAgICAgIG1hc3RlcnMgIyBpZiB0aGlzIGZpbGUgZG9l c27igJl0IGV4aXN0IHlldCwgY3JlYXRlIGl0IGFuZCBhZGQgb25lIGxpbmU6DQo8aG9zdC1uYW1l PiAjIGl0IGlzIHRoZSBob3N0LW5hbWUgb2YgeW91ciBOb2RlMiDigJMgcnVubmluZyBTZWNvbmRh cnlOYW1lTm9kZQ0KDQo0LiAgICAgIHNsYXZlcyAjIGlmIHRoaXMgZmlsZSBkb2VzbuKAmXQgZXhp c3QgeWV0LCBjcmVhdGUgaXQgYW5kIGFkZCB5b3VyIGhvc3QtbmFtZXMgKCBvbmUgcGVyIGxpbmUp Og0KPGhvc3QtbmFtZT4gIyBpdCBpcyB0aGUgaG9zdC1uYW1lIG9mIHlvdXIgTm9kZTMg4oCTIHJ1 bm5pbmcgRGF0YU5vZGUxDQo8aG9zdC1uYW1lPiAjIGl0IGlzIHRoZSBob3N0LW5hbWUgb2YgeW91 ciBOb2RlNCDigJMgcnVubmluZyBEYXRhTm9kZTINCuKApi4NCjxob3N0LW5hbWU+ICMgaXQgaXMg dGhlIGhvc3QtbmFtZSBvZiB5b3VyIE5vZGVOIOKAkyBydW5uaW5nIERhdGFOb2RlTg0KDQoNCjUu ICAgICAgSWYgeW91IGFyZSBub3QgY29tZm9ydGFibGUgdG91Y2hpbmcgaGRmcy1zaXRlLnhtbCwg bm8gcHJvYmxlbSwgYWZ0ZXIgeW91IGZvcm1hdCB5b3VyIE5hbWVOb2RlLCBpdCB3aWxsIGNyZWF0 ZSBkZnMvbmFtZSBkZnMvZGF0YSBldGMuIGZvbGRlciBzdHJ1Y3R1cmUgaW4geW91ciBsb2NhbCBM aW51eCBkZWZhdWx0IC90bXAvaGFkb29wLWhkZnMvZGlyZWN0b3J5LiBZb3UgY291bGQgbGF0ZXIg Y2hhbmdlIHRoaXMgdG8gYSBkaWZmZXJlbnQgZm9sZGVyIGJ5IHNwZWNpZnlpbmcgaGRmcy1zaXRl LnhtbCAgYnV0IHBsZWFzZSBsZWFybiBvbiB0aGUgZmlsZSBzdHJ1Y3R1cmUvcGVybWlzc2lvbnMv b3duZXJzIG9mIHRob3NlIGRpcmVjdG9yaWVzIC9kZnMvZGF0YSBkZnMvbmFtZSBkZnMvbmFtZXNl Y29uZGFyeSBldGMgdGhhdCB3ZXJlIGNyZWF0ZWQgZm9yIHlvdSBieSBkZWZhdWx0IGZpcnN0Lg0K DQpMZXTigJlzIGZvcm1hdCBIREZTIG5hbWVzcGFjZTogKG5vdGUgd2UgZm9ybWF0IGl0IGFzIGhk ZnMgdXNlcikNCiQgc3VkbyDigJN1IGhkZnMgaGFkb29wICBuYW1lbm9kZSDigJNmb3JtYXQNCk5P VEUg4oCTIHRoYXQgeW91IG9ubHkgcnVuIHRoaXMgY29tbWFuZCBPTkNFIG9uIHRoZSBOYW1lTm9k ZSBvbmx5IQ0KDQpJIG9ubHkgYWRkZWQgdGhlIGZvbGxvd2luZyBwcm9wZXJ0eSB0byBteSBoZGZz LXNpdGUueG1sIG9uIHRoZSBOYW1lTm9kZS0gTm9kZTEgZm9yIHRoZSBTZWNvbmRhcnlOYW1lTm9k ZSB0byB1c2U6DQoNCjxwcm9wZXJ0eT4NCiAgPG5hbWU+ZGZzLm5hbWVub2RlLmh0dHAtYWRkcmVz czwvbmFtZT4NCiAgPHZhbHVlPm5hbWVub2RlLmhvc3QuYWRkcmVzczo1MDA3MDwvdmFsdWU+ICAg IyBJIGNoYW5nZSB0aGlzIHRvIDAuMC4wLjA6NTAwNzAgZm9yIEVDMiBlbnZpcm9ubWVudA0KICA8 ZGVzY3JpcHRpb24+DQogICAgTmVlZGVkIGZvciBydW5uaW5nIFNOTg0KICAgIFRoZSBhZGRyZXNz IGFuZCB0aGUgYmFzZSBwb3J0IG9uIHdoaWNoIHRoZSBkZnMgTmFtZU5vZGUgV2ViIFVJIHdpbGwg bGlzdGVuLg0KICAgIElmIHRoZSBwb3J0IGlzIDAsIHRoZSBzZXJ2ZXIgd2lsbCBzdGFydCBvbiBh IGZyZWUgcG9ydC4NCiAgPC9kZXNjcmlwdGlvbj4NCjwvcHJvcGVydHk+b3RoZXIgU05OIHByb3Bl cnRpZXMgZm9yIGhkZnMtc2l0ZS54bWwNCg0KNi4gICAgICBDb3B5IHlvdSAvY29uZi5jbHVzdGVy L2ZvbGRlciB0byBldmVyeSBOb2RlIGluIHlvdXIgY2x1c3RlcjogTm9kZTIgKFNOTikgLCBOb2Rl Myw0LC4uTiAoRE5zK1RUcykuIE1ha2Ugc3VyZSB5b3VyIGNvbmYgc29mdCBsaW5rIHBvaW50cyB0 byB0aXMgZGlyZWN0b3J5IChzZWUgYWJvdmUpLg0KDQo3LiAgICAgICAgICAgICAgTm93IHdlIHJl YWR5IHRvIHN0YXJ0IGRhZW1vbnM6DQoNCiAgICAgICAgRXZlcnl0aW1lIHlvdSBzdGFydCBhIHJl c3BlY3RpdmUgRGFlbW9uLCBhIGxvZyByZXBvcnQgaXMgd3JpdHRlbi4gIFRoaXMgaXMgdGhlIEZJ UlNUIHBsYWNlIHRvIGxvb2sgZm9yIHBvdGVudGlhbCBwcm9ibGVtcy4NClVubGVzcyB5b3UgY2hh bmdlIHRoZSBwcm9wZXJ0eSBpbiBoYWRvb3AtZW52LnNoLCBmb3VuZCBpbiB5b3VyIC9jb25mL2Nv bmYuY2x1c3Rlci8gZGlyZWN0b3J5LCBuYW1lbHkg4oCcI2V4cG9ydCBIQURPT1BfTE9HX0RJUj0v Zm9vci9iYXIvd2hhdGV2ZXLigJ0gICB0aGUgZGVmYXVsdCBsb2dzIGFyZSB3cml0dGVuIG9uIGVh Y2ggcmVzcGVjdGl2ZSBOb2RlIHRvOg0KTmFtZU5vZGUsIERhdGFOb2RlLCBTZWNvbmRhcnlOYW1l Tm9kZSDigJMg4oCcL3Zhci9sb2cvaGFkb29wLWhkZnMv4oCdIGRpcmVjdG9yeQ0KSm9iVHJhY2tl cixUYXNrVHJhY2tlci0g4oCcL3Zhci9sb2cvaGFkb29wLW1hcHJlZHVjZeKAnSBvciDigJwvdmFy L2xvZy9oYWRvb3AtMC4yMC1tYXByZWR1Y2Uv4oCdIG9yIGVsc2UsIGRlcGVuZGluZyBvbiB0aGUg dmVyc2lvbiBvZiB5b3VyIE1SLiBSZXNwZWN0aXZlIERhZW1vbiB3aWxsIGhhdmUgYSByZXNwZWN0 aXZlIGZpbGVuYW1lIGVuZGluZyB3aXRoIC5sb2cNCg0KICAgICAgICAgICAgICAgIEkgY2FtZSBh Y3Jvc3MgYSBsb3Qgb2YgZXJyb3JzIHBsYXlpbmcgd2l0aCB0aGlzLCBhcyBmb2xsb3dzOg0KYS4g ICAgICBFcnJvcjogY29ubmVjdGlvbiByZWZ1c2VkDQpUaGlzIGlzIG5vcm1hbGx5IGNhdXNlZCBi eSB5b3VyIGZpcmV3YWxsLiBUcnkgcnVubmluZyDigJxzdWRvIC9ldGMvaW5pdC5kL2lwdGFibGVz IHN0YXR1c+KAnS4gIEkgYmV0IGl0IGlzIHJ1bm5pbmcuIFNvbHV0aW9uOiBlaXRoZXIgYWRkIGFs bG93ZWQgcG9ydHMgb3IgdGVtcG9yYXJpbHkgdHVybiBvZmYgaXB0YWJsZXMgYnkgcnVubmluZyDi gJxzdWRvIHNlcnZpY2UgaXB0YWJsZXMgc3RvcOKAnQ0KVHJ5IHRvIHJlc3RhcnQgeW91ciBEYWVt b24gKHRoYXQgaXMgcmVmdXNlZCBjb25uZWN0aW9uKSBhbmQgY2hlY2sgeW91ciByZXNwZWN0aXZl IC92YXIvbG9nL+KApi4gRGF0YW5vZGUgb3IgVGFza1RyYWNrZXIgb3IgZWxzZSAubG9nIGZpbGUg YWdhaW4uDQpUaGlzIHNvbHZlZCBteSBwcm9ibGVtcyB3aXRoIGNvbm5lY3Rpb25zLiBZb3UgY2Fu IHRlc3QgY29ubmVjdGlvbiBieSBydW5uaW5nICDigJx0ZWxuZXQgPGlwLWFkZHJlc3M+IDxwb3J0 PuKAnSBvZiB0aGUgTm9kZSB5b3UgYXJlIHRyeWluZyB0byBjb25uZWN0IHRvLg0KYi4gICAgICBC aW5kaW5nIGV4Y2VwdGlvbi4NClRoaXMgaGFwcGVucyB3aGVuIHlvdSB0cnkgdG8gc3RhcnQgYSBE YWVtb24gb24gdGhlIG1hY2hpbmUgdGhhdCBpcyBub3Qgc3VwcG9zZWQgdG8gcnVuIHRoaXMgRGFl bW9uLiBGb3IgZXhhbXBsZSwgIHRyeWluZyB0byBzdGFydCBKb2JUcmFja2VyIG9uIGEgc2xhdmUg bWFjaGluZS4gIFRoaXMgaXMgYSBnaXZlbi4gIEpvYlRyYWNrZXIgaXMgYWxyZWFkeSBydW5uaW5n IG9uIHlvdXIgTWFzdGVyTm9kZSAtICBOb2RlMSBoZW5jZSB0aGUgYmluZGluZyBFeGNlcHRpb24u DQpjLiAgICAgIEphdmEgaGVhcCBzaXplIG9yIEphdmEgQ2hpbGQgZXhjZXB0aW9uIHdlcmUgdGhy b3duIHdoZW4gSSByYW4gdG9vIHNtYWxsIG9mIGFuIGluc3RhbmNlIG9uIEVDMi4gSW5jcmVhc2lu ZyBpdCBmcm9tIHRpbnkgdG8gc21hbGwgb3IgZnJvbSBzbWFsbCB0byBtZWRpdW0sIHNvbHZlZCB0 aGUgaXNzdWUuDQpkLiAgICAgIERhdGFOb2RlIHJ1bm5pbmcgb24gc2xhdmUgdGhyb3dzIGFuIEV4 Y2VwdGlvbiBhYm91dCBEYXRhTm9kZSBpZCDigJNtaXNtYXRjaC4gVGhpcyBoYXBwZW5lZCB3aGVu IEkgdHJpZWQgdG8gZHVwbGljYXRlIGFuIGluc3RhbmNlIG9uIEVDMiwgYW5kIGFzIGEgcmVzdWx0 IGVuZGVkIHVwIHdpdGggdHdvIGRpZmZlcmVudCBEYXRhTm9kZXMgd2l0aCB0aGUgc2FtZSBpZC4g RGVsZXRpbmcgL3RtcC9oYWRvb3AtaGRmcy9kZnMvZGF0YSBkaXJlY3Rvcnkgb24gdGhlIHJlcGxp Y2F0ZWQgSW5zdGFuY2UgYW5kIHJlc3RhcnRpbmcgZGF0YU5vZGUgRGFlbW9uIHNvbHZlZCB0aGlz IGlzc3VlLg0KTm93LCB0aGF0IHlvdSBmaXhlZCB5b3VyIGFib3ZlIGVycm9ycyBhbmQgcmVzdGFy dGVkIHJlc3BlY3RpdmUgRGFlbW9ucyB5b3VyIC4ubG9nIGZpbGVzIHNob3VsZCBiZSBjbGVhbiBv ZiBhbnkgZXJyb3JzLg0KDQpMZXTigJlzIG5vdyBjaGVjayB0aGF0IGFsbCBvZiBvdXIgRGF0YU5v ZGVzMSwyLU4gKE5vZGVzMyw04oCmTikgYXJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgTWFzdGVyIE5h bWVub2RlIC0gTm9kZTEuDQrigJwkaGFkb29wIGRmc2FkbWluIOKAk3ByaW50VG9wb2xvZ3nigJ0N ClNob3VsZCBkaXNwbGF5IGFsbCB5b3VyIGhvc3QtYWRkcmVzc2VzIHlvdSBtZW50aW9uZWQgaW4g dGhlIC9jb25mLmNsdXN0ZXIvc2xhdmVzIGZpbGUuDQoNCg0KOC4gICAgICBMZXTigJlzIGNyZWF0 ZSBzb21lIHN0cnVjdHVyZSBpbnNpZGUgaGRmczoNCiBWZXJ5IElNUE9SVEFOVCB0byBDcmVhdGUg dGhlIEhERlMgL3RtcCBEaXJlY3RvcnkuIENyZWF0ZSBpdCBBRlRFUiBIREZTIGlzIHVwIGFuZCBy dW5uaW5nDQokIHN1ZG8gLXUgaGRmcyBoYWRvb3AgZnMgLW1rZGlyIC90bXANCiQgc3VkbyAtdSBo ZGZzIGhhZG9vcCBmcyAtY2htb2QgLVIgMTc3NyAvdG1wDQoNCiBDcmVhdGUgTWFwUmVkdWNlIC92 YXIgZGlyZWN0b3JpZXMgKFlBUk4gcmVxdWlyZXMgZGlmZmVyZW50IHN0cnVjdHVyZSkNCnN1ZG8g LXUgaGRmcyBoYWRvb3AgZnMgLW1rZGlyIC92YXINCnN1ZG8gLXUgaGRmcyBoYWRvb3AgZnMgLW1r ZGlyIC92YXIvbGliDQpzdWRvIC11IGhkZnMgaGFkb29wIGZzIC1ta2RpciAvdmFyL2xpYi9oYWRv b3AtaGRmcw0Kc3VkbyAtdSBoZGZzIGhhZG9vcCBmcyAtbWtkaXIgL3Zhci9saWIvaGFkb29wLWhk ZnMvY2FjaGUNCnN1ZG8gLXUgaGRmcyBoYWRvb3AgZnMgLW1rZGlyIC92YXIvbGliL2hhZG9vcC1o ZGZzL2NhY2hlL21hcHJlZA0Kc3VkbyAtdSBoZGZzIGhhZG9vcCBmcyAtbWtkaXIgL3Zhci9saWIv aGFkb29wLWhkZnMvY2FjaGUvbWFwcmVkL21hcHJlZA0Kc3VkbyAtdSBoZGZzIGhhZG9vcCBmcyAt bWtkaXIgL3Zhci9saWIvaGFkb29wLWhkZnMvY2FjaGUvbWFwcmVkL21hcHJlZC9zdGFnaW5nDQpz dWRvIC11IGhkZnMgaGFkb29wIGZzIC1jaG1vZCAxNzc3IC92YXIvbGliL2hhZG9vcC1oZGZzL2Nh Y2hlL21hcHJlZC9tYXByZWQvc3RhZ2luZw0Kc3VkbyAtdSBoZGZzIGhhZG9vcCBmcyAtY2hvd24g LVIgbWFwcmVkIC92YXIvbGliL2hhZG9vcC1oZGZzL2NhY2hlL21hcHJlZA0KDQpWZXJpZnkgdGhl IEhERlMgRmlsZSBTdHJ1Y3R1cmUNCiQgc3VkbyAtdSBoZGZzIGhhZG9vcCBmcyAtbHMgLVIgLw0K DQpZb3Ugc2hvdWxkIHNlZToNCmRyd3hyd3hyd3QgICAtIGhkZnMgc3VwZXJncm91cCAgICAgICAg ICAwIDIwMTItMDQtMTkgMTU6MTQgL3RtcA0KZHJ3eHIteHIteCAgIC0gaGRmcyAgICAgc3VwZXJn cm91cCAgICAgICAgICAwIDIwMTItMDQtMTkgMTU6MTYgL3Zhcg0KZHJ3eHIteHIteCAgIC0gaGRm cyAgICAgc3VwZXJncm91cCAgICAgICAgICAwIDIwMTItMDQtMTkgMTU6MTYgL3Zhci9saWINCmRy d3hyLXhyLXggICAtIGhkZnMgICAgIHN1cGVyZ3JvdXAgICAgICAgICAgMCAyMDEyLTA0LTE5IDE1 OjE2IC92YXIvbGliL2hhZG9vcC1oZGZzDQpkcnd4ci14ci14ICAgLSBoZGZzICAgICBzdXBlcmdy b3VwICAgICAgICAgIDAgMjAxMi0wNC0xOSAxNToxNiAvdmFyL2xpYi9oYWRvb3AtaGRmcy9jYWNo ZQ0KZHJ3eHIteHIteCAgIC0gbWFwcmVkICAgc3VwZXJncm91cCAgICAgICAgICAwIDIwMTItMDQt MTkgMTU6MTkgL3Zhci9saWIvaGFkb29wLWhkZnMvY2FjaGUvbWFwcmVkDQpkcnd4ci14ci14ICAg LSBtYXByZWQgICBzdXBlcmdyb3VwICAgICAgICAgIDAgMjAxMi0wNC0xOSAxNToyOSAvdmFyL2xp Yi9oYWRvb3AtaGRmcy9jYWNoZS9tYXByZWQvbWFwcmVkDQpkcnd4cnd4cnd0ICAgLSBtYXByZWQg ICBzdXBlcmdyb3VwICAgICAgICAgIDAgMjAxMi0wNC0xOSAxNTozMyAvdmFyL2xpYi9oYWRvb3At aGRmcy9jYWNoZS9tYXByZWQvbWFwcmVkL3N0YWdpbmcNCg0KQ3JlYXRlIGEgSG9tZSBEaXJlY3Rv cnkgZm9yIGVhY2ggTWFwUmVkdWNlIFVzZXINCkNyZWF0ZSBhIGhvbWUgZGlyZWN0b3J5IGZvciBl YWNoIE1hcFJlZHVjZSB1c2VyLiBJdCBpcyBiZXN0IHRvIGRvIHRoaXMgb24gdGhlIE5hbWVOb2Rl OyBmb3IgZXhhbXBsZToNCiQgc3VkbyAtdSBoZGZzIGhhZG9vcCBmcyAtbWtkaXIgIC91c2VyLzx1 c2VyPg0KJCBzdWRvIC11IGhkZnMgaGFkb29wIGZzIC1jaG93biA8dXNlcj4gL3VzZXIvPHVzZXI+ DQp3aGVyZSA8dXNlcj4gaXMgdGhlIExpbnV4IHVzZXJuYW1lIG9mIGVhY2ggdXNlci4NCg0KDQpw LnMuIHdoZW5ldmVyIHlvdSBuZWVkIHRvIGFkZCBtb3JlIE5vZGVzIHJ1bm5pbmcgRGF0YU5vZGUv VGFza1RyYWNrZXI6DQoxLiBjaGVjayB5b3VyIGZpcmV3YWxsIChpcHRhYmxlcykgaWYgcnVubmlu ZyBhbmQgd2hhdCBwb3J0cyBhcmUgYWxsb3dlZA0KMi4gYWRkIGhvc3RuYW1lIChieSBydW5uaW5n ICIkaG9zdG5hbWUgLWYiKSBpbnNpZGUgeW91ciAvY29uZi9jb25mLmNsdXN0ZXIvc2xhdmVzIG9u IE5hbWVOb2RlMSBPTkxZIQ0KMy4gc3RhcnQgRGF0YU5vZGUgKyBUYXNrVHJhY2tlciBvbiB0aGUg bmV3bHkgYWRkZWQgTm9kZQ0KNC4gcmVzdGFydCBEYXRhTm9kZSAvIEpvYlRyYWNrZXIgb24geW91 ciBOYW1lTm9kZTENCjUuIENoZWNrIHRoYXQgeW91ciBEYXRhTm9kZSByZWdpc3RlcmVkIGJ5IHJ1 bm5pbmcgImhhZG9vcCBkZnNhZG1pbiAtcHJpbnRUb3BvbG9neSIuDQo2LiBJZiBJIGFtIGR1cGxp Y2F0aW5nIGFuIGluc3RhbmNlIG9uIEVDMiBjdXJyZW50bHkgcnVubmluZyBEYXRhTm9kZSwgYmVm b3JlIEkgc3RhcnQgYWJvdmUgdHdvIERhZW1vbnMgSSBtYWtlIHN1cmUgSSBkZWxldGUgIGRhdGEg aW5zaWRlIC92YXIvbG9nL2hhZG9vcC1oZGZzLCAvdmFyL2xvZy9oYWRvb3AtbWFwcmVkdWNlIGFu ZCAvdG1wL2hhZG9vcC1oZGZzIGZvbGRlcnMuIFN0YXJ0aW5nIERhdGFOb2RlIGFuZCBUYXNrVHJh Y2tlciBEYWVtb24gd2lsbCByZWNyZWF0ZSBuZXcgZmlsZXMgYWZyZXNoLg0KDQpIYXBweSBIYWRv b3BpbmcuDQpOT1RJQ0U6IFRoaXMgZS1tYWlsIG1lc3NhZ2UgYW5kIGFueSBhdHRhY2htZW50cyBh cmUgY29uZmlkZW50aWFsLCBzdWJqZWN0IHRvIGNvcHlyaWdodCBhbmQgbWF5IGJlIHByaXZpbGVn ZWQuIEFueSB1bmF1dGhvcml6ZWQgdXNlLCBjb3B5aW5nIG9yIGRpc2Nsb3N1cmUgaXMgcHJvaGli aXRlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIGRlbGV0 ZSBhbmQgY29udGFjdCB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5LiBQbGVhc2UgY29uc2lkZXIgdGhl IGVudmlyb25tZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGUtbWFpbC4gQVZJUyA6IGxlIHByw6lz ZW50IGNvdXJyaWVsIGV0IHRvdXRlIHBpw6hjZSBqb2ludGUgcXVpIGwnYWNjb21wYWduZSBzb250 IGNvbmZpZGVudGllbHMsIHByb3TDqWfDqXMgcGFyIGxlIGRyb2l0IGQnYXV0ZXVyIGV0IHBldXZl bnQgw6p0cmUgY291dmVydHMgcGFyIGxlIHNlY3JldCBwcm9mZXNzaW9ubmVsLiBUb3V0ZSB1dGls aXNhdGlvbiwgY29waWUgb3UgZGl2dWxnYXRpb24gbm9uIGF1dG9yaXPDqWUgZXN0IGludGVyZGl0 ZS4gU2kgdm91cyBuJ8OqdGVzIHBhcyBsZSBkZXN0aW5hdGFpcmUgcHLDqXZ1IGRlIGNlIGNvdXJy aWVsLCBzdXBwcmltZXotbGUgZXQgY29udGFjdGV6IGltbcOpZGlhdGVtZW50IGwnZXhww6lkaXRl dXIuIFZldWlsbGV6IHBlbnNlciDDoCBsJ2Vudmlyb25uZW1lbnQgYXZhbnQgZCdpbXByaW1lciBs ZSBwcsOpc2VudCBjb3VycmllbA0K