From owner-freebsd-questions@freebsd.org Tue Feb 23 15:48:40 2016 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 17147AB252C for ; Tue, 23 Feb 2016 15:48:40 +0000 (UTC) (envelope-from jmquintanacamara@gmail.com) Received: from mail-lf0-x22a.google.com (mail-lf0-x22a.google.com [IPv6:2a00:1450:4010:c07::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4275A755 for ; Tue, 23 Feb 2016 15:48:39 +0000 (UTC) (envelope-from jmquintanacamara@gmail.com) Received: by mail-lf0-x22a.google.com with SMTP id 78so117827802lfy.3 for ; Tue, 23 Feb 2016 07:48:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=B46hdwHfKp6ZF/+xxoCwyfhxX+hPw/x71Ft60dWdY/s=; b=J8HKaX4OdMXovk5iQjQlGaMuxu8sZuvXzFqUBSWnLAsAMp9Gcc2YVMGAL2v7x160fz QpvMP/wwoDXtHn0ADMiUxJQXn/aicFr37tiUXljX9s2O4oB+aqHW0Az3Son396nabHKq fnsG2IcEOQLVupedYdb3boNHvy03cegiuLx7kswKWcTuB1Zzmlz75nzurlAnAe+duyJe 1i3g/f4aHyxSKe4HSmveWweOr7NK4RK/d+EFjYI7p+cQoylo6ybX6HJo6K2wWv36EvQB FXgkBpse7tsWDEYesHQJgRWXM0SDAd9fZj6mZ6g9LryMA8ckkOcxXw9o8xNOg6GwsihR 7TfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=B46hdwHfKp6ZF/+xxoCwyfhxX+hPw/x71Ft60dWdY/s=; b=EvvLjwGIg8mCcIAFMSXRBQtMCGVyJanLqquwDmVmcUJhhAsuKphireT1iYmwZjVoza d8a0VVbw1spkvZdgnI52SzPiF9A5v9rlUSOzUxZT57SBKLpWCr4MXfyg6DR7iwpoSXcA L4smYPt8cqn/SFVa6GfAFJ8yhamieZuvQec6dVb5IvcjIkBpWE4Ln8uaztOTrL4Kp4aT PxNIziUANTRp2IOwodWuKVoq9bcKvKV7kipkAges9KJlGYz8awOa5pwxtaQCACnQm/nl 7enLgSe/6JJ3dgxtSBJx0onVQ26hd0heIB1zzSEqVqUWfDIxXMAeZKBQ/KnTD1L5VWOC q91A== X-Gm-Message-State: AG10YOSztlDRl5xnD8Ny5RwzpvN4wKVfbiPtnalXu9kowNwnfvHJJvV3WqbQl/ZAgNfw9GZajqU+KbLlELUZaQ== X-Received: by 10.25.152.135 with SMTP id a129mr11158478lfe.40.1456242517037; Tue, 23 Feb 2016 07:48:37 -0800 (PST) MIME-Version: 1.0 Received: by 10.25.134.3 with HTTP; Tue, 23 Feb 2016 07:48:16 -0800 (PST) In-Reply-To: References: From: =?UTF-8?Q?Jos=C3=A9_Manuel_Quintana_C=C3=A1mara?= Date: Tue, 23 Feb 2016 16:48:16 +0100 Message-ID: Subject: Re: IPSec multicast limitation? To: freebsd-questions@freebsd.org Content-Type: multipart/mixed; boundary=001a114035e2ef73c2052c71e1e9 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Feb 2016 15:48:40 -0000 --001a114035e2ef73c2052c71e1e9 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Sorry, I forgot to attach the files. Now they are. 2016-02-23 16:47 GMT+01:00 Jos=C3=A9 Manuel Quintana C=C3=A1mara < jmquintanacamara@gmail.com>: > Dear FreeBsd developers, > > I am Jose Manuel, software engineer. I got your email address from the > website (https://www.freebsd.org/mailto.html). I am sorry if this is not > the right place to ask my question. If so, please tell me where to do it. > > I write to you because I am finding some problems when using IPSec > multicast mode. I hope to be clear describing my problem. > > I am using the network environment (file attached Network.png). > [image: Im=C3=A1genes integradas 1] > Firstly, I performed IP multicast communications (IP, not IPSec, just to > check that multicast is working properly) sending data from PC4 to PC1 an= d > PC2. Everything OK. > > Then I enabled IPSec by means of using setkey ( > https://www.freebsd.org/cgi/man.cgi?query=3Dsetkey&sektion=3D8) and found= : > 1. with IPSec unicast communications: I found some examples for IPSec > unicast in the setkey man page. I configured a pair of SAs between PC4 an= d > PC1 in tunnel mode (between routers 1 and 4) and it worked perfectly: I s= ee > that UDP data exchanged between PC1 and PC4 is protected between routers = 1 > and 4 in ESP mode. I attach the file IPSec_Unicast.txt with the SAs and S= Ps > created, working in every pair of PCs. > > 2. Now I have IPSec unicast working and IP multicast, let's put to work > IPSec multicast together... but I found problems with it :( > I have not found any multicast example in the setkey man page. Since ther= e > are no multicast examples, I wonder if setkey is only made for unicast... > or the kernel is not able to do it... > I found this post from a guy who says it worked using the multicast > address when creating the SA ( > http://security.stackexchange.com/questions/85915/ipsec-on-multicast). > So, I tried in the same way, using the multicast address, to send data fr= om > PC4 to PC1 and PC2 (belonging to multicast group) and I found that the > router4 received the UPD frames but it didn't output the ESP frames to th= e > rest of routers. I attach the file IPSec_Multicast.txt with the SAs and S= Ps > created, not sure about they are well built or not. > > I have the following questions: > 1. is there a limitation in the FreeBSD kernel of using IPSec multicast? > 2. if not, is the limitation in setkey? or maybe I am not using setkey > correctly? > > Thank you very much in advance and congratulations for your work! > > Best regards, > Jos=C3=A9 Manuel Quintana > --001a114035e2ef73c2052c71e1e9 Content-Type: text/plain; charset=US-ASCII; name="IPSec_Multicast.txt" Content-Disposition: attachment; filename="IPSec_Multicast.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ikzl6fwl0 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpyb3V0ZXIxDQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCiNtdWx0aWNhc3QgUkVDRUlWRVINCmFkZCAgICAxMC4wLjQuMjAgMjM5LjEuMS4x IGVzcCAweDBjNDEzMDRlIC1FIDNkZXMtY2JjIDB4M2U2NDg3ZTFhZGM0NDcwNWFlZGJjYTllYmI4 YTk2OTFkYmNmZDNjMzcwODhjODEzIC1BIGhtYWMtc2hhMSAweDdmMDNlNzE2MDFkN2ZiZDg2YWQ3 MWZiMTA4OWFjMDU2YzFlMzFjYTUgOyANCnNwZGFkZCAxMC4wLjQuMjAgMjM5LjEuMS4xIGFueSAt UCBpbiBpcHNlYyBlc3AvdHVubmVsLzEwLjAuNC4yMC0yMzkuMS4xLjEvcmVxdWlyZSA7DQoNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kcm91dGVyMg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQojbXVsdGljYXN0IFJFQ0VJVkVSDQphZGQgICAgMTAuMC40LjIwIDIzOS4xLjEuMSBl c3AgMHgwYzQxMzA0ZSAtRSAzZGVzLWNiYyAweDNlNjQ4N2UxYWRjNDQ3MDVhZWRiY2E5ZWJiOGE5 NjkxZGJjZmQzYzM3MDg4YzgxMyAtQSBobWFjLXNoYTEgMHg3ZjAzZTcxNjAxZDdmYmQ4NmFkNzFm YjEwODlhYzA1NmMxZTMxY2E1IDsgDQpzcGRhZGQgMTAuMC40LjIwIDIzOS4xLjEuMSBhbnkgLVAg aW4gaXBzZWMgZXNwL3R1bm5lbC8xMC4wLjQuMjAtMjM5LjEuMS4xL3JlcXVpcmUgOw0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnJvdXRlcjMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KI211bHRpY2FzdCBSRUNFSVZFUg0KYWRkICAgIDEwLjAuNC4yMCAyMzkuMS4xLjEgZXNw IDB4MGM0MTMwNGUgLUUgM2Rlcy1jYmMgMHgzZTY0ODdlMWFkYzQ0NzA1YWVkYmNhOWViYjhhOTY5 MWRiY2ZkM2MzNzA4OGM4MTMgLUEgaG1hYy1zaGExIDB4N2YwM2U3MTYwMWQ3ZmJkODZhZDcxZmIx MDg5YWMwNTZjMWUzMWNhNSA7IA0Kc3BkYWRkIDEwLjAuNC4yMCAyMzkuMS4xLjEgYW55IC1QIGlu IGlwc2VjIGVzcC90dW5uZWwvMTAuMC40LjIwLTIzOS4xLjEuMS9yZXF1aXJlIDsNCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpyb3V0ZXI0DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCiNtdWx0aWNhc3QgU0VOREVSDQphZGQgICAgMTAuMC40LjIwIDIzOS4xLjEuMSBlc3AgMHgw YzQxMzA0ZSAtRSAzZGVzLWNiYyAweDNlNjQ4N2UxYWRjNDQ3MDVhZWRiY2E5ZWJiOGE5NjkxZGJj ZmQzYzM3MDg4YzgxMyAtQSBobWFjLXNoYTEgMHg3ZjAzZTcxNjAxZDdmYmQ4NmFkNzFmYjEwODlh YzA1NmMxZTMxY2E1IDsgDQpzcGRhZGQgMTAuMC40LjIwIDIzOS4xLjEuMSBhbnkgLVAgb3V0IGlw c2VjIGVzcC90dW5uZWwvMTAuMC40LjIwLTIzOS4xLjEuMS9yZXF1aXJlIDs= --001a114035e2ef73c2052c71e1e9 Content-Type: text/plain; charset=US-ASCII; name="IPSec_Unicast.txt" Content-Disposition: attachment; filename="IPSec_Unicast.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ikzl6fwx1 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpyb3V0ZXIxDQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCiNyb3V0ZXIxIC0gcm91dGVyMg0KYWRkIDEwLjAuMS4xIDEwLjAuMS4yIGVzcCAw eDA2ZjBhNTkyIC1FIDNkZXMtY2JjIDB4YTJkMTk4NmQ0ZDM4MmJlZmRiMmVjZDQ4NjAxOTM2NDcw ZWM1ZTE2NzNlMjNlZGEzIC1BIGhtYWMtc2hhMSAweDIyY2Q2NDE4ODNmM2I1NDI0MzQ5ODE3Yjdh ODI1OGU0ZjY3NGI1ODggOw0KYWRkIDEwLjAuMS4yIDEwLjAuMS4xIGVzcCAweDBjNDEzMDRlIC1F IDNkZXMtY2JjIDB4M2U2NDg3ZTFhZGM0NDcwNWFlZGJjYTllYmI4YTk2OTFkYmNmZDNjMzcwODhj ODEzIC1BIGhtYWMtc2hhMSAweDdmMDNlNzE2MDFkN2ZiZDg2YWQ3MWZiMTA4OWFjMDU2YzFlMzFj YTUgOyANCnNwZGFkZCAxMC4wLjAuMC8yNCAgMTAuMC4yLjAvMjQgYW55IC1QIG91dCBpcHNlYyBl c3AvdHVubmVsLzEwLjAuMS4xLTEwLjAuMS4yL3JlcXVpcmUgOw0KDQojcm91dGVyMSAtIHJvdXRl cjMNCmFkZCAxMC4wLjEuMSAxMC4wLjEuMyBlc3AgMHgwNmYwYTU5MiAtRSAzZGVzLWNiYyAweGEy ZDE5ODZkNGQzODJiZWZkYjJlY2Q0ODYwMTkzNjQ3MGVjNWUxNjczZTIzZWRhMyAtQSBobWFjLXNo YTEgMHgyMmNkNjQxODgzZjNiNTQyNDM0OTgxN2I3YTgyNThlNGY2NzRiNTg4IDsNCmFkZCAxMC4w LjEuMyAxMC4wLjEuMSBlc3AgMHgwYzQxMzA0ZSAtRSAzZGVzLWNiYyAweDNlNjQ4N2UxYWRjNDQ3 MDVhZWRiY2E5ZWJiOGE5NjkxZGJjZmQzYzM3MDg4YzgxMyAtQSBobWFjLXNoYTEgMHg3ZjAzZTcx NjAxZDdmYmQ4NmFkNzFmYjEwODlhYzA1NmMxZTMxY2E1IDsgDQpzcGRhZGQgMTAuMC4wLjAvMjQg IDEwLjAuMy4wLzI0IGFueSAtUCBvdXQgaXBzZWMgZXNwL3R1bm5lbC8xMC4wLjEuMS0xMC4wLjEu My9yZXF1aXJlIDsNCg0KI3JvdXRlcjEgLSByb3V0ZXI0DQphZGQgMTAuMC4xLjEgMTAuMC4xLjQg ZXNwIDB4MDZmMGE1OTIgLUUgM2Rlcy1jYmMgMHhhMmQxOTg2ZDRkMzgyYmVmZGIyZWNkNDg2MDE5 MzY0NzBlYzVlMTY3M2UyM2VkYTMgLUEgaG1hYy1zaGExIDB4MjJjZDY0MTg4M2YzYjU0MjQzNDk4 MTdiN2E4MjU4ZTRmNjc0YjU4OCA7DQphZGQgMTAuMC4xLjQgMTAuMC4xLjEgZXNwIDB4MGM0MTMw NGUgLUUgM2Rlcy1jYmMgMHgzZTY0ODdlMWFkYzQ0NzA1YWVkYmNhOWViYjhhOTY5MWRiY2ZkM2Mz NzA4OGM4MTMgLUEgaG1hYy1zaGExIDB4N2YwM2U3MTYwMWQ3ZmJkODZhZDcxZmIxMDg5YWMwNTZj MWUzMWNhNSA7IA0Kc3BkYWRkIDEwLjAuMC4wLzI0ICAxMC4wLjQuMC8yNCBhbnkgLVAgb3V0IGlw c2VjIGVzcC90dW5uZWwvMTAuMC4xLjEtMTAuMC4xLjQvcmVxdWlyZSA7DQoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0Kcm91dGVyMg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoj cm91dGVyMiAtIHJvdXRlcjENCmFkZCAxMC4wLjEuMiAxMC4wLjEuMSBlc3AgMHgwYzQxMzA0ZSAt RSAzZGVzLWNiYyAweDNlNjQ4N2UxYWRjNDQ3MDVhZWRiY2E5ZWJiOGE5NjkxZGJjZmQzYzM3MDg4 YzgxMyAtQSBobWFjLXNoYTEgMHg3ZjAzZTcxNjAxZDdmYmQ4NmFkNzFmYjEwODlhYzA1NmMxZTMx Y2E1IDsgDQphZGQgMTAuMC4xLjEgMTAuMC4xLjIgZXNwIDB4MDZmMGE1OTIgLUUgM2Rlcy1jYmMg MHhhMmQxOTg2ZDRkMzgyYmVmZGIyZWNkNDg2MDE5MzY0NzBlYzVlMTY3M2UyM2VkYTMgLUEgaG1h Yy1zaGExIDB4MjJjZDY0MTg4M2YzYjU0MjQzNDk4MTdiN2E4MjU4ZTRmNjc0YjU4OCA7DQpzcGRh ZGQgMTAuMC4yLjAvMjQgIDEwLjAuMC4wLzI0IGFueSAtUCBvdXQgaXBzZWMgZXNwL3R1bm5lbC8x MC4wLjEuMi0xMC4wLjEuMS9yZXF1aXJlIDsNCg0KI3JvdXRlcjIgLSByb3V0ZXIzDQphZGQgMTAu MC4xLjIgMTAuMC4xLjMgZXNwIDB4MGM0MTMwNGUgLUUgM2Rlcy1jYmMgMHgzZTY0ODdlMWFkYzQ0 NzA1YWVkYmNhOWViYjhhOTY5MWRiY2ZkM2MzNzA4OGM4MTMgLUEgaG1hYy1zaGExIDB4N2YwM2U3 MTYwMWQ3ZmJkODZhZDcxZmIxMDg5YWMwNTZjMWUzMWNhNSA7IA0KYWRkIDEwLjAuMS4zIDEwLjAu MS4yIGVzcCAweDA2ZjBhNTkyIC1FIDNkZXMtY2JjIDB4YTJkMTk4NmQ0ZDM4MmJlZmRiMmVjZDQ4 NjAxOTM2NDcwZWM1ZTE2NzNlMjNlZGEzIC1BIGhtYWMtc2hhMSAweDIyY2Q2NDE4ODNmM2I1NDI0 MzQ5ODE3YjdhODI1OGU0ZjY3NGI1ODggOw0Kc3BkYWRkIDEwLjAuMi4wLzI0ICAxMC4wLjMuMC8y NCBhbnkgLVAgb3V0IGlwc2VjIGVzcC90dW5uZWwvMTAuMC4xLjItMTAuMC4xLjMvcmVxdWlyZSA7 DQoNCiNyb3V0ZXIyIC0gcm91dGVyNA0KYWRkIDEwLjAuMS4yIDEwLjAuMS40IGVzcCAweDBjNDEz MDRlIC1FIDNkZXMtY2JjIDB4M2U2NDg3ZTFhZGM0NDcwNWFlZGJjYTllYmI4YTk2OTFkYmNmZDNj MzcwODhjODEzIC1BIGhtYWMtc2hhMSAweDdmMDNlNzE2MDFkN2ZiZDg2YWQ3MWZiMTA4OWFjMDU2 YzFlMzFjYTUgOyANCmFkZCAxMC4wLjEuNCAxMC4wLjEuMiBlc3AgMHgwNmYwYTU5MiAtRSAzZGVz LWNiYyAweGEyZDE5ODZkNGQzODJiZWZkYjJlY2Q0ODYwMTkzNjQ3MGVjNWUxNjczZTIzZWRhMyAt QSBobWFjLXNoYTEgMHgyMmNkNjQxODgzZjNiNTQyNDM0OTgxN2I3YTgyNThlNGY2NzRiNTg4IDsN CnNwZGFkZCAxMC4wLjIuMC8yNCAgMTAuMC40LjAvMjQgYW55IC1QIG91dCBpcHNlYyBlc3AvdHVu bmVsLzEwLjAuMS4yLTEwLjAuMS40L3JlcXVpcmUgOw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCnJvdXRlcjMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KI3JvdXRlcjMgLSBy b3V0ZXIxDQphZGQgMTAuMC4xLjMgMTAuMC4xLjEgZXNwIDB4MGM0MTMwNGUgLUUgM2Rlcy1jYmMg MHgzZTY0ODdlMWFkYzQ0NzA1YWVkYmNhOWViYjhhOTY5MWRiY2ZkM2MzNzA4OGM4MTMgLUEgaG1h Yy1zaGExIDB4N2YwM2U3MTYwMWQ3ZmJkODZhZDcxZmIxMDg5YWMwNTZjMWUzMWNhNSA7IA0KYWRk IDEwLjAuMS4xIDEwLjAuMS4zIGVzcCAweDA2ZjBhNTkyIC1FIDNkZXMtY2JjIDB4YTJkMTk4NmQ0 ZDM4MmJlZmRiMmVjZDQ4NjAxOTM2NDcwZWM1ZTE2NzNlMjNlZGEzIC1BIGhtYWMtc2hhMSAweDIy Y2Q2NDE4ODNmM2I1NDI0MzQ5ODE3YjdhODI1OGU0ZjY3NGI1ODggOw0Kc3BkYWRkIDEwLjAuMy4w LzI0ICAxMC4wLjAuMC8yNCBhbnkgLVAgb3V0IGlwc2VjIGVzcC90dW5uZWwvMTAuMC4xLjMtMTAu MC4xLjEvcmVxdWlyZSA7DQoNCiNyb3V0ZXIzIC0gcm91dGVyMg0KYWRkIDEwLjAuMS4zIDEwLjAu MS4yIGVzcCAweDBjNDEzMDRlIC1FIDNkZXMtY2JjIDB4M2U2NDg3ZTFhZGM0NDcwNWFlZGJjYTll YmI4YTk2OTFkYmNmZDNjMzcwODhjODEzIC1BIGhtYWMtc2hhMSAweDdmMDNlNzE2MDFkN2ZiZDg2 YWQ3MWZiMTA4OWFjMDU2YzFlMzFjYTUgOyANCmFkZCAxMC4wLjEuMiAxMC4wLjEuMyBlc3AgMHgw NmYwYTU5MiAtRSAzZGVzLWNiYyAweGEyZDE5ODZkNGQzODJiZWZkYjJlY2Q0ODYwMTkzNjQ3MGVj NWUxNjczZTIzZWRhMyAtQSBobWFjLXNoYTEgMHgyMmNkNjQxODgzZjNiNTQyNDM0OTgxN2I3YTgy NThlNGY2NzRiNTg4IDsNCnNwZGFkZCAxMC4wLjMuMC8yNCAgMTAuMC4yLjAvMjQgYW55IC1QIG91 dCBpcHNlYyBlc3AvdHVubmVsLzEwLjAuMS4zLTEwLjAuMS4yL3JlcXVpcmUgOw0KDQojcm91dGVy MyAtIHJvdXRlcjQNCmFkZCAxMC4wLjEuMyAxMC4wLjEuNCBlc3AgMHgwYzQxMzA0ZSAtRSAzZGVz LWNiYyAweDNlNjQ4N2UxYWRjNDQ3MDVhZWRiY2E5ZWJiOGE5NjkxZGJjZmQzYzM3MDg4YzgxMyAt QSBobWFjLXNoYTEgMHg3ZjAzZTcxNjAxZDdmYmQ4NmFkNzFmYjEwODlhYzA1NmMxZTMxY2E1IDsg DQphZGQgMTAuMC4xLjQgMTAuMC4xLjMgZXNwIDB4MDZmMGE1OTIgLUUgM2Rlcy1jYmMgMHhhMmQx OTg2ZDRkMzgyYmVmZGIyZWNkNDg2MDE5MzY0NzBlYzVlMTY3M2UyM2VkYTMgLUEgaG1hYy1zaGEx IDB4MjJjZDY0MTg4M2YzYjU0MjQzNDk4MTdiN2E4MjU4ZTRmNjc0YjU4OCA7DQpzcGRhZGQgMTAu MC4zLjAvMjQgIDEwLjAuNC4wLzI0IGFueSAtUCBvdXQgaXBzZWMgZXNwL3R1bm5lbC8xMC4wLjEu My0xMC4wLjEuNC9yZXF1aXJlIDsNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpyb3V0 ZXI0DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiNyb3V0ZXI0IC0gcm91dGVyMQ0KYWRk IDEwLjAuMS40IDEwLjAuMS4xIGVzcCAweDBjNDEzMDRlIC1FIDNkZXMtY2JjIDB4M2U2NDg3ZTFh ZGM0NDcwNWFlZGJjYTllYmI4YTk2OTFkYmNmZDNjMzcwODhjODEzIC1BIGhtYWMtc2hhMSAweDdm MDNlNzE2MDFkN2ZiZDg2YWQ3MWZiMTA4OWFjMDU2YzFlMzFjYTUgOyANCmFkZCAxMC4wLjEuMSAx MC4wLjEuNCBlc3AgMHgwNmYwYTU5MiAtRSAzZGVzLWNiYyAweGEyZDE5ODZkNGQzODJiZWZkYjJl Y2Q0ODYwMTkzNjQ3MGVjNWUxNjczZTIzZWRhMyAtQSBobWFjLXNoYTEgMHgyMmNkNjQxODgzZjNi NTQyNDM0OTgxN2I3YTgyNThlNGY2NzRiNTg4IDsNCnNwZGFkZCAxMC4wLjQuMC8yNCAgMTAuMC4w LjAvMjQgYW55IC1QIG91dCBpcHNlYyBlc3AvdHVubmVsLzEwLjAuMS40LTEwLjAuMS4xL3JlcXVp cmUgOw0KDQojcm91dGVyNCAtIHJvdXRlcjINCmFkZCAxMC4wLjEuNCAxMC4wLjEuMiBlc3AgMHgw YzQxMzA0ZSAtRSAzZGVzLWNiYyAweDNlNjQ4N2UxYWRjNDQ3MDVhZWRiY2E5ZWJiOGE5NjkxZGJj ZmQzYzM3MDg4YzgxMyAtQSBobWFjLXNoYTEgMHg3ZjAzZTcxNjAxZDdmYmQ4NmFkNzFmYjEwODlh YzA1NmMxZTMxY2E1IDsgDQphZGQgMTAuMC4xLjIgMTAuMC4xLjQgZXNwIDB4MDZmMGE1OTIgLUUg M2Rlcy1jYmMgMHhhMmQxOTg2ZDRkMzgyYmVmZGIyZWNkNDg2MDE5MzY0NzBlYzVlMTY3M2UyM2Vk YTMgLUEgaG1hYy1zaGExIDB4MjJjZDY0MTg4M2YzYjU0MjQzNDk4MTdiN2E4MjU4ZTRmNjc0YjU4 OCA7DQpzcGRhZGQgMTAuMC40LjAvMjQgIDEwLjAuMi4wLzI0IGFueSAtUCBvdXQgaXBzZWMgZXNw L3R1bm5lbC8xMC4wLjEuNC0xMC4wLjEuMi9yZXF1aXJlIDsNCg0KI3JvdXRlcjQgLSByb3V0ZXIz DQphZGQgMTAuMC4xLjQgMTAuMC4xLjMgZXNwIDB4MGM0MTMwNGUgLUUgM2Rlcy1jYmMgMHgzZTY0 ODdlMWFkYzQ0NzA1YWVkYmNhOWViYjhhOTY5MWRiY2ZkM2MzNzA4OGM4MTMgLUEgaG1hYy1zaGEx IDB4N2YwM2U3MTYwMWQ3ZmJkODZhZDcxZmIxMDg5YWMwNTZjMWUzMWNhNSA7IA0KYWRkIDEwLjAu MS4zIDEwLjAuMS40IGVzcCAweDA2ZjBhNTkyIC1FIDNkZXMtY2JjIDB4YTJkMTk4NmQ0ZDM4MmJl ZmRiMmVjZDQ4NjAxOTM2NDcwZWM1ZTE2NzNlMjNlZGEzIC1BIGhtYWMtc2hhMSAweDIyY2Q2NDE4 ODNmM2I1NDI0MzQ5ODE3YjdhODI1OGU0ZjY3NGI1ODggOw0Kc3BkYWRkIDEwLjAuNC4wLzI0ICAx MC4wLjMuMC8yNCBhbnkgLVAgb3V0IGlwc2VjIGVzcC90dW5uZWwvMTAuMC4xLjQtMTAuMC4xLjMv cmVxdWlyZSA7 --001a114035e2ef73c2052c71e1e9--