From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by aws-us-west-2-korg-lkml-1.web.codeaurora.org (Postfix) with ESMTP id DC55AC433EF for ; Thu, 14 Jun 2018 10:09:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6458F208D4 for ; Thu, 14 Jun 2018 10:09:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="YI1wajgO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6458F208D4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754961AbeFNKJW (ORCPT ); Thu, 14 Jun 2018 06:09:22 -0400 Received: from mail-he1eur01on0068.outbound.protection.outlook.com ([104.47.0.68]:13568 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754709AbeFNKJU (ORCPT ); Thu, 14 Jun 2018 06:09:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2L12LcHQg8CpMBsRWQdu02eXIPcTxaFSf283l5nhXcM=; b=YI1wajgOivkLHHd/5a7YGHeSp6rEqqp1Cpqic69LzE2z3gBQ9S9fyrUIOyoQxxOztTdvDnNQvND+p2J5HKkTbET4w55dcPhP92ikbvFtCACFhLHcI2x9oGGoDuDpq5gkyMtsf0YI5cR278zLS5hsG0brcfDbHDJMoDI4H6fJEhE= Received: from DB6PR04MB3223.eurprd04.prod.outlook.com (10.170.211.19) by DB6PR04MB3063.eurprd04.prod.outlook.com (10.170.213.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.13; Thu, 14 Jun 2018 10:09:15 +0000 Received: from DB6PR04MB3223.eurprd04.prod.outlook.com ([fe80::15a5:6ba0:ac66:7977]) by DB6PR04MB3223.eurprd04.prod.outlook.com ([fe80::15a5:6ba0:ac66:7977%2]) with mapi id 15.20.0841.011; Thu, 14 Jun 2018 10:09:14 +0000 From: Robin Gong To: "l.stach@pengutronix.de" , "s.hauer@pengutronix.de" , "vkoul@kernel.org" , "dan.j.williams@intel.com" , "gregkh@linuxfoundation.org" , "jslaby@suse.com" CC: "dmaengine@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , dl-linux-imx , "linux-serial@vger.kernel.org" Subject: Re: [PATCH v4 0/7] add virt-dma support for imx-sdma Thread-Topic: [PATCH v4 0/7] add virt-dma support for imx-sdma Thread-Index: AQHUA6WCPDxakCrkTkis7Fd3kJlKJ6Rfcv4AgACbNoA= Date: Thu, 14 Jun 2018 10:09:14 +0000 Message-ID: <1528999731.10947.20.camel@nxp.com> References: <1528984982-5074-1-git-send-email-yibin.gong@nxp.com> <1528966400.21021.26.camel@pengutronix.de> In-Reply-To: <1528966400.21021.26.camel@pengutronix.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.18.5.2-0ubuntu3.2 authentication-results: spf=none (sender IP is ) smtp.mailfrom=yibin.gong@nxp.com; x-originating-ip: [119.31.174.66] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DB6PR04MB3063;7:pbcwvI41v4+kCtJztE3w5SCqf7SCS9s3ulPyJ4y/ag83RYpTIcUs0tPh8lcq8BpCQ9sk2kD3Fe+1T1MchY4qXNjrc5DeBwyB5HMBW7oXWcrSSFyViMaVH6tGbNViMwAtP3jS1iJmdoV275v34ShqC7/wxLoZzL6IB74aMd1+hnpeQEHyY8gAqqWAAw8EmCQV3x7yiP1tYgwJYEFyzsEKUUx93VUavK+wloKFbg8FTIeHlswXQf0DlqfHLa7Vn66R x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 6383c4be-f231-4662-0969-08d5d1dee221 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:DB6PR04MB3063; x-ms-traffictypediagnostic: DB6PR04MB3063: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011)(7699016);SRVR:DB6PR04MB3063;BCL:0;PCL:0;RULEID:;SRVR:DB6PR04MB3063; x-forefront-prvs: 0703B549E4 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(396003)(346002)(376002)(366004)(39380400002)(189003)(199004)(25786009)(8676002)(5660300001)(476003)(2900100001)(53946003)(14454004)(36756003)(6436002)(50226002)(103116003)(8936002)(81166006)(81156014)(6512007)(305945005)(478600001)(11346002)(6246003)(486006)(2616005)(2501003)(7416002)(106356001)(105586002)(5250100002)(4326008)(7736002)(446003)(53936002)(575784001)(97736004)(3846002)(6116002)(66066001)(6486002)(3660700001)(3280700002)(2906002)(59450400001)(68736007)(26005)(102836004)(6506007)(76176011)(99286004)(86362001)(2201001)(229853002)(110136005)(316002)(186003)(54906003)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR04MB3063;H:DB6PR04MB3223.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: mM3RxGg9wOAvJWTVO1TV34G9Ixgv1oASWLTL4fa0maYSVuDsLSKuyOmtr7tGXKiXbHVF1AetnLmqLP+RL6TfZJfkY1iDXYLDIWQdxww54WKbUfh1MDgRG+AvDbzlY82SrQBi1PUBDGeaair9nLFUwRtiYX0G+xuI+WaOtVszh/aNTCpRJ4zAkwVhEneSvzIB spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <3BAAAB0A7565574ABBD26C53F73811A0@eurprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6383c4be-f231-4662-0969-08d5d1dee221 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2018 10:09:14.8616 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR04MB3063 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgTHVjYXMsDQoJQ291bGQgeW91IGRvdWJsZSBjaGVjayBhZ2Fpbj8gU3RpbGwgY2FuIHJlcHJv ZHVjZSBsb2NrZGVwDQp3YXJuaW5nIG9uIFVBUlQgaWYgY2hhbmdlDQpzcGluX2xvY2tfbG9ja2ly cXNhdmUvc3BpbmxvY2tfdW5sb2NrX2lycXJlc3RvcmUgdG8NCnNwaW5fbG9jay9zcGluX3VubG9j ayBpbiBzZG1hX2ludF9oYW5kbGVyIGFzIHlvdSBzYWlkIHdpdGhvdXQgcGF0Y2g3LzcuDQpXb3Vs ZCB5b3UgcGxlYXNlIGFzayBiZWxvdyB0d28gbW9yZSBxdWVzdGlvbnM/DQoxLiBEb2VzIHlvdXIg dWFydCBjYXNlIHBhc3Mgbm93IHdpdGggbXkgdjQgcGF0Y2hzZXQ/DQoyLiBEbyB5b3UgbWFrZSBz b21lIGNvZGUgY2hhbmdlIGluIHlvdXIgbG9jYWwoJ0kganVzdCBnYXZlIHRoaXMgc2VyaWVzDQph IHNwaW4nKXRvIHJlcHJvZHVjZSB5b3VyIGJlbG93IGlzc3VlPyBJZiB5ZXMsIGNvdWxkIHlvdSBw b3N0IHlvdXINCmNoYW5nZT8NCg0KT24g5ZubLCAyMDE4LTA2LTE0IGF0IDEwOjUzICswMjAwLCBM dWNhcyBTdGFjaCB3cm90ZToNCj4gSGkgUm9iaW4sDQo+IA0KPiBJIGp1c3QgZ2F2ZSB0aGlzIHNl cmllcyBhIHNwaW4gYW5kIGl0IHNlZW1zIHRoZXJlIGlzIGV2ZW4gbW9yZQ0KPiBsb2NraW5nDQo+ IGZ1biwgc2VlIHRoZSBsb2NrZGVwIG91dHB1dCBiZWxvdy4gQWZ0ZXIgdGFraW5nIGEgc2hvcnQg bG9vayBpdCBzZWVtcw0KPiB0aGlzIGlzIGNhdXNlZCBieSB1c2luZyB0aGUgd3Jvbmcgc3Bpbmxv Y2sgdmFyaWFudHMgaW4NCj4gc2RtYV9pbnRfaGFuZGxlcigpLCB0aG9zZSBzaG91bGQgYWxzbyB1 c2UgdGhlIF9pcnFzYXZlIG9uZXMuIFdoZW4NCj4gZml4aW5nIHRoaXMgeW91IG1pZ2h0IHdhbnQg dG8gcmVjb25zaWRlciBwYXRjaCA3LzcsIGFzIGl0J3MgcHJvYmFibHkNCj4gbm90IG5lZWRlZCBh dCBhbGwuDQo+IA0KPiBSZWdhcmRzLA0KPiBMdWNhcw0KPiANCj4gW8KgwqDCoDIwLjQ3OTQwMV0N Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCj4gW8KgwqDCoDIwLjQ4NTc2OV0gV0FSTklORzogcG9zc2libGUgaXJxIGxvY2sgaW52ZXJz aW9uIGRlcGVuZGVuY3kNCj4gZGV0ZWN0ZWQNCj4gW8KgwqDCoDIwLjQ5MjE0MF0gNC4xNy4wKyAj MTUzOCBOb3QgdGFpbnRlZA0KPiBbwqDCoMKgMjAuNDk1ODE0XSAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0NCj4gW8KgwqDCoDIwLjUw MjE4MV0gc3lzdGVtZC8xIGp1c3QgY2hhbmdlZCB0aGUgc3RhdGUgb2YgbG9jazoNCj4gW8KgwqDC oDIwLjUwNzI0N10gYzBhYmRhZmMgKCYoJnN1YnN0cmVhbS0+c2VsZl9ncm91cC5sb2NrKS0+cmxv Y2spey0NCj4gLi4ufSwgYXQ6IHNuZF9wY21fc3RyZWFtX2xvY2srMHg1NC8weDYwDQo+IFvCoMKg wqAyMC41MTY1MjNdIGJ1dCB0aGlzIGxvY2sgdG9vayBhbm90aGVyLCBIQVJESVJRLXVuc2FmZSBs b2NrIGluIHRoZQ0KPiBwYXN0Og0KPiBbwqDCoMKgMjAuNTIzMjM0XcKgwqAoZnNfcmVjbGFpbSl7 Ky4rLn0NCj4gW8KgwqDCoDIwLjUyMzI1M13CoA0KPiBbwqDCoMKgMjAuNTIzMjUzXcKgDQo+IFvC oMKgwqAyMC41MjMyNTNdIGFuZCBpbnRlcnJ1cHRzIGNvdWxkIGNyZWF0ZSBpbnZlcnNlIGxvY2sg b3JkZXJpbmcNCj4gYmV0d2VlbiB0aGVtLg0KPiBbwqDCoMKgMjAuNTIzMjUzXcKgDQo+IFvCoMKg wqAyMC41Mzc4MDRdwqANCj4gW8KgwqDCoDIwLjUzNzgwNF0gb3RoZXIgaW5mbyB0aGF0IG1pZ2h0 IGhlbHAgdXMgZGVidWcgdGhpczoNCj4gW8KgwqDCoDIwLjU0NDM0NF3CoMKgUG9zc2libGUgaW50 ZXJydXB0IHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOg0KPiBbwqDCoMKgMjAuNTQ0MzQ0XcKgDQo+ IFvCoMKgwqAyMC41NTExNDRdwqDCoMKgwqDCoMKgwqDCoENQVTDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgQ1BVMQ0KPiBbwqDCoMKgMjAuNTU1Njg2XcKgwqDCoMKgwqDC oMKgwqAtLS0twqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC0tLS0NCj4g W8KgwqDCoDIwLjU2MDIyNF3CoMKgwqBsb2NrKGZzX3JlY2xhaW0pOw0KPiBbwqDCoMKgMjAuNTYz Mzg2XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBsb2NhbF9pcnFfZGlzYWJsZSgpOw0KPiBbwqDCoMKgMjAuNTY5MzE1XcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBsb2NrKCYoJnN1YnN0cmVhbS0NCj4gPnNlbGZfZ3JvdXAubG9jayktPnJsb2NrKTsNCj4gW8Kg wqDCoDIwLjU3NzMzN13CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgbG9jayhmc19yZWNsYWltKTsNCj4gW8KgwqDCoDIwLjU4MzAx NF3CoMKgwqA8SW50ZXJydXB0Pg0KPiBbwqDCoMKgMjAuNTg1NjQzXcKgwqDCoMKgwqBsb2NrKCYo JnN1YnN0cmVhbS0+c2VsZl9ncm91cC5sb2NrKS0+cmxvY2spOw0KPiBbwqDCoMKgMjAuNTkxMzIy XcKgDQo+IFvCoMKgwqAyMC41OTEzMjJdwqDCoCoqKiBERUFETE9DSyAqKioNCj4gW8KgwqDCoDIw LjU5MTMyMl3CoA0KPiBbwqDCoMKgMjAuNTk3MjYwXSAxIGxvY2sgaGVsZCBieSBzeXN0ZW1kLzE6 DQo+IFvCoMKgwqAyMC42MDc4MDZdwqDCoCMwOiBhYjIzZDExYyAoc25kX3BjbV9saW5rX3J3bG9j ayl7Li0uLn0sIGF0Og0KPiBzbmRfcGNtX3N0cmVhbV9sb2NrKzB4NGMvMHg2MA0KPiBbwqDCoMKg MjAuNjE1OTUxXcKgDQo+IFvCoMKgwqAyMC42MTU5NTFdIHRoZSBzaG9ydGVzdCBkZXBlbmRlbmNp ZXMgYmV0d2VlbiAybmQgbG9jayBhbmQgMXN0DQo+IGxvY2s6DQo+IFvCoMKgwqAyMC42MjM3OTld wqDCoC0+IChmc19yZWNsYWltKXsrLisufSBvcHM6IDI0ODQ3NCB7DQo+IFvCoMKgwqAyMC42Mjg0 NTZdwqDCoMKgwqDCoEhBUkRJUlEtT04tVyBhdDoNCj4gW8KgwqDCoDIwLjYzMTcxNl3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbG9ja19hY3F1aXJlKzB4MjYw LzB4MjljDQo+IFvCoMKgwqAyMC42MzcyMjNdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGZzX3JlY2xhaW1fYWNxdWlyZSsweDQ4LzB4NTgNCj4gW8KgwqDCoDIw LjY0MzA3NV3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKga21l bV9jYWNoZV9hbGxvY190cmFjZSsweDNjLzB4MzYNCj4gNA0KPiBbwqDCoMKgMjAuNjQ5MzY2XcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBhbGxvY193b3JrZXIu Y29uc3Rwcm9wLjE1KzB4MjgvMA0KPiB4NjQNCj4gW8KgwqDCoDIwLjY1NTgyNF3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW5pdF9yZXNjdWVyLnBhcnQuNSsw eDIwLzB4YTQNCj4gW8KgwqDCoDIwLjY2MTc2NF3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgd29ya3F1ZXVlX2luaXQrMHgxMjQvMHgxZjgNCj4gW8KgwqDCoDIw LjY2NzQ0Nl3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKga2Vy bmVsX2luaXRfZnJlZWFibGUrMHg2MC8weDU1MA0KPiBbwqDCoMKgMjAuNjczNTYxXcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBrZXJuZWxfaW5pdCsweDE4LzB4 MTIwDQo+IFvCoMKgwqAyMC42Nzg4OTBdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHJldF9mcm9tX2ZvcmsrMHgxNC8weDIwDQo+IFvCoMKgwqAyMC42ODQyOTld wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAobnVsbCkN Cj4gW8KgwqDCoDIwLjY4ODQwOF3CoMKgwqDCoMKgU09GVElSUS1PTi1XIGF0Og0KPiBbwqDCoMKg MjAuNjkxNjU5XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBs b2NrX2FjcXVpcmUrMHgyNjAvMHgyOWMNCj4gW8KgwqDCoDIwLjY5NzE1OF3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZnNfcmVjbGFpbV9hY3F1aXJlKzB4NDgv MHg1OA0KPiBbwqDCoMKgMjAuNzAzMDA2XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBrbWVtX2NhY2hlX2FsbG9jX3RyYWNlKzB4M2MvMHgzNg0KPiA0DQo+IFvC oMKgwqAyMC43MDkyODhdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGFsbG9jX3dvcmtlci5jb25zdHByb3AuMTUrMHgyOC8wDQo+IHg2NA0KPiBbwqDCoMKgMjAu NzA5MzAxXcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpbml0 X3Jlc2N1ZXIucGFydC41KzB4MjAvMHhhNA0KPiBbwqDCoMKgMjAuNzIwNzE3XcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB3b3JrcXVldWVfaW5pdCsweDEyNC8w eDFmOA0KPiBbwqDCoMKgMjAuNzIwNzI5XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBrZXJuZWxfaW5pdF9mcmVlYWJsZSsweDYwLzB4NTUwDQo+IFvCoMKgwqAy MC43MjA3MzhdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGtl cm5lbF9pbml0KzB4MTgvMHgxMjANCj4gW8KgwqDCoDIwLjcyMDc0Nl3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0X2Zyb21fZm9yaysweDE0LzB4MjANCj4g W8KgwqDCoDIwLjcyMDc1MV3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoChudWxsKQ0KPiBbwqDCoMKgMjAuNzIwNzU2XcKgwqDCoMKgwqBJTklUSUFMIFVT RSBhdDoNCj4gW8KgwqDCoDIwLjcyMDc3MF3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGxvY2tfYWNxdWlyZSsweDI2MC8weDI5Yw0KPiBbwqDCoMKgMjAuNzIwNzgy XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZnNfcmVjbGFpbV9h Y3F1aXJlKzB4NDgvMHg1OA0KPiBbwqDCoMKgMjAuNzc0Mzc0XcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKga21lbV9jYWNoZV9hbGxvY190cmFjZSsweDNjLzB4MzY0 DQo+IFvCoMKgwqAyMC43ODA1NzRdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBhbGxvY193b3JrZXIuY29uc3Rwcm9wLjE1KzB4MjgvMHgNCj4gNjQNCj4gW8KgwqDC oDIwLjc4Njk0NV3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlu aXRfcmVzY3Vlci5wYXJ0LjUrMHgyMC8weGE0DQo+IFvCoMKgwqAyMC43OTI3OTRdwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB3b3JrcXVldWVfaW5pdCsweDEyNC8w eDFmOA0KPiBbwqDCoMKgMjAuNzk4Mzg0XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKga2VybmVsX2luaXRfZnJlZWFibGUrMHg2MC8weDU1MA0KPiBbwqDCoMKgMjAu ODA0NDA2XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKga2VybmVs X2luaXQrMHgxOC8weDEyMA0KPiBbwqDCoMKgMjAuODA5NjQ4XcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0X2Zyb21fZm9yaysweDE0LzB4MjANCj4gW8KgwqDC oDIwLjgxNDk3MV3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAobnVsbCkNCj4gW8KgwqDCoDIwLjgxODk5Ml3CoMKgwqB9DQo+IFvCoMKgwqAyMC44MjA3Njhd wqDCoMKgLi4uIGtlecKgwqDCoMKgwqDCoGF0OiBbPDgwZTIyMDc0Pl0NCj4gX19mc19yZWNsYWlt X21hcCsweDAvMHgxMA0KPiBbwqDCoMKgMjAuODI3MjIwXcKgwqDCoC4uLiBhY3F1aXJlZCBhdDoN Cj4gW8KgwqDCoDIwLjgzMDI4OV3CoMKgwqDCoGZzX3JlY2xhaW1fYWNxdWlyZSsweDQ4LzB4NTgN Cj4gW8KgwqDCoDIwLjgzNDQ4N13CoMKgwqDCoGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgzYy8w eDM2NA0KPiBbwqDCoMKgMjAuODM5MTIzXcKgwqDCoMKgc2RtYV90cmFuc2Zlcl9pbml0KzB4NDQv MHgxMzANCj4gW8KgwqDCoDIwLjg0MzQwOV3CoMKgwqDCoHNkbWFfcHJlcF9kbWFfY3ljbGljKzB4 NzgvMHgyMWMNCj4gW8KgwqDCoDIwLjg0Nzg2OV3CoMKgwqDCoHNuZF9kbWFlbmdpbmVfcGNtX3Ry aWdnZXIrMHhkYy8weDE4NA0KPiBbwqDCoMKgMjAuODUyNzY0XcKgwqDCoMKgc29jX3BjbV90cmln Z2VyKzB4MTY0LzB4MTkwDQo+IFvCoMKgwqAyMC44NTY4NzZdwqDCoMKgwqBzbmRfcGNtX2RvX3N0 YXJ0KzB4MzQvMHg0MA0KPiBbwqDCoMKgMjAuODYwOTAyXcKgwqDCoMKgc25kX3BjbV9hY3Rpb25f c2luZ2xlKzB4NDgvMHg3NA0KPiBbwqDCoMKgMjAuODY1MzYwXcKgwqDCoMKgc25kX3BjbV9hY3Rp b24rMHgzNC8weGZjDQo+IFvCoMKgwqAyMC44NjkyMTNdwqDCoMKgwqBzbmRfcGNtX2lvY3RsKzB4 OTEwLzB4MTBlYw0KPiBbwqDCoMKgMjAuODczMjQxXcKgwqDCoMKgdmZzX2lvY3RsKzB4MzAvMHg0 NA0KPiBbwqDCoMKgMjAuODc2NjU3XcKgwqDCoMKgZG9fdmZzX2lvY3RsKzB4YWMvMHg5NzQNCj4g W8KgwqDCoDIwLjg4MDQyMV3CoMKgwqDCoGtzeXNfaW9jdGwrMHg0OC8weDY0DQo+IFvCoMKgwqAy MC44ODM5MjNdwqDCoMKgwqBzeXNfaW9jdGwrMHgxOC8weDFjDQo+IFvCoMKgwqAyMC44ODczNDBd wqDCoMKgwqByZXRfZmFzdF9zeXNjYWxsKzB4MC8weDI4DQo+IFvCoMKgwqAyMC44OTEyNzddwqDC oMKgwqAweDcyODliY2JjDQo+IFvCoMKgwqAyMC44OTM5MDldwqANCj4gW8KgwqDCoDIwLjg5NTQx MF0gLT4gKCYoJnN1YnN0cmVhbS0+c2VsZl9ncm91cC5sb2NrKS0+cmxvY2spey0uLi59IG9wczoN Cj4gNTkgew0KPiBbwqDCoMKgMjAuOTAxOTc3XcKgwqDCoMKgSU4tSEFSRElSUS1XIGF0Og0KPiBb wqDCoMKgMjAuOTA1MTQzXcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGxvY2tfYWNxdWlyZSsweDI2MC8weDI5Yw0KPiBbwqDCoMKgMjAuOTEwNDczXcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9yYXdfc3Bpbl9sb2NrKzB4NDgvMHg1OA0K PiBbwqDCoMKgMjAuOTE1ODAxXcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHNuZF9wY21fc3RyZWFtX2xvY2srMHg1NC8weDYwDQo+IFvCoMKgwqAyMC45MjE1NjFdwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgX3NuZF9wY21fc3RyZWFtX2xv Y2tfaXJxc2F2ZSsweDQwLw0KPiAweDQ4DQo+IFvCoMKgwqAyMC45MjgxMDddwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc25kX3BjbV9wZXJpb2RfZWxhcHNlZCsweDJj LzB4YTQNCj4gW8KgwqDCoDIwLjkzNDEyN13CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBkbWFlbmdpbmVfcGNtX2RtYV9jb21wbGV0ZSsweDU0LzB4DQo+IDU4DQo+IFvC oMKgwqAyMC45NDA0OThdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg c2RtYV9pbnRfaGFuZGxlcisweDFkYy8weDJhOA0KPiBbwqDCoMKgMjAuOTQ2MTc5XcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9faGFuZGxlX2lycV9ldmVudF9wZXJj cHUrMHgxZmMvMHgNCj4gNDk4DQo+IFvCoMKgwqAyMC45NTI2MzVdwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgzOC8weDhj DQo+IFvCoMKgwqAyMC45NTg3NDJdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgaGFuZGxlX2lycV9ldmVudCsweDQ4LzB4NmMNCj4gW8KgwqDCoDIwLjk2NDI0Ml3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW5kbGVfZmFzdGVvaV9pcnEr MHhjNC8weDEzOA0KPiBbwqDCoMKgMjAuOTcwMDA2XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGdlbmVyaWNfaGFuZGxlX2lycSsweDI4LzB4MzgNCj4gW8KgwqDCoDIw Ljk3NTY4MV3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBfX2hhbmRs ZV9kb21haW5faXJxKzB4YjAvMHhjNA0KPiBbwqDCoMKgMjAuOTgxNDQzXcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGdpY19oYW5kbGVfaXJxKzB4NjgvMHhhMA0KPiBb wqDCoMKgMjAuOTg2NzY5XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oF9faXJxX3N2YysweDcwLzB4YjANCj4gW8KgwqDCoDIwLjk5MTY2Ml3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBfcmF3X3NwaW5fdW5sb2NrX2lycSsweDM4LzB4NmMN Cj4gW8KgwqDCoDIwLjk5NzUxMV3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB0YXNrX3dvcmtfcnVuKzB4OTAvMHhiOA0KPiBbwqDCoMKgMjEuMDAyNzUxXcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRvX3dvcmtfcGVuZGluZysweGM4LzB4 ZDANCj4gW8KgwqDCoDIxLjAwODE2NF3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBzbG93X3dvcmtfcGVuZGluZysweGMvMHgyMA0KPiBbwqDCoMKgMjEuMDEzNjYxXcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4NzZjNzdlODYNCj4gW8Kg wqDCoDIxLjAxNzc2OF3CoMKgwqDCoElOSVRJQUwgVVNFIGF0Og0KPiBbwqDCoMKgMjEuMDIwODQ0 XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBsb2NrX2FjcXVpcmUrMHgy NjAvMHgyOWMNCj4gW8KgwqDCoDIxLjAyNjA4Nl3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgX3Jhd19zcGluX2xvY2srMHg0OC8weDU4DQo+IFvCoMKgwqAyMS4wMzEzMjhd wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNuZF9wY21fc3RyZWFtX2xv Y2srMHg1NC8weDYwDQo+IFvCoMKgwqAyMS4wMzcwMDJdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHNuZF9wY21fc3RyZWFtX2xvY2tfaXJxKzB4MzgvMHgzYw0KPiBbwqDC oMKgMjEuMDQzMDIzXcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzbmRf cGNtX3N5bmNfcHRyKzB4MjE0LzB4MjYwDQo+IFvCoMKgwqAyMS4wNDg2MDldwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNuZF9wY21faW9jdGwrMHhiZTAvMHgxMGVjDQo+ IFvCoMKgwqAyMS4wNTQwMjddwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHZmc19pb2N0bCsweDMwLzB4NDQNCj4gW8KgwqDCoDIxLjA1ODgzMl3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZG9fdmZzX2lvY3RsKzB4YWMvMHg5NzQNCj4gW8KgwqDC oDIxLjA2Mzk4NF3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKga3N5c19p b2N0bCsweDQ4LzB4NjQNCj4gW8KgwqDCoDIxLjA2ODg3NV3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgc3lzX2lvY3RsKzB4MTgvMHgxYw0KPiBbwqDCoMKgMjEuMDczNjc5 XcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXRfZmFzdF9zeXNjYWxs KzB4MC8weDI4DQo+IFvCoMKgwqAyMS4wNzkwMDRdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoDB4N2U5MDI2ZGMNCj4gW8KgwqDCoDIxLjA4MzAyM13CoMKgfQ0KPiBbwqDC oMKgMjEuMDg0NzEwXcKgwqAuLi4ga2V5wqDCoMKgwqDCoMKgYXQ6IFs8ODE2MmE2ZTQ+XSBfX2tl eS4zMTc5OCsweDAvMHg4DQo+IFvCoMKgwqAyMS4wOTA1NTJdwqDCoC4uLiBhY3F1aXJlZCBhdDoN Cj4gW8KgwqDCoDIxLjA5MzUzN13CoMKgwqDCoG1hcmtfbG9jaysweDNhNC8weDY5Yw0KPiBbwqDC oMKgMjEuMDk3MTI4XcKgwqDCoMKgX19sb2NrX2FjcXVpcmUrMHg0MjAvMHgxNmQ0DQo+IFvCoMKg wqAyMS4xMDEyMzldwqDCoMKgwqBsb2NrX2FjcXVpcmUrMHgyNjAvMHgyOWMNCj4gW8KgwqDCoDIx LjEwNTA5MV3CoMKgwqDCoF9yYXdfc3Bpbl9sb2NrKzB4NDgvMHg1OA0KPiBbwqDCoMKgMjEuMTA4 OTQwXcKgwqDCoMKgc25kX3BjbV9zdHJlYW1fbG9jaysweDU0LzB4NjANCj4gW8KgwqDCoDIxLjEx MzIyNl3CoMKgwqDCoF9zbmRfcGNtX3N0cmVhbV9sb2NrX2lycXNhdmUrMHg0MC8weDQ4DQo+IFvC oMKgwqAyMS4xMTgyOTZdwqDCoMKgwqBzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKzB4MmMvMHhhNA0K PiBbwqDCoMKgMjEuMTIyODQxXcKgwqDCoMKgZG1hZW5naW5lX3BjbV9kbWFfY29tcGxldGUrMHg1 NC8weDU4DQo+IFvCoMKgwqAyMS4xMjc3MzVdwqDCoMKgwqBzZG1hX2ludF9oYW5kbGVyKzB4MWRj LzB4MmE4DQo+IFvCoMKgwqAyMS4xMzE5MzddwqDCoMKgwqBfX2hhbmRsZV9pcnFfZXZlbnRfcGVy Y3B1KzB4MWZjLzB4NDk4DQo+IFvCoMKgwqAyMS4xMzY5MTVdwqDCoMKgwqBoYW5kbGVfaXJxX2V2 ZW50X3BlcmNwdSsweDM4LzB4OGMNCj4gW8KgwqDCoDIxLjE0MTU0N13CoMKgwqDCoGhhbmRsZV9p cnFfZXZlbnQrMHg0OC8weDZjDQo+IFvCoMKgwqAyMS4xNDU1NzBdwqDCoMKgwqBoYW5kbGVfZmFz dGVvaV9pcnErMHhjNC8weDEzOA0KPiBbwqDCoMKgMjEuMTQ5ODU0XcKgwqDCoMKgZ2VuZXJpY19o YW5kbGVfaXJxKzB4MjgvMHgzOA0KPiBbwqDCoMKgMjEuMTU0MDUyXcKgwqDCoMKgX19oYW5kbGVf ZG9tYWluX2lycSsweGIwLzB4YzQNCj4gW8KgwqDCoDIxLjE1ODMzNV3CoMKgwqDCoGdpY19oYW5k bGVfaXJxKzB4NjgvMHhhMA0KPiBbwqDCoMKgMjEuMTYyMTg0XcKgwqDCoMKgX19pcnFfc3ZjKzB4 NzAvMHhiMA0KPiBbwqDCoMKgMjEuMTY1NjAxXcKgwqDCoMKgX3Jhd19zcGluX3VubG9ja19pcnEr MHgzOC8weDZjDQo+IFvCoMKgwqAyMS4xNjk5NzNdwqDCoMKgwqB0YXNrX3dvcmtfcnVuKzB4OTAv MHhiOA0KPiBbwqDCoMKgMjEuMTczNzM1XcKgwqDCoMKgZG9fd29ya19wZW5kaW5nKzB4YzgvMHhk MA0KPiBbwqDCoMKgMjEuMTc3NjcwXcKgwqDCoMKgc2xvd193b3JrX3BlbmRpbmcrMHhjLzB4MjAN Cj4gW8KgwqDCoDIxLjE4MTY5MV3CoMKgwqDCoDB4NzZjNzdlODYNCj4gW8KgwqDCoDIxLjE4NDMy MF3CoA0KPiBbwqDCoMKgMjEuMTg1ODIxXcKgDQo+IFvCoMKgwqAyMS4xODU4MjFdIHN0YWNrIGJh Y2t0cmFjZToNCj4gW8KgwqDCoDIxLjE5MDE5OF0gQ1BVOiAwIFBJRDogMSBDb21tOiBzeXN0ZW1k IE5vdCB0YWludGVkIDQuMTcuMCsgIzE1MzgNCj4gW8KgwqDCoDIxLjE5NjMwM10gSGFyZHdhcmUg bmFtZTogRnJlZXNjYWxlIGkuTVg2IFF1YWQvRHVhbExpdGUgKERldmljZQ0KPiBUcmVlKQ0KPiBb wqDCoMKgMjEuMjAyODQxXSBCYWNrdHJhY2U6wqANCj4gW8KgwqDCoDIxLjIwNTMxNF0gWzw4MDEw ZTMxOD5dIChkdW1wX2JhY2t0cmFjZSkgZnJvbSBbPDgwMTBlNjA0Pl0NCj4gKHNob3dfc3RhY2sr MHgyMC8weDI0KQ0KPiBbwqDCoMKgMjEuMjEyOTAwXcKgwqByNzo4MGU5ZjNkMCByNjowMDAwMDAw MCByNTo2MDA3MDE5MyByNDo4MGU5ZjNkMA0KPiBbwqDCoMKgMjEuMjE4NTgxXSBbPDgwMTBlNWU0 Pl0gKHNob3dfc3RhY2spIGZyb20gWzw4MDk5YjY2MD5dDQo+IChkdW1wX3N0YWNrKzB4YTQvMHhk OCkNCj4gW8KgwqDCoDIxLjIyNTgyNV0gWzw4MDk5YjViYz5dIChkdW1wX3N0YWNrKSBmcm9tIFs8 ODAxN2I1MmM+XQ0KPiAocHJpbnRfaXJxX2ludmVyc2lvbl9idWcrMHgxNWMvMHgxZmMpDQo+IFvC oMKgwqAyMS4yMzQzNjhdwqDCoHI5OjgxNGRhODE4IHI4OjAwMDAwMDAxIHI3OmVlOTI2YzAwIHI2 OjAwMDAwMDAwDQo+IHI1OmVlOTE1YmIwIHI0OjgxNGRhODE4DQo+IFvCoMKgwqAyMS4yNDIxMzNd IFs8ODAxN2IzZDA+XSAocHJpbnRfaXJxX2ludmVyc2lvbl9idWcpIGZyb20NCj4gWzw4MDE3YjZk Yz5dIChjaGVja191c2FnZV9mb3J3YXJkcysweDExMC8weDEzYykNCj4gW8KgwqDCoDIxLjI1MTU0 NF3CoMKgcjk6MDAwMDAwMDIgcjg6ODBiZmQzZTIgcjc6ZWU5MjZjMDAgcjY6ZWU5MjcxNDgNCj4g cjU6ODBlMDg0ODggcjQ6MDAwMDAwMDENCj4gW8KgwqDCoDIxLjI1OTMwNl0gWzw4MDE3YjVjYz5d IChjaGVja191c2FnZV9mb3J3YXJkcykgZnJvbSBbPDgwMTdjMmE0Pl0NCj4gKG1hcmtfbG9jaysw eDNhNC8weDY5YykNCj4gW8KgwqDCoDIxLjI2NzUwMF3CoMKgcjk6ZWU5MjZjMDAgcjg6ODBhMDNj ZDggcjc6MDAwMDAxMDEgcjY6MDAwMDAwMDINCj4gcjU6MDAwMDAwMDAgcjQ6ZWU5MjcxNDgNCj4g W8KgwqDCoDIxLjI3NTI2M10gWzw4MDE3YmYwMD5dIChtYXJrX2xvY2spIGZyb20gWzw4MDE3Y2Y2 OD5dDQo+IChfX2xvY2tfYWNxdWlyZSsweDQyMC8weDE2ZDQpDQo+IFvCoMKgwqAyMS4yODMwMjNd wqDCoHIxMDplZTkyNzE0OCByOTplZDQ2MjBlNCByODplZTkyNmMwMCByNzowMDAwMDAwMA0KPiBy NjowMDAwMDAwMSByNTowMDAwMDAwMQ0KPiBbwqDCoMKgMjEuMjkwODYzXcKgwqByNDowMDAwMDQ5 MA0KPiBbwqDCoMKgMjEuMjkzNDE2XSBbPDgwMTdjYjQ4Pl0gKF9fbG9ja19hY3F1aXJlKSBmcm9t IFs8ODAxN2VkNTg+XQ0KPiAobG9ja19hY3F1aXJlKzB4MjYwLzB4MjljKQ0KPiBbwqDCoMKgMjEu MzAxMzUwXcKgwqByMTA6MDAwMDAwMDEgcjk6ODBlMDg0YTQgcjg6MDAwMDAwMDAgcjc6MDAwMDAw MDANCj4gcjY6MDAwMDAwMDAgcjU6ZWQ0NjIwZTQNCj4gW8KgwqDCoDIxLjMwOTE4OV3CoMKgcjQ6 MDAwMDAwMDANCj4gW8KgwqDCoDIxLjMxMTc0Nl0gWzw4MDE3ZWFmOD5dIChsb2NrX2FjcXVpcmUp IGZyb20gWzw4MDliNzRmMD5dDQo+IChfcmF3X3NwaW5fbG9jaysweDQ4LzB4NTgpDQo+IFvCoMKg wqAyMS4zMTk1MDZdwqDCoHIxMDplZTBhNDcxNCByOTplZDQ1NzEwMCByODplZTBhNDZjOCByNzpl ZTBhNDcxNA0KPiByNjplZTBhNDAxMCByNTo4MDc4NDdiMA0KPiBbwqDCoMKgMjEuMzI3MzQ2XcKg wqByNDplZDQ2MjBkNA0KPiBbwqDCoMKgMjEuMzI5OTAyXSBbPDgwOWI3NGE4Pl0gKF9yYXdfc3Bp bl9sb2NrKSBmcm9tIFs8ODA3ODQ3YjA+XQ0KPiAoc25kX3BjbV9zdHJlYW1fbG9jaysweDU0LzB4 NjApDQo+IFvCoMKgwqAyMS4zMzgyNjVdwqDCoHI1OmVkNDYyMDAwIHI0OmVkNDYyMDAwDQo+IFvC oMKgwqAyMS4zNDE4NjNdIFs8ODA3ODQ3NWM+XSAoc25kX3BjbV9zdHJlYW1fbG9jaykgZnJvbSBb PDgwNzg0ODM4Pl0NCj4gKF9zbmRfcGNtX3N0cmVhbV9sb2NrX2lycXNhdmUrMHg0MC8weDQ4KQ0K PiBbwqDCoMKgMjEuMzUxNDQwXcKgwqByNTplZDQ2MjAwMCByNDo2MDA3MDE5Mw0KPiBbwqDCoMKg MjEuMzU1MDQyXSBbPDgwNzg0N2Y4Pl0gKF9zbmRfcGNtX3N0cmVhbV9sb2NrX2lycXNhdmUpIGZy b20NCj4gWzw4MDc4YjA0ND5dIChzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKzB4MmMvMHhhNCkNCj4g W8KgwqDCoDIxLjM2NDg4MV3CoMKgcjU6ZWUzZWYwMDAgcjQ6ZWQ0NjIwMDANCj4gW8KgwqDCoDIx LjM2ODQ3OF0gWzw4MDc4YjAxOD5dIChzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKSBmcm9tDQo+IFs8 ODA3OGQ3YjQ+XSAoZG1hZW5naW5lX3BjbV9kbWFfY29tcGxldGUrMHg1NC8weDU4KQ0KPiBbwqDC oMKgMjEuMzc4MTQ4XcKgwqByNzplZTBhNDcxNCByNjplZTBhNDAxMCByNTowMDAwMDAwNyByNDpl ZTBhNDZiYw0KPiBbwqDCoMKgMjEuMzgzODI3XSBbPDgwNzhkNzYwPl0gKGRtYWVuZ2luZV9wY21f ZG1hX2NvbXBsZXRlKSBmcm9tDQo+IFs8ODA1MDRjMGM+XSAoc2RtYV9pbnRfaGFuZGxlcisweDFk Yy8weDJhOCkNCj4gW8KgwqDCoDIxLjM5MzE1N10gWzw4MDUwNGEzMD5dIChzZG1hX2ludF9oYW5k bGVyKSBmcm9tIFs8ODAxOGNkMjg+XQ0KPiAoX19oYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDFm Yy8weDQ5OCkNCj4gW8KgwqDCoDIxLjQwMjM5M13CoMKgcjEwOjAwMDAwMDAwIHI5OmVlYWZkNDAw IHI4OjgwZTA4NGE0IHI3OjAwMDAwMDM4DQo+IHI2OjAwMDAwMDM4IHI1OjgwZWEzYzEyDQo+IFvC oMKgwqAyMS40MTAyMzNdwqDCoHI0OmVlMmI1ZDQwDQo+IFvCoMKgwqAyMS40MTI3ODddIFs8ODAx OGNiMmM+XSAoX19oYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSkgZnJvbQ0KPiBbPDgwMThjZmZjPl0g KGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MzgvMHg4YykNCj4gW8KgwqDCoDIxLjQyMjQ1N13C oMKgcjEwOjAwMDAwMDAwIHI5OmVlOTE0MDAwIHI4OmVlODFkNDAwIHI3OjAwMDAwMDM4DQo+IHI2 OmVlYWZkNDAwIHI1OmVlYWZkNDY0DQo+IFvCoMKgwqAyMS40MzAyOTZdwqDCoHI0OjgwZTA4NDg4 DQo+IFvCoMKgwqAyMS40MzI4NTJdIFs8ODAxOGNmYzQ+XSAoaGFuZGxlX2lycV9ldmVudF9wZXJj cHUpIGZyb20NCj4gWzw4MDE4ZDA5OD5dIChoYW5kbGVfaXJxX2V2ZW50KzB4NDgvMHg2YykNCj4g W8KgwqDCoDIxLjQ0MTczNl3CoMKgcjY6ZWVhZmQ0NjQgcjU6ZWVhZmQ0NjQgcjQ6ZWVhZmQ0MDAN Cj4gW8KgwqDCoDIxLjQ0NjM3NF0gWzw4MDE4ZDA1MD5dIChoYW5kbGVfaXJxX2V2ZW50KSBmcm9t IFs8ODAxOTE0NmM+XQ0KPiAoaGFuZGxlX2Zhc3Rlb2lfaXJxKzB4YzQvMHgxMzgpDQo+IFvCoMKg wqAyMS40NTQ5MTJdwqDCoHI3OjAwMDAwMDM4IHI2OmVlYWZkNDY0IHI1OjgwZTEwYTYwIHI0OmVl YWZkNDAwDQo+IFvCoMKgwqAyMS40NjA1ODldIFs8ODAxOTEzYTg+XSAoaGFuZGxlX2Zhc3Rlb2lf aXJxKSBmcm9tIFs8ODAxOGJkOWM+XQ0KPiAoZ2VuZXJpY19oYW5kbGVfaXJxKzB4MjgvMHgzOCkN Cj4gW8KgwqDCoDIxLjQ2OTIxNF3CoMKgcjc6MDAwMDAwMzggcjY6ODBkOTJhZTQgcjU6MDAwMDAw MDAgcjQ6MDAwMDAwMDANCj4gW8KgwqDCoDIxLjQ3NDg5M10gWzw4MDE4YmQ3ND5dIChnZW5lcmlj X2hhbmRsZV9pcnEpIGZyb20gWzw4MDE4YzQ4Yz5dDQo+IChfX2hhbmRsZV9kb21haW5faXJxKzB4 YjAvMHhjNCkNCj4gW8KgwqDCoDIxLjQ4MzYxMV0gWzw4MDE4YzNkYz5dIChfX2hhbmRsZV9kb21h aW5faXJxKSBmcm9tIFs8ODAxMDIzMzA+XQ0KPiAoZ2ljX2hhbmRsZV9pcnErMHg2OC8weGEwKQ0K PiBbwqDCoMKgMjEuNDkxOTc4XcKgwqByOTplZTkxNDAwMCByODpmNDAwMTEwMCByNzo4MGU1YzZi YyByNjplZTkxNWYwMA0KPiByNTo4MGUwOGMzYyByNDpmNDAwMDEwMA0KPiBbwqDCoMKgMjEuNDk5 NzM4XSBbPDgwMTAyMmM4Pl0gKGdpY19oYW5kbGVfaXJxKSBmcm9tIFs8ODAxMDE5ZjA+XQ0KPiAo X19pcnFfc3ZjKzB4NzAvMHhiMCkNCj4gW8KgwqDCoDIxLjUwNzIzM10gRXhjZXB0aW9uIHN0YWNr KDB4ZWU5MTVmMDAgdG8gMHhlZTkxNWY0OCkNCj4gW8KgwqDCoDIxLjUxMjMwM10gNWYwMDogMDAw MDAwMDEgMDAwMDAwMDQgMDAwMDAwMDAgZWU5MjZjMDAgZWU5MjcwYTgNCj4gZWU5MjZjMDAgZWNj NDVlMDAgZWU5MjcwYTgNCj4gW8KgwqDCoDIxLjUyMDQ5OF0gNWYyMDogODBlYzIzYjAgZWU5MTQw MDAgMDAwMDAwMDAgZWU5MTVmNjQgZWU5MTVmMjANCj4gZWU5MTVmNTAgODAxN2M3YzAgODA5Yjc4 YWMNCj4gW8KgwqDCoDIxLjUyODY4N10gNWY0MDogMjAwNzAwMTMgZmZmZmZmZmYNCj4gW8KgwqDC oDIxLjUzMjE5M13CoMKgcjk6ZWU5MTQwMDAgcjg6ODBlYzIzYjAgcjc6ZWU5MTVmMzQgcjY6ZmZm ZmZmZmYNCj4gcjU6MjAwNzAwMTMgcjQ6ODA5Yjc4YWMNCj4gW8KgwqDCoDIxLjUzOTk1OV0gWzw4 MDliNzg3ND5dIChfcmF3X3NwaW5fdW5sb2NrX2lycSkgZnJvbSBbPDgwMTRlOThjPl0NCj4gKHRh c2tfd29ya19ydW4rMHg5MC8weGI4KQ0KPiBbwqDCoMKgMjEuNTQ4MzIxXcKgwqByNTplZTkyNmMw MCByNDplY2M0NWUwMA0KPiBbwqDCoMKgMjEuNTUxOTEzXSBbPDgwMTRlOGZjPl0gKHRhc2tfd29y a19ydW4pIGZyb20gWzw4MDEwZGEzYz5dDQo+IChkb193b3JrX3BlbmRpbmcrMHhjOC8weGQwKQ0K PiBbwqDCoMKgMjEuNTU5ODQ4XcKgwqByOTplZTkxNDAwMCByODo4MDEwMTFjNCByNzplZTkxNWZi MCByNjpmZmZmZTAwMA0KPiByNTowMDAwMDAwNCByNDo4MDEwMTFjNA0KPiBbwqDCoMKgMjEuNTY3 NjA4XSBbPDgwMTBkOTc0Pl0gKGRvX3dvcmtfcGVuZGluZykgZnJvbSBbPDgwMTAxMDM0Pl0NCj4g KHNsb3dfd29ya19wZW5kaW5nKzB4Yy8weDIwKQ0KPiBbwqDCoMKgMjEuNTc1Nzk3XSBFeGNlcHRp b24gc3RhY2soMHhlZTkxNWZiMCB0byAweGVlOTE1ZmY4KQ0KPiBbwqDCoMKgMjEuNTgwODY0XSA1 ZmEwOsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgMDAwMDAwMDANCj4gMDIwYzM0ZTggNDYwNTlmMDAgMDAwMDAw MDANCj4gW8KgwqDCoDIxLjU4OTA1OV0gNWZjMDogMDAwMDAwMDIgNzZmMTMzYTQgMDIwZGY2ODAg MDAwMDAwMDYgNzZlNmUxNjgNCj4gMDAwMDAwMzUgN2VmODE3NzggMDAwMDAwMzUNCj4gW8KgwqDC oDIxLjU5NzI1M10gNWZlMDogMDAwMDAwMDYgN2VmODE2YTAgNzZjNzVkNjcgNzZjNzdlODYgMjAw NzAwMzANCj4gMDAwMDAwMzkNCj4gW8KgwqDCoDIxLjYwMzg4M13CoMKgcjc6MDAwMDAwMDYgcjY6 MDIwZGY2ODAgcjU6NzZmMTMzYTQgcjQ6MDAwMDAwMDINCj4gDQo+IEFtIERvbm5lcnN0YWcsIGRl biAxNC4wNi4yMDE4LCAyMjowMiArMDgwMCBzY2hyaWViIFJvYmluIEdvbmc6DQo+ID4gDQo+ID4g VGhlIGxlZ2FjeSBzZG1hIGRyaXZlciBoYXMgYmVsb3cgbGltaXRhdGlvbnMgb3IgZHJhd2JhY2tz Og0KPiA+IMKgIDEuIEhhcmRjb2RlIHRoZSBtYXggQkRzIG51bWJlciBhcyAiUEFHRV9TSVpFIC8g c2l6ZW9mKCopIiwgYW5kDQo+ID4gYWxsb2MNCj4gPiDCoMKgwqDCoMKgb25lIHBhZ2Ugc2l6ZSBm b3Igb25lIGNoYW5uZWwgcmVnYXJkbGVzcyBvZiBvbmx5IGZldyBCRHMNCj4gPiBuZWVkZWQNCj4g PiDCoMKgwqDCoMKgbW9zdCB0aW1lLiBCdXQgaW4gZmV3IGNhc2VzLCB0aGUgbWF4IFBBR0VfU0la RSBtYXliZSBub3QNCj4gPiBlbm91Z2guDQo+ID4gwqAgMi4gT25lIFNETUEgY2hhbm5lbCBjYW4n dCBzdG9wIGltbWVkaWF0bGV5IG9uY2UgY2hhbm5lbCBkaXNhYmxlZA0KPiA+IHdoaWNoDQo+ID4g wqDCoMKgwqDCoG1lYW5zIFNETUEgaW50ZXJydXB0IG1heSBjb21lIGluIGFmdGVyIHRoaXMgY2hh bm5lbA0KPiA+IHRlcm1pbmF0ZWQuVGhlcmUNCj4gPiDCoMKgwqDCoMKgYXJlIHNvbWUgcGF0Y2hl cyBmb3IgdGhpcyBjb3JuZXIgY2FzZSBzdWNoIGFzIGNvbW1pdA0KPiA+ICIyNzQ2ZTJjMzg5Zjki LA0KPiA+IMKgwqDCoMKgwqBidXQgbm90IGNvdmVyIG5vbi1jeWNsaWMuDQo+ID4gDQo+ID4gVGhl IGNvbW1vbiB2aXJ0LWRtYSBvdmVyY29tZXMgdGhlIGFib3ZlIGxpbWl0YXRpb25zLiBJdCBjYW4g YWxsb2MNCj4gPiBiZA0KPiA+IGR5bmFtaWNhbGx5IGFuZCBmcmVlIGJkIG9uY2UgdGhpcyB0eCB0 cmFuc2ZlciBkb25lLiBObyBtZW1vcnkNCj4gPiB3YXN0ZWQgb3INCj4gPiBtYXhpbXVtIGxpbWl0 aXRhdGlvbiBoZXJlLCBvbmx5IGRlcGVuZHMgb24gaG93IG1hbnkgbWVtb3J5IGNhbiBiZQ0KPiA+ IHJlcXVlc3RlZA0KPiA+IGZyb20ga2VybmVsLiBGb3IgTm8uMiwgc3VjaCBpc3N1ZSBjYW4gYmUg d29ya2Fyb3VuZCBieSBjaGVja2luZyBpZg0KPiA+IHRoZXJlDQo+ID4gaXMgYXZhaWxhYmxlIGRl c2NyaXB0KCJzZG1hYy0+ZGVzYyIpIG5vdyBvbmNlIHRoZSB1bndhbnRlZA0KPiA+IGludGVycnVw dA0KPiA+IGNvbWluZy4gQXQgbGFzdCB0aGUgY29tbW9uIHZpcnQtZG1hIGlzIGVhc2llciBmb3Ig c2RtYSBkcml2ZXINCj4gPiBtYWludGFpbi4NCj4gPiANCj4gPiBDaGFuZ2UgZnJvbSB2MzoNCj4g PiDCoCAxLiBhZGQgdHdvIHVhcnQgcGF0Y2hlcyB3aGljaCBpbXBhY3RlZCBieSB0aGlzIHBhdGNo c2V0Lg0KPiA+IMKgIDIuIHVubG9jayAndmMubG9jaycgYmVmb3JlIGN5Y2xpYyBkbWEgY2FsbGJh Y2sgYW5kIGxvY2sgYWdhaW4NCj4gPiBhZnRlcg0KPiA+IMKgwqDCoMKgwqBpdCBiZWNhdXNlIHNv bWUgZHJpdmVyIHN1Y2ggYXMgdWFydCB3aWxsIGNhbGwNCj4gPiBkbWFlbmdpbmVfdHhfc3RhdHVz DQo+ID4gwqDCoMKgwqDCoHdoaWNoIHdpbGwgYWNxdWlyZSAndmMubG9jaycgYWdhaW4gYW5kIGRl YWQgbG9jayBjb21lcyBvdXQuDQo+ID4gwqAgMy4gcmVtb3ZlICdSZXZlcnQgY29tbWl0JyBzdHVm ZiBzaW5jZSB0aGF0IHBhdGNoIGlzIG5vdCB3cm9uZyBhbmQNCj4gPiDCoMKgwqDCoMKgY29tYmlu ZSB0d28gcGF0Y2ggaW50byBvbmUgcGF0Y2ggYXMgU2FzY2hhJ3MgY29tbWVudC4NCj4gPiANCj4g PiBDaGFuZ2UgZnJvbSB2MjoNCj4gPiDCoCAxLiBpbmNsdWRlIFNhc2NoYSdzIHBhdGNoIHRvIG1h a2UgdGhlIG1haW4gcGF0Y2ggZWFzaWVyIHRvDQo+ID4gcmV2aWV3Lg0KPiA+IMKgwqDCoMKgwqBU aGFua3MgU2FjaGEuDQo+ID4gwqAgMi4gcmVtb3ZlIHVzZWxlc3MgJ2Rlc2MnLydjaGFuJyBpbiBz dHJ1Y3Qgc2RtYV9jaGFubmUuDQo+ID4gDQo+ID4gQ2hhbmdlIGZyb20gdjE6DQo+ID4gwqAgMS4g c3BsaXQgdjEgcGF0Y2ggaW50byA1IHBhdGNoZXMuDQo+ID4gwqAgMi4gcmVtb3ZlIHNvbWUgdW5u ZWNlc3NhcnkgY29uZGl0aW9uIGNoZWNrLg0KPiA+IMKgIDMuIHJlbW92ZSB1bm5lY2Vzc2FyeSAn cGVuZGluZycgbGlzdC4NCj4gPiANCj4gPiBSb2JpbiBHb25nICg2KToNCj4gPiDCoCB0dHk6IHNl cmlhbDogaW14OiBjb3JyZWN0IGRtYSBjb29raWUgc3RhdHVzDQo+ID4gwqAgZG1hZW5naW5lOiBp bXgtc2RtYTogYWRkIHZpcnQtZG1hIHN1cHBvcnQNCj4gPiDCoCBkbWFlbmdpbmU6IGlteC1zZG1h OiByZW1vdmUgdXNlbGVzcyAnbG9jaycgYW5kICdlbmFibGVkJyBpbg0KPiA+ICdzdHJ1Y3QNCj4g PiDCoMKgwqDCoHNkbWFfY2hhbm5lbCcNCj4gPiDCoCBkbWFlbmdpbmU6IGlteC1zZG1hOiByZW1v dmUgdGhlIG1heGltdW0gbGltaXRhdGlvbiBmb3IgYmQgbnVtYmVycw0KPiA+IMKgIGRtYWVuZ2lu ZTogaW14LXNkbWE6IGFkZCBzZG1hX3RyYW5zZmVyX2luaXQgdG8gZGVjcmVhc2UgY29kZQ0KPiA+ IG92ZXJsYXANCj4gPiDCoCB0dHk6IHNlcmlhbDogaW14OiBzcGxpdCBhbGwgZG1hIHNldHVwIG9w ZXJhdGlvbnMgb3V0IG9mDQo+ID4gJ3BvcnQubG9jaycNCj4gPiDCoMKgwqDCoHByb3RlY3Rvcg0K PiA+IA0KPiA+IFNhc2NoYSBIYXVlciAoMSk6DQo+ID4gwqAgZG1hZW5naW5lOiBpbXgtc2RtYTog ZmFjdG9yIG91dCBhIHN0cnVjdCBzZG1hX2Rlc2MgZnJvbSBzdHJ1Y3QNCj4gPiDCoMKgwqDCoHNk bWFfY2hhbm5lbA0KPiA+IA0KPiA+IMKgZHJpdmVycy9kbWEvS2NvbmZpZ8KgwqDCoMKgwqDCoHzC oMKgwqAxICsNCj4gPiDCoGRyaXZlcnMvZG1hL2lteC1zZG1hLmPCoMKgwqB8IDM5NCArKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0NCj4gPiAtLS0tLS0tLS0tLS0tLQ0KPiA+IMKgZHJp dmVycy90dHkvc2VyaWFsL2lteC5jIHzCoMKgOTkgKysrKysrLS0tLS0tDQo+ID4gwqAzIGZpbGVz IGNoYW5nZWQsIDI4MiBpbnNlcnRpb25zKCspLCAyMTIgZGVsZXRpb25zKC0pDQo+ID4g