From matzew at apache.org Mon Oct 27 05:00:24 2014 Content-Type: multipart/mixed; boundary="===============2275559066858463104==" MIME-Version: 1.0 From: Matthias Wessendorf To: keycloak-dev at lists.jboss.org Subject: Re: [keycloak-dev] Keycloak 1.0.3 branch problem Date: Mon, 27 Oct 2014 10:00:23 +0100 Message-ID: In-Reply-To: 1805880846.497049.1414394473464.JavaMail.zimbra@redhat.com --===============2275559066858463104== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Mon, Oct 27, 2014 at 8:21 AM, Stian Thorgersen wrot= e: > > > ----- Original Message ----- > > From: "Bill Burke" > > To: "Stian Thorgersen" > > Cc: keycloak-dev(a)lists.jboss.org > > Sent: Friday, 24 October, 2014 4:09:57 PM > > Subject: Re: [keycloak-dev] Keycloak 1.0.3 branch problem > > > > What you're describing isn't CSRF, it is an injection attack. So CSRF > > doesn't apply. > > Yep, I know. It was a moment of brain malfunctioning! > > > > > In 1.1 you can't post directly to processLogin or processRegister as you > > have to have a client session set up and the client session's state must > > be AUTHENTICATE > > I'll remove it - as you say it's being added in 1.1 in any case, and 1.0.x > shouldn't change how things functions any ways. > Hi all, I tested the 'new' 1.0.x branch -> works all fine now > > > > > > > > > > > On 10/24/2014 9:47 AM, Stian Thorgersen wrote: > > > Not sure TBH > > > > > > I was thinking that someone could post from an external page and > inject a > > > JS script to capture the username/password. Basically post an invalid > > > username () where the script also removes the > invalid > > > user/password warning. Then when the user enters username/password the > > > script could capture the username/password and send it somewhere. > > > > > > But, then once I'd done that I realised that we should escape any html > > > entered in input fields any ways so I fixed that, which kinda made the > > > other fix pointless. > > > > > > I reckon I'll remove it! Unless for some reason we want to prevent > folks > > > from posting directly to login/registration endpoints? > > > > > > ----- Original Message ----- > > >> From: "Bill Burke" > > >> To: keycloak-dev(a)lists.jboss.org > > >> Sent: Friday, 24 October, 2014 2:41:05 PM > > >> Subject: Re: [keycloak-dev] Keycloak 1.0.3 branch problem > > >> > > >> Why is there a CSRF check in processLogin? The user isn't even logg= ed > > >> in yet and no credentials have been processed. > > >> > > >> On 10/24/2014 6:54 AM, Matthias Wessendorf wrote: > > >>> Hi, > > >>> > > >>> I tried picking up KC 1.0.3.Final on our 1.0.x branch: > > >>> > > >>> * deployment of both WARs went fine > > >>> * accessing the `http://localhost:8080/ag-push` offers me the > initial > > >>> login for admin:123 > > >>> * clicking login did _NOT_ redirect me to the form where I am > supposed to > > >>> update the default password. > > >>> > > >>> > > >>> On WildFly, I got a blank page and this stack-trace: > > >>> ``` > > >>> 12:47:35,859 WARN [org.jboss.resteasy.core.ExceptionHandler] > (default > > >>> task-10) Failed executing POST > > >>> /realms/aerogear/tokens/auth/request/login: > > >>> org.keycloak.services.ForbiddenException > > >>> at > org.keycloak.services.util.CsrfHelper.csrfCheck(CsrfHelper.java:39) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at > > >>> > org.keycloak.services.resources.TokenService.processLogin(TokenService.j= ava:479) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > >>> [rt.jar:1.7.0_65] > > >>> at > > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav= a:57) > > >>> [rt.jar:1.7.0_65] > > >>> at > > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor= Impl.java:43) > > >>> [rt.jar:1.7.0_65] > > >>> at java.lang.reflect.Method.invoke(Method.java:606) > [rt.jar:1.7.0_65] > > >>> at > > >>> > org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.jav= a:137) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMet= hodInvoker.java:296) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvok= er.java:250) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(Reso= urceLocatorInvoker.java:140) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInv= oker.java:103) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatch= er.java:356) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatch= er.java:179) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.ser= vice(ServletContainerDispatcher.java:220) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(= HttpServletDispatcher.java:56) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at > > >>> > org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(= HttpServletDispatcher.java:51) > > >>> [resteasy-jaxrs-3.0.8.Final.jar:] > > >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) > > >>> [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler= .java:85) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(Filt= erHandler.java:130) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > org.keycloak.services.filters.ClientConnectionFilter.doFilter(ClientConn= ectionFilter.java:41) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at > > >>> > io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(Filt= erHandler.java:132) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(Keyc= loakSessionServletFilter.java:40) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at > > >>> > io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(Filt= erHandler.java:132) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.j= ava:85) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleR= equest(ServletSecurityRoleHandler.java:61) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(Ser= vletDispatchingHandler.java:36) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > org.wildfly.extension.undertow.security.SecurityContextAssociationHandle= r.handleRequest(SecurityContextAssociationHandler.java:78) > > >>> at > > >>> > io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHand= ler.java:25) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.h= andleRequest(SSLInformationAssociationHandler.java:113) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.h= andleRequest(ServletAuthenticationCallHandler.java:56) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHand= ler.java:25) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.security.handlers.AbstractConfidentialityHandler.handleReque= st(AbstractConfidentialityHandler.java:45) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHa= ndler.handleRequest(ServletConfidentialityConstraintHandler.java:61) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequ= est(AuthenticationMechanismsHandler.java:58) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.= handleRequest(CachedAuthenticatedSessionHandler.java:70) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.security.handlers.SecurityInitialHandler.handleRequest(Secur= ityInitialHandler.java:76) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHand= ler.java:25) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handle= Request(JACCContextIdHandler.java:61) > > >>> at > > >>> > io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHand= ler.java:25) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHand= ler.java:25) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(Se= rvletInitialHandler.java:240) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(Servl= etInitialHandler.java:227) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletIni= tialHandler.java:73) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(Servl= etInitialHandler.java:146) > > >>> [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] > > >>> at > io.undertow.server.Connectors.executeRootHandler(Connectors.java:177) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727) > > >>> [undertow-core-1.0.15.Final.jar:1.0.15.Final] > > >>> at > > >>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.jav= a:1145) > > >>> [rt.jar:1.7.0_65] > > >>> at > > >>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja= va:615) > > >>> [rt.jar:1.7.0_65] > > >>> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65] > > >>> ``` > > >>> > > >>> On EAP 6.3. I got a 403, with this stack-trace: > > >>> ``` > > >>> 12:50:06,377 WARN [org.jboss.resteasy.core.SynchronousDispatcher] > > >>> (http-/0.0.0.0:8080-3) Failed executing POST > > >>> /realms/aerogear/tokens/auth/request/login: > > >>> org.keycloak.services.ForbiddenException > > >>> at > org.keycloak.services.util.CsrfHelper.csrfCheck(CsrfHelper.java:39) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at > > >>> > org.keycloak.services.resources.TokenService.processLogin(TokenService.j= ava:479) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > >>> [rt.jar:1.7.0_65] > > >>> at > > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav= a:57) > > >>> [rt.jar:1.7.0_65] > > >>> at > > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor= Impl.java:43) > > >>> [rt.jar:1.7.0_65] > > >>> at java.lang.reflect.Method.invoke(Method.java:606) > [rt.jar:1.7.0_65] > > >>> at > > >>> > org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.jav= a:167) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.jav= a:269) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLoc= ator.java:159) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:92) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDis= patcher.java:542) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatch= er.java:524) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatch= er.java:126) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.ser= vice(ServletContainerDispatcher.java:208) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(= HttpServletDispatcher.java:55) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at > > >>> > org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(= HttpServletDispatcher.java:50) > > >>> [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] > > >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) > > >>> > [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-= 1] > > >>> at > > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica= tionFilterChain.java:295) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt= erChain.java:214) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.keycloak.services.filters.ClientConnectionFilter.doFilter(ClientConn= ectionFilter.java:41) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at > > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica= tionFilterChain.java:246) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt= erChain.java:214) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(Keyc= loakSessionServletFilter.java:40) > > >>> [keycloak-services-1.0.3.Final.jar:] > > >>> at > > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica= tionFilterChain.java:246) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt= erChain.java:214) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv= e.java:231) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv= e.java:149) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmClos= erValve.java:50) > > >>> [jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] > > >>> at > > >>> > org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmClos= erValve.java:50) > > >>> [jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] > > >>> at > > >>> > org.jboss.as.web.security.SecurityContextAssociationValve.invoke(Securit= yContextAssociationValve.java:169) > > >>> [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] > > >>> at > > >>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java= :145) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java= :97) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.= java:102) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:3= 44) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:85= 6) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(= Http11Protocol.java:653) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at > > >>> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) > > >>> [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] > > >>> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65] > > >>> ``` > > >>> > > >>> > > >>> > > >>> -- > > >>> Matthias Wessendorf > > >>> > > >>> blog: http://matthiaswessendorf.wordpress.com/ > > >>> sessions: http://www.slideshare.net/mwessendorf > > >>> twitter: http://twitter.com/mwessendorf > > >>> > > >>> > > >>> _______________________________________________ > > >>> keycloak-dev mailing list > > >>> keycloak-dev(a)lists.jboss.org > > >>> https://lists.jboss.org/mailman/listinfo/keycloak-dev > > >>> > > >> > > >> -- > > >> Bill Burke > > >> JBoss, a division of Red Hat > > >> http://bill.burkecentral.com > > >> _______________________________________________ > > >> keycloak-dev mailing list > > >> keycloak-dev(a)lists.jboss.org > > >> https://lists.jboss.org/mailman/listinfo/keycloak-dev > > >> > > > > -- > > Bill Burke > > JBoss, a division of Red Hat > > http://bill.burkecentral.com > > > _______________________________________________ > keycloak-dev mailing list > keycloak-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/keycloak-dev > -- = Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf --===============2275559066858463104== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIE1vbiwgT2N0IDI3LCAyMDE0IGF0IDg6MjEgQU0sIFN0aWFuIFRo b3JnZXJzZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86c3RpYW5AcmVkaGF0 LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnN0aWFuQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3Jv dGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAg MCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxzcGFu IGNsYXNzPSIiPjxicj4KPGJyPgotLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tPGJyPgomZ3Q7 IEZyb206ICZxdW90O0JpbGwgQnVya2UmcXVvdDsgJmx0OzxhIGhyZWY9Im1haWx0bzpiYnVya2VA cmVkaGF0LmNvbSI+YmJ1cmtlQHJlZGhhdC5jb208L2E+Jmd0Ozxicj4KPC9zcGFuPjxzcGFuIGNs YXNzPSIiPiZndDsgVG86ICZxdW90O1N0aWFuIFRob3JnZXJzZW4mcXVvdDsgJmx0OzxhIGhyZWY9 Im1haWx0bzpzdGlhbkByZWRoYXQuY29tIj5zdGlhbkByZWRoYXQuY29tPC9hPiZndDs8YnI+CiZn dDsgQ2M6IDxhIGhyZWY9Im1haWx0bzprZXljbG9hay1kZXZAbGlzdHMuamJvc3Mub3JnIj5rZXlj bG9hay1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KJmd0OyBTZW50OiBGcmlkYXksIDI0IE9j dG9iZXIsIDIwMTQgNDowOTo1NyBQTTxicj4KJmd0OyBTdWJqZWN0OiBSZTogW2tleWNsb2FrLWRl dl0gS2V5Y2xvYWsgMS4wLjMgYnJhbmNoIHByb2JsZW08YnI+CiZndDs8YnI+Cjwvc3Bhbj48c3Bh biBjbGFzcz0iIj4mZ3Q7IFdoYXQgeW91JiMzOTtyZSBkZXNjcmliaW5nIGlzbiYjMzk7dCBDU1JG LCBpdCBpcyBhbiBpbmplY3Rpb24gYXR0YWNrLsKgIFNvIENTUkY8YnI+CiZndDsgZG9lc24mIzM5 O3QgYXBwbHkuPGJyPgo8YnI+Cjwvc3Bhbj5ZZXAsIEkga25vdy4gSXQgd2FzIGEgbW9tZW50IG9m IGJyYWluIG1hbGZ1bmN0aW9uaW5nITxicj4KPHNwYW4gY2xhc3M9IiI+PGJyPgomZ3Q7PGJyPgom Z3Q7IEluIDEuMSB5b3UgY2FuJiMzOTt0IHBvc3QgZGlyZWN0bHkgdG8gcHJvY2Vzc0xvZ2luIG9y IHByb2Nlc3NSZWdpc3RlciBhcyB5b3U8YnI+CiZndDsgaGF2ZSB0byBoYXZlIGEgY2xpZW50IHNl c3Npb24gc2V0IHVwIGFuZCB0aGUgY2xpZW50IHNlc3Npb24mIzM5O3Mgc3RhdGUgbXVzdDxicj4K Jmd0OyBiZSBBVVRIRU5USUNBVEU8YnI+Cjxicj4KPC9zcGFuPkkmIzM5O2xsIHJlbW92ZSBpdCAt IGFzIHlvdSBzYXkgaXQmIzM5O3MgYmVpbmcgYWRkZWQgaW4gMS4xIGluIGFueSBjYXNlLCBhbmQg MS4wLnggc2hvdWxkbiYjMzk7dCBjaGFuZ2UgaG93IHRoaW5ncyBmdW5jdGlvbnMgYW55IHdheXMu PGJyPjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48ZGl2PkhpIGFsbCw8L2Rpdj48ZGl2Pjxi cj48L2Rpdj48ZGl2PkkgdGVzdGVkIHRoZSAmIzM5O25ldyYjMzk7IDEuMC54IGJyYW5jaCAtJmd0 OyB3b3JrcyBhbGwgZmluZSBub3c8L2Rpdj48ZGl2PsKgPC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9 ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNj Y2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CjxkaXYgY2xhc3M9IkhPRW5aYiI+PGRpdiBjbGFz cz0iaDUiPjxicj4KJmd0Ozxicj4KJmd0Ozxicj4KJmd0Ozxicj4KJmd0Ozxicj4KJmd0OyBPbiAx MC8yNC8yMDE0IDk6NDcgQU0sIFN0aWFuIFRob3JnZXJzZW4gd3JvdGU6PGJyPgomZ3Q7ICZndDsg Tm90IHN1cmUgVEJIPGJyPgomZ3Q7ICZndDs8YnI+CiZndDsgJmd0OyBJIHdhcyB0aGlua2luZyB0 aGF0IHNvbWVvbmUgY291bGQgcG9zdCBmcm9tIGFuIGV4dGVybmFsIHBhZ2UgYW5kIGluamVjdCBh PGJyPgomZ3Q7ICZndDsgSlMgc2NyaXB0IHRvIGNhcHR1cmUgdGhlIHVzZXJuYW1lL3Bhc3N3b3Jk LiBCYXNpY2FsbHkgcG9zdCBhbiBpbnZhbGlkPGJyPgomZ3Q7ICZndDsgdXNlcm5hbWUgKCZsdDtz Y3JpcHQmZ3Q7Li4uJmx0Oy9zY3JpcHQmZ3Q7KSB3aGVyZSB0aGUgc2NyaXB0IGFsc28gcmVtb3Zl cyB0aGUgaW52YWxpZDxicj4KJmd0OyAmZ3Q7IHVzZXIvcGFzc3dvcmQgd2FybmluZy4gVGhlbiB3 aGVuIHRoZSB1c2VyIGVudGVycyB1c2VybmFtZS9wYXNzd29yZCB0aGU8YnI+CiZndDsgJmd0OyBz Y3JpcHQgY291bGQgY2FwdHVyZSB0aGUgdXNlcm5hbWUvcGFzc3dvcmQgYW5kIHNlbmQgaXQgc29t ZXdoZXJlLjxicj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsgQnV0LCB0aGVuIG9uY2UgSSYjMzk7 ZCBkb25lIHRoYXQgSSByZWFsaXNlZCB0aGF0IHdlIHNob3VsZCBlc2NhcGUgYW55IGh0bWw8YnI+ CiZndDsgJmd0OyBlbnRlcmVkIGluIGlucHV0IGZpZWxkcyBhbnkgd2F5cyBzbyBJIGZpeGVkIHRo YXQsIHdoaWNoIGtpbmRhIG1hZGUgdGhlPGJyPgomZ3Q7ICZndDsgb3RoZXIgZml4IHBvaW50bGVz cy48YnI+CiZndDsgJmd0Ozxicj4KJmd0OyAmZ3Q7IEkgcmVja29uIEkmIzM5O2xsIHJlbW92ZSBp dCEgVW5sZXNzIGZvciBzb21lIHJlYXNvbiB3ZSB3YW50IHRvIHByZXZlbnQgZm9sa3M8YnI+CiZn dDsgJmd0OyBmcm9tIHBvc3RpbmcgZGlyZWN0bHkgdG8gbG9naW4vcmVnaXN0cmF0aW9uIGVuZHBv aW50cz88YnI+CiZndDsgJmd0Ozxicj4KJmd0OyAmZ3Q7IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2Ug LS0tLS08YnI+CiZndDsgJmd0OyZndDsgRnJvbTogJnF1b3Q7QmlsbCBCdXJrZSZxdW90OyAmbHQ7 PGEgaHJlZj0ibWFpbHRvOmJidXJrZUByZWRoYXQuY29tIj5iYnVya2VAcmVkaGF0LmNvbTwvYT4m Z3Q7PGJyPgomZ3Q7ICZndDsmZ3Q7IFRvOiA8YSBocmVmPSJtYWlsdG86a2V5Y2xvYWstZGV2QGxp c3RzLmpib3NzLm9yZyI+a2V5Y2xvYWstZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+CiZndDsg Jmd0OyZndDsgU2VudDogRnJpZGF5LCAyNCBPY3RvYmVyLCAyMDE0IDI6NDE6MDUgUE08YnI+CiZn dDsgJmd0OyZndDsgU3ViamVjdDogUmU6IFtrZXljbG9hay1kZXZdIEtleWNsb2FrIDEuMC4zIGJy YW5jaCBwcm9ibGVtPGJyPgomZ3Q7ICZndDsmZ3Q7PGJyPgomZ3Q7ICZndDsmZ3Q7IFdoeSBpcyB0 aGVyZSBhIENTUkYgY2hlY2sgaW4gcHJvY2Vzc0xvZ2luP8KgIFRoZSB1c2VyIGlzbiYjMzk7dCBl dmVuIGxvZ2dlZDxicj4KJmd0OyAmZ3Q7Jmd0OyBpbiB5ZXQgYW5kIG5vIGNyZWRlbnRpYWxzIGhh dmUgYmVlbiBwcm9jZXNzZWQuPGJyPgomZ3Q7ICZndDsmZ3Q7PGJyPgomZ3Q7ICZndDsmZ3Q7IE9u IDEwLzI0LzIwMTQgNjo1NCBBTSwgTWF0dGhpYXMgV2Vzc2VuZG9yZiB3cm90ZTo8YnI+CiZndDsg Jmd0OyZndDsmZ3Q7IEhpLDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDs8YnI+CiZndDsgJmd0OyZndDsm Z3Q7IEkgdHJpZWQgcGlja2luZyB1cCBLQyAxLjAuMy5GaW5hbCBvbiBvdXIgMS4wLnggYnJhbmNo Ojxicj4KJmd0OyAmZ3Q7Jmd0OyZndDs8YnI+CiZndDsgJmd0OyZndDsmZ3Q7ICogZGVwbG95bWVu dCBvZiBib3RoIFdBUnMgd2VudCBmaW5lPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyAqIGFjY2Vzc2lu ZyB0aGUgYDxhIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9hZy1wdXNoYCIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9hZy1wdXNoYDwvYT7CoCBvZmZlcnMgbWUgdGhl IGluaXRpYWw8YnI+CiZndDsgJmd0OyZndDsmZ3Q7IGxvZ2luIGZvciBhZG1pbjoxMjM8YnI+CiZn dDsgJmd0OyZndDsmZ3Q7ICogY2xpY2tpbmcgbG9naW4gZGlkIF9OT1RfIHJlZGlyZWN0IG1lIHRv IHRoZSBmb3JtIHdoZXJlIEkgYW0gc3VwcG9zZWQgdG88YnI+CiZndDsgJmd0OyZndDsmZ3Q7IHVw ZGF0ZSB0aGUgZGVmYXVsdCBwYXNzd29yZC48YnI+CiZndDsgJmd0OyZndDsmZ3Q7PGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0Ozxicj4KJmd0OyAmZ3Q7Jmd0OyZndDsgT24gV2lsZEZseSwgSSBnb3QgYSBi bGFuayBwYWdlIGFuZCB0aGlzIHN0YWNrLXRyYWNlOjxicj4KJmd0OyAmZ3Q7Jmd0OyZndDsgYGBg PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyAxMjo0NzozNSw4NTkgV0FSTsKgIFtvcmcuamJvc3MucmVz dGVhc3kuY29yZS5FeGNlcHRpb25IYW5kbGVyXSAoZGVmYXVsdDxicj4KJmd0OyAmZ3Q7Jmd0OyZn dDsgdGFzay0xMCkgRmFpbGVkIGV4ZWN1dGluZyBQT1NUPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyAv cmVhbG1zL2Flcm9nZWFyL3Rva2Vucy9hdXRoL3JlcXVlc3QvbG9naW46PGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0OyBvcmcua2V5Y2xvYWsuc2VydmljZXMuRm9yYmlkZGVuRXhjZXB0aW9uPGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgYXQgb3JnLmtleWNsb2FrLnNlcnZpY2VzLnV0aWwuQ3NyZkhlbHBl ci5jc3JmQ2hlY2soQ3NyZkhlbHBlci5qYXZhOjM5KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDC oFtrZXljbG9hay1zZXJ2aWNlcy0xLjAuMy5GaW5hbC5qYXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZn dDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmtleWNsb2FrLnNlcnZpY2Vz LnJlc291cmNlcy5Ub2tlblNlcnZpY2UucHJvY2Vzc0xvZ2luKFRva2VuU2VydmljZS5qYXZhOjQ3 OSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBba2V5Y2xvYWstc2VydmljZXMtMS4wLjMuRmlu YWwuamFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdCBzdW4ucmVmbGVjdC5OYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKTxicj4KJmd0OyAmZ3Q7Jmd0 OyZndDvCoCDCoFtydC5qYXI6MS43LjBfNjVdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8 YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU3KTxicj4KJmd0OyAm Z3Q7Jmd0OyZndDvCoCDCoFtydC5qYXI6MS43LjBfNjVdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8Kg IMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0 aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6 NDMpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3J0LmphcjoxLjcuMF82NV08YnI+CiZndDsg Jmd0OyZndDsmZ3Q7wqAgwqBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhv ZC5qYXZhOjYwNikgW3J0LmphcjoxLjcuMF82NV08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBh dDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLk1ldGhv ZEluamVjdG9ySW1wbC5pbnZva2UoTWV0aG9kSW5qZWN0b3JJbXBsLmphdmE6MTM3KTxicj4KJmd0 OyAmZ3Q7Jmd0OyZndDvCoCDCoFtyZXN0ZWFzeS1qYXhycy0zLjAuOC5GaW5hbC5qYXI6XTxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmpi b3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VNZXRob2RJbnZva2VyLmludm9rZU9uVGFyZ2V0KFJl c291cmNlTWV0aG9kSW52b2tlci5qYXZhOjI5Nik8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBb cmVzdGVhc3ktamF4cnMtMy4wLjguRmluYWwuamFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlJl c291cmNlTWV0aG9kSW52b2tlci5pbnZva2UoUmVzb3VyY2VNZXRob2RJbnZva2VyLmphdmE6MjUw KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtyZXN0ZWFzeS1qYXhycy0zLjAuOC5GaW5hbC5q YXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8Kg IMKgb3JnLmpib3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VMb2NhdG9ySW52b2tlci5pbnZva2VP blRhcmdldE9iamVjdChSZXNvdXJjZUxvY2F0b3JJbnZva2VyLmphdmE6MTQwKTxicj4KJmd0OyAm Z3Q7Jmd0OyZndDvCoCDCoFtyZXN0ZWFzeS1qYXhycy0zLjAuOC5GaW5hbC5qYXI6XTxicj4KJmd0 OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmpib3Nz LnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VMb2NhdG9ySW52b2tlci5pbnZva2UoUmVzb3VyY2VMb2Nh dG9ySW52b2tlci5qYXZhOjEwMyk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbcmVzdGVhc3kt amF4cnMtMy4wLjguRmluYWwuamFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlN5bmNocm9ub3Vz RGlzcGF0Y2hlci5pbnZva2UoU3luY2hyb25vdXNEaXNwYXRjaGVyLmphdmE6MzU2KTxicj4KJmd0 OyAmZ3Q7Jmd0OyZndDvCoCDCoFtyZXN0ZWFzeS1qYXhycy0zLjAuOC5GaW5hbC5qYXI6XTxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmpi b3NzLnJlc3RlYXN5LmNvcmUuU3luY2hyb25vdXNEaXNwYXRjaGVyLmludm9rZShTeW5jaHJvbm91 c0Rpc3BhdGNoZXIuamF2YToxNzkpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3Jlc3RlYXN5 LWpheHJzLTMuMC44LkZpbmFsLmphcjpdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+ CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuamJvc3MucmVzdGVhc3kucGx1Z2lucy5zZXJ2ZXIu c2VydmxldC5TZXJ2bGV0Q29udGFpbmVyRGlzcGF0Y2hlci5zZXJ2aWNlKFNlcnZsZXRDb250YWlu ZXJEaXNwYXRjaGVyLmphdmE6MjIwKTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtyZXN0ZWFz eS1qYXhycy0zLjAuOC5GaW5hbC5qYXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJy PgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmpib3NzLnJlc3RlYXN5LnBsdWdpbnMuc2VydmVy LnNlcnZsZXQuSHR0cFNlcnZsZXREaXNwYXRjaGVyLnNlcnZpY2UoSHR0cFNlcnZsZXREaXNwYXRj aGVyLmphdmE6NTYpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3Jlc3RlYXN5LWpheHJzLTMu MC44LkZpbmFsLmphcjpdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0 OyZndDsmZ3Q7wqAgwqBvcmcuamJvc3MucmVzdGVhc3kucGx1Z2lucy5zZXJ2ZXIuc2VydmxldC5I dHRwU2VydmxldERpc3BhdGNoZXIuc2VydmljZShIdHRwU2VydmxldERpc3BhdGNoZXIuamF2YTo1 MSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbcmVzdGVhc3ktamF4cnMtMy4wLjguRmluYWwu amFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0 cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5qYXZhOjc5MCk8YnI+CiZndDsgJmd0OyZndDsm Z3Q7wqAgwqBbamJvc3Mtc2VydmxldC1hcGlfMy4xX3NwZWMtMS4wLjAuRmluYWwuamFyOjEuMC4w LkZpbmFsXTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0 O8KgIMKgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5TZXJ2bGV0SGFuZGxlci5oYW5kbGVS ZXF1ZXN0KFNlcnZsZXRIYW5kbGVyLmphdmE6ODUpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKg W3VuZGVydG93LXNlcnZsZXQtMS4wLjE1LkZpbmFsLmphcjoxLjAuMTUuRmluYWxdPGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBpby51bmRlcnRv dy5zZXJ2bGV0LmhhbmRsZXJzLkZpbHRlckhhbmRsZXIkRmlsdGVyQ2hhaW5JbXBsLmRvRmlsdGVy KEZpbHRlckhhbmRsZXIuamF2YToxMzApPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3VuZGVy dG93LXNlcnZsZXQtMS4wLjE1LkZpbmFsLmphcjoxLjAuMTUuRmluYWxdPGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcua2V5Y2xvYWsuc2Vy dmljZXMuZmlsdGVycy5DbGllbnRDb25uZWN0aW9uRmlsdGVyLmRvRmlsdGVyKENsaWVudENvbm5l Y3Rpb25GaWx0ZXIuamF2YTo0MSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBba2V5Y2xvYWst c2VydmljZXMtMS4wLjMuRmluYWwuamFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxi cj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGlvLnVuZGVydG93LnNlcnZsZXQuY29yZS5NYW5hZ2Vk RmlsdGVyLmRvRmlsdGVyKE1hbmFnZWRGaWx0ZXIuamF2YTo2MCk8YnI+CiZndDsgJmd0OyZndDsm Z3Q7wqAgwqBbdW5kZXJ0b3ctc2VydmxldC0xLjAuMTUuRmluYWwuamFyOjEuMC4xNS5GaW5hbF08 YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGlv LnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuRmlsdGVySGFuZGxlciRGaWx0ZXJDaGFpbkltcGwu ZG9GaWx0ZXIoRmlsdGVySGFuZGxlci5qYXZhOjEzMik8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBbdW5kZXJ0b3ctc2VydmxldC0xLjAuMTUuRmluYWwuamFyOjEuMC4xNS5GaW5hbF08YnI+CiZn dDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5rZXlj bG9hay5zZXJ2aWNlcy5maWx0ZXJzLktleWNsb2FrU2Vzc2lvblNlcnZsZXRGaWx0ZXIuZG9GaWx0 ZXIoS2V5Y2xvYWtTZXNzaW9uU2VydmxldEZpbHRlci5qYXZhOjQwKTxicj4KJmd0OyAmZ3Q7Jmd0 OyZndDvCoCDCoFtrZXljbG9hay1zZXJ2aWNlcy0xLjAuMy5GaW5hbC5qYXI6XTxicj4KJmd0OyAm Z3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgaW8udW5kZXJ0b3cu c2VydmxldC5jb3JlLk1hbmFnZWRGaWx0ZXIuZG9GaWx0ZXIoTWFuYWdlZEZpbHRlci5qYXZhOjYw KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFt1bmRlcnRvdy1zZXJ2bGV0LTEuMC4xNS5GaW5h bC5qYXI6MS4wLjE1LkZpbmFsXTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5GaWx0ZXJIYW5k bGVyJEZpbHRlckNoYWluSW1wbC5kb0ZpbHRlcihGaWx0ZXJIYW5kbGVyLmphdmE6MTMyKTxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFt1bmRlcnRvdy1zZXJ2bGV0LTEuMC4xNS5GaW5hbC5qYXI6 MS4wLjE1LkZpbmFsXTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0O8KgIMKgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5GaWx0ZXJIYW5kbGVyLmhh bmRsZVJlcXVlc3QoRmlsdGVySGFuZGxlci5qYXZhOjg1KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvC oCDCoFt1bmRlcnRvdy1zZXJ2bGV0LTEuMC4xNS5GaW5hbC5qYXI6MS4wLjE1LkZpbmFsXTxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgaW8udW5k ZXJ0b3cuc2VydmxldC5oYW5kbGVycy5zZWN1cml0eS5TZXJ2bGV0U2VjdXJpdHlSb2xlSGFuZGxl ci5oYW5kbGVSZXF1ZXN0KFNlcnZsZXRTZWN1cml0eVJvbGVIYW5kbGVyLmphdmE6NjEpPGJyPgom Z3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3VuZGVydG93LXNlcnZsZXQtMS4wLjE1LkZpbmFsLmphcjox LjAuMTUuRmluYWxdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZn dDsmZ3Q7wqAgwqBpby51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJzLlNlcnZsZXREaXNwYXRjaGlu Z0hhbmRsZXIuaGFuZGxlUmVxdWVzdChTZXJ2bGV0RGlzcGF0Y2hpbmdIYW5kbGVyLmphdmE6MzYp PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3VuZGVydG93LXNlcnZsZXQtMS4wLjE1LkZpbmFs LmphcjoxLjAuMTUuRmluYWxdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsg Jmd0OyZndDsmZ3Q7wqAgwqBvcmcud2lsZGZseS5leHRlbnNpb24udW5kZXJ0b3cuc2VjdXJpdHku U2VjdXJpdHlDb250ZXh0QXNzb2NpYXRpb25IYW5kbGVyLmhhbmRsZVJlcXVlc3QoU2VjdXJpdHlD b250ZXh0QXNzb2NpYXRpb25IYW5kbGVyLmphdmE6NzgpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8Kg IMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBpby51bmRlcnRvdy5zZXJ2ZXIuaGFuZGxl cnMuUHJlZGljYXRlSGFuZGxlci5oYW5kbGVSZXF1ZXN0KFByZWRpY2F0ZUhhbmRsZXIuamF2YToy NSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbdW5kZXJ0b3ctY29yZS0xLjAuMTUuRmluYWwu amFyOjEuMC4xNS5GaW5hbF08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAm Z3Q7Jmd0OyZndDvCoCDCoGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuc2VjdXJpdHkuU1NM SW5mb3JtYXRpb25Bc3NvY2lhdGlvbkhhbmRsZXIuaGFuZGxlUmVxdWVzdChTU0xJbmZvcm1hdGlv bkFzc29jaWF0aW9uSGFuZGxlci5qYXZhOjExMyk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBb dW5kZXJ0b3ctc2VydmxldC0xLjAuMTUuRmluYWwuamFyOjEuMC4xNS5GaW5hbF08YnI+CiZndDsg Jmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGlvLnVuZGVydG93 LnNlcnZsZXQuaGFuZGxlcnMuc2VjdXJpdHkuU2VydmxldEF1dGhlbnRpY2F0aW9uQ2FsbEhhbmRs ZXIuaGFuZGxlUmVxdWVzdChTZXJ2bGV0QXV0aGVudGljYXRpb25DYWxsSGFuZGxlci5qYXZhOjU2 KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFt1bmRlcnRvdy1zZXJ2bGV0LTEuMC4xNS5GaW5h bC5qYXI6MS4wLjE1LkZpbmFsXTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgaW8udW5kZXJ0b3cuc2VydmVyLmhhbmRsZXJzLlByZWRpY2F0ZUhh bmRsZXIuaGFuZGxlUmVxdWVzdChQcmVkaWNhdGVIYW5kbGVyLmphdmE6MjUpPGJyPgomZ3Q7ICZn dDsmZ3Q7Jmd0O8KgIMKgW3VuZGVydG93LWNvcmUtMS4wLjE1LkZpbmFsLmphcjoxLjAuMTUuRmlu YWxdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBpby51bmRlcnRvdy5zZWN1cml0eS5oYW5kbGVycy5BYnN0cmFjdENvbmZpZGVudGlhbGl0eUhh bmRsZXIuaGFuZGxlUmVxdWVzdChBYnN0cmFjdENvbmZpZGVudGlhbGl0eUhhbmRsZXIuamF2YTo0 NSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbdW5kZXJ0b3ctY29yZS0xLjAuMTUuRmluYWwu amFyOjEuMC4xNS5GaW5hbF08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAm Z3Q7Jmd0OyZndDvCoCDCoGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuc2VjdXJpdHkuU2Vy dmxldENvbmZpZGVudGlhbGl0eUNvbnN0cmFpbnRIYW5kbGVyLmhhbmRsZVJlcXVlc3QoU2Vydmxl dENvbmZpZGVudGlhbGl0eUNvbnN0cmFpbnRIYW5kbGVyLmphdmE6NjEpPGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0O8KgIMKgW3VuZGVydG93LXNlcnZsZXQtMS4wLjE1LkZpbmFsLmphcjoxLjAuMTUuRmlu YWxdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBpby51bmRlcnRvdy5zZWN1cml0eS5oYW5kbGVycy5BdXRoZW50aWNhdGlvbk1lY2hhbmlzbXNI YW5kbGVyLmhhbmRsZVJlcXVlc3QoQXV0aGVudGljYXRpb25NZWNoYW5pc21zSGFuZGxlci5qYXZh OjU4KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFt1bmRlcnRvdy1jb3JlLTEuMC4xNS5GaW5h bC5qYXI6MS4wLjE1LkZpbmFsXTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5zZWN1cml0eS5D YWNoZWRBdXRoZW50aWNhdGVkU2Vzc2lvbkhhbmRsZXIuaGFuZGxlUmVxdWVzdChDYWNoZWRBdXRo ZW50aWNhdGVkU2Vzc2lvbkhhbmRsZXIuamF2YTo3MCk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBbdW5kZXJ0b3ctc2VydmxldC0xLjAuMTUuRmluYWwuamFyOjEuMC4xNS5GaW5hbF08YnI+CiZn dDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGlvLnVuZGVy dG93LnNlY3VyaXR5LmhhbmRsZXJzLlNlY3VyaXR5SW5pdGlhbEhhbmRsZXIuaGFuZGxlUmVxdWVz dChTZWN1cml0eUluaXRpYWxIYW5kbGVyLmphdmE6NzYpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8Kg IMKgW3VuZGVydG93LWNvcmUtMS4wLjE1LkZpbmFsLmphcjoxLjAuMTUuRmluYWxdPGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBpby51bmRlcnRv dy5zZXJ2ZXIuaGFuZGxlcnMuUHJlZGljYXRlSGFuZGxlci5oYW5kbGVSZXF1ZXN0KFByZWRpY2F0 ZUhhbmRsZXIuamF2YToyNSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbdW5kZXJ0b3ctY29y ZS0xLjAuMTUuRmluYWwuamFyOjEuMC4xNS5GaW5hbF08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy53aWxkZmx5LmV4dGVuc2lvbi51bmRl cnRvdy5zZWN1cml0eS5qYWNjLkpBQ0NDb250ZXh0SWRIYW5kbGVyLmhhbmRsZVJlcXVlc3QoSkFD Q0NvbnRleHRJZEhhbmRsZXIuamF2YTo2MSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxi cj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGlvLnVuZGVydG93LnNlcnZlci5oYW5kbGVycy5QcmVk aWNhdGVIYW5kbGVyLmhhbmRsZVJlcXVlc3QoUHJlZGljYXRlSGFuZGxlci5qYXZhOjI1KTxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFt1bmRlcnRvdy1jb3JlLTEuMC4xNS5GaW5hbC5qYXI6MS4w LjE1LkZpbmFsXTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7 Jmd0O8KgIMKgaW8udW5kZXJ0b3cuc2VydmVyLmhhbmRsZXJzLlByZWRpY2F0ZUhhbmRsZXIuaGFu ZGxlUmVxdWVzdChQcmVkaWNhdGVIYW5kbGVyLmphdmE6MjUpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0 O8KgIMKgW3VuZGVydG93LWNvcmUtMS4wLjE1LkZpbmFsLmphcjoxLjAuMTUuRmluYWxdPGJyPgom Z3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBpby51bmRl cnRvdy5zZXJ2bGV0LmhhbmRsZXJzLlNlcnZsZXRJbml0aWFsSGFuZGxlci5oYW5kbGVGaXJzdFJl cXVlc3QoU2VydmxldEluaXRpYWxIYW5kbGVyLmphdmE6MjQwKTxicj4KJmd0OyAmZ3Q7Jmd0OyZn dDvCoCDCoFt1bmRlcnRvdy1zZXJ2bGV0LTEuMC4xNS5GaW5hbC5qYXI6MS4wLjE1LkZpbmFsXTxi cj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgaW8u dW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5TZXJ2bGV0SW5pdGlhbEhhbmRsZXIuZGlzcGF0Y2hS ZXF1ZXN0KFNlcnZsZXRJbml0aWFsSGFuZGxlci5qYXZhOjIyNyk8YnI+CiZndDsgJmd0OyZndDsm Z3Q7wqAgwqBbdW5kZXJ0b3ctc2VydmxldC0xLjAuMTUuRmluYWwuamFyOjEuMC4xNS5GaW5hbF08 YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGlv LnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuU2VydmxldEluaXRpYWxIYW5kbGVyLmFjY2VzcyQw MDAoU2VydmxldEluaXRpYWxIYW5kbGVyLmphdmE6NzMpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8Kg IMKgW3VuZGVydG93LXNlcnZsZXQtMS4wLjE1LkZpbmFsLmphcjoxLjAuMTUuRmluYWxdPGJyPgom Z3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBpby51bmRl cnRvdy5zZXJ2bGV0LmhhbmRsZXJzLlNlcnZsZXRJbml0aWFsSGFuZGxlciQxLmhhbmRsZVJlcXVl c3QoU2VydmxldEluaXRpYWxIYW5kbGVyLmphdmE6MTQ2KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvC oCDCoFt1bmRlcnRvdy1zZXJ2bGV0LTEuMC4xNS5GaW5hbC5qYXI6MS4wLjE1LkZpbmFsXTxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0IGlvLnVuZGVydG93LnNlcnZlci5Db25uZWN0b3JzLmV4 ZWN1dGVSb290SGFuZGxlcihDb25uZWN0b3JzLmphdmE6MTc3KTxicj4KJmd0OyAmZ3Q7Jmd0OyZn dDvCoCDCoFt1bmRlcnRvdy1jb3JlLTEuMC4xNS5GaW5hbC5qYXI6MS4wLjE1LkZpbmFsXTxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgaW8udW5k ZXJ0b3cuc2VydmVyLkh0dHBTZXJ2ZXJFeGNoYW5nZSQxLnJ1bihIdHRwU2VydmVyRXhjaGFuZ2Uu amF2YTo3MjcpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3VuZGVydG93LWNvcmUtMS4wLjE1 LkZpbmFsLmphcjoxLjAuMTUuRmluYWxdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+ CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhl Y3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDUpPGJyPgomZ3Q7ICZn dDsmZ3Q7Jmd0O8KgIMKgW3J0LmphcjoxLjcuMF82NV08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGphdmEudXRpbC5jb25jdXJyZW50LlRocmVh ZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYxNSk8YnI+ CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbcnQuamFyOjEuNy4wXzY1XTxicj4KJmd0OyAmZ3Q7Jmd0 OyZndDvCoCDCoGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0NSkgW3J0Lmph cjoxLjcuMF82NV08YnI+CiZndDsgJmd0OyZndDsmZ3Q7IGBgYDxicj4KJmd0OyAmZ3Q7Jmd0OyZn dDs8YnI+CiZndDsgJmd0OyZndDsmZ3Q7IE9uIEVBUCA2LjMuIEkgZ290IGEgNDAzLCB3aXRoIHRo aXMgc3RhY2stdHJhY2U6PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyBgYGA8YnI+CiZndDsgJmd0OyZn dDsmZ3Q7IDEyOjUwOjA2LDM3NyBXQVJOwqAgW29yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlN5bmNo cm9ub3VzRGlzcGF0Y2hlcl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7IChodHRwLS8wLjAuMC4wOjgw ODAtMykgRmFpbGVkIGV4ZWN1dGluZyBQT1NUPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyAvcmVhbG1z L2Flcm9nZWFyL3Rva2Vucy9hdXRoL3JlcXVlc3QvbG9naW46PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0 OyBvcmcua2V5Y2xvYWsuc2VydmljZXMuRm9yYmlkZGVuRXhjZXB0aW9uPGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0O8KgIMKgYXQgb3JnLmtleWNsb2FrLnNlcnZpY2VzLnV0aWwuQ3NyZkhlbHBlci5jc3Jm Q2hlY2soQ3NyZkhlbHBlci5qYXZhOjM5KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtrZXlj bG9hay1zZXJ2aWNlcy0xLjAuMy5GaW5hbC5qYXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDC oGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmtleWNsb2FrLnNlcnZpY2VzLnJlc291 cmNlcy5Ub2tlblNlcnZpY2UucHJvY2Vzc0xvZ2luKFRva2VuU2VydmljZS5qYXZhOjQ3OSk8YnI+ CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBba2V5Y2xvYWstc2VydmljZXMtMS4wLjMuRmluYWwuamFy Ol08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RB Y2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvC oCDCoFtydC5qYXI6MS43LjBfNjVdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZn dDsgJmd0OyZndDsmZ3Q7wqAgwqBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwu aW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU3KTxicj4KJmd0OyAmZ3Q7Jmd0 OyZndDvCoCDCoFtydC5qYXI6MS43LjBfNjVdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8 YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpPGJy PgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3J0LmphcjoxLjcuMF82NV08YnI+CiZndDsgJmd0OyZn dDsmZ3Q7wqAgwqBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZh OjYwNikgW3J0LmphcjoxLjcuMF82NV08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLk1ldGhvZEluamVj dG9ySW1wbC5pbnZva2UoTWV0aG9kSW5qZWN0b3JJbXBsLmphdmE6MTY3KTxicj4KJmd0OyAmZ3Q7 Jmd0OyZndDvCoCDCoFtyZXN0ZWFzeS1qYXhycy0yLjMuOC5GaW5hbC1yZWRoYXQtMy5qYXI6XTxi cj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3Jn Lmpib3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VNZXRob2QuaW52b2tlT25UYXJnZXQoUmVzb3Vy Y2VNZXRob2QuamF2YToyNjkpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3Jlc3RlYXN5LWph eHJzLTIuMy44LkZpbmFsLXJlZGhhdC0zLmphcjpdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKg YXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuamJvc3MucmVzdGVhc3kuY29yZS5SZXNv dXJjZU1ldGhvZC5pbnZva2UoUmVzb3VyY2VNZXRob2QuamF2YToyMjcpPGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0O8KgIMKgW3Jlc3RlYXN5LWpheHJzLTIuMy44LkZpbmFsLXJlZGhhdC0zLmphcjpdPGJy PgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcu amJvc3MucmVzdGVhc3kuY29yZS5SZXNvdXJjZUxvY2F0b3IuaW52b2tlT25UYXJnZXRPYmplY3Qo UmVzb3VyY2VMb2NhdG9yLmphdmE6MTU5KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtyZXN0 ZWFzeS1qYXhycy0yLjMuOC5GaW5hbC1yZWRoYXQtMy5qYXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZn dDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmpib3NzLnJlc3RlYXN5LmNv cmUuUmVzb3VyY2VMb2NhdG9yLmludm9rZShSZXNvdXJjZUxvY2F0b3IuamF2YTo5Mik8YnI+CiZn dDsgJmd0OyZndDsmZ3Q7wqAgwqBbcmVzdGVhc3ktamF4cnMtMi4zLjguRmluYWwtcmVkaGF0LTMu amFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvC oCDCoG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlN5bmNocm9ub3VzRGlzcGF0Y2hlci5nZXRSZXNw b25zZShTeW5jaHJvbm91c0Rpc3BhdGNoZXIuamF2YTo1NDIpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0 O8KgIMKgW3Jlc3RlYXN5LWpheHJzLTIuMy44LkZpbmFsLXJlZGhhdC0zLmphcjpdPGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuamJvc3Mu cmVzdGVhc3kuY29yZS5TeW5jaHJvbm91c0Rpc3BhdGNoZXIuaW52b2tlKFN5bmNocm9ub3VzRGlz cGF0Y2hlci5qYXZhOjUyNCk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbcmVzdGVhc3ktamF4 cnMtMi4zLjguRmluYWwtcmVkaGF0LTMuamFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBh dDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlN5bmNo cm9ub3VzRGlzcGF0Y2hlci5pbnZva2UoU3luY2hyb25vdXNEaXNwYXRjaGVyLmphdmE6MTI2KTxi cj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtyZXN0ZWFzeS1qYXhycy0yLjMuOC5GaW5hbC1yZWRo YXQtMy5qYXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7 Jmd0O8KgIMKgb3JnLmpib3NzLnJlc3RlYXN5LnBsdWdpbnMuc2VydmVyLnNlcnZsZXQuU2Vydmxl dENvbnRhaW5lckRpc3BhdGNoZXIuc2VydmljZShTZXJ2bGV0Q29udGFpbmVyRGlzcGF0Y2hlci5q YXZhOjIwOCk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbcmVzdGVhc3ktamF4cnMtMi4zLjgu RmluYWwtcmVkaGF0LTMuamFyOl08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0 OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5qYm9zcy5yZXN0ZWFzeS5wbHVnaW5zLnNlcnZlci5zZXJ2 bGV0Lkh0dHBTZXJ2bGV0RGlzcGF0Y2hlci5zZXJ2aWNlKEh0dHBTZXJ2bGV0RGlzcGF0Y2hlci5q YXZhOjU1KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtyZXN0ZWFzeS1qYXhycy0yLjMuOC5G aW5hbC1yZWRoYXQtMy5qYXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7 ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmpib3NzLnJlc3RlYXN5LnBsdWdpbnMuc2VydmVyLnNlcnZs ZXQuSHR0cFNlcnZsZXREaXNwYXRjaGVyLnNlcnZpY2UoSHR0cFNlcnZsZXREaXNwYXRjaGVyLmph dmE6NTApPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW3Jlc3RlYXN5LWpheHJzLTIuMy44LkZp bmFsLXJlZGhhdC0zLmphcjpdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQgamF2YXguc2Vy dmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo4NDcpPGJyPgom Z3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW2pib3NzLXNlcnZsZXQtYXBpXzMuMF9zcGVjLTEuMC4yLkZp bmFsLXJlZGhhdC0xLmphcjoxLjAuMi5GaW5hbC1yZWRoYXQtMV08YnI+CiZndDsgJmd0OyZndDsm Z3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5hcGFjaGUuY2F0YWxpbmEu Y29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmludGVybmFsRG9GaWx0ZXIoQXBwbGljYXRpb25G aWx0ZXJDaGFpbi5qYXZhOjI5NSk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbamJvc3N3ZWIt Ny40LjguRmluYWwtcmVkaGF0LTQuamFyOjcuNC44LkZpbmFsLXJlZGhhdC00XTxicj4KJmd0OyAm Z3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmFwYWNoZS5j YXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0ZXIoQXBwbGljYXRpb25G aWx0ZXJDaGFpbi5qYXZhOjIxNCk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbamJvc3N3ZWIt Ny40LjguRmluYWwtcmVkaGF0LTQuamFyOjcuNC44LkZpbmFsLXJlZGhhdC00XTxicj4KJmd0OyAm Z3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmtleWNsb2Fr LnNlcnZpY2VzLmZpbHRlcnMuQ2xpZW50Q29ubmVjdGlvbkZpbHRlci5kb0ZpbHRlcihDbGllbnRD b25uZWN0aW9uRmlsdGVyLmphdmE6NDEpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW2tleWNs b2FrLXNlcnZpY2VzLTEuMC4zLkZpbmFsLmphcjpdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKg YXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBw bGljYXRpb25GaWx0ZXJDaGFpbi5pbnRlcm5hbERvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hh aW4uamF2YToyNDYpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW2pib3Nzd2ViLTcuNC44LkZp bmFsLXJlZGhhdC00Lmphcjo3LjQuOC5GaW5hbC1yZWRoYXQtNF08YnI+CiZndDsgJmd0OyZndDsm Z3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5hcGFjaGUuY2F0YWxpbmEu Y29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hh aW4uamF2YToyMTQpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW2pib3Nzd2ViLTcuNC44LkZp bmFsLXJlZGhhdC00Lmphcjo3LjQuOC5GaW5hbC1yZWRoYXQtNF08YnI+CiZndDsgJmd0OyZndDsm Z3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5rZXljbG9hay5zZXJ2aWNl cy5maWx0ZXJzLktleWNsb2FrU2Vzc2lvblNlcnZsZXRGaWx0ZXIuZG9GaWx0ZXIoS2V5Y2xvYWtT ZXNzaW9uU2VydmxldEZpbHRlci5qYXZhOjQwKTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtr ZXljbG9hay1zZXJ2aWNlcy0xLjAuMy5GaW5hbC5qYXI6XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvC oCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRl ckNoYWluLmphdmE6MjQ2KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtqYm9zc3dlYi03LjQu OC5GaW5hbC1yZWRoYXQtNC5qYXI6Ny40LjguRmluYWwtcmVkaGF0LTRdPGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuYXBhY2hlLmNhdGFs aW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5kb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRl ckNoYWluLmphdmE6MjE0KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtqYm9zc3dlYi03LjQu OC5GaW5hbC1yZWRoYXQtNC5qYXI6Ny40LjguRmluYWwtcmVkaGF0LTRdPGJyPgomZ3Q7ICZndDsm Z3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuYXBhY2hlLmNhdGFs aW5hLmNvcmUuU3RhbmRhcmRXcmFwcGVyVmFsdmUuaW52b2tlKFN0YW5kYXJkV3JhcHBlclZhbHZl LmphdmE6MjMxKTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtqYm9zc3dlYi03LjQuOC5GaW5h bC1yZWRoYXQtNC5qYXI6Ny40LjguRmluYWwtcmVkaGF0LTRdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0 O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv cmUuU3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tlKFN0YW5kYXJkQ29udGV4dFZhbHZlLmphdmE6 MTQ5KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtqYm9zc3dlYi03LjQuOC5GaW5hbC1yZWRo YXQtNC5qYXI6Ny40LjguRmluYWwtcmVkaGF0LTRdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKg YXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuamJvc3MuYXMuanBhLmludGVyY2VwdG9y LldlYk5vblR4RW1DbG9zZXJWYWx2ZS5pbnZva2UoV2ViTm9uVHhFbUNsb3NlclZhbHZlLmphdmE6 NTApPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW2pib3NzLWFzLWpwYS03LjQuMC5GaW5hbC1y ZWRoYXQtMTkuamFyOjcuNC4wLkZpbmFsLXJlZGhhdC0xOV08YnI+CiZndDsgJmd0OyZndDsmZ3Q7 wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5qYm9zcy5hcy5qcGEuaW50ZXJj ZXB0b3IuV2ViTm9uVHhFbUNsb3NlclZhbHZlLmludm9rZShXZWJOb25UeEVtQ2xvc2VyVmFsdmUu amF2YTo1MCk8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBbamJvc3MtYXMtanBhLTcuNC4wLkZp bmFsLXJlZGhhdC0xOS5qYXI6Ny40LjAuRmluYWwtcmVkaGF0LTE5XTxicj4KJmd0OyAmZ3Q7Jmd0 OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgb3JnLmpib3NzLmFzLndlYi5z ZWN1cml0eS5TZWN1cml0eUNvbnRleHRBc3NvY2lhdGlvblZhbHZlLmludm9rZShTZWN1cml0eUNv bnRleHRBc3NvY2lhdGlvblZhbHZlLmphdmE6MTY5KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDC oFtqYm9zcy1hcy13ZWItNy40LjAuRmluYWwtcmVkaGF0LTE5Lmphcjo3LjQuMC5GaW5hbC1yZWRo YXQtMTldPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7 wqAgwqBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRIb3N0VmFsdmUuaW52b2tlKFN0 YW5kYXJkSG9zdFZhbHZlLmphdmE6MTQ1KTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtqYm9z c3dlYi03LjQuOC5GaW5hbC1yZWRoYXQtNC5qYXI6Ny40LjguRmluYWwtcmVkaGF0LTRdPGJyPgom Z3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgYXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuYXBh Y2hlLmNhdGFsaW5hLnZhbHZlcy5FcnJvclJlcG9ydFZhbHZlLmludm9rZShFcnJvclJlcG9ydFZh bHZlLmphdmE6OTcpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW2pib3Nzd2ViLTcuNC44LkZp bmFsLXJlZGhhdC00Lmphcjo3LjQuOC5GaW5hbC1yZWRoYXQtNF08YnI+CiZndDsgJmd0OyZndDsm Z3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoG9yZy5hcGFjaGUuY2F0YWxpbmEu Y29yZS5TdGFuZGFyZEVuZ2luZVZhbHZlLmludm9rZShTdGFuZGFyZEVuZ2luZVZhbHZlLmphdmE6 MTAyKTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoFtqYm9zc3dlYi03LjQuOC5GaW5hbC1yZWRo YXQtNC5qYXI6Ny40LjguRmluYWwtcmVkaGF0LTRdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKg YXQ8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvbm5lY3Rv ci5Db3lvdGVBZGFwdGVyLnNlcnZpY2UoQ295b3RlQWRhcHRlci5qYXZhOjM0NCk8YnI+CiZndDsg Jmd0OyZndDsmZ3Q7wqAgwqBbamJvc3N3ZWItNy40LjguRmluYWwtcmVkaGF0LTQuamFyOjcuNC44 LkZpbmFsLXJlZGhhdC00XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZn dDsmZ3Q7Jmd0O8KgIMKgb3JnLmFwYWNoZS5jb3lvdGUuaHR0cDExLkh0dHAxMVByb2Nlc3Nvci5w cm9jZXNzKEh0dHAxMVByb2Nlc3Nvci5qYXZhOjg1Nik8YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAg wqBbamJvc3N3ZWItNy40LjguRmluYWwtcmVkaGF0LTQuamFyOjcuNC44LkZpbmFsLXJlZGhhdC00 XTxicj4KJmd0OyAmZ3Q7Jmd0OyZndDvCoCDCoGF0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKg b3JnLmFwYWNoZS5jb3lvdGUuaHR0cDExLkh0dHAxMVByb3RvY29sJEh0dHAxMUNvbm5lY3Rpb25I YW5kbGVyLnByb2Nlc3MoSHR0cDExUHJvdG9jb2wuamF2YTo2NTMpPGJyPgomZ3Q7ICZndDsmZ3Q7 Jmd0O8KgIMKgW2pib3Nzd2ViLTcuNC44LkZpbmFsLXJlZGhhdC00Lmphcjo3LjQuOC5GaW5hbC1y ZWRoYXQtNF08YnI+CiZndDsgJmd0OyZndDsmZ3Q7wqAgwqBhdDxicj4KJmd0OyAmZ3Q7Jmd0OyZn dDvCoCDCoG9yZy5hcGFjaGUudG9tY2F0LnV0aWwubmV0LkpJb0VuZHBvaW50JFdvcmtlci5ydW4o SklvRW5kcG9pbnQuamF2YTo5MjYpPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0O8KgIMKgW2pib3Nzd2Vi LTcuNC44LkZpbmFsLXJlZGhhdC00Lmphcjo3LjQuOC5GaW5hbC1yZWRoYXQtNF08YnI+CiZndDsg Jmd0OyZndDsmZ3Q7wqAgwqBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUp IFtydC5qYXI6MS43LjBfNjVdPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyBgYGA8YnI+CiZndDsgJmd0 OyZndDsmZ3Q7PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4KJmd0OyAmZ3Q7Jmd0OyZndDs8YnI+ CiZndDsgJmd0OyZndDsmZ3Q7IC0tPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyBNYXR0aGlhcyBXZXNz ZW5kb3JmPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4KJmd0OyAmZ3Q7Jmd0OyZndDsgYmxvZzog PGEgaHJlZj0iaHR0cDovL21hdHRoaWFzd2Vzc2VuZG9yZi53b3JkcHJlc3MuY29tLyIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly9tYXR0aGlhc3dlc3NlbmRvcmYud29yZHByZXNzLmNvbS88L2E+PGJy PgomZ3Q7ICZndDsmZ3Q7Jmd0OyBzZXNzaW9uczogPGEgaHJlZj0iaHR0cDovL3d3dy5zbGlkZXNo YXJlLm5ldC9td2Vzc2VuZG9yZiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuc2xpZGVzaGFy ZS5uZXQvbXdlc3NlbmRvcmY8L2E+PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyB0d2l0dGVyOiA8YSBo cmVmPSJodHRwOi8vdHdpdHRlci5jb20vbXdlc3NlbmRvcmYiIHRhcmdldD0iX2JsYW5rIj5odHRw Oi8vdHdpdHRlci5jb20vbXdlc3NlbmRvcmY8L2E+PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4K Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+CiZndDsgJmd0OyZndDsmZ3Q7IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyBrZXlj bG9hay1kZXYgbWFpbGluZyBsaXN0PGJyPgomZ3Q7ICZndDsmZ3Q7Jmd0OyA8YSBocmVmPSJtYWls dG86a2V5Y2xvYWstZGV2QGxpc3RzLmpib3NzLm9yZyI+a2V5Y2xvYWstZGV2QGxpc3RzLmpib3Nz Lm9yZzwvYT48YnI+CiZndDsgJmd0OyZndDsmZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJv c3Mub3JnL21haWxtYW4vbGlzdGluZm8va2V5Y2xvYWstZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0 cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXljbG9hay1kZXY8L2E+PGJy PgomZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4KJmd0OyAmZ3Q7Jmd0Ozxicj4KJmd0OyAmZ3Q7Jmd0OyAt LTxicj4KJmd0OyAmZ3Q7Jmd0OyBCaWxsIEJ1cmtlPGJyPgomZ3Q7ICZndDsmZ3Q7IEpCb3NzLCBh IGRpdmlzaW9uIG9mIFJlZCBIYXQ8YnI+CiZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL2Jp bGwuYnVya2VjZW50cmFsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9iaWxsLmJ1cmtlY2Vu dHJhbC5jb208L2E+PGJyPgomZ3Q7ICZndDsmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fPGJyPgomZ3Q7ICZndDsmZ3Q7IGtleWNsb2FrLWRldiBtYWls aW5nIGxpc3Q8YnI+CiZndDsgJmd0OyZndDsgPGEgaHJlZj0ibWFpbHRvOmtleWNsb2FrLWRldkBs aXN0cy5qYm9zcy5vcmciPmtleWNsb2FrLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgomZ3Q7 ICZndDsmZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGlu Zm8va2V5Y2xvYWstZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9rZXljbG9hay1kZXY8L2E+PGJyPgomZ3Q7ICZndDsmZ3Q7PGJyPgom Z3Q7PGJyPgomZ3Q7IC0tPGJyPgomZ3Q7IEJpbGwgQnVya2U8YnI+CiZndDsgSkJvc3MsIGEgZGl2 aXNpb24gb2YgUmVkIEhhdDxicj4KJmd0OyA8YSBocmVmPSJodHRwOi8vYmlsbC5idXJrZWNlbnRy YWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2JpbGwuYnVya2VjZW50cmFsLmNvbTwvYT48 YnI+CiZndDs8YnI+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fPGJyPgprZXljbG9hay1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86a2V5 Y2xvYWstZGV2QGxpc3RzLmpib3NzLm9yZyI+a2V5Y2xvYWstZGV2QGxpc3RzLmpib3NzLm9yZzwv YT48YnI+CjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8v a2V5Y2xvYWstZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9rZXljbG9hay1kZXY8L2E+PGJyPgo8L2Rpdj48L2Rpdj48L2Jsb2NrcXVv dGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+TWF0dGhp YXMgV2Vzc2VuZG9yZiA8YnI+PGJyPmJsb2c6IDxhIGhyZWY9Imh0dHA6Ly9tYXR0aGlhc3dlc3Nl bmRvcmYud29yZHByZXNzLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbWF0dGhpYXN3ZXNz ZW5kb3JmLndvcmRwcmVzcy5jb20vPC9hPjxicj5zZXNzaW9uczogPGEgaHJlZj0iaHR0cDovL3d3 dy5zbGlkZXNoYXJlLm5ldC9td2Vzc2VuZG9yZiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cu c2xpZGVzaGFyZS5uZXQvbXdlc3NlbmRvcmY8L2E+PGJyPnR3aXR0ZXI6IDxhIGhyZWY9Imh0dHA6 Ly90d2l0dGVyLmNvbS9td2Vzc2VuZG9yZiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly90d2l0dGVy LmNvbS9td2Vzc2VuZG9yZjwvYT4KPC9kaXY+PC9kaXY+Cg== --===============2275559066858463104==--