From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============5731081441189132590==" MIME-Version: 1.0 From: Kirubakaran Kaliannan Subject: Re: [SPDK] NVMf target configuration issue Date: Tue, 05 Sep 2017 16:08:37 +0530 Message-ID: <8628fc0b70a92168c4bc1cb2e2bc96e3@mail.gmail.com> In-Reply-To: FA6C2217B01E9D48A581BB486602101439937F79@shsmsx102.ccr.corp.intel.com List-ID: To: spdk@lists.01.org --===============5731081441189132590== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Thanks Yang, adding the host line helped. Regards -kiru *From:* SPDK [mailto:spdk-bounces(a)lists.01.org] *On Behalf Of *Yang, Ziye *Sent:* Tuesday, September 05, 2017 10:41 AM *To:* Storage Performance Development Kit *Subject:* Re: [SPDK] NVMf target configuration issue And the other choice is to remove the Host related line, which means any host can connect. *From:* SPDK [mailto:spdk-bounces(a)lists.01.org ] *On Behalf Of *Yang, Ziye *Sent:* Tuesday, September 5, 2017 1:04 PM *To:* Storage Performance Development Kit *Subject:* Re: [SPDK] NVMf target configuration issue Hi Kiru, According to the error message, I suggest that you add the Host info in the following section. [Subsystem1] NQN nqn.2016-06.io.spdk:cnode1 Core 0 Listen RDMA 10.3.7.2:4420 Host nqn.2016-06.io.spdk:init * Host nqn.2014-08.org.nvmexpress:NVMf:uuid:5e5e0064-2ad6-4a43-9c26-063e3ef6cf14* SN SPDK00000000000001 Namespace AIO0 Thanks. *From:* SPDK [mailto:spdk-bounces(a)lists.01.org ] *On Behalf Of *Kirubakaran Kaliannan *Sent:* Tuesday, September 5, 2017 12:52 PM *To:* Storage Performance Development Kit *Subject:* [SPDK] NVMf target configuration issue Hi All, I am trying to get the nvmf configuration going with SPDK. I have the following configuration, *# ofed 2.4 on both target and initiator* *# SPDK + 3.18 kernel on target * *# 4.9 kernel on initiator* *# mellanox connect3X-Pro* */etc/spdk/nvmf.conf* [Global] [Rpc] Enable No Listen 127.0.0.1 [AIO] AIO /dev/sdd AIO0 [Nvmf] MaxQueuesPerSession 4 AcceptorPollRate 10000 [Subsystem1] NQN nqn.2016-06.io.spdk:cnode1 Core 0 Listen RDMA 10.3.7.2:4420 Host nqn.2016-06.io.spdk:init SN SPDK00000000000001 Namespace AIO0 *From initiator I tried discover and connect* *# nvme discover -t rdma -a 10.3.7.2 -s 4420* Discovery Log Number of Records 1, Generation counter 4 =3D=3D=3D=3D=3DDiscovery Log Entry 0=3D=3D=3D=3D=3D=3D trtype: rdma adrfam: ipv4 subtype: nvme subsystem treq: not specified portid: 0 trsvcid: 4420 subnqn: nqn.2016-06.io.spdk:cnode1 traddr: 10.3.7.2 rdma_prtype: not specified rdma_qptype: connected rdma_cms: rdma-cm rdma_pkey: 0x0000 *# nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a 10.3.7.2 -s 4420* Failed to write to /dev/nvme-fabrics: Input/output error [dmesg] [59909.541392] nvme nvme0: new ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery", addr 10.3.7.2:4420 [59940.389952] nvme nvme0: Connect command failed, error wo/DNR bit: 388 *On target I get the following error* # app/nvmf_tgt/nvmf_tgt -c /etc/spdk/nvmf.conf > /tmp/1 EAL: Detected 20 lcore(s) reactor.c: 314:_spdk_reactor_run: *NOTICE*: Reactor started on core 0 on socket 0 copy_engine_ioat.c: 306:copy_engine_ioat_init: *NOTICE*: Ioat Copy Engine Offload Enabled nvmf_tgt.c: 215:nvmf_tgt_create_subsystem: *NOTICE*: allocated subsystem nqn.2014-08.org.nvmexpress.discovery on lcore 0 on socket 0 nvmf_tgt.c: 215:nvmf_tgt_create_subsystem: *NOTICE*: allocated subsystem nqn.2016-06.io.spdk:cnode1 on lcore 0 on socket 0 rdma.c: 955:spdk_nvmf_rdma_create: *NOTICE*: *** RDMA Transport Init *** rdma.c:1120:spdk_nvmf_rdma_listen: *NOTICE*: *** NVMf Target Listening on 10.3.7.2 port 4420 *** conf.c: 500:spdk_nvmf_construct_subsystem: *NOTICE*: Attaching block device AIO0 to subsystem nqn.2016-06.io.spdk:cnode1 nvmf_tgt.c: 290:spdk_nvmf_startup: *NOTICE*: Acceptor running on core 0 on socket 0 *request.c: 171:nvmf_process_connect: *ERROR*: Subsystem 'nqn.2016-06.io.spdk:cnode1' does not allow host 'nqn.2014-08.org.nvmexpress:NVMf:uuid:5e5e0064-2ad6-4a43-9c26-063e3ef6cf14'* can you please help on why I am not able to connect in this configuration. Regards, -kiru --===============5731081441189132590== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWlj cm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPjxzdHlsZT48IS0tCi8qIEZvbnQgRGVm aW5pdGlvbnMgKi8KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OkxhdGhhOwoJcGFub3NlLTE6MiAx MSA2IDQgMiAyIDIgMiAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0 aCI7CglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFt aWx5OkNhbGlicmk7CglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9CkBmb250LWZhY2UK CXtmb250LWZhbWlseTpUYWhvbWE7CglwYW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDt9Ci8q IFN0eWxlIERlZmluaXRpb25zICovCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29O b3JtYWwKCXttYXJnaW46MGNtOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJZm9udC1zaXplOjEx LjBwdDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7fQphOmxpbmssIHNwYW4u TXNvSHlwZXJsaW5rCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29sb3I6Ymx1ZTsKCXRleHQt ZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93 ZWQKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjpwdXJwbGU7Cgl0ZXh0LWRlY29yYXRp b246dW5kZXJsaW5lO30KcC5Nc29BY2V0YXRlLCBsaS5Nc29BY2V0YXRlLCBkaXYuTXNvQWNldGF0 ZQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCW1zby1zdHlsZS1saW5rOiJCYWxsb29uIFRleHQg Q2hhciI7CgltYXJnaW46MGNtOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJZm9udC1zaXplOjgu MHB0OwoJZm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiO30Kc3Bhbi5FbWFpbFN0eWxl MTcKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu cy1zZXJpZiI7Cgljb2xvcjp3aW5kb3d0ZXh0O30Kc3Bhbi5FbWFpbFN0eWxlMTgKCXttc28tc3R5 bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Cglj b2xvcjojMUY0OTdEO30Kc3Bhbi5FbWFpbFN0eWxlMTkKCXttc28tc3R5bGUtdHlwZTpwZXJzb25h bDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Cgljb2xvcjojMUY0OTdEO30K c3Bhbi5FbWFpbFN0eWxlMjAKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsKCWZvbnQt ZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Cgljb2xvcjojMUY0OTdEO30Kc3Bhbi5CYWxs b29uVGV4dENoYXIKCXttc28tc3R5bGUtbmFtZToiQmFsbG9vbiBUZXh0IENoYXIiOwoJbXNvLXN0 eWxlLXByaW9yaXR5Ojk5OwoJbXNvLXN0eWxlLWxpbms6IkJhbGxvb24gVGV4dCI7Cglmb250LWZh bWlseToiVGFob21hIiwic2Fucy1zZXJpZiI7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1zdHlsZS10 eXBlOmV4cG9ydC1vbmx5OwoJZm9udC1zaXplOjEwLjBwdDt9CkBwYWdlIFdvcmRTZWN0aW9uMQoJ e3NpemU6NjEyLjBwdCA3OTIuMHB0OwoJbWFyZ2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBw dDt9CmRpdi5Xb3JkU2VjdGlvbjEKCXtwYWdlOldvcmRTZWN0aW9uMTt9Ci0tPjwvc3R5bGU+PC9o ZWFkPjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj48ZGl2IGNs YXNzPSJXb3JkU2VjdGlvbjEiPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv cjojMWY0OTdkIj7CoDwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImNvbG9yOiMxZjQ5N2QiPlRoYW5rcyBZYW5nLCBhZGRpbmcgdGhlIGhvc3QgbGluZSBoZWxwZWQu PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFmNDk3 ZCI+wqA8L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjoj MWY0OTdkIj5SZWdhcmRzPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFmNDk3ZCI+LWtpcnU8L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMWY0OTdkIj7CoDwvc3Bhbj48L3A+PGRpdj48ZGl2IHN0eWxlPSJi b3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNiNWM0ZGYgMS4wcHQ7cGFkZGluZzozLjBwdCAw Y20gMGNtIDBjbSI+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm cXVvdDsiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250 LWZhbWlseTomcXVvdDtUYWhvbWEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+IFNQREsg W21haWx0bzo8YSBocmVmPSJtYWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZyI+c3Bkay1i b3VuY2VzQGxpc3RzLjAxLm9yZzwvYT5dIDxiPk9uIEJlaGFsZiBPZiA8L2I+WWFuZywgWml5ZTxi cj48Yj5TZW50OjwvYj4gVHVlc2RheSwgU2VwdGVtYmVyIDA1LCAyMDE3IDEwOjQxIEFNPGJyPjxi PlRvOjwvYj4gU3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQ8YnI+PGI+U3ViamVj dDo8L2I+IFJlOiBbU1BES10gTlZNZiB0YXJnZXQgY29uZmlndXJhdGlvbiBpc3N1ZTwvc3Bhbj48 L3A+PC9kaXY+PC9kaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCI+wqA8L3A+PHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6IzFmNDk3ZCI+QW5kIHRo ZSBvdGhlciBjaG9pY2UgaXMgdG8gcmVtb3ZlIHRoZSBIb3N0IHJlbGF0ZWQgbGluZSwgd2hpY2gg bWVhbnMgYW55IGhvc3QgY2FuIGNvbm5lY3QuPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFs Ij48YSBuYW1lPSJfTWFpbEVuZENvbXBvc2UiPjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEw LjBwdDtjb2xvcjojMWY0OTdkIj7CoDwvc3Bhbj48L3A+PGRpdj48ZGl2IHN0eWxlPSJib3JkZXI6 bm9uZTtib3JkZXItdG9wOnNvbGlkICNlMWUxZTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNt IDBjbSI+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IFNQREsgWzxhIGhyZWY9Im1h aWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnIj5tYWlsdG86c3Bkay1ib3VuY2VzQGxpc3Rz LjAxLm9yZzwvYT5dIDxiPk9uIEJlaGFsZiBPZiA8L2I+WWFuZywgWml5ZTxicj48Yj5TZW50Ojwv Yj4gVHVlc2RheSwgU2VwdGVtYmVyIDUsIDIwMTcgMTowNCBQTTxicj48Yj5Ubzo8L2I+IFN0b3Jh Z2UgUGVyZm9ybWFuY2UgRGV2ZWxvcG1lbnQgS2l0ICZsdDs8YSBocmVmPSJtYWlsdG86c3Bka0Bs aXN0cy4wMS5vcmciPnNwZGtAbGlzdHMuMDEub3JnPC9hPiZndDs8YnI+PGI+U3ViamVjdDo8L2I+ IFJlOiBbU1BES10gTlZNZiB0YXJnZXQgY29uZmlndXJhdGlvbiBpc3N1ZTwvcD48L2Rpdj48L2Rp dj48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjojMWY0OTdkIj5IaSBLaXJ1LDwvc3Bhbj48L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6 IzFmNDk3ZCI+wqA8L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTAuMHB0O2NvbG9yOiMxZjQ5N2QiPkFjY29yZGluZyB0byB0aGUgZXJyb3IgbWVz c2FnZSwgSSBzdWdnZXN0IHRoYXQgeW91IGFkZCB0aGUgSG9zdCBpbmZvIGluIHRoZSBmb2xsb3dp bmcgc2VjdGlvbi48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTAuMHB0O2NvbG9yOiMxZjQ5N2QiPsKgPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjojMWY0OTdkIj7CoDwv c3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+ W1N1YnN5c3RlbTFdPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoz Ni4wcHQiPsKgIE5RTiBucW4uMjAxNi0wNi5pby5zcGRrOmNub2RlMTwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij7CoCBDb3JlIDA8L3A+PHAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+wqAgTGlzdGVuIFJETUEgPGEg aHJlZj0iaHR0cDovLzEwLjMuNy4yOjQ0MjAiPjEwLjMuNy4yOjQ0MjA8L2E+PC9wPjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPsKgIEhvc3QgbnFuLjIwMTYt MDYuaW8uc3Bkazppbml0PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPsKgIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoEhvc3QgbnFuLjIwMTQtMDgub3JnLm52bWV4cHJlc3M6TlZNZjp1 dWlkOjVlNWUwMDY0LTJhZDYtNGE0My05YzI2LTA2M2UzZWY2Y2YxNDwvYj48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjEwLjBwdDtjb2xvcjojMWY0OTdkIj48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPsKgIFNOIFNQREswMDAwMDAwMDAwMDAw MTwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij7CoCBO YW1lc3BhY2UgQUlPMDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjojMWY0OTdkIj7CoDwv c3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4w cHQ7Y29sb3I6IzFmNDk3ZCI+VGhhbmtzLjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6IzFmNDk3ZCI+wqA8L3NwYW4+PC9w PjxkaXY+PGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjZTFlMWUxIDEu MHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPkZy b206PC9iPiBTUERLIFs8YSBocmVmPSJtYWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZyI+ bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8L2E+XSA8Yj5PbiBCZWhhbGYgT2YgPC9i PktpcnViYWthcmFuIEthbGlhbm5hbjxicj48Yj5TZW50OjwvYj4gVHVlc2RheSwgU2VwdGVtYmVy IDUsIDIwMTcgMTI6NTIgUE08YnI+PGI+VG86PC9iPiBTdG9yYWdlIFBlcmZvcm1hbmNlIERldmVs b3BtZW50IEtpdCAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNwZGtAbGlzdHMuMDEub3JnIj5zcGRrQGxp c3RzLjAxLm9yZzwvYT4mZ3Q7PGJyPjxiPlN1YmplY3Q6PC9iPiBbU1BES10gTlZNZiB0YXJnZXQg Y29uZmlndXJhdGlvbiBpc3N1ZTwvcD48L2Rpdj48L2Rpdj48cCBjbGFzcz0iTXNvTm9ybWFsIj7C oDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIj5IaSBBbGwsPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKg PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgYW0gdHJ5aW5nIHRvIGdldCB0aGUgbnZtZiBjb25m aWd1cmF0aW9uIGdvaW5nIHdpdGggU1BESy48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+wqA8L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBoYXZlIHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbiw8 L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+wqA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PGI+IyBvZmVkIDIuNCBvbiBib3RoIHRhcmdldCBhbmQgaW5p dGlhdG9yPC9iPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYu MHB0Ij48Yj4jIFNQREsgKyAzLjE4IGtlcm5lbCBvbiB0YXJnZXQgPC9iPjwvcD48cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48Yj4jIDQuOSBrZXJuZWwgb24g aW5pdGlhdG9yPC9iPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6 MzYuMHB0Ij48Yj4jIG1lbGxhbm94IGNvbm5lY3QzWC1Qcm88L2I+PC9wPjxwIGNsYXNzPSJNc29O b3JtYWwiPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPi9ldGMvc3Bkay9udm1mLmNvbmY8 L2I+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPltHbG9iYWxdPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPltScGNdPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPsKgIEVuYWJsZSBObzwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij7CoCBMaXN0ZW4gMTI3LjAuMC4xPC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPltBSU9dPC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPsKgIEFJTyAv ZGV2L3NkZCBBSU8wPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoz Ni4wcHQiPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4w cHQiPltOdm1mXTwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYu MHB0Ij7CoCBNYXhRdWV1ZXNQZXJTZXNzaW9uIDQ8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+wqAgQWNjZXB0b3JQb2xsUmF0ZSAxMDAwMDwvcD48cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij7CoDwvcD48cCBjbGFz cz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij5bU3Vic3lzdGVtMV08L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+wqAgTlFOIG5x bi4yMDE2LTA2LmlvLnNwZGs6Y25vZGUxPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW4tbGVmdDozNi4wcHQiPsKgIENvcmUgMDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij7CoCBMaXN0ZW4gUkRNQSA8YSBocmVmPSJodHRwOi8vMTAu My43LjI6NDQyMCI+MTAuMy43LjI6NDQyMDwvYT48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+wqAgSG9zdCBucW4uMjAxNi0wNi5pby5zcGRrOmluaXQ8 L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+wqAgU04g U1BESzAwMDAwMDAwMDAwMDAxPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4t bGVmdDozNi4wcHQiPsKgIE5hbWVzcGFjZSBBSU8wPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKg PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjx1 PkZyb20gaW5pdGlhdG9yIEkgdHJpZWQgZGlzY292ZXIgYW5kIGNvbm5lY3Q8L3U+PC9iPjwvcD48 cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj4jIG52bWUg ZGlzY292ZXIgLXQgcmRtYSAtYSAxMC4zLjcuMiAtcyA0NDIwPC9iPjwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj5EaXNjb3ZlcnkgTG9nIE51bWJlciBv ZiBSZWNvcmRzIDEsIEdlbmVyYXRpb24gY291bnRlciA0PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwi Pj09PT09RGlzY292ZXJ5IExvZyBFbnRyeSAwPT09PT09PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwi PnRydHlwZTrCoCByZG1hPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPmFkcmZhbTrCoCBpcHY0PC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiPnN1YnR5cGU6IG52bWUgc3Vic3lzdGVtPC9wPjxwIGNsYXNz PSJNc29Ob3JtYWwiPnRyZXE6wqDCoMKgIG5vdCBzcGVjaWZpZWQ8L3A+PHAgY2xhc3M9Ik1zb05v cm1hbCI+cG9ydGlkOsKgIDA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+dHJzdmNpZDogNDQyMDwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIj5zdWJucW46wqAgbnFuLjIwMTYtMDYuaW8uc3Bkazpjbm9k ZTE8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+dHJhZGRyOsKgIDEwLjMuNy4yPC9wPjxwIGNsYXNz PSJNc29Ob3JtYWwiPnJkbWFfcHJ0eXBlOiBub3Qgc3BlY2lmaWVkPC9wPjxwIGNsYXNzPSJNc29O b3JtYWwiPnJkbWFfcXB0eXBlOiBjb25uZWN0ZWQ8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+cmRt YV9jbXM6wqDCoMKgIHJkbWEtY208L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+cmRtYV9wa2V5OiAw eDAwMDA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+wqA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+ PGI+IyBudm1lIGNvbm5lY3QgLXQgcmRtYSAtbiAmcXVvdDtucW4uMjAxNi0wNi5pby5zcGRrOmNu b2RlMSZxdW90OyAtYSAxMC4zLjcuMiAtcyA0NDIwPC9iPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFs Ij5GYWlsZWQgdG8gd3JpdGUgdG8gL2Rldi9udm1lLWZhYnJpY3M6IElucHV0L291dHB1dCBlcnJv cjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj5bZG1l c2ddPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPls1OTkwOS41NDEzOTJdIG52bWUgbnZtZTA6IG5l dyBjdHJsOiBOUU4gJnF1b3Q7bnFuLjIwMTQtMDgub3JnLm52bWV4cHJlc3MuZGlzY292ZXJ5JnF1 b3Q7LCBhZGRyIDxhIGhyZWY9Imh0dHA6Ly8xMC4zLjcuMjo0NDIwIj4xMC4zLjcuMjo0NDIwPC9h PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj5bNTk5NDAuMzg5OTUyXSBudm1lIG52bWUwOiBDb25u ZWN0IGNvbW1hbmQgZmFpbGVkLCBlcnJvciB3by9ETlIgYml0OiAzODg8L3A+PHAgY2xhc3M9Ik1z b05vcm1hbCI+wqA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHU+T24gdGFyZ2V0IEkgZ2V0 IHRoZSBmb2xsb3dpbmcgZXJyb3I8L3U+PC9iPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIj4jIGFwcC9udm1mX3RndC9udm1mX3RndCAtYyAvZXRjL3Nw ZGsvbnZtZi5jb25mwqAgJmd0OyAvdG1wLzE8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+RUFMOiBE ZXRlY3RlZCAyMCBsY29yZShzKTwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj5yZWFjdG9yLmM6IDMx NDpfc3Bka19yZWFjdG9yX3J1bjogKk5PVElDRSo6IFJlYWN0b3Igc3RhcnRlZCBvbiBjb3JlIDAg b24gc29ja2V0IDA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+Y29weV9lbmdpbmVfaW9hdC5jOiAz MDY6Y29weV9lbmdpbmVfaW9hdF9pbml0OiAqTk9USUNFKjogSW9hdCBDb3B5IEVuZ2luZSBPZmZs b2FkIEVuYWJsZWQ8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+bnZtZl90Z3QuYzogMjE1Om52bWZf dGd0X2NyZWF0ZV9zdWJzeXN0ZW06ICpOT1RJQ0UqOiBhbGxvY2F0ZWQgc3Vic3lzdGVtIG5xbi4y MDE0LTA4Lm9yZy5udm1leHByZXNzLmRpc2NvdmVyeSBvbiBsY29yZSAwIG9uIHNvY2tldCAwPC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiPm52bWZfdGd0LmM6IDIxNTpudm1mX3RndF9jcmVhdGVfc3Vi c3lzdGVtOiAqTk9USUNFKjogYWxsb2NhdGVkIHN1YnN5c3RlbSBucW4uMjAxNi0wNi5pby5zcGRr OmNub2RlMSBvbiBsY29yZSAwIG9uIHNvY2tldCAwPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPnJk bWEuYzogOTU1OnNwZGtfbnZtZl9yZG1hX2NyZWF0ZTogKk5PVElDRSo6ICoqKiBSRE1BIFRyYW5z cG9ydCBJbml0ICoqKjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj5yZG1hLmM6MTEyMDpzcGRrX252 bWZfcmRtYV9saXN0ZW46ICpOT1RJQ0UqOiAqKiogTlZNZiBUYXJnZXQgTGlzdGVuaW5nIG9uIDEw LjMuNy4yIHBvcnQgNDQyMCAqKio8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+Y29uZi5jOiA1MDA6 c3Bka19udm1mX2NvbnN0cnVjdF9zdWJzeXN0ZW06ICpOT1RJQ0UqOiBBdHRhY2hpbmcgYmxvY2sg ZGV2aWNlIEFJTzAgdG8gc3Vic3lzdGVtIG5xbi4yMDE2LTA2LmlvLnNwZGs6Y25vZGUxPC9wPjxw IGNsYXNzPSJNc29Ob3JtYWwiPm52bWZfdGd0LmM6IDI5MDpzcGRrX252bWZfc3RhcnR1cDogKk5P VElDRSo6IEFjY2VwdG9yIHJ1bm5pbmcgb24gY29yZSAwIG9uIHNvY2tldCAwPC9wPjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxiPnJlcXVlc3QuYzogMTcxOm52bWZfcHJvY2Vzc19jb25uZWN0OiAqRVJS T1IqOiBTdWJzeXN0ZW0gJiMzOTtucW4uMjAxNi0wNi5pby5zcGRrOmNub2RlMSYjMzk7IGRvZXMg bm90IGFsbG93IGhvc3QgJiMzOTtucW4uMjAxNC0wOC5vcmcubnZtZXhwcmVzczpOVk1mOnV1aWQ6 NWU1ZTAwNjQtMmFkNi00YTQzLTljMjYtMDYzZTNlZjZjZjE0JiMzOTs8L2I+PC9wPjxwIGNsYXNz PSJNc29Ob3JtYWwiPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPC9wPjxwIGNsYXNzPSJN c29Ob3JtYWwiPmNhbiB5b3UgcGxlYXNlIGhlbHAgb24gd2h5IEkgYW0gbm90IGFibGUgdG8gY29u bmVjdCBpbiB0aGlzIGNvbmZpZ3VyYXRpb24uPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiPlJlZ2FyZHMsPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPi1r aXJ1PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPC9wPjwvZGl2PjwvYm9keT48L2h0bWw+Cg== --===============5731081441189132590==--