From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750775AbWGFVbW (ORCPT ); Thu, 6 Jul 2006 17:31:22 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750778AbWGFVbW (ORCPT ); Thu, 6 Jul 2006 17:31:22 -0400 Received: from mx1.redhat.com ([66.187.233.31]:8652 "EHLO mx1.redhat.com") by vger.kernel.org with ESMTP id S1750775AbWGFVbU (ORCPT ); Thu, 6 Jul 2006 17:31:20 -0400 Subject: lockdep: bdev->bd_mutex deadlock From: Peter Jones To: linux-kernel Cc: Dave Jones Content-Type: multipart/mixed; boundary="=-fuhfrbUfLZFr/xMzI73M" Organization: Red Hat, Inc. Date: Thu, 06 Jul 2006 17:31:17 -0400 Message-Id: <1152221477.25480.9.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.7.3 (2.7.3-7) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --=-fuhfrbUfLZFr/xMzI73M Content-Type: text/plain Content-Transfer-Encoding: 7bit I got this traceback from lockdep while running last night's Fedora Core (rawhide) kernel, which is version 2.6.17-1.2356.fc6 . (I believe it's based on a fairly current git pull, davej will know for sure.) I'm not 100% sure if I'm doing something wrong in userland, or is this a kernel bug, but I'm pretty sure I shouldn't see lockdep complain either way. <4>============================================= <4>[ INFO: possible recursive locking detected ] <4>--------------------------------------------- <4>anaconda/451 is trying to acquire lock: <4> (&bdev->bd_mutex){--..}, at: [] __blkdev_put+0x22/0x123 <4> <4>but task is already holding lock: <4> (&bdev->bd_mutex){--..}, at: [] do_open+0x68/0x385 <4> <4>other info that might help us debug this: <4>1 lock held by anaconda/451: <4> #0: (&bdev->bd_mutex){--..}, at: [] do_open+0x68/0x385 <4> <4>stack backtrace: <4> [] show_trace_log_lvl+0x54/0xfd <4> [] show_trace+0xd/0x10 <4> [] dump_stack+0x19/0x1b <4> [] __lock_acquire+0x760/0x987 <4> [] lock_acquire+0x4b/0x6d <4> [] mutex_lock_nested+0xcc/0x243 <4> [] __blkdev_put+0x22/0x123 <4> [] blkdev_put+0xa/0xc <4> [] do_open+0x313/0x385 <4> [] blkdev_open+0x1f/0x48 <4> [] __dentry_open+0xb8/0x186 <4> [] nameidata_to_filp+0x1c/0x2e <4> [] do_filp_open+0x2f/0x36 <4> [] do_sys_open+0x40/0xbb <4> [] sys_open+0x16/0x18 <4> [] syscall_call+0x7/0xb The full syslog is attached. -- Peter --=-fuhfrbUfLZFr/xMzI73M Content-Disposition: attachment; filename=syslog.txt Content-Type: text/plain; name=syslog.txt; charset=UTF-8 Content-Transfer-Encoding: base64 PDU+TGludXggdmVyc2lvbiAyLjYuMTctMS4yMzU2LmZjNiAoYnJld2J1aWxkZXJAaHMyMC1iYzIt Mi5idWlsZC5yZWRoYXQuY29tKSAoZ2NjIHZlcnNpb24gNC4xLjEgMjAwNjA2MjkgKFJlZCBIYXQg NC4xLjEtNikpICMxIFRodSBKdWwgNiAwMToxNTowOSBFRFQgMjAwNg0KPDY+QklPUy1wcm92aWRl ZCBwaHlzaWNhbCBSQU0gbWFwOg0KPDQ+IEJJT1MtZTgyMDogMDAwMDAwMDAwMDAwMDAwMCAtIDAw MDAwMDAwMDAwOWZjMDAgKHVzYWJsZSkNCjw0PiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAwOWZjMDAg LSAwMDAwMDAwMDAwMGEwMDAwIChyZXNlcnZlZCkNCjw0PiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAw ZTQwMDAgLSAwMDAwMDAwMDAwMTAwMDAwIChyZXNlcnZlZCkNCjw0PiBCSU9TLWU4MjA6IDAwMDAw MDAwMDAxMDAwMDAgLSAwMDAwMDAwMDdmZjMwMDAwICh1c2FibGUpDQo8ND4gQklPUy1lODIwOiAw MDAwMDAwMDdmZjMwMDAwIC0gMDAwMDAwMDA3ZmY0MDAwMCAoQUNQSSBkYXRhKQ0KPDQ+IEJJT1Mt ZTgyMDogMDAwMDAwMDA3ZmY0MDAwMCAtIDAwMDAwMDAwN2ZmZjAwMDAgKEFDUEkgTlZTKQ0KPDQ+ IEJJT1MtZTgyMDogMDAwMDAwMDA3ZmZmMDAwMCAtIDAwMDAwMDAwODAwMDAwMDAgKHJlc2VydmVk KQ0KPDQ+IEJJT1MtZTgyMDogMDAwMDAwMDBmZmY4MDAwMCAtIDAwMDAwMDAxMDAwMDAwMDAgKHJl c2VydmVkKQ0KPDQ+V2FybmluZyBvbmx5IDg5Nk1CIHdpbGwgYmUgdXNlZC4NCjw0PlVzZSBhIEhJ R0hNRU0gZW5hYmxlZCBrZXJuZWwuDQo8NT44OTZNQiBMT1dNRU0gYXZhaWxhYmxlLg0KPDQ+VXNp bmcgeDg2IHNlZ21lbnQgbGltaXRzIHRvIGFwcHJveGltYXRlIE5YIHByb3RlY3Rpb24NCjw3Pk9u IG5vZGUgMCB0b3RhbHBhZ2VzOiAyMjkzNzYNCjw3PiAgRE1BIHpvbmU6IDQwOTYgcGFnZXMsIExJ Rk8gYmF0Y2g6MA0KPDc+ICBOb3JtYWwgem9uZTogMjI1MjgwIHBhZ2VzLCBMSUZPIGJhdGNoOjMx DQo8Nj5ETUkgMi4zIHByZXNlbnQuDQo8Nz5BQ1BJOiBSU0RQICh2MDAyIEFDUElBTSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKSBAIDB4MDAwZmE4NTANCjw3PkFDUEk6IFhTRFQgKHYw MDEgQSBNIEkgIE9FTVhTRFQgIDB4MDYwMDA1MTcgTVNGVCAweDAwMDAwMDk3KSBAIDB4N2ZmMzAx MDANCjw3PkFDUEk6IEZBRFQgKHYwMDMgQSBNIEkgIE9FTUZBQ1AgIDB4MDYwMDA1MTcgTVNGVCAw eDAwMDAwMDk3KSBAIDB4N2ZmMzAyOTANCjw3PkFDUEk6IE1BRFQgKHYwMDEgQSBNIEkgIE9FTUFQ SUMgIDB4MDYwMDA1MTcgTVNGVCAweDAwMDAwMDk3KSBAIDB4N2ZmMzAzOTANCjw3PkFDUEk6IE9F TUIgKHYwMDEgQSBNIEkgIE9FTUJJT1MgIDB4MDYwMDA1MTcgTVNGVCAweDAwMDAwMDk3KSBAIDB4 N2ZmNDAwNDANCjw3PkFDUEk6IERTRFQgKHYwMDEgIEEwMDU4IEEwMDU4MDAyIDB4MDAwMDAwMDIg TVNGVCAweDAxMDAwMDBkKSBAIDB4MDAwMDAwMDANCjw2PkFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6 IDB4ODA4DQo8ND5BbGxvY2F0aW5nIFBDSSByZXNvdXJjZXMgc3RhcnRpbmcgYXQgODgwMDAwMDAg KGdhcDogODAwMDAwMDA6N2ZmODAwMDApDQo8ND5EZXRlY3RlZCAyMDAyLjU5NyBNSHogcHJvY2Vz c29yLg0KPDQ+QnVpbHQgMSB6b25lbGlzdHMuICBUb3RhbCBwYWdlczogMjI5Mzc2DQo8NT5LZXJu ZWwgY29tbWFuZCBsaW5lOiBpbml0cmQ9cGpvbmVzMS9yYXdoaWRlLWkzODYuaW5pdHJkLmltZyAt LWxvZ2xldmVsPWRlYnVnIG5va2lsbCBrc2RldmljZT1ib290aWYga3M9aHR0cDovL2RldnNlcnYu ZGV2ZWwucmVkaGF0LmNvbS9+cGpvbmVzL2tzL3Jhd2hpZGUtaTM4Ni5rcy5jZmcgbm9pcHY2IHRl eHQgQk9PVF9JTUFHRT1wam9uZXMxL3Jhd2hpZGUtaTM4Ni52bWxpbnV6IEJPT1RJRj0wMS0wMC0w ZS1hNi03MC0zNC0yMiANCjw2PkVuYWJsaW5nIGZhc3QgRlBVIHNhdmUgYW5kIHJlc3RvcmUuLi4g ZG9uZS4NCjw2PkVuYWJsaW5nIHVubWFza2VkIFNJTUQgRlBVIGV4Y2VwdGlvbiBzdXBwb3J0Li4u IGRvbmUuDQo8Nj5Jbml0aWFsaXppbmcgQ1BVIzANCjw0PkNQVSAwIGlycXN0YWNrcywgaGFyZD1j MDc5MTAwMCBzb2Z0PWMwNzkwMDAwDQo8ND5QSUQgaGFzaCB0YWJsZSBlbnRyaWVzOiA0MDk2IChv cmRlcjogMTIsIDE2Mzg0IGJ5dGVzKQ0KPDQ+Q29uc29sZTogY29sb3VyIFZHQSsgODB4MjUNCjw0 PkxvY2sgZGVwZW5kZW5jeSB2YWxpZGF0b3I6IENvcHlyaWdodCAoYykgMjAwNiBSZWQgSGF0LCBJ bmMuLCBJbmdvIE1vbG5hcg0KPDQ+Li4uIE1BWF9MT0NLREVQX1NVQkNMQVNTRVM6ICAgIDgNCjw0 Pi4uLiBNQVhfTE9DS19ERVBUSDogICAgICAgICAgMzANCjw0Pi4uLiBNQVhfTE9DS0RFUF9LRVlT OiAgICAgICAgMjA0OA0KPDQ+Li4uIENMQVNTSEFTSF9TSVpFOiAgICAgICAgICAgMTAyNA0KPDQ+ Li4uIE1BWF9MT0NLREVQX0VOVFJJRVM6ICAgICA4MTkyDQo8ND4uLi4gTUFYX0xPQ0tERVBfQ0hB SU5TOiAgICAgIDgxOTINCjw0Pi4uLiBDSEFJTkhBU0hfU0laRTogICAgICAgICAgNDA5Ng0KPDQ+ IG1lbW9yeSB1c2VkIGJ5IGxvY2sgZGVwZW5kZW5jeSBpbmZvOiA2OTYga0INCjw0PiBwZXIgdGFz ay1zdHJ1Y3QgbWVtb3J5IGZvb3RwcmludDogMTIwMCBieXRlcw0KPDQ+RGVudHJ5IGNhY2hlIGhh c2ggdGFibGUgZW50cmllczogMTMxMDcyIChvcmRlcjogNywgNTI0Mjg4IGJ5dGVzKQ0KPDQ+SW5v ZGUtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDYsIDI2MjE0NCBieXRl cykNCjw2Pk1lbW9yeTogODk3MDQ4ay85MTc1MDRrIGF2YWlsYWJsZSAoMTk4NGsga2VybmVsIGNv ZGUsIDE5OTMyayByZXNlcnZlZCwgOTc3ayBkYXRhLCAxOTZrIGluaXQsIDBrIGhpZ2htZW0pDQo8 ND5DaGVja2luZyBpZiB0aGlzIHByb2Nlc3NvciBob25vdXJzIHRoZSBXUCBiaXQgZXZlbiBpbiBz dXBlcnZpc29yIG1vZGUuLi4gT2suDQo8ND5DYWxpYnJhdGluZyBkZWxheSB1c2luZyB0aW1lciBz cGVjaWZpYyByb3V0aW5lLi4gNDAxMC40MCBCb2dvTUlQUyAobHBqPTgwMjA4MDEpDQo8Nj5TZWN1 cml0eSBGcmFtZXdvcmsgdjEuMC4wIGluaXRpYWxpemVkDQo8Nj5TRUxpbnV4OiAgSW5pdGlhbGl6 aW5nLg0KPDY+U0VMaW51eDogIFN0YXJ0aW5nIGluIHBlcm1pc3NpdmUgbW9kZQ0KPDY+c2VsaW51 eF9yZWdpc3Rlcl9zZWN1cml0eTogIFJlZ2lzdGVyaW5nIHNlY29uZGFyeSBtb2R1bGUgY2FwYWJp bGl0eQ0KPDY+Q2FwYWJpbGl0eSBMU00gaW5pdGlhbGl6ZWQgYXMgc2Vjb25kYXJ5DQo8ND5Nb3Vu dC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDUxMg0KPDc+Q1BVOiBBZnRlciBnZW5lcmljIGlk ZW50aWZ5LCBjYXBzOiAwNzhiZmJmZiBlMWQzZmJmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw MCAwMDAwMDAwMCAwMDAwMDAwMA0KPDc+Q1BVOiBBZnRlciB2ZW5kb3IgaWRlbnRpZnksIGNhcHM6 IDA3OGJmYmZmIGUxZDNmYmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw MDAwMDAwDQo8Nj5DUFU6IEwxIEkgQ2FjaGU6IDY0SyAoNjQgYnl0ZXMvbGluZSksIEQgY2FjaGUg NjRLICg2NCBieXRlcy9saW5lKQ0KPDY+Q1BVOiBMMiBDYWNoZTogNTEySyAoNjQgYnl0ZXMvbGlu ZSkNCjw3PkNQVTogQWZ0ZXIgYWxsIGluaXRzLCBjYXBzOiAwNzhiZjNmZiBlMWQzZmJmZiAwMDAw MDAwMCAwMDAwMDQxMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMA0KPDY+SW50ZWwgbWFjaGlu ZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLg0KPDY+SW50ZWwgbWFjaGluZSBjaGVjayBy ZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjMC4NCjw0PkNQVTogQU1EIEF0aGxvbih0bSkgNjQgUHJv Y2Vzc29yIDMwMDArIHN0ZXBwaW5nIDAwDQo8Nj5DaGVja2luZyAnaGx0JyBpbnN0cnVjdGlvbi4u LiBPSy4NCjw2PkFDUEk6IENvcmUgcmV2aXNpb24gMjAwNjA2MjMNCjw0PkFDUEk6IHNldHRpbmcg RUxDUiB0byAwMjAwIChmcm9tIDBjMjgpDQo8Nj5jaGVja2luZyBpZiBpbWFnZSBpcyBpbml0cmFt ZnMuLi4gaXQgaXMNCjw2PkZyZWVpbmcgaW5pdHJkIG1lbW9yeTogNjYyOWsgZnJlZWQNCjw3PlBN OiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOnBsYXRmb3JtDQo8Nj5ORVQ6IFJlZ2lzdGVyZWQgcHJv dG9jb2wgZmFtaWx5IDE2DQo8Nj5BQ1BJOiBidXMgdHlwZSBwY2kgcmVnaXN0ZXJlZA0KPDY+UENJ OiBQQ0kgQklPUyByZXZpc2lvbiAyLjEwIGVudHJ5IGF0IDB4ZjAwMzEsIGxhc3QgYnVzPTENCjw0 PlNldHRpbmcgdXAgc3RhbmRhcmQgUENJIHJlc291cmNlcw0KPDY+QUNQSTogSW50ZXJwcmV0ZXIg ZW5hYmxlZA0KPDY+QUNQSTogVXNpbmcgUElDIGZvciBpbnRlcnJ1cHQgcm91dGluZw0KPDc+UE06 IEFkZGluZyBpbmZvIGZvciBhY3BpOmFjcGkNCjw2PkFDUEk6IFBDSSBSb290IEJyaWRnZSBbUENJ MF0gKDAwMDA6MDApDQo8Nz5QQ0k6IFByb2JpbmcgUENJIGhhcmR3YXJlIChidXMgMDApDQo8Nz5Q TTogQWRkaW5nIGluZm8gZm9yIE5vIEJ1czpwY2kwMDAwOjAwDQo8Nj5QQ0k6IGVuYWJsZWQgb25i b2FyZCBBQzk3L01DOTcgZGV2aWNlcw0KPDc+Qm9vdCB2aWRlbyBkZXZpY2UgaXMgMDAwMDowMTow MC4wDQo8Nz5BQ1BJOiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuX1BS VF0NCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgcGNpOjAwMDA6MDA6MDAuMA0KPDc+UE06IEFkZGlu ZyBpbmZvIGZvciBwY2k6MDAwMDowMDowMS4wDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBjaTow MDAwOjAwOjBhLjANCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgcGNpOjAwMDA6MDA6MGQuMA0KPDc+ UE06IEFkZGluZyBpbmZvIGZvciBwY2k6MDAwMDowMDowZS4wDQo8Nz5QTTogQWRkaW5nIGluZm8g Zm9yIHBjaTowMDAwOjAwOjBmLjANCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgcGNpOjAwMDA6MDA6 MGYuMQ0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBwY2k6MDAwMDowMDoxMC4wDQo8Nz5QTTogQWRk aW5nIGluZm8gZm9yIHBjaTowMDAwOjAwOjEwLjENCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgcGNp OjAwMDA6MDA6MTAuMg0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBwY2k6MDAwMDowMDoxMC4zDQo8 Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBjaTowMDAwOjAwOjEwLjQNCjw3PlBNOiBBZGRpbmcgaW5m byBmb3IgcGNpOjAwMDA6MDA6MTEuMA0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBwY2k6MDAwMDow MDoxMS41DQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBjaTowMDAwOjAwOjExLjYNCjw3PlBNOiBB ZGRpbmcgaW5mbyBmb3IgcGNpOjAwMDA6MDA6MTguMA0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBw Y2k6MDAwMDowMDoxOC4xDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBjaTowMDAwOjAwOjE4LjIN Cjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgcGNpOjAwMDA6MDA6MTguMw0KPDc+UE06IEFkZGluZyBp bmZvIGZvciBwY2k6MDAwMDowMTowMC4wDQo8ND5BQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xO S0FdIChJUlFzIDMgNCA1IDcgMTAgKjExIDE0IDE1KQ0KPDQ+QUNQSTogUENJIEludGVycnVwdCBM aW5rIFtMTktCXSAoSVJRcyAzIDQgNSA3ICoxMCAxMSAxNCAxNSkNCjw0PkFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbTE5LQ10gKElSUXMgMyA0ICo1IDcgMTAgMTEgMTQgMTUpDQo8ND5BQ1BJOiBQ Q0kgSW50ZXJydXB0IExpbmsgW0xOS0RdIChJUlFzICozIDQgNSA3IDEwIDExIDE0IDE1KQ0KPDQ+ QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktFXSAoSVJRcyAzIDQgNSA3IDEwIDExIDE0IDE1 KSAqMCwgZGlzYWJsZWQuDQo8ND5BQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0ZdIChJUlFz IDMgNCA1IDcgMTAgMTEgMTQgMTUpICowLCBkaXNhYmxlZC4NCjw0PkFDUEk6IFBDSSBJbnRlcnJ1 cHQgTGluayBbTE5LR10gKElSUXMgMyA0IDUgNyAxMCAxMSAxNCAxNSkgKjAsIGRpc2FibGVkLg0K PDQ+QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktIXSAoSVJRcyAzIDQgNSA3IDEwIDExIDE0 IDE1KSAqMCwgZGlzYWJsZWQuDQo8Nj5MaW51eCBQbHVnIGFuZCBQbGF5IFN1cHBvcnQgdjAuOTcg KGMpIEFkYW0gQmVsYXkNCjw2PnBucDogUG5QIEFDUEkgaW5pdA0KPDc+UE06IEFkZGluZyBpbmZv IGZvciBObyBCdXM6cG5wMA0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBwbnA6MDA6MDANCjw3PlBN OiBBZGRpbmcgaW5mbyBmb3IgcG5wOjAwOjAxDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBucDow MDowMg0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBwbnA6MDA6MDMNCjw3PlBNOiBBZGRpbmcgaW5m byBmb3IgcG5wOjAwOjA0DQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBucDowMDowNQ0KPDc+UE06 IEFkZGluZyBpbmZvIGZvciBwbnA6MDA6MDYNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgcG5wOjAw OjA3DQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBucDowMDowOA0KPDc+UE06IEFkZGluZyBpbmZv IGZvciBwbnA6MDA6MDkNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgcG5wOjAwOjBhDQo8Nj5wbnA6 IFBuUCBBQ1BJOiBmb3VuZCAxMSBkZXZpY2VzDQo8Nj51c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBk cml2ZXIgdXNiZnMNCjw2PnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRyaXZlciBodWINCjw2PlBD STogVXNpbmcgQUNQSSBmb3IgSVJRIHJvdXRpbmcNCjw2PlBDSTogSWYgYSBkZXZpY2UgZG9lc24n dCB3b3JrLCB0cnkgInBjaT1yb3V0ZWlycSIuICBJZiBpdCBoZWxwcywgcG9zdCBhIHJlcG9ydA0K PDY+UENJOiBCcmlkZ2U6IDAwMDA6MDA6MDEuMA0KPDY+ICBJTyB3aW5kb3c6IGRpc2FibGVkLg0K PDY+ICBNRU0gd2luZG93OiBmYWYwMDAwMC1mZDBmZmZmZg0KPDY+ICBQUkVGRVRDSCB3aW5kb3c6 IGUyZTAwMDAwLWYyZGZmZmZmDQo8Nz5EZXZpY2UgYFtQMFAxXScgaXMgbm90IHBvd2VyIG1hbmFn ZWFibGU8Nz5QQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDowMS4w IHRvIDY0DQo8Nj5ORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDINCjw0PklQIHJvdXRl IGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMzI3NjggKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMp DQo8ND5UQ1AgZXN0YWJsaXNoZWQgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDks IDI2MjE0NDAgYnl0ZXMpDQo8ND5UQ1AgYmluZCBoYXNoIHRhYmxlIGVudHJpZXM6IDMyNzY4IChv cmRlcjogOCwgMTQ0MTc5MiBieXRlcykNCjw2PlRDUDogSGFzaCB0YWJsZXMgY29uZmlndXJlZCAo ZXN0YWJsaXNoZWQgNjU1MzYgYmluZCAzMjc2OCkNCjw2PlRDUCByZW5vIHJlZ2lzdGVyZWQNCjw3 PlBNOiBBZGRpbmcgaW5mbyBmb3IgcGxhdGZvcm06cGNzcGtyDQo8Nj5hcG06IEJJT1MgdmVyc2lv biAxLjIgRmxhZ3MgMHgwMyAoRHJpdmVyIHZlcnNpb24gMS4xNmFjKQ0KPDU+YXBtOiBvdmVycmlk ZGVuIGJ5IEFDUEkuDQo8ND5Jbml0aWFsaXppbmcgUlQtVGVzdGVyOiBPSw0KPDY+YXVkaXQ6IGlu aXRpYWxpemluZyBuZXRsaW5rIHNvY2tldCAoZGlzYWJsZWQpDQo8NT5hdWRpdCgxMTUyMjIwNTU5 Ljc3NjoxKTogaW5pdGlhbGl6ZWQNCjw0PlRvdGFsIEh1Z2VUTEIgbWVtb3J5IGFsbG9jYXRlZCwg MA0KPDU+VkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjUuMQ0KPDQ+RHF1b3QtY2FjaGUgaGFzaCB0 YWJsZSBlbnRyaWVzOiAxMDI0IChvcmRlciAwLCA0MDk2IGJ5dGVzKQ0KPDY+U0VMaW51eDogIFJl Z2lzdGVyaW5nIG5ldGZpbHRlciBob29rcw0KPDY+SW5pdGlhbGl6aW5nIENyeXB0b2dyYXBoaWMg QVBJDQo8Nj5pbyBzY2hlZHVsZXIgbm9vcCByZWdpc3RlcmVkDQo8Nj5pbyBzY2hlZHVsZXIgYW50 aWNpcGF0b3J5IHJlZ2lzdGVyZWQNCjw2PmlvIHNjaGVkdWxlciBkZWFkbGluZSByZWdpc3RlcmVk DQo8Nj5pbyBzY2hlZHVsZXIgY2ZxIHJlZ2lzdGVyZWQgKGRlZmF1bHQpDQo8Nz5QTTogQWRkaW5n IGluZm8gZm9yIHBsYXRmb3JtOnZlc2FmYi4wDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIE5vIEJ1 czpwbnAxDQo8Nj5pc2FwbnA6IFNjYW5uaW5nIGZvciBQblAgY2FyZHMuLi4NCjw2PmlzYXBucDog Tm8gUGx1ZyAmIFBsYXkgZGV2aWNlIGZvdW5kDQo8Nj5SZWFsIFRpbWUgQ2xvY2sgRHJpdmVyIHYx LjEyYWMNCjw2Pk5vbi12b2xhdGlsZSBtZW1vcnkgZHJpdmVyIHYxLjINCjw2PkxpbnV4IGFncGdh cnQgaW50ZXJmYWNlIHYwLjEwMSAoYykgRGF2ZSBKb25lcw0KPDY+U2VyaWFsOiA4MjUwLzE2NTUw IGRyaXZlciAkUmV2aXNpb246IDEuOTAgJCA0IHBvcnRzLCBJUlEgc2hhcmluZyBlbmFibGVkDQo8 Nz5QTTogQWRkaW5nIGluZm8gZm9yIHBsYXRmb3JtOnNlcmlhbDgyNTANCjw2PnNlcmlhbDgyNTA6 IHR0eVMwIGF0IEkvTyAweDNmOCAoaXJxID0gNCkgaXMgYSAxNjU1MEENCjw2PjAwOjA5OiB0dHlT MCBhdCBJL08gMHgzZjggKGlycSA9IDQpIGlzIGEgMTY1NTBBDQo8Nz5QTTogQWRkaW5nIGluZm8g Zm9yIE5vIEJ1czppc2ENCjw0PlJBTURJU0sgZHJpdmVyIGluaXRpYWxpemVkOiAxNiBSQU0gZGlz a3Mgb2YgMTYzODRLIHNpemUgMTAyNCBibG9ja3NpemUNCjw2PlVuaWZvcm0gTXVsdGktUGxhdGZv cm0gRS1JREUgZHJpdmVyIFJldmlzaW9uOiA3LjAwYWxwaGEyDQo8Nj5pZGU6IEFzc3VtaW5nIDMz TUh6IHN5c3RlbSBidXMgc3BlZWQgZm9yIFBJTyBtb2Rlczsgb3ZlcnJpZGUgd2l0aCBpZGVidXM9 eHgNCjw2PlZQX0lERTogSURFIGNvbnRyb2xsZXIgYXQgUENJIHNsb3QgMDAwMDowMDowZi4xDQo8 Nz5EZXZpY2UgYFtJREVDXScgaXMgbm90IHBvd2VyIG1hbmFnZWFibGVBQ1BJOiBQQ0kgSW50ZXJy dXB0IExpbmsgW0xOS0FdIGVuYWJsZWQgYXQgSVJRIDExDQo8Nz5QQ0k6IHNldHRpbmcgSVJRIDEx IGFzIGxldmVsLXRyaWdnZXJlZA0KPDY+QUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjBmLjFb QV0gLT4gTGluayBbTE5LQV0gLT4gR1NJIDExIChsZXZlbCwgbG93KSAtPiBJUlEgMTENCjw2PlBD STogVklBIElSUSBmaXh1cCBmb3IgMDAwMDowMDowZi4xLCBmcm9tIDI1NSB0byAxMQ0KPDY+VlBf SURFOiBjaGlwc2V0IHJldmlzaW9uIDYNCjw2PlZQX0lERTogbm90IDEwMCUgbmF0aXZlIG1vZGU6 IHdpbGwgcHJvYmUgaXJxcyBsYXRlcg0KPDY+VlBfSURFOiBWSUEgdnQ4MjM3IChyZXYgMDApIElE RSBVRE1BMTMzIGNvbnRyb2xsZXIgb24gcGNpMDAwMDowMDowZi4xDQo8Nj4gICAgaWRlMDogQk0t RE1BIGF0IDB4ZmMwMC0weGZjMDcsIEJJT1Mgc2V0dGluZ3M6IGhkYTpwaW8sIGhkYjpwaW8NCjw2 PiAgICBpZGUxOiBCTS1ETUEgYXQgMHhmYzA4LTB4ZmMwZiwgQklPUyBzZXR0aW5nczogaGRjOkRN QSwgaGRkOnBpbw0KPDc+UHJvYmluZyBJREUgaW50ZXJmYWNlIGlkZTAuLi4NCjw3PlByb2Jpbmcg SURFIGludGVyZmFjZSBpZGUxLi4uDQo8ND5oZGM6IFRFQUMgRFctNTUyRywgQVRBUEkgQ0QvRFZE LVJPTSBkcml2ZQ0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6aWRlMQ0KPDQ+aWRlMSBh dCAweDE3MC0weDE3NywweDM3NiBvbiBpcnEgMTUNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgaWRl OjEuMA0KPDc+UHJvYmluZyBJREUgaW50ZXJmYWNlIGlkZTAuLi4NCjw0PmlkZS1mbG9wcHkgZHJp dmVyIDAuOTkubmV3aWRlDQo8Nj51c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBkcml2ZXIgbGlidXN1 YWwNCjw2PnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRyaXZlciBoaWRkZXYNCjw2PnVzYmNvcmU6 IHJlZ2lzdGVyZWQgbmV3IGRyaXZlciB1c2JoaWQNCjw2PmRyaXZlcnMvdXNiL2lucHV0L2hpZC1j b3JlLmM6IHYyLjY6VVNCIEhJRCBjb3JlIGRyaXZlcg0KPDY+UE5QOiBQUy8yIENvbnRyb2xsZXIg W1BOUDAzMDM6UFMySyxQTlAwZjAzOlBTMk1dIGF0IDB4NjAsMHg2NCBpcnEgMSwxMg0KPDc+UE06 IEFkZGluZyBpbmZvIGZvciBwbGF0Zm9ybTppODA0Mg0KPDY+c2VyaW86IGk4MDQyIEFVWCBwb3J0 IGF0IDB4NjAsMHg2NCBpcnEgMTINCjw2PnNlcmlvOiBpODA0MiBLQkQgcG9ydCBhdCAweDYwLDB4 NjQgaXJxIDENCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3Igc2VyaW86c2VyaW8wDQo8Nj5taWNlOiBQ Uy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFsbCBtaWNlDQo8Nj5tZDogbWQgZHJpdmVyIDAu OTAuMyBNQVhfTURfREVWUz0yNTYsIE1EX1NCX0RJU0tTPTI3DQo8Nj5tZDogYml0bWFwIHZlcnNp b24gNC4zOQ0KPDY+VENQIGJpYyByZWdpc3RlcmVkDQo8Nj5Jbml0aWFsaXppbmcgSVBzZWMgbmV0 bGluayBzb2NrZXQNCjw2Pk5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQ0KPDY+TkVU OiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNw0KPDQ+VXNpbmcgSVBJIFNob3J0Y3V0IG1v ZGUNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3Igc2VyaW86c2VyaW8xDQo8Nj5BQ1BJOiAoc3VwcG9y dHMgUzAgUzEgUzMgUzQ8Nj5UaW1lOiB0c2MgY2xvY2tzb3VyY2UgaGFzIGJlZW4gaW5zdGFsbGVk Lg0KPDQ+IFM1KQ0KPDY+RnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTogMTk2ayBmcmVlZA0K PDQ+V3JpdGUgcHJvdGVjdGluZyB0aGUga2VybmVsIHJlYWQtb25seSBkYXRhOiAzNThrDQo8Nj5p bnB1dDogQVQgVHJhbnNsYXRlZCBTZXQgMiBrZXlib2FyZCBhcyAvY2xhc3MvaW5wdXQvaW5wdXQw DQo8Nj5sb29wOiBsb2FkZWQgKG1heCA4IGRldmljZXMpDQo8Nj5pbnB1dDogUFMvMiBHZW5lcmlj IE1vdXNlIGFzIC9jbGFzcy9pbnB1dC9pbnB1dDENCjw0PmZsb3BweTA6IG5vIGZsb3BweSBjb250 cm9sbGVycyBmb3VuZA0KPDY+QklPUyBFREQgZmFjaWxpdHkgdjAuMTYgMjAwNC1KdW4tMjUsIDEg ZGV2aWNlcyBmb3VuZA0KPDY+aW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2NsYXNzL2lucHV0L2lucHV0 Mg0KPDY+c3F1YXNoZnM6IHZlcnNpb24gMy4wICgyMDA2LzAzLzE1KSBQaGlsbGlwIExvdWdoZXIN Cjw2PmhkYzogQVRBUEkgNTJYIERWRC1ST00gQ0QtUi9SVyBkcml2ZSwgMjA0OGtCIENhY2hlLCBV RE1BKDMzKQ0KPDY+VW5pZm9ybSBDRC1ST00gZHJpdmVyIFJldmlzaW9uOiAzLjIwDQo8NT5TQ1NJ IHN1YnN5c3RlbSBpbml0aWFsaXplZA0KPDc+RGV2aWNlIGBbRUhDSV0nIGlzIG5vdCBwb3dlciBt YW5hZ2VhYmxlQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktDXSBlbmFibGVkIGF0IElSUSA1 DQo8Nz5QQ0k6IHNldHRpbmcgSVJRIDUgYXMgbGV2ZWwtdHJpZ2dlcmVkDQo8Nj5BQ1BJOiBQQ0kg SW50ZXJydXB0IDAwMDA6MDA6MTAuNFtDXSAtPiBMaW5rIFtMTktDXSAtPiBHU0kgNSAobGV2ZWws IGxvdykgLT4gSVJRIDUNCjw2PmVoY2lfaGNkIDAwMDA6MDA6MTAuNDogRUhDSSBIb3N0IENvbnRy b2xsZXINCjw2PmVoY2lfaGNkIDAwMDA6MDA6MTAuNDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwg YXNzaWduZWQgYnVzIG51bWJlciAxDQo8Nj5laGNpX2hjZCAwMDAwOjAwOjEwLjQ6IGlycSA1LCBp byBtZW0gMHhmZDkwMDAwMA0KPDY+ZWhjaV9oY2QgMDAwMDowMDoxMC40OiBVU0IgMi4wIHN0YXJ0 ZWQsIEVIQ0kgMS4wMCwgZHJpdmVyIDEwIERlYyAyMDA0DQo8Nz5QTTogQWRkaW5nIGluZm8gZm9y IHVzYjp1c2IxDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIE5vIEJ1czp1c2JkZXYxLjFfZXAwMA0K PDY+dXNiIHVzYjE6IGNvbmZpZ3VyYXRpb24gIzEgY2hvc2VuIGZyb20gMSBjaG9pY2UNCjw3PlBN OiBBZGRpbmcgaW5mbyBmb3IgdXNiOjEtMDoxLjANCjw2Pmh1YiAxLTA6MS4wOiBVU0IgaHViIGZv dW5kDQo8Nj5odWIgMS0wOjEuMDogOCBwb3J0cyBkZXRlY3RlZA0KPDc+UE06IEFkZGluZyBpbmZv IGZvciBObyBCdXM6dXNiZGV2MS4xX2VwODENCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVz OnVzYmRldjEuMQ0KPDY+VVNCIFVuaXZlcnNhbCBIb3N0IENvbnRyb2xsZXIgSW50ZXJmYWNlIGRy aXZlciB2My4wDQo8Nz5EZXZpY2UgYFtVU0IxXScgaXMgbm90IHBvd2VyIG1hbmFnZWFibGU8Nj5B Q1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MDA6MTAuMFtBXSAtPiBMaW5rIFtMTktBXSAtPiBHU0kg MTEgKGxldmVsLCBsb3cpIC0+IElSUSAxMQ0KPDY+dWhjaV9oY2QgMDAwMDowMDoxMC4wOiBVSENJ IEhvc3QgQ29udHJvbGxlcg0KPDY+dWhjaV9oY2QgMDAwMDowMDoxMC4wOiBuZXcgVVNCIGJ1cyBy ZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDINCjw2PnVoY2lfaGNkIDAwMDA6MDA6MTAu MDogaXJxIDExLCBpbyBiYXNlIDB4MDAwMGVjMDANCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgdXNi OnVzYjINCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOnVzYmRldjIuMV9lcDAwDQo8Nj51 c2IgdXNiMjogY29uZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQ0KPDc+UE06IEFk ZGluZyBpbmZvIGZvciB1c2I6Mi0wOjEuMA0KPDY+aHViIDItMDoxLjA6IFVTQiBodWIgZm91bmQN Cjw2Pmh1YiAyLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9y IE5vIEJ1czp1c2JkZXYyLjFfZXA4MQ0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6dXNi ZGV2Mi4xDQo8Nz5EZXZpY2UgYFtVU0IyXScgaXMgbm90IHBvd2VyIG1hbmFnZWFibGU8Nj5BQ1BJ OiBQQ0kgSW50ZXJydXB0IDAwMDA6MDA6MTAuMVtBXSAtPiBMaW5rIFtMTktBXSAtPiBHU0kgMTEg KGxldmVsLCBsb3cpIC0+IElSUSAxMQ0KPDY+dWhjaV9oY2QgMDAwMDowMDoxMC4xOiBVSENJIEhv c3QgQ29udHJvbGxlcg0KPDY+dWhjaV9oY2QgMDAwMDowMDoxMC4xOiBuZXcgVVNCIGJ1cyByZWdp c3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDMNCjw2PnVoY2lfaGNkIDAwMDA6MDA6MTAuMTog aXJxIDExLCBpbyBiYXNlIDB4MDAwMGIwMDANCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgdXNiOnVz YjMNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOnVzYmRldjMuMV9lcDAwDQo8Nj51c2Ig dXNiMzogY29uZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQ0KPDc+UE06IEFkZGlu ZyBpbmZvIGZvciB1c2I6My0wOjEuMA0KPDY+aHViIDMtMDoxLjA6IFVTQiBodWIgZm91bmQNCjw2 Pmh1YiAzLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIE5v IEJ1czp1c2JkZXYzLjFfZXA4MQ0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6dXNiZGV2 My4xDQo8Nz5EZXZpY2UgYFtVU0IzXScgaXMgbm90IHBvd2VyIG1hbmFnZWFibGVBQ1BJOiBQQ0kg SW50ZXJydXB0IExpbmsgW0xOS0JdIGVuYWJsZWQgYXQgSVJRIDEwDQo8Nz5QQ0k6IHNldHRpbmcg SVJRIDEwIGFzIGxldmVsLXRyaWdnZXJlZA0KPDY+QUNQSTogUENJIEludGVycnVwdCAwMDAwOjAw OjEwLjJbQl0gLT4gTGluayBbTE5LQl0gLT4gR1NJIDEwIChsZXZlbCwgbG93KSAtPiBJUlEgMTAN Cjw2PnVoY2lfaGNkIDAwMDA6MDA6MTAuMjogVUhDSSBIb3N0IENvbnRyb2xsZXINCjw2PnVoY2lf aGNkIDAwMDA6MDA6MTAuMjogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51 bWJlciA0DQo8Nj51aGNpX2hjZCAwMDAwOjAwOjEwLjI6IGlycSAxMCwgaW8gYmFzZSAweDAwMDBi NDAwDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHVzYjp1c2I0DQo8Nz5QTTogQWRkaW5nIGluZm8g Zm9yIE5vIEJ1czp1c2JkZXY0LjFfZXAwMA0KPDY+dXNiIHVzYjQ6IGNvbmZpZ3VyYXRpb24gIzEg Y2hvc2VuIGZyb20gMSBjaG9pY2UNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgdXNiOjQtMDoxLjAN Cjw2Pmh1YiA0LTA6MS4wOiBVU0IgaHViIGZvdW5kDQo8Nj5odWIgNC0wOjEuMDogMiBwb3J0cyBk ZXRlY3RlZA0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6dXNiZGV2NC4xX2VwODENCjw3 PlBNOiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOnVzYmRldjQuMQ0KPDc+RGV2aWNlIGBbVVNCNF0n IGlzIG5vdCBwb3dlciBtYW5hZ2VhYmxlPDY+QUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjEw LjNbQl0gLT4gTGluayBbTE5LQl0gLT4gR1NJIDEwIChsZXZlbCwgbG93KSAtPiBJUlEgMTANCjw2 PnVoY2lfaGNkIDAwMDA6MDA6MTAuMzogVUhDSSBIb3N0IENvbnRyb2xsZXINCjw2PnVoY2lfaGNk IDAwMDA6MDA6MTAuMzogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJl ciA1DQo8Nj51aGNpX2hjZCAwMDAwOjAwOjEwLjM6IGlycSAxMCwgaW8gYmFzZSAweDAwMDBiODAw DQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIHVzYjp1c2I1DQo8Nz5QTTogQWRkaW5nIGluZm8gZm9y IE5vIEJ1czp1c2JkZXY1LjFfZXAwMA0KPDY+dXNiIHVzYjU6IGNvbmZpZ3VyYXRpb24gIzEgY2hv c2VuIGZyb20gMSBjaG9pY2UNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgdXNiOjUtMDoxLjANCjw2 Pmh1YiA1LTA6MS4wOiBVU0IgaHViIGZvdW5kDQo8Nj5odWIgNS0wOjEuMDogMiBwb3J0cyBkZXRl Y3RlZA0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6dXNiZGV2NS4xX2VwODENCjw3PlBN OiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOnVzYmRldjUuMQ0KPDY+QUNQSTogUENJIEludGVycnVw dCAwMDAwOjAwOjBhLjBbQV0gLT4gTGluayBbTE5LQl0gLT4gR1NJIDEwIChsZXZlbCwgbG93KSAt PiBJUlEgMTANCjw2PnNrZ2UgMS42IGFkZHIgMHhmZGIwMDAwMCBpcnEgMTAgY2hpcCBZdWtvbi1M aXRlIHJldiA3DQo8Nj5za2dlIGV0aDA6IGFkZHIgMDA6MGU6YTY6NzA6MzQ6MjINCjw2PlFMb2dp YyBGaWJyZSBDaGFubmVsIEhCQSBEcml2ZXINCjw2PkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDow MDowZC4wW0FdIC0+IExpbmsgW0xOS0NdIC0+IEdTSSA1IChsZXZlbCwgbG93KSAtPiBJUlEgNQ0K PDY+cWxhMnh4eCAwMDAwOjAwOjBkLjA6IEZvdW5kIGFuIElTUDYzMTIsIGlycSA1LCBpb2Jhc2Ug MHhmODg0MDAwMA0KPDY+cWxhMnh4eCAwMDAwOjAwOjBkLjA6IENvbmZpZ3VyaW5nIFBDSSBzcGFj ZS4uLg0KPDY+cWxhMnh4eCAwMDAwOjAwOjBkLjA6IENvbmZpZ3VyZSBOVlJBTSBwYXJhbWV0ZXJz Li4uDQo8Nj5xbGEyeHh4IDAwMDA6MDA6MGQuMDogVmVyaWZ5aW5nIGxvYWRlZCBSSVNDIGNvZGUu Li4NCjw0PnNjc2koMCk6ICoqKiogTG9hZCBSSVNDIGNvZGUgKioqKg0KPDQ+c2NzaSgwKTogVmVy aWZ5aW5nIENoZWNrc3VtIG9mIGxvYWRlZCBSSVNDIGNvZGUuDQo8ND5zY3NpKDApOiBDaGVja3N1 bSBPSywgc3RhcnQgZmlybXdhcmUuDQo8Nj5xbGEyeHh4IDAwMDA6MDA6MGQuMDogQWxsb2NhdGVk ICg0MTIgS0IpIGZvciBmaXJtd2FyZSBkdW1wLi4uDQo8ND5zY3NpKDApOiBJc3N1ZSBpbml0IGZp cm13YXJlLg0KPDQ+c2NzaSgwKTogQXN5bmNocm9ub3VzIExJUCBSRVNFVCAoZjhlZikuDQo8Nj5x bGEyeHh4IDAwMDA6MDA6MGQuMDogTElQIHJlc2V0IG9jY3VyZWQgKGY4ZWYpLg0KPDY+cWxhMnh4 eCAwMDAwOjAwOjBkLjA6IFdhaXRpbmcgZm9yIExJUCB0byBjb21wbGV0ZS4uLg0KPDQ+c2NzaSgw KTogTElQIG9jY3VyZWQgKGY4ZWYpLg0KPDY+cWxhMnh4eCAwMDAwOjAwOjBkLjA6IExJUCBvY2N1 cmVkIChmOGVmKS4NCjw0PnNjc2koMCk6IEFzeW5jaHJvbm91cyBMT09QIFVQICgyIEdicHMpLg0K PDY+cWxhMnh4eCAwMDAwOjAwOjBkLjA6IExPT1AgVVAgZGV0ZWN0ZWQgKDIgR2JwcykuDQo8ND5z Y3NpKDApOiBBc3luY2hyb25vdXMgUE9SVCBVUERBVEUuDQo8Nj5zY3NpKDApOiBQb3J0IGRhdGFi YXNlIGNoYW5nZWQgZmZmZiAwMDA2IDAwMDAuDQo8ND5zY3NpKDApOiBGL1cgUmVhZHkgLSBPSyAN Cjw0PnNjc2koMCk6IGZ3X3N0YXRlPTMgY3VyciB0aW1lPWZmZmVlNzY3Lg0KPDY+cWxhMnh4eCAw MDAwOjAwOjBkLjA6IFRvcG9sb2d5IC0gKExvb3ApLCBIb3N0IExvb3AgYWRkcmVzcyAweDENCjw0 PnNjc2koMCk6IENvbmZpZ3VyZSBsb29wIC0tIGRwYyBmbGFncyA9MHg0MDgwMDQwDQo8ND5xbGEy eDAwX21haWxib3hfY29tbWFuZCgwKTogKioqKiBGQUlMRUQuIG1ieDA9NDAwNiwgbWJ4MT03ZSwg bWJ4Mj0wLCBjbWQ9NmEgKioqKg0KPDQ+cWxhMngwMF9nZXRfcG9ydF9uYW1lKDApOiBmYWlsZWQ9 MTAyLg0KPDQ+c2NzaSgwKTogTUJDX0dFVF9QT1JUX05BTUUgRmFpbGVkLCBObyBGTCBQb3J0DQo8 ND5zY3NpKDApOiBMT09QIFJFQURZDQo8ND5ERUJVRzogZGV0ZWN0IGhiYSAwIGF0IGFkZHJlc3Mg PSBkZmJjYTQ3Yw0KPDY+c2NzaTAgOiBxbGEyeHh4DQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIE5v IEJ1czpob3N0MA0KPDY+cWxhMnh4eCAwMDAwOjAwOjBkLjA6IA0KPDQ+IFFMb2dpYyBGaWJyZSBD aGFubmVsIEhCQSBEcml2ZXI6IDguMDEuMDUtazMNCjw0PiAgUUxvZ2ljIFFMQTIwMCAtIA0KPDQ+ ICBJU1A2MzEyOiBQQ0kgKDMzIE1IeikgQCAwMDAwOjAwOjBkLjAgaGRtYS0sIGhvc3QjPTAsIGZ3 PTMuMDMuMjAgSVBYDQo8Nz5QTTogQWRkaW5nIGluZm8gZm9yIE5vIEJ1czpycG9ydC0wOjAtMA0K PDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6dGFyZ2V0MDowOjANCjw0PkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbTE5LRF0gZW5hYmxlZCBhdCBJUlEgMw0KPDc+UENJOiBzZXR0aW5nIElS USAzIGFzIGxldmVsLXRyaWdnZXJlZA0KPDY+QUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjBl LjBbQV0gLT4gTGluayBbTE5LRF0gLT4gR1NJIDMgKGxldmVsLCBsb3cpIC0+IElSUSAzDQo8Nj5x bGEyeHh4IDAwMDA6MDA6MGUuMDogRm91bmQgYW4gSVNQNjMxMiwgaXJxIDMsIGlvYmFzZSAweGY4 ODYyMDAwDQo8Nj5xbGEyeHh4IDAwMDA6MDA6MGUuMDogQ29uZmlndXJpbmcgUENJIHNwYWNlLi4u DQo8Nj5xbGEyeHh4IDAwMDA6MDA6MGUuMDogQ29uZmlndXJlIE5WUkFNIHBhcmFtZXRlcnMuLi4N Cjw2PnFsYTJ4eHggMDAwMDowMDowZS4wOiBWZXJpZnlpbmcgbG9hZGVkIFJJU0MgY29kZS4uLg0K PDQ+c2NzaSgxKTogKioqKiBMb2FkIFJJU0MgY29kZSAqKioqDQo8NT4gIFZlbmRvcjogREdDICAg ICAgIE1vZGVsOiBSQUlEIDUgICAgICAgICAgICBSZXY6IDAyMTkNCjw1PiAgVHlwZTogICBEaXJl Y3QtQWNjZXNzICAgICAgICAgICAgICAgICAgICAgIEFOU0kgU0NTSSByZXZpc2lvbjogMDQNCjw3 PlBNOiBBZGRpbmcgaW5mbyBmb3Igc2NzaTowOjA6MDowDQo8NT5TQ1NJIGRldmljZSBzZGE6IDEz Njc2MTIxNjAgNTEyLWJ5dGUgaGR3ciBzZWN0b3JzICg3MDAyMTcgTUIpDQo8NT5zZGE6IFdyaXRl IFByb3RlY3QgaXMgb2ZmDQo8Nz5zZGE6IE1vZGUgU2Vuc2U6IDg3IDAwIDAwIDA4DQo8NT5TQ1NJ IGRldmljZSBzZGE6IGRyaXZlIGNhY2hlOiB3cml0ZSB0aHJvdWdoDQo8NT5TQ1NJIGRldmljZSBz ZGE6IDEzNjc2MTIxNjAgNTEyLWJ5dGUgaGR3ciBzZWN0b3JzICg3MDAyMTcgTUIpDQo8NT5zZGE6 IFdyaXRlIFByb3RlY3QgaXMgb2ZmDQo8Nz5zZGE6IE1vZGUgU2Vuc2U6IDg3IDAwIDAwIDA4DQo8 NT5TQ1NJIGRldmljZSBzZGE6IGRyaXZlIGNhY2hlOiB3cml0ZSB0aHJvdWdoDQo8Nj4gc2RhOiBz ZGExIHNkYTINCjw1PnNkIDA6MDowOjA6IEF0dGFjaGVkIHNjc2kgZGlzayBzZGENCjw0PnNjc2ko MSk6IFZlcmlmeWluZyBDaGVja3N1bSBvZiBsb2FkZWQgUklTQyBjb2RlLg0KPDQ+c2NzaSgxKTog Q2hlY2tzdW0gT0ssIHN0YXJ0IGZpcm13YXJlLg0KPDY+cWxhMnh4eCAwMDAwOjAwOjBlLjA6IEFs bG9jYXRlZCAoNDEyIEtCKSBmb3IgZmlybXdhcmUgZHVtcC4uLg0KPDQ+c2NzaSgxKTogSXNzdWUg aW5pdCBmaXJtd2FyZS4NCjw0PnNjc2koMSk6IEFzeW5jaHJvbm91cyBMSVAgUkVTRVQgKGY4ZWYp Lg0KPDY+cWxhMnh4eCAwMDAwOjAwOjBlLjA6IExJUCByZXNldCBvY2N1cmVkIChmOGVmKS4NCjw2 PnFsYTJ4eHggMDAwMDowMDowZS4wOiBXYWl0aW5nIGZvciBMSVAgdG8gY29tcGxldGUuLi4NCjw0 PnNjc2koMSk6IExJUCBvY2N1cmVkIChmOGVmKS4NCjw2PnFsYTJ4eHggMDAwMDowMDowZS4wOiBM SVAgb2NjdXJlZCAoZjhlZikuDQo8ND5zY3NpKDEpOiBBc3luY2hyb25vdXMgTE9PUCBVUCAoMiBH YnBzKS4NCjw2PnFsYTJ4eHggMDAwMDowMDowZS4wOiBMT09QIFVQIGRldGVjdGVkICgyIEdicHMp Lg0KPDQ+c2NzaSgxKTogQXN5bmNocm9ub3VzIFBPUlQgVVBEQVRFLg0KPDY+c2NzaSgxKTogUG9y dCBkYXRhYmFzZSBjaGFuZ2VkIGZmZmYgMDAwNiAwMDAwLg0KPDQ+c2NzaSgxKTogRi9XIFJlYWR5 IC0gT0sgDQo8ND5zY3NpKDEpOiBmd19zdGF0ZT0zIGN1cnIgdGltZT1mZmZlZTg0Ni4NCjw2PnFs YTJ4eHggMDAwMDowMDowZS4wOiBUb3BvbG9neSAtIChMb29wKSwgSG9zdCBMb29wIGFkZHJlc3Mg MHgxDQo8ND5zY3NpKDEpOiBDb25maWd1cmUgbG9vcCAtLSBkcGMgZmxhZ3MgPTB4NDA4MDA0MA0K PDQ+cWxhMngwMF9tYWlsYm94X2NvbW1hbmQoMSk6ICoqKiogRkFJTEVELiBtYngwPTQwMDYsIG1i eDE9N2UsIG1ieDI9MCwgY21kPTZhICoqKioNCjw0PnFsYTJ4MDBfZ2V0X3BvcnRfbmFtZSgxKTog ZmFpbGVkPTEwMi4NCjw0PnNjc2koMSk6IE1CQ19HRVRfUE9SVF9OQU1FIEZhaWxlZCwgTm8gRkwg UG9ydA0KPDQ+c2NzaSgxKTogTE9PUCBSRUFEWQ0KPDQ+REVCVUc6IGRldGVjdCBoYmEgMSBhdCBh ZGRyZXNzID0gZjc2OWE0N2MNCjw2PnNjc2kxIDogcWxhMnh4eA0KPDc+UE06IEFkZGluZyBpbmZv IGZvciBObyBCdXM6aG9zdDENCjw2PnFsYTJ4eHggMDAwMDowMDowZS4wOiANCjw0PiBRTG9naWMg RmlicmUgQ2hhbm5lbCBIQkEgRHJpdmVyOiA4LjAxLjA1LWszDQo8ND4gIFFMb2dpYyBRTEEyMDAg LSANCjw0PiAgSVNQNjMxMjogUENJICgzMyBNSHopIEAgMDAwMDowMDowZS4wIGhkbWEtLCBob3N0 Iz0xLCBmdz0zLjAzLjIwIElQWA0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6cnBvcnQt MTowLTANCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOnRhcmdldDE6MDowDQo8NT4gIFZl bmRvcjogREdDICAgICAgIE1vZGVsOiBSQUlEIDUgICAgICAgICAgICBSZXY6IDAyMTkNCjw1PiAg VHlwZTogICBEaXJlY3QtQWNjZXNzICAgICAgICAgICAgICAgICAgICAgIEFOU0kgU0NTSSByZXZp c2lvbjogMDQNCjw3PlBNOiBBZGRpbmcgaW5mbyBmb3Igc2NzaToxOjA6MDowDQo8NT5TQ1NJIGRl dmljZSBzZGI6IDEzNjc2MTIxNjAgNTEyLWJ5dGUgaGR3ciBzZWN0b3JzICg3MDAyMTcgTUIpDQo8 NT5zZGI6IFdyaXRlIFByb3RlY3QgaXMgb2ZmDQo8Nz5zZGI6IE1vZGUgU2Vuc2U6IDg3IDAwIDAw IDA4DQo8NT5TQ1NJIGRldmljZSBzZGI6IGRyaXZlIGNhY2hlOiB3cml0ZSB0aHJvdWdoDQo8NT5T Q1NJIGRldmljZSBzZGI6IDEzNjc2MTIxNjAgNTEyLWJ5dGUgaGR3ciBzZWN0b3JzICg3MDAyMTcg TUIpDQo8NT5zZGI6IFdyaXRlIFByb3RlY3QgaXMgb2ZmDQo8Nz5zZGI6IE1vZGUgU2Vuc2U6IDg3 IDAwIDAwIDA4DQo8NT5TQ1NJIGRldmljZSBzZGI6IGRyaXZlIGNhY2hlOiB3cml0ZSB0aHJvdWdo DQo8Nj4gc2RiOiBzZGIxIHNkYjINCjw1PnNkIDE6MDowOjA6IEF0dGFjaGVkIHNjc2kgZGlzayBz ZGINCjw3PmxpYmF0YSB2ZXJzaW9uIDIuMDAgbG9hZGVkLg0KPDc+c2F0YV92aWEgMDAwMDowMDow Zi4wOiB2ZXJzaW9uIDIuMA0KPDY+QUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjBmLjBbQl0g LT4gTGluayBbTE5LQl0gLT4gR1NJIDEwIChsZXZlbCwgbG93KSAtPiBJUlEgMTANCjw2PnNhdGFf dmlhIDAwMDA6MDA6MGYuMDogcm91dGVkIHRvIGhhcmQgaXJxIGxpbmUgMTANCjw2PmF0YTE6IFNB VEEgbWF4IFVETUEvMTMzIGNtZCAweEU4MDAgY3RsIDB4RTQwMiBibWRtYSAweEQ0MDAgaXJxIDEw DQo8Nj5hdGEyOiBTQVRBIG1heCBVRE1BLzEzMyBjbWQgMHhFMDAwIGN0bCAweEQ4MDIgYm1kbWEg MHhENDA4IGlycSAxMA0KPDY+c2NzaTIgOiBzYXRhX3ZpYQ0KPDc+UE06IEFkZGluZyBpbmZvIGZv ciBObyBCdXM6aG9zdDINCjw2PmF0YTE6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRy b2wgMzEwKQ0KPDQ+QVRBOiBhYm5vcm1hbCBzdGF0dXMgMHg3RiBvbiBwb3J0IDB4RTgwNw0KPDY+ c2NzaTMgOiBzYXRhX3ZpYQ0KPDc+UE06IEFkZGluZyBpbmZvIGZvciBObyBCdXM6aG9zdDMNCjw2 PmF0YTI6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzEwKQ0KPDQ+QVRBOiBh Ym5vcm1hbCBzdGF0dXMgMHg3RiBvbiBwb3J0IDB4RTAwNw0KPDY+c2tnZSBldGgwOiBlbmFibGlu ZyBpbnRlcmZhY2UNCjw2PnNrZ2UgZXRoMDogTGluayBpcyB1cCBhdCAxMDAwIE1icHMsIGZ1bGwg ZHVwbGV4LCBmbG93IGNvbnRyb2wgdHggYW5kIHJ4DQo8ND5VbmFibGUgdG8gaWRlbnRpZnkgQ0Qt Uk9NIGZvcm1hdC4NCjw0PlZGUzogQ2FuJ3QgZmluZCBhbiBleHQyIGZpbGVzeXN0ZW0gb24gZGV2 IGxvb3AwLg0KPDY+c2VjdXJpdHk6ICAzIHVzZXJzLCA2IHJvbGVzLCAxMzk4IHR5cGVzLCAxNDgg Ym9vbHMsIDEgc2VucywgMjU2IGNhdHMNCjw2PnNlY3VyaXR5OiAgNTggY2xhc3NlcywgNDAzMTQg cnVsZXMNCjw2PlNFTGludXg6ICBDb21wbGV0aW5nIGluaXRpYWxpemF0aW9uLg0KPDY+U0VMaW51 eDogIFNldHRpbmcgdXAgZXhpc3Rpbmcgc3VwZXJibG9ja3MuDQo8Nj5TRUxpbnV4OiBpbml0aWFs aXplZCAoZGV2IGxvb3AwLCB0eXBlIHNxdWFzaGZzKSwgbm90IGNvbmZpZ3VyZWQgZm9yIGxhYmVs aW5nDQo8Nj5TRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IDA6MTMsIHR5cGUgbmZzKSwgdXNlcyBn ZW5mc19jb250ZXh0cw0KPDY+U0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBycGNfcGlwZWZzLCB0 eXBlIHJwY19waXBlZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzDQo8Nj5TRUxpbnV4OiBpbml0aWFs aXplZCAoZGV2IHVzYmZzLCB0eXBlIHVzYmZzKSwgdXNlcyBnZW5mc19jb250ZXh0cw0KPDY+U0VM aW51eDogaW5pdGlhbGl6ZWQgKGRldiByYW1mcywgdHlwZSByYW1mcyksIHVzZXMgZ2VuZnNfY29u dGV4dHMNCjw2PlNFTGludXg6IGluaXRpYWxpemVkIChkZXYgcmFtZnMsIHR5cGUgcmFtZnMpLCB1 c2VzIGdlbmZzX2NvbnRleHRzDQo8Nj5TRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IHRtcGZzLCB0 eXBlIHRtcGZzKSwgdXNlcyB0cmFuc2l0aW9uIFNJRHMNCjw2PlNFTGludXg6IGluaXRpYWxpemVk IChkZXYgZGVidWdmcywgdHlwZSBkZWJ1Z2ZzKSwgdXNlcyBnZW5mc19jb250ZXh0cw0KPDY+U0VM aW51eDogaW5pdGlhbGl6ZWQgKGRldiBzZWxpbnV4ZnMsIHR5cGUgc2VsaW51eGZzKSwgdXNlcyBn ZW5mc19jb250ZXh0cw0KPDY+U0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBtcXVldWUsIHR5cGUg bXF1ZXVlKSwgdXNlcyB0cmFuc2l0aW9uIFNJRHMNCjw2PlNFTGludXg6IGluaXRpYWxpemVkIChk ZXYgaHVnZXRsYmZzLCB0eXBlIGh1Z2V0bGJmcyksIHVzZXMgZ2VuZnNfY29udGV4dHMNCjw2PlNF TGludXg6IGluaXRpYWxpemVkIChkZXYgZGV2cHRzLCB0eXBlIGRldnB0cyksIHVzZXMgdHJhbnNp dGlvbiBTSURzDQo8Nj5TRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IGV2ZW50cG9sbGZzLCB0eXBl IGV2ZW50cG9sbGZzKSwgdXNlcyBnZW5mc19jb250ZXh0cw0KPDY+U0VMaW51eDogaW5pdGlhbGl6 ZWQgKGRldiBpbm90aWZ5ZnMsIHR5cGUgaW5vdGlmeWZzKSwgdXNlcyBnZW5mc19jb250ZXh0cw0K PDY+U0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiB0bXBmcywgdHlwZSB0bXBmcyksIHVzZXMgdHJh bnNpdGlvbiBTSURzDQo8Nj5TRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IGZ1dGV4ZnMsIHR5cGUg ZnV0ZXhmcyksIHVzZXMgZ2VuZnNfY29udGV4dHMNCjw2PlNFTGludXg6IGluaXRpYWxpemVkIChk ZXYgcGlwZWZzLCB0eXBlIHBpcGVmcyksIHVzZXMgdGFzayBTSURzDQo8Nj5TRUxpbnV4OiBpbml0 aWFsaXplZCAoZGV2IHNvY2tmcywgdHlwZSBzb2NrZnMpLCB1c2VzIHRhc2sgU0lEcw0KPDY+U0VM aW51eDogaW5pdGlhbGl6ZWQgKGRldiBwcm9jLCB0eXBlIHByb2MpLCB1c2VzIGdlbmZzX2NvbnRl eHRzDQo8Nj5TRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IGJkZXYsIHR5cGUgYmRldiksIHVzZXMg Z2VuZnNfY29udGV4dHMNCjw2PlNFTGludXg6IGluaXRpYWxpemVkIChkZXYgcm9vdGZzLCB0eXBl IHJvb3RmcyksIHVzZXMgZ2VuZnNfY29udGV4dHMNCjw2PlNFTGludXg6IGluaXRpYWxpemVkIChk ZXYgc3lzZnMsIHR5cGUgc3lzZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzDQo8NT5hdWRpdCgxMTUy MjIwNTc5LjgyOToyKTogcG9saWN5IGxvYWRlZCBhdWlkPTQyOTQ5NjcyOTUNCjw1PmF1ZGl0KDEx NTIyMjA1NzkuODI5OjMpOiBhdmM6ICBncmFudGVkICB7IGxvYWRfcG9saWN5IH0gZm9yICBwaWQ9 NDE4IGNvbW09ImxvYWRfcG9saWN5IiBzY29udGV4dD1zeXN0ZW1fdTpzeXN0ZW1fcjprZXJuZWxf dDpzMCB0Y29udGV4dD1zeXN0ZW1fdTpvYmplY3RfcjpzZWN1cml0eV90OnMwIHRjbGFzcz1zZWN1 cml0eQ0KPDU+YXVkaXQoMTE1MjIyMDU3OS44Mzc6NCk6IGF2YzogIGRlbmllZCAgeyB0cmFuc2l0 aW9uIH0gZm9yICBwaWQ9NDE5IGNvbW09ImxvYWRlciIgbmFtZT0iYmFzaCIgZGV2PWxvb3AwIGlu bz02MjI4IHNjb250ZXh0PXN5c3RlbV91OnN5c3RlbV9yOmtlcm5lbF90OnMwIHRjb250ZXh0PXN5 c3RlbV91OnN5c3RlbV9yOmFuYWNvbmRhX3Q6czAgdGNsYXNzPXByb2Nlc3MNCjw2Pm1kOiByYWlk MCBwZXJzb25hbGl0eSByZWdpc3RlcmVkIGZvciBsZXZlbCAwDQo8Nj5tZDogcmFpZDEgcGVyc29u YWxpdHkgcmVnaXN0ZXJlZCBmb3IgbGV2ZWwgMQ0KPDY+SkZTOiBuVHhCbG9jayA9IDcwNjIsIG5U eExvY2sgPSA1NjUwMA0KPDY+U0dJIFhGUyB3aXRoIEFDTHMsIHNlY3VyaXR5IGF0dHJpYnV0ZXMs IGxhcmdlIGJsb2NrIG51bWJlcnMsIG5vIGRlYnVnIGVuYWJsZWQNCjw2PlNHSSBYRlMgUXVvdGEg TWFuYWdlbWVudCBzdWJzeXN0ZW0NCjw2PmRldmljZS1tYXBwZXI6IGlvY3RsOiA0LjcuMC1pb2N0 bCAoMjAwNi0wNi0yNCkgaW5pdGlhbGlzZWQ6IGRtLWRldmVsQHJlZGhhdC5jb20NCjw0Pg0KPDQ+ PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo8ND5bIElORk86 IHBvc3NpYmxlIHJlY3Vyc2l2ZSBsb2NraW5nIGRldGVjdGVkIF0NCjw0Pi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPDQ+YW5hY29uZGEvNDUxIGlzIHRyeWlu ZyB0byBhY3F1aXJlIGxvY2s6DQo8ND4gKCZiZGV2LT5iZF9tdXRleCl7LS0uLn0sIGF0OiBbPGMw NDYzZjQ2Pl0gX19ibGtkZXZfcHV0KzB4MjIvMHgxMjMNCjw0Pg0KPDQ+YnV0IHRhc2sgaXMgYWxy ZWFkeSBob2xkaW5nIGxvY2s6DQo8ND4gKCZiZGV2LT5iZF9tdXRleCl7LS0uLn0sIGF0OiBbPGMw NDY0MjM3Pl0gZG9fb3BlbisweDY4LzB4Mzg1DQo8ND4NCjw0Pm90aGVyIGluZm8gdGhhdCBtaWdo dCBoZWxwIHVzIGRlYnVnIHRoaXM6DQo8ND4xIGxvY2sgaGVsZCBieSBhbmFjb25kYS80NTE6DQo8 ND4gIzA6ICAoJmJkZXYtPmJkX211dGV4KXstLS4ufSwgYXQ6IFs8YzA0NjQyMzc+XSBkb19vcGVu KzB4NjgvMHgzODUNCjw0Pg0KPDQ+c3RhY2sgYmFja3RyYWNlOg0KPDQ+IFs8YzA0MDM3M2M+XSBz aG93X3RyYWNlX2xvZ19sdmwrMHg1NC8weGZkDQo8ND4gWzxjMDQwM2NiYT5dIHNob3dfdHJhY2Ur MHhkLzB4MTANCjw0PiBbPGMwNDAzZDU3Pl0gZHVtcF9zdGFjaysweDE5LzB4MWINCjw0PiBbPGMw NDJjM2JhPl0gX19sb2NrX2FjcXVpcmUrMHg3NjAvMHg5ODcNCjw0PiBbPGMwNDJjYjUyPl0gbG9j a19hY3F1aXJlKzB4NGIvMHg2ZA0KPDQ+IFs8YzA1ZWM1MGM+XSBtdXRleF9sb2NrX25lc3RlZCsw eGNjLzB4MjQzDQo8ND4gWzxjMDQ2M2Y0Nj5dIF9fYmxrZGV2X3B1dCsweDIyLzB4MTIzDQo8ND4g WzxjMDQ2NDA2MD5dIGJsa2Rldl9wdXQrMHhhLzB4Yw0KPDQ+IFs8YzA0NjQ0ZTI+XSBkb19vcGVu KzB4MzEzLzB4Mzg1DQo8ND4gWzxjMDQ2NDc1OT5dIGJsa2Rldl9vcGVuKzB4MWYvMHg0OA0KPDQ+ IFs8YzA0NWJkYTA+XSBfX2RlbnRyeV9vcGVuKzB4YjgvMHgxODYNCjw0PiBbPGMwNDViZWRjPl0g bmFtZWlkYXRhX3RvX2ZpbHArMHgxYy8weDJlDQo8ND4gWzxjMDQ1YmYxZD5dIGRvX2ZpbHBfb3Bl bisweDJmLzB4MzYNCjw0PiBbPGMwNDViZjY0Pl0gZG9fc3lzX29wZW4rMHg0MC8weGJiDQo8ND4g WzxjMDQ1YzAwYj5dIHN5c19vcGVuKzB4MTYvMHgxOA0KPDQ+IFs8YzA0MDJkYzc+XSBzeXNjYWxs X2NhbGwrMHg3LzB4Yg0K --=-fuhfrbUfLZFr/xMzI73M--