Return-Path: X-Original-To: apmail-hbase-user-archive@www.apache.org Delivered-To: apmail-hbase-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 19FA2194E7 for ; Fri, 29 Apr 2016 22:36:02 +0000 (UTC) Received: (qmail 28412 invoked by uid 500); 29 Apr 2016 22:35:59 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 28324 invoked by uid 500); 29 Apr 2016 22:35:59 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 28313 invoked by uid 99); 29 Apr 2016 22:35:58 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Apr 2016 22:35:58 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 5878A1A479B for ; Fri, 29 Apr 2016 22:35:58 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.003 X-Spam-Level: X-Spam-Status: No, score=-0.003 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id mfRRUYjHd0ML for ; Fri, 29 Apr 2016 22:35:55 +0000 (UTC) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0053.outbound.protection.outlook.com [157.56.111.53]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id 135A95FACD for ; Fri, 29 Apr 2016 22:35:55 +0000 (UTC) Received: from CO2PR06CA015.namprd06.prod.outlook.com (10.141.242.15) by SN2PR0601MB718.namprd06.prod.outlook.com (10.160.14.151) with Microsoft SMTP Server (TLS) id 15.1.466.19; Fri, 29 Apr 2016 22:35:47 +0000 Received: from BN1AFFO11FD040.protection.gbl (2a01:111:f400:7c10::189) by CO2PR06CA015.outlook.office365.com (2a01:111:e400:142a::15) with Microsoft SMTP Server (TLS) id 15.1.485.9 via Frontend Transport; Fri, 29 Apr 2016 22:35:46 +0000 Authentication-Results: spf=pass (sender IP is 65.210.57.1) smtp.mailfrom=merkleinc.com; hbase.apache.org; dkim=none (message not signed) header.d=none;hbase.apache.org; dmarc=bestguesspass action=none header.from=merkleinc.com; Received-SPF: Pass (protection.outlook.com: domain of merkleinc.com designates 65.210.57.1 as permitted sender) receiver=protection.outlook.com; client-ip=65.210.57.1; helo=HQITEXCH05.pclc0.merkle.local; Received: from HQITEXCH05.pclc0.merkle.local (65.210.57.1) by BN1AFFO11FD040.mail.protection.outlook.com (10.58.52.251) with Microsoft SMTP Server id 15.1.477.4 via Frontend Transport; Fri, 29 Apr 2016 22:35:45 +0000 Received: from HQITEXCH01.pclc0.merkle.local (192.168.77.3) by HQITEXCH05.pclc0.merkle.local (192.168.80.104) with Microsoft SMTP Server (TLS) id 14.3.294.0; Fri, 29 Apr 2016 18:38:52 -0400 Received: from HQITEXCH07.pclc0.merkle.local ([fe80::5cfd:17d5:93a:dfde]) by HQITEXCH01.pclc0.merkle.local ([::1]) with mapi id 14.03.0294.000; Fri, 29 Apr 2016 18:35:42 -0400 From: Frank Luo To: "user@hbase.apache.org" Subject: RE: Major Compaction Strategy Thread-Topic: Major Compaction Strategy Thread-Index: AQHRmnWU9E/uyMEqQUabkqsnhEnoN5+R+reAgAFlFICADj6MgP//9VqggABI2wD//709QA== Date: Fri, 29 Apr 2016 22:35:42 +0000 Message-ID: <1EFFC0EDF85B044A99A02C925FDA37552014A7EE@HQITEXCH07.pclc0.merkle.local> References: <1EFFC0EDF85B044A99A02C925FDA37552014A769@HQITEXCH07.pclc0.merkle.local> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.80.130] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:65.210.57.1;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(69234005)(377454003)(189002)(51914003)(24454002)(199003)(13464003)(505004002)(1220700001)(5003600100002)(87936001)(98436002)(33656002)(586003)(1720100001)(55846006)(15395725005)(2906002)(1096002)(551944002)(15975445007)(50986999)(76176999)(54356999)(3846002)(2920100001)(2900100001)(2950100001)(6116002)(102836003)(5008740100001)(106116001)(110136002)(86362001)(107886002)(106466001)(450100001)(5890100001)(19580405001)(19580395003)(9686002)(2501003)(92566002)(23676002)(5250100002)(3480700004)(5310100001)(2351001)(189998001)(93886004)(47776003)(81166005);DIR:OUT;SFP:1101;SCL:1;SRVR:SN2PR0601MB718;H:HQITEXCH05.pclc0.merkle.local;FPR:;SPF:Pass;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD040;1:OuIUkCaE+UOuXOuwllnrXjqK8nmDMkACfEftGh9dIN21DYZP0o+1au5oey5Zp48i52LdP71kasrXOUYfzw/HPJ79ucZEf+cax6pC+PWZ+7eU6gv+YjgJG5r4ew0w63fVy2GlswB+VZ/f9aoIovIfmgemgaeMzseYp/VUbZRyIR9HGmLuRgdtrIyvoua1NApbOfwmVBFKu8kCapgatRZNyYhFnFDxFlZBxvj4z1HRWkEsYyB/xJwY/8GcTmFEa33DQhFUBInq32QxEt2u+I24j9gGqlSh8ivKzm+tApxY4y8OgeFTU0B5ISBeLbP/qWg63Qt+f2A05ccJ7ZVq5ESEbdlrL5y1prwyN2RcIJGAX4aZwCgVn//AFvUvPIGMee/YVQIPd8DOTknCLjJYs3YmbH4zlqzDzMdGE0Nr3El/hnKiFCBp/o4SgxSSNnMYsWbcQ74Gm9qpnpxM1A0C3yCvi4PYloCBZ2rS2Cno4Cl4/m6UipFObtdQzNIM1raIebSw X-MS-Office365-Filtering-Correlation-Id: deb415b8-339a-4328-8d7d-08d3707e9b28 X-Microsoft-Exchange-Diagnostics: 1;SN2PR0601MB718;2:o5QLG/FReRUYpD6+fRgp/WN56+nN9SAhEnO9FjaLlOQqiHCaRYuR763qux7K5n5wmQundlvVsANEZ7+O9/hxazGpr0OY2PoKrCTR+yLLH0u0TukMccjvf1C2GBY8GKndpUjbgoKInNNlTKh3pFyFrPQnXKsDg41K6J6Kr7KgpBkAR8ExN1737iw8HQVjfWMt;3:mXrMDWhnKT/SDFiV07xmio9Ii76Hyt54Rlm8QQ3o72n86r+bc3nYk38J1WjSZ/1ReJVj6VCb7HTjdRZAmMsKb5czXEBuGh//oqVZfelhKXJB2S80eAMu/kfwwAtyIq+OiIkv/6l/C33tCYFY2SguKdxXJDakc8kd4pCAVUo3CO68zkxRIh7P+Zxd3yAqJiZLEiroG/KLMTmb686v017Wd1gS98C5ip55/K0zYhh2xg2Tny4mnUVcJCtsDk19Bvcm9F81S0Lka1wzgeY3/ONPYA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:SN2PR0601MB718; X-Microsoft-Exchange-Diagnostics: 1;SN2PR0601MB718;25:BjA3kXZkTuvhR+jNNUW585IhPFeiInXzi4oGWMcrwI8RLJvNrlgsWp1uI2Lbq+h87S7Rp3is/qxSkr4LJd/9URKY++qafMr+fI2yQiaBJIxBfFk0HXzGBoJhS2PFg15iWWrkcviX0RDL7bJuaLPEkyFKQKyguxER+UGpwWIu68a8UIz4il/wmnjkHxop4MEgfbOpeJ5CaBN6eWkPVvJprO3ErGMhsb0Z/O+w2MVskNuqY1LrmImfN/wNWI5fI3Qg5DuXXUhIytbvhbkKrhFNQ3TfgAJg2hArCHmAgFShKIX2GCI8IhaysBNcYlxM4Vzzxg4OrmDnDTI7syBbaDTd1B0vYvkdoymqMUROH3kmvDwPfpTbx9M+GWDHbh5t0bFudJNSO3hAAbMfESxX7zAGWRP3enfWwAJvrKH+Vgj0lOfYUoCjV0KJbT1tavoiNO3MjHcNt0l2YcPrUSLm7phuakxYMIPDBc8djVWZsW9zFD+BoBKdtPnrZmUrswjAFKjziL/m0vIbhn0Bvfh7A9CLXr2easa7ehziDMMsMtjyuXxJJFEgKYod8cZprpNa2jSUfaMh52sVWLvdeN0GQdnKMuVnNiKCMps9sLR5pnJ3E1/OOGXF4/jXNiw7KIRikdYAP520hLFolj+lsYbrXtFlgaRoAYnqgMBpGEjzcxUK6tnKfploPoIk8TtFi2s1S3uvB/YiSHSQFCva43TvQE31g/hJ7Y20gNEyVzDuri3GY4xj33+EtQ5nGdQawiJpQbgDXQUiWArmGt0kROoNGXcxFUqejVZtExvHRC+4u9lG6jwqpyfs6Kk+1Dfy53j9EBCO X-Microsoft-Exchange-Diagnostics: 1;SN2PR0601MB718;20:RLcrfxg6K76qU4CxKZuFdsalG7Xdnbj0DwKkVNqRZesfbXUZgOWTYw/Hw+9/wSL5DG6V2vtdDjfLdKACvBOA5h+CdrLWtIvMCHHOcCEM/7ommqQjjKJHagWBOecS5OVoz00v9LG40MMmQneL3YxhsHJ7XNkzv3D/1ZyZgWsf50TR7LE7hsupm+rnnx6+xR9F+XH04d6c0oqj+5FIQiVG9ibalRIRQGC1/dwFPj5G7l7UKY2cCPmhs2qu+60uB0FkY0Mong+ZDz5ECpMH6ecJ0mTVEfjKdRSWgJIe85unXsdK0TQ3GOHTrLT6DIu8dCuo26rNPvnWHtBVkcWzN6ayBI3h4np0Ci/TaKsXipkF4RLk9cGt10jxT/8JOzIlgU/5Xbl8IPg9uarvTz8EiZjB/ubfgNMBB9wE8stDq/P8rgMxUIAzjqnTZAF1Sdw94G58cE2SgZdVxKIw7dD/3uRfI1e1b8G3O/VySrFufQDWghMvJXUaIf3MQ8wpRQtWiCZk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(9101521072)(601004)(2401047)(13024025)(13023025)(13015025)(13017025)(13018025)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:SN2PR0601MB718;BCL:0;PCL:0;RULEID:;SRVR:SN2PR0601MB718; X-Microsoft-Exchange-Diagnostics: 1;SN2PR0601MB718;4:Yv6PtAMEAdIbQj1KiNQEeVsEHlXGc2qVF8POGySB6laKVKHD8ishGDgdqZRmnOOAGCj57ZJmyALskIzwfLjly7wSrduGBmgOSapmX/bcvQzm+GagRinCYFNCaqmG5X7mQqIcEVbsPxbwLPwkc2nGny8YBIeLBpPa4bmsEbL4iyEAhR36AVwTW5eHNPJ2oibbDTTGvpX5UoCcw8nHBbYwk40fT9kWkrjhTTs22ShBDw5XutRrrnxWj2SNAn4QfPD0DY9AhJO9rdVkYC/tvpZO6mTZKj+nd3WnG6YEkoyyBX4Kmilpmp0fc47rS5PxMFqvVJhl6AAvtkv1Kqahc2E/3ZKN313oFuM9v+NY69i7X6LntVdGFKCr7bAy69FPBuAMxZtOjc7QvMWqNEbCvEXhlkdzQ4Q42NeTLRF9t1AHIfVK5LHcgSuLaOIwmrVplj9ukfBcBYH3D46oeaMeSoXc1T7WiqjaZhxAoy7uAfBuqLIOCPA6Ri4K4tCORmCM9HtR X-Forefront-PRVS: 0927AA37C7 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjJQUjA2MDFNQjcxODsyMzpjZ1pGbEE2YU5YU1Z3SGc4eGFTYzNhaDNt?= =?utf-8?B?aE91MExqeGxpOTZxNDI0UUV0MjhORGRpWjB5YXUzcldrVG16SGFXSzlKQ3pp?= =?utf-8?B?S1dOeWRXWUlsdXRDbXVjVm9MbnBFRS9TVDNaZnZldy8zaHNTK1dFL0ZqQ3Q4?= =?utf-8?B?YUloazdBUmpaSnVKQ3hMUldkS1hqdVE1TlhheHRpSlc1SUM2MGlUQWtQd2tJ?= =?utf-8?B?R1VsbUhCV25ldlZEenp6SHVwUzZVMHZtKzcyZE1iZTJ0bGR1TWc4N1laVmo4?= =?utf-8?B?NjlHbnpoam42NnpyOWV1Yi9IZGkzdXRPc1I0ZE4yTTc4a2RrTDhIbmQ3TDVp?= =?utf-8?B?NnQ3SzkzZjhpUk1zVnRQMkhkeHVtQVpTbGhaZ1FLZkNkL1pqMlJEK01BamFH?= =?utf-8?B?cVpKN1h6MWczdmVXUmx1YUFhN2VIbVZOK2czNUZIRHlyZzhFM2trZk84NXFY?= =?utf-8?B?U3VodmlIMlFzT3N4d2FTNmx4WDAzZWlEeUR6SzlJd1BrYlZnK1lhV01yOUdE?= =?utf-8?B?RWpWRnFHZzgrem9tNm5CY2xTZSswZEVlcGNmSGRkZThUN3EzOW1Vamd0NnFm?= =?utf-8?B?cElYaHIrWWwxeC95clNKQzdWb29URzhnU21WRFdaVURaSE9iTUZqTVVIcU1Z?= =?utf-8?B?MmtsTlhXUm1nM3JuSFFxU1VodGc1NEloZkF4cnF0QlVJSGladitjek5VbXFV?= =?utf-8?B?S1FTbnNpMXRjV1p1eFdPdVZaT0lMZ25iaGJZd3dDK2dLK3dYQ2R3M214VDFK?= =?utf-8?B?cVRRVFJURmdVVnJTOCtFOExFcTVGZHViNXJmeGZ2VHBobmR5Z2MzZm85eWFK?= =?utf-8?B?SFp3V1V1NkZTTm9EMHN0VFh0WUVaQ3JvamtGRGUwckdmNUQ0SE1LZDZQUk1I?= =?utf-8?B?a3VNSkljSmlIQkJKajk1cFRGYUdIWE8rTk93MWRuTFBaV0pEMW5zdG1DSGZ6?= =?utf-8?B?d3lKRVhkM2NKZFdZU25TWjFUNzU0MzdRN2tlQkpoVmkxQzY4MGdudTJxSVNp?= =?utf-8?B?bnVNWnIzY2xsWXF2a2tIVGlIeVpaVmVHWHRYRXU2NjY3MityZDlvZHo3NnpC?= =?utf-8?B?dzVud2FPL0UrdC9nTElVbHg3aEhWb2ltbmVXbU91dnJmek5YQ2llMFNyRmx6?= =?utf-8?B?akc3eDJ3QS9tV1hocUI2QWV2a3FGd3JHV1FQeGxkS3Q5U3dzZ3lsYVdRUEt0?= =?utf-8?B?OFRYU3dQQTNFYm9hRkV6NnFXVUZlVVVObUFBcElEMW1jdms1bHdHMGNvVTBB?= =?utf-8?B?R2xEaVI1cFIreXdpNS8vU010OWdYOXpJVGxXMkpuOXN5TllnSDFjQkxXdWw2?= =?utf-8?B?Y0JjVDZyS1dNeCtBWGVVblZVOGF4aHg5eVlaMktHcE5XMHJvMjVEbXQ2c1lM?= =?utf-8?B?STVoNXVEYnllOVBmdWFYeUMrNThBbTFUcDFwQ1MwWjYvbExwak9RMHpVVDZE?= =?utf-8?B?ZzVsV3NKWUpWNVZQOHg1MDVSNU5KZUxCTEwrRVB4Mm91Qk9LOS8zeGZrL3ly?= =?utf-8?B?WDZZT202MjF1NzlYbGhSUWpIZGNaeHUwdkJ2NXBmd0lYZitLQU5zWVRMKytq?= =?utf-8?B?MUxpRGVkdVJVVmpYSWdnV01wR1hBbjQ0N2hvME9IenU0QVFmOURmUmF0b1Yz?= =?utf-8?B?TkRMQURuN3VQd2FEcFJJT0hoZVVxdjBqODRNK1N6eVdWVisycGJtelBXU2ZP?= =?utf-8?B?THBSOXlLdDRGbVBibW13N0p0TFRuSzV0ZFZFTDFOcE9ON3dzMXcwTUtOL1BW?= =?utf-8?B?d0MvdmQ2TnZJQVQxSUt6MmNaVysvMGNyZ25pbElMZGhPU1lDRTVoS2ZwdXpQ?= =?utf-8?B?L294YitzYnA4SEhkREZQOWN6cG9mODkzczJ0RExoV1NLRTljR2F0eG1ZMlJI?= =?utf-8?Q?Ve8zvnlWOHCq3irF4p4JKQbZ+eONaGcDk?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR0601MB718;5:BKCMsZPoafr5MACLdVS6+TKoaxwopfvinAKRJ3Hk5mEkSoj5OkQgftSUork/P5Y5b1mYu8BMuMkguB0lvCQib/gEyCsVRdlwZGD8HmR9TAijwEtHCBO/lXqz/hYsK6QjdQ4f106u63fbrmoxbBwLitNwGgnh4HcnV+xhV2Ty/ZcPFKYphkxzdeR25nGj4c3g;24:QKnQgVEcFaYSAhFdbLT30JbNW+lht82sp2ctj0UdwebwHuVmj1gv2kk7r14m+2pidcG/25X6J+Iw9gSowhAxRE8+LLIuoUVSQ7pmWJ8WSBg=;7:2BLrFoxWwzDXxcPNEV+HKAOY6lU4t5LpiJANEneJvuT/vAxU7bbFDwZegseED7R6GyY1RLqbLVFDdX4YkIkwm8Lbo0KrlyXjcD4bcpOrxpg/FhRHlhld3Mz7Iks0Vlmnh/WHTKVNjyb8jcrtA77L1bN98U0VtLexLGhJaqkUihBdnsO7/RsYrsR1Wc5z3xNkKYJNHloInHu6+6HsrpabxDNCyFh6EWhthp72Hxjt8Tc= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: merkleinc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2016 22:35:45.8348 (UTC) X-MS-Exchange-CrossTenant-Id: 1396be20-c06a-4b1f-811d-98bb02e25b5a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=1396be20-c06a-4b1f-811d-98bb02e25b5a;Ip=[65.210.57.1];Helo=[HQITEXCH05.pclc0.merkle.local] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR0601MB718 VHJ5IHRvIGdldCBjb2RlIGZyb20gZGV2IGJyYW5jaC4NCg0KVGhlIG1hc3RlciBhbmQgcmVsXzEu MSBpcyBvbiAwLjk4Lg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogVGVkIFl1 IFttYWlsdG86eXV6aGlob25nQGdtYWlsLmNvbV0NClNlbnQ6IEZyaWRheSwgQXByaWwgMjksIDIw MTYgNTozNCBQTQ0KVG86IHVzZXJAaGJhc2UuYXBhY2hlLm9yZw0KU3ViamVjdDogUmU6IE1ham9y IENvbXBhY3Rpb24gU3RyYXRlZ3kNCg0KSW50ZXJlc3RpbmcuDQoNCldoZW4gY29tcGlsaW5nIGFn YWluc3QgaGJhc2UgMS4xLjIsIEkgZ290Og0KDQpodHRwOi8vcGFzdGViaW4uY29tL05mVWp2YTlS DQoNCkZZSQ0KDQpPbiBGcmksIEFwciAyOSwgMjAxNiBhdCAzOjI5IFBNLCBGcmFuayBMdW8gPGps dW9AbWVya2xlaW5jLmNvbT4gd3JvdGU6DQoNCj4gU2FhZCwNCj4NCj4gV2lsbCBhbGwgeW91ciB0 YWJsZXMvcmVnaW9ucyBiZSB1c2VkIDI0LzcsIG9yIGF0IGFueSB0aW1lLCBqdXN0IGEgcGFydA0K PiBvZiByZWdpb25zIHVzZWQgYW5kIG90aGVycyBhcmUgcnVubmluZyBpZGVhbD8NCj4NCj4gSWYg bGF0dGVyLCBJIGRldmVsb3BlZCBhIHRvb2wgdG8gbGF1bmNoIG1ham9yLWNvbXBhY3QgaW4gYSAi c21hcnQiDQo+IHdheSwgYmVjYXVzZSBJIGFtIGZhY2luZyBhIHNpbWlsYXIgaXNzdWUuDQo+IGh0 dHBzOi8vZ2l0aHViLmNvbS9qaW55ZWx1by9zbWFydGhiYXNlY29tcGFjdG9yLg0KPg0KPiBJdCBs b29rcyBhdCBldmVyeSBSZWdpb25TZXJ2ZXIsIGFuZCBmaW5kIG5vbi1ob3QgcmVnaW9ucyB3aXRo IG1vc3QNCj4gc3RvcmUgZmlsZXMgYW5kIHN0YXJ0cyBjb21wYWN0aW5nLiBJdCBqdXN0IGNvbnRp bnVlIGdvaW5nIHVudGlsIHRpbWUNCj4gaXMgdXAuIEp1c3QgdG8gYmUgY2xlYXIsIGl0IGRvZXNu J3QgcGVyZm9ybSBNQyBpdHNlbGYsIHdoaWNoIGlzIGENCj4gc2NhcnkgdGhpbmcgdG8gZG8sIGJ1 dCB0ZWxsIHJlZ2lvbiBzZXJ2ZXJzIHRvIGRvIE1DLg0KPg0KPiBXZSBoYXZlIGl0IHJ1bm5pbmcg aW4gb3VyIGNsdXN0ZXIgZm9yIGFib3V0IDEwIGhvdXJzIGEgZGF5IGFuZCBpdCBoYXMNCj4gdmly dHVhbGx5IG5vIGltcGFjdCB0byBhcHBsaWNhdGlvbnMgYW5kIHRoZSBjbHVzdGVyIGlzIGRvaW5n IGZhcg0KPiBiZXR0ZXIgdGhhbiB3aGVuIHVzaW5nIGRlZmF1bHQgc2NoZWR1bGVkIE1DLg0KPg0K Pg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTYWFkIE11ZnRpIFttYWls dG86c2FhZC5tdWZ0aUBnbWFpbC5jb21dDQo+IFNlbnQ6IEZyaWRheSwgQXByaWwgMjksIDIwMTYg MTo1MSBQTQ0KPiBUbzogdXNlckBoYmFzZS5hcGFjaGUub3JnDQo+IFN1YmplY3Q6IFJlOiBNYWpv ciBDb21wYWN0aW9uIFN0cmF0ZWd5DQo+DQo+IFdlIGhhdmUgbW9yZSBpc3N1ZXMgbm93LCBhZnRl ciB0ZXN0aW5nIHRoaXMgaW4gZGV2LCBpbiBvdXIgcHJvZHVjdGlvbg0KPiBjbHVzdGVyIHdoaWNo IGhhcyB0b25zIG9mIGRhdGEgKDYwIHJlZ2lvbnMgc2VydmVycyBhbmQgYXJvdW5kIDcwMDANCj4g cmVnaW9ucyksIHdlIHRyaWVkIHRvIGRvIHJvbGxpbmcgY29tcGFjdGlvbiBhbmQgbW9zdCByZWdp b25zIHRoYXQgd2VyZQ0KPiBhcm91bmQgNi03IEdCIG4gc2l6ZSB3ZXJlIHRha2luZyA0LTUgbWlu dXRlcyB0byBmaW5pc2guIEJhc2VkIG9uIHRoaXMNCj4gd2UgZXN0aW1hdGVkIGl0IHdvdWxkIHRh a2Ugc29tZXRoaW5nIGxpa2UgMjAgZGF5cyBmb3IgYSBzaW5nbGUgcnVuIHRvDQo+IGZpbmlzaCwg d2hpY2ggZG9lc24ndCBzZWVtIHJlYXNvbmFibGUuDQo+DQo+IFNvIGlzIGl0IG1vcmUgcmVhc29u YWJsZSB0byBhaW0gZm9yIGRvaW5nIG1ham9yIGNvbXBhY3Rpb24gYWNyb3NzIGFsbA0KPiByZWdp b24gc2VydmVycyBhdCBvbmNlIGJ1dCB3aXRoaW4gYSBSUyBvbmUgcmVnaW9uIGF0IGEgdGltZT8g VGhhdA0KPiB3b3VsZCBjdXQgaXQgZG93biB0byBhcm91bmQgOCBob3VycyB3aGljaCBpcyBzdGls bCB2ZXJ5IGxvbmcuIE9yIGlzIGl0DQo+IGJldHRlciB0byBjb21wYWN0IGFsbCByZWdpb25zIG9u IG9uZSByZWdpb24gc2VydmVyLCB0aGVuIG1vdmUgdG8gdGhlIG5leHQ/DQo+DQo+IFRoZSBnb2Fs IG9mIGFsbCB0aGlzIGlzIHRvIG1haW50YWluIGRlY2VudCB3cml0ZSBwZXJmb3JtYW5jZSB3aGls ZQ0KPiBzdGlsbCBkb2luZyBjb21wYWN0aW9uLiBXZSBkb24ndCBoYXZlIGEgZ29vZCB2ZXJ5IGxv dyBsb2FkIHBlcmlvZCBmb3INCj4gb3VyIGNsdXN0ZXIgc28gdHJ5aW5nIHRvIGZpbmQgYSB3YXkg dG8gZG8gdGhpcyB3aXRob3V0IGNsdXN0ZXIgZG93bnRpbWUuDQo+DQo+IFRoYW5rcy4NCj4NCj4g LS0tLQ0KPiBTYWFkDQo+DQo+DQo+IE9uIFdlZCwgQXByIDIwLCAyMDE2IGF0IDE6MTkgUE0sIFNh YWQgTXVmdGkgPHNhYWQubXVmdGlAZ21haWwuY29tPiB3cm90ZToNCj4NCj4gPiBUaGFua3MgZm9y IHRoZSBwb2ludGVyLiBXb3JraW5nIGxpa2UgYSBjaGFybS4NCj4gPg0KPiA+IC0tLS0NCj4gPiBT YWFkDQo+ID4NCj4gPg0KPiA+IE9uIFR1ZSwgQXByIDE5LCAyMDE2IGF0IDQ6MDEgUE0sIFRlZCBZ dSA8eXV6aGlob25nQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPj4gUGxlYXNlIHVzZSB0aGUg Zm9sbG93aW5nIG1ldGhvZCBvZiBIQmFzZUFkbWluOg0KPiA+Pg0KPiA+PiAgIHB1YmxpYyBDb21w YWN0aW9uU3RhdGUgZ2V0Q29tcGFjdGlvblN0YXRlRm9yUmVnaW9uKGZpbmFsIGJ5dGVbXQ0KPiA+ PiByZWdpb25OYW1lKQ0KPiA+Pg0KPiA+PiBDaGVlcnMNCj4gPj4NCj4gPj4gT24gVHVlLCBBcHIg MTksIDIwMTYgYXQgMTI6NTYgUE0sIFNhYWQgTXVmdGkgPHNhYWQubXVmdGlAZ21haWwuY29tPg0K PiA+PiB3cm90ZToNCj4gPj4NCj4gPj4gPiBIaSwNCj4gPj4gPg0KPiA+PiA+IFdlIGhhdmUgYSBs YXJnZSBIQmFzZSAxLnggY2x1c3RlciBpbiBBV1MgYW5kIGhhdmUgZGlzYWJsZWQNCj4gPj4gPiBh dXRvbWF0aWMNCj4gPj4gbWFqb3INCj4gPj4gPiBjb21wYWN0aW9uIGFzIGFkdmlzZWQuIFdlIHdl cmUgcnVubmluZyBvdXIgb3duIGNvZGUgZm9yDQo+ID4+ID4gY29tcGFjdGlvbiBkYWlseSBhcm91 bmQgbWlkbmlnaHQgd2hpY2ggY2FsbHMNCj4gPj4gPiBIQmFzZUFkbWluLm1ham9yQ29tcGFjdFJl Z2lvbihieXRlW10NCj4gPj4gPiByZWdpb25OYW1lKSBpbiBhIHJvbGxpbmcgZmFzaGlvbiBhY3Jv c3MgYWxsIHJlZ2lvbnMuDQo+ID4+ID4NCj4gPj4gPiBCdXQgd2UgbWlzc2VkIHRoZSBmYWN0IHRo YXQgdGhpcyBpcyBhbiBhc3luY2hyb25vdXMgb3BlcmF0aW9uLCBzbw0KPiA+PiA+IGluIHByYWN0 aWNlIHRoaXMgY2F1c2VzIG1ham9yIGNvbXBhY3Rpb24gdG8gcnVuIGFjcm9zcyBhbGwNCj4gPj4g PiByZWdpb25zLCBhdA0KPiA+PiBsZWFzdA0KPiA+PiA+IHRob3NlIG5vdCBhbHJlYWR5IG1ham9y IGNvbXBhY3RlZCAoZm9yIGV4YW1wbGUgYmVjYXVzZSBwcmV2aW91cw0KPiA+PiA+IG1pbm9yIGNv bXBhY3Rpb25zIGdvdCB1cGdyYWRlZCB0byBtYWpvciBvbmVzKS4NCj4gPj4gPg0KPiA+PiA+IFdl IGRvbid0IHJlYWxseSBoYXZlIGEgc3VpdGFibGUgbG93IGxvYWQgcGVyaW9kLCBzbyB3aGF0IGlz IGENCj4gPj4gPiBzdWl0YWJsZQ0KPiA+PiB3YXkNCj4gPj4gPiB0byBtYWtlIG1ham9yIGNvbXBh Y3Rpb24gcnVuIGluIGEgcm9sbGluZyBmYXNoaW9uIHJlZ2lvbiBieSByZWdpb24/DQo+ID4+ID4g VGhlDQo+ID4+IEFQSQ0KPiA+PiA+IGFib3ZlIHByb3ZpZGVzIG5vIHJldHVybiB2YWx1ZSBmb3Ig dXMgdG8gYmUgYWJsZSB0byB3YWl0IGZvciBvbmUNCj4gPj4gY29tcGFjdGlvbg0KPiA+PiA+IHRv IGZpbmlzaCBiZWZvcmUgbW92aW5nIHRvIHRoZSBuZXh0Lg0KPiA+PiA+DQo+ID4+ID4gVGhhbmtz Lg0KPiA+PiA+DQo+ID4+ID4gLS0tLQ0KPiA+PiA+IFNhYWQNCj4gPj4gPg0KPiA+Pg0KPiA+DQo+ ID4NCj4gVGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIHRyYW5zbWl0dGVkIHdpdGggaXQg YXJlIGludGVuZGVkIGZvcg0KPiB1c2UgYnkgdGhlIGludGVuZGVkIHJlY2lwaWVudChzKSBvbmx5 LiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGVtYWlsDQo+IGluIGVycm9yLCBwbGVhc2Ugbm90 aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIHRoZW4gZGVsZXRlIGl0LiBJZg0KPiB5b3Ug YXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgbXVzdCBub3Qga2VlcCwgdXNlLCBk aXNjbG9zZSwNCj4gY29weSBvciBkaXN0cmlidXRlIHRoaXMgZW1haWwgd2l0aG91dCB0aGUgYXV0 aG9y4oCZcyBwcmlvciBwZXJtaXNzaW9uLg0KPiBXZSB0YWtlIHByZWNhdXRpb25zIHRvIG1pbmlt aXplIHRoZSByaXNrIG9mIHRyYW5zbWl0dGluZyBzb2Z0d2FyZQ0KPiB2aXJ1c2VzLCBidXQgd2Ug YWR2aXNlIHlvdSB0byBwZXJmb3JtIHlvdXIgb3duIHZpcnVzIGNoZWNrcyBvbiBhbnkNCj4gYXR0 YWNobWVudCB0byB0aGlzIG1lc3NhZ2UuIFdlIGNhbm5vdCBhY2NlcHQgbGlhYmlsaXR5IGZvciBh bnkgbG9zcyBvcg0KPiBkYW1hZ2UgY2F1c2VkIGJ5IHNvZnR3YXJlIHZpcnVzZXMuIFRoZSBpbmZv cm1hdGlvbiBjb250YWluZWQgaW4gdGhpcw0KPiBjb21tdW5pY2F0aW9uIG1heSBiZSBjb25maWRl bnRpYWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIHRoZSBhdHRvcm5leS1jbGllbnQgcHJpdmlsZWdl Lg0KPg0KVGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIHRyYW5zbWl0dGVkIHdpdGggaXQg YXJlIGludGVuZGVkIGZvciB1c2UgYnkgdGhlIGludGVuZGVkIHJlY2lwaWVudChzKSBvbmx5LiBJ ZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGVtYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRo ZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIHRoZW4gZGVsZXRlIGl0LiBJZiB5b3UgYXJlIG5vdCB0 aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgbXVzdCBub3Qga2VlcCwgdXNlLCBkaXNjbG9zZSwg Y29weSBvciBkaXN0cmlidXRlIHRoaXMgZW1haWwgd2l0aG91dCB0aGUgYXV0aG9y4oCZcyBwcmlv ciBwZXJtaXNzaW9uLiBXZSB0YWtlIHByZWNhdXRpb25zIHRvIG1pbmltaXplIHRoZSByaXNrIG9m IHRyYW5zbWl0dGluZyBzb2Z0d2FyZSB2aXJ1c2VzLCBidXQgd2UgYWR2aXNlIHlvdSB0byBwZXJm b3JtIHlvdXIgb3duIHZpcnVzIGNoZWNrcyBvbiBhbnkgYXR0YWNobWVudCB0byB0aGlzIG1lc3Nh Z2UuIFdlIGNhbm5vdCBhY2NlcHQgbGlhYmlsaXR5IGZvciBhbnkgbG9zcyBvciBkYW1hZ2UgY2F1 c2VkIGJ5IHNvZnR3YXJlIHZpcnVzZXMuIFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhp cyBjb21tdW5pY2F0aW9uIG1heSBiZSBjb25maWRlbnRpYWwgYW5kIG1heSBiZSBzdWJqZWN0IHRv IHRoZSBhdHRvcm5leS1jbGllbnQgcHJpdmlsZWdlLg0K