Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8CFBA200D0A for ; Wed, 4 Oct 2017 11:07:25 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 8B7751609E2; Wed, 4 Oct 2017 09:07:25 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5F62E1609D6 for ; Wed, 4 Oct 2017 11:07:23 +0200 (CEST) Received: (qmail 67113 invoked by uid 500); 4 Oct 2017 09:07:22 -0000 Mailing-List: contact dev-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@karaf.apache.org Delivered-To: mailing list dev@karaf.apache.org Received: (qmail 67099 invoked by uid 99); 4 Oct 2017 09:07:22 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Oct 2017 09:07:22 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id DF919182E30 for ; Wed, 4 Oct 2017 09:07:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.401 X-Spam-Level: X-Spam-Status: No, score=-0.401 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id tw7a8R-SkkHr for ; Wed, 4 Oct 2017 09:07:11 +0000 (UTC) Received: from mail-pf0-f170.google.com (mail-pf0-f170.google.com [209.85.192.170]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 0EDA960EAD for ; Wed, 4 Oct 2017 09:07:11 +0000 (UTC) Received: by mail-pf0-f170.google.com with SMTP id t62so4765159pfd.1 for ; Wed, 04 Oct 2017 02:07:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=6k1k0XoKRF1eMs4x+525DAmrINcuG6xVE3+q1Y5Rgmk=; b=ZtikEeWfckcKmfobMEnJQjIIwbpKPHncVZJn5aht5Je8IMxf57Nc1n6oHWOZ5W+3gM hu57CjzfxQT5U8IYgq0dHNWcw00gvHxn2sCCP76S+cI++odGQPlbDlGBN4E3sQCXk01g gziHiXhVUt4Y9F6zDZZ5L7N89pWRG+rThMQDW26rd7NWoktyMmTj2UEalgOpW5n9xQuk 7ypMqNUUCH6E6VPt7YZgNESAlWBwIB5kRDyO74sKvqR02MQFPgd5rJChHbr6MFYICNe7 IqYVst9pt7CzWhEclKTRAa7/x9KiaytpaDgvY5gQahug9NVYa4Msuy+6EqZGSflEeNMR K6Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=6k1k0XoKRF1eMs4x+525DAmrINcuG6xVE3+q1Y5Rgmk=; b=IegZ6BHymAK/12v6AIL42Fj2b9YdH9OnRfHVrjRlEa/G+URGNtDS6HR3RLbSXYH7Vy SuFqynmI0HQz9HqicAw2Mrt2YYqd0sYnU9sRyHKqifETJ4RCIwzemcLyQXdDZYFL3uK1 c7+BazsAoTwTzzoDWxnWoeFTzsB0Nj6G0R9cAShCrOfZ4QCDFgPFyeSNpxSvXiYZoIta K9/pl829uMWG27KWxPeIxNUC/PVN/6V1W5+d8/nboM3q3m/+wk72R1DWprO6VKbwlxCr QXeutskI+snRxJyNxJ5vCiTSO20dMCeTES7yBNeNpfG9AsFR/UvwVLwQYPKRiitSQx3q sThQ== X-Gm-Message-State: AHPjjUgG/HX6nw8xKTEbqGzDckYVghx3tnTtyBFIwv1mIDjmn6Nd7GsA yvr9IlpK/0/kFtohhZeSoIgWC1NyaK5de1CFwTRcvkt3 X-Google-Smtp-Source: AOwi7QBJlv4hXmjlZ8ov3elTEWgh0uQ/UhU5dvQ3P5CJ/okvYZWcPR4pVnMgLnB0z5Qv2Hp3MJP3Vq0gRUWnWRmwI+A= X-Received: by 10.84.210.105 with SMTP id z96mr19194074plh.183.1507108028973; Wed, 04 Oct 2017 02:07:08 -0700 (PDT) MIME-Version: 1.0 Received: by 10.100.186.234 with HTTP; Wed, 4 Oct 2017 02:07:07 -0700 (PDT) In-Reply-To: References: <2b7bd99c-312f-c134-8034-e9408b970927@nanthrax.net> <9342ba29-dc88-936d-5286-2e4991e180ee@nanthrax.net> From: Giuseppe Gerla Date: Wed, 4 Oct 2017 11:07:07 +0200 Message-ID: Subject: Re: Jenkins + Maven + Pax-exam-karaf problem To: dev@karaf.apache.org Content-Type: multipart/mixed; boundary="94eb2c12efb4b52ad8055ab4eeaf" archived-at: Wed, 04 Oct 2017 09:07:25 -0000 --94eb2c12efb4b52ad8055ab4eeaf Content-Type: multipart/alternative; boundary="94eb2c12efb4b52ad3055ab4eead" --94eb2c12efb4b52ad3055ab4eead Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi JB on the console I have: [INFO] Running mypackage.serializer.unit.TestJavaSerializer [ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 184.204 s <<< FAILURE! - in mypackage.serializer.unit.TestJavaSerializer [ERROR] mypackage.serializer.unit.TestJavaSerializer Time elapsed: 184.202 s <<< ERROR! java.lang.RuntimeException: Cannot get the remote bundle context Caused by: java.rmi.NotBoundException: 6a684c8e-bbea-4b4b-9f57-7776020e6d13 [ERROR] mypackage.serializer.unit.TestJavaSerializer Time elapsed: 184.204 s <<< ERROR! java.lang.RuntimeException: Container never came up at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.= java:369) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4= Provider.java:275) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Pr= ovider.java:239) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.j= ava:160) In the karaf log I have: Oct 04, 2017 9:59:33 AM org.apache.karaf.main.Main launch INFO: Installing and starting initial bundles Oct 04, 2017 9:59:33 AM org.apache.karaf.main.Main launch INFO: All initial bundles installed and set to start Oct 04, 2017 9:59:33 AM org.apache.karaf.main.lock.SimpleFileLock lock INFO: Trying to lock /var/lib/jenkins/workspace/itms-server-master-test/itms-integration-tests/i= tms-eventbus-itest/target/exam/0b7ac007-5aa6-4a7c-8c7a-328145f223c0/lock Oct 04, 2017 9:59:33 AM org.apache.karaf.main.lock.SimpleFileLock lock INFO: Lock acquired Oct 04, 2017 9:59:33 AM org.apache.karaf.main.Main$KarafLockCallback lockAquired INFO: Lock acquired. Setting startlevel to 100 2017-10-04 09:59:35,462 | WARN | FelixStartLevel | JaxbUtil | 8 - org.apache.karaf.features.core - 4.0.9 | Old style feature file without namespace found (URI: mvn:org.apache.activemq/activemq-karaf/5.15.0/xml/features). This format is deprecated and support for it will soon be removed in attach an extract of effective pom and the abstract class from wich I derived all my tests. regards Giuseppe 2017-10-04 7:09 GMT+02:00 Jean-Baptiste Onofr=C3=A9 : > Surefire >=3D 2.19 ? > > I also depends what you do in the itest. What's your failing tests ? > > Regards > JB > > > On 10/03/2017 04:55 PM, Giuseppe Gerla wrote: > >> I don't understand.... >> I try to build activemq project on my jenkins machine and integration >> tests >> work fine... >> I use same version of pax-exam, same version of surefire plugin, same >> version of karaf... why my tests don't work? >> >> >> >> >> 2017-10-02 14:32 GMT+02:00 Giuseppe Gerla : >> >> Hi JB >>> I have a big doubt... >>> If the problem is the surefire plugin vesion, what is the version used = by >>> pax-exam? >>> 2.19.... >>> So although I specify in my pom that version is 2.20.1, what is the >>> version really used by pax-exam? >>> >>> >>> >>> Regards >>> Giuseppe >>> >>> >>> >>> >>> >>> 2017-10-02 12:28 GMT+02:00 Giuseppe Gerla : >>> >>> Hi JB >>>> Unfortunately I tryed on jenkins machine and I have always the same >>>> problem. >>>> In the surfire dumpstream file I have this error >>>> >>>> # Created on 2017-10-02T10:03:04.024 >>>> [SUREFIRE] std/in stream corrupted >>>> java.io.IOException: Command NOOP unexpectedly read Void data with >>>> length >>>> 4. >>>> at org.apache.maven.surefire.booter.MasterProcessCommand.decode >>>> (MasterProcessCommand.java:130) >>>> at org.apache.maven.surefire.booter.CommandReader$CommandRunnab >>>> le.run(CommandReader.java:391) >>>> at java.lang.Thread.run(Thread.java:745) >>>> >>>> The problem is always randomic and occurs if I run with jenkins but al= so >>>> if I run command by bash. >>>> >>>> >>>> >>>> >>>> Regards >>>> Giuseppe >>>> >>>> >>>> >>>> 2017-10-01 21:41 GMT+02:00 Jean-Baptiste Onofr=C3=A9 = : >>>> >>>> Hi Giuseppe, >>>>> >>>>> just tried to upgrade to surefire 2.20.1 on Karaf, and the itests see= m >>>>> overall OK (just an issue with BundleTest that I'm checking now). >>>>> >>>>> Regards >>>>> JB >>>>> >>>>> >>>>> On 10/01/2017 08:12 PM, Giuseppe Gerla wrote: >>>>> >>>>> Hi JB >>>>>> thanks for your support. Today I do some progress... >>>>>> In cxf pom (https://github.com/apache/cxf/blob/master/pom.xml) I >>>>>> found >>>>>> a >>>>>> comment about an issue of surefire plugin (SUREFIRE-1302). Because >>>>>> this >>>>>> issue was solved in 2.20.1 I configure correctly this version (befor= e >>>>>> I >>>>>> have a wrong configuration) and in this way I have success with ites= ts >>>>>> on >>>>>> my pc. >>>>>> Tomorrow I will try in office and I will inform you about results. >>>>>> >>>>>> >>>>>> >>>>>> Thanks >>>>>> Regards >>>>>> Giuseppe >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2017-10-01 18:27 GMT+02:00 Jean-Baptiste Onofr=C3=A9 : >>>>>> >>>>>> Hi Giuseppe, >>>>>> >>>>>>> >>>>>>> I remember that I got Pax Exam failure with maven-surefire-plugin >>>>>>> updated >>>>>>> to 2.19.1. That's why we still use surefire 2.18.1 in Karaf itself >>>>>>> (for >>>>>>> itests using Pax Exam). >>>>>>> >>>>>>> It seems to be caused to a change in surefire. I didn't investigate >>>>>>> that >>>>>>> much as it's not heavily blocker for us. >>>>>>> >>>>>>> I would advice you to stay with surefire 2.18.1, it should work (it= 's >>>>>>> what >>>>>>> we have in Karaf). >>>>>>> >>>>>>> If it's important to you, I can investigate a bit. >>>>>>> >>>>>>> Regards >>>>>>> JB >>>>>>> >>>>>>> >>>>>>> On 10/01/2017 11:00 AM, Giuseppe Gerla wrote: >>>>>>> >>>>>>> Hi JB, >>>>>>> >>>>>>>> I have done several tests and combination to try to understand >>>>>>>> better >>>>>>>> the >>>>>>>> problem. >>>>>>>> It seems related to version and configuration of >>>>>>>> maven-surefire-plugin. >>>>>>>> If I don't specify anithing in my pom about surefire plugin, tests >>>>>>>> are ok >>>>>>>> on my pc but I have randomic problem on jenkins build. >>>>>>>> If I use the same configuration of activemq-karaf-itest with 2.18.= 1 >>>>>>>> or >>>>>>>> 2.20.1 version I have sistematic failure also on my PC. >>>>>>>> >>>>>>>> Please can you share your pom configuration about surefire plugin? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Thanks >>>>>>>> Giuseppe >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2017-09-08 9:25 GMT+02:00 Giuseppe Gerla >>>>>>> >: >>>>>>>> >>>>>>>> Hi JB >>>>>>>> >>>>>>>> yes I mean my Jenkins. >>>>>>>>> My itest is created with following code >>>>>>>>> >>>>>>>>> >>>>>>>>> MavenArtifactUrlReference karafUrl =3D >>>>>>>>> maven().groupId("org.apache. >>>>>>>>> karaf").artifactId("apache-karaf") >>>>>>>>> .versionAsInProject().type("tar.gz"); >>>>>>>>> >>>>>>>>> customOptions.add(karafDistributionConfiguration >>>>>>>>> ().frameworkUrl(karafUrl) >>>>>>>>> .karafVersion(getKarafVersion()). >>>>>>>>> unpackDirectory(new >>>>>>>>> File("target/exam")).useDeployFolder(false)); >>>>>>>>> >>>>>>>>> customOptions.add(keepRuntimeFolder()); >>>>>>>>> customOptions.add(junitBundles()); >>>>>>>>> customOptions.add(KarafDistributionOption >>>>>>>>> .editConfigurationFilePut("etc/ >>>>>>>>> org.apache.karaf.features.cf >>>>>>>>> g", >>>>>>>>> "featuresBoot", >>>>>>>>> "(aries-blueprint, bundl= e, >>>>>>>>> config, >>>>>>>>> deployer, diagnostic, feature, instance, jaas, kar, log, >>>>>>>>> management, >>>>>>>>> package, service, shell, shell-compat, ssh, system, wrap)")); >>>>>>>>> MavenUrlReference karafStandardRepo =3D >>>>>>>>> maven().groupId("org.apache. >>>>>>>>> karaf.features") >>>>>>>>> .artifactId("standard").class >>>>>>>>> ifier("features").type(" >>>>>>>>> xml").versionAsInProject(); >>>>>>>>> MavenUrlReference activemqStandardRepo =3D >>>>>>>>> maven().groupId("org.apache.activemq") >>>>>>>>> .artifactId("activemq-karaf"). >>>>>>>>> classifier("features").type(" >>>>>>>>> xml").versionAsInProject(); >>>>>>>>> >>>>>>>>> customOptions.add(KarafDistributionOption.features( >>>>>>>>> karafStandardRepo, >>>>>>>>> "scr")); >>>>>>>>> customOptions.add(KarafDistributionOption.features( >>>>>>>>> activemqStandardRepo, >>>>>>>>> "activemq-broker-noweb")); >>>>>>>>> >>>>>>>>> In the /data/log/karaf.log file there are no errors. But on the >>>>>>>>> console i >>>>>>>>> receive following exception >>>>>>>>> >>>>>>>>> >>>>>>>>> java.rmi.NotBoundException: 459dd019-b343-45a2-825c-4cc630909d16 >>>>>>>>> at sun.rmi.registry.RegistryImpl. >>>>>>>>> lookup(RegistryImpl.java:166) >>>>>>>>> at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown >>>>>>>>> Source) >>>>>>>>> at sun.rmi.server.UnicastServerRe >>>>>>>>> f.oldDispatch(UnicastServerRef >>>>>>>>> .java:411) >>>>>>>>> at sun.rmi.server.UnicastServerRe >>>>>>>>> f.dispatch(UnicastServerRef. >>>>>>>>> java:272) >>>>>>>>> at sun.rmi.transport.Transport$1.run(Transport.java:200= ) >>>>>>>>> at sun.rmi.transport.Transport$1.run(Transport.java:197= ) >>>>>>>>> at java.security.AccessController.doPrivileged(Native >>>>>>>>> Method) >>>>>>>>> at sun.rmi.transport.Transport.se >>>>>>>>> rviceCall(Transport.java:196) >>>>>>>>> at sun.rmi.transport.tcp.TCPTrans >>>>>>>>> port.handleMessages(TCPTranspo >>>>>>>>> rt.java:568) >>>>>>>>> at sun.rmi.transport.tcp.TCPTrans >>>>>>>>> port$ConnectionHandler.run0(TC >>>>>>>>> PTransport.java:826) >>>>>>>>> at sun.rmi.transport.tcp.TCPTrans >>>>>>>>> port$ConnectionHandler.lambda$ >>>>>>>>> run$0(TCPTransport.java:683) >>>>>>>>> at java.security.AccessController.doPrivileged(Native >>>>>>>>> Method) >>>>>>>>> at sun.rmi.transport.tcp.TCPTrans >>>>>>>>> port$ConnectionHandler.run(TCP >>>>>>>>> Transport.java:682) >>>>>>>>> at java.util.concurrent.ThreadPoo >>>>>>>>> lExecutor.runWorker(ThreadPool >>>>>>>>> Executor.java:1142) >>>>>>>>> at java.util.concurrent.ThreadPoo >>>>>>>>> lExecutor$Worker.run(ThreadPoo >>>>>>>>> lExecutor.java:617) >>>>>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>>>>> at sun.rmi.transport.StreamRemote >>>>>>>>> Call.exceptionReceivedFromServ >>>>>>>>> er(StreamRemoteCall.java:276) >>>>>>>>> at sun.rmi.transport.StreamRemote >>>>>>>>> Call.executeCall(StreamRemoteC >>>>>>>>> all.java:253) >>>>>>>>> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379= ) >>>>>>>>> at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown >>>>>>>>> Source) >>>>>>>>> at org.ops4j.pax.exam.rbc.client. >>>>>>>>> intern.RemoteBundleContextClie >>>>>>>>> ntImpl.getRemoteBundleContext(RemoteBundleContextClientImpl. >>>>>>>>> java:242) >>>>>>>>> at org.ops4j.pax.exam.rbc.client. >>>>>>>>> intern.RemoteBundleContextClie >>>>>>>>> ntImpl.waitForState(RemoteBundleContextClientImpl.java:211) >>>>>>>>> at org.ops4j.pax.exam.karaf.conta >>>>>>>>> iner.internal.KarafTestContain >>>>>>>>> er.waitForState(KarafTestContainer.java:580) >>>>>>>>> at org.ops4j.pax.exam.karaf.conta >>>>>>>>> iner.internal.KarafTestContain >>>>>>>>> er.startKaraf(KarafTestContainer.java:230) >>>>>>>>> at org.ops4j.pax.exam.karaf.conta >>>>>>>>> iner.internal.KarafTestContain >>>>>>>>> er.start(KarafTestContainer.java:180) >>>>>>>>> at org.ops4j.pax.exam.spi.reactor >>>>>>>>> s.AllConfinedStagedReactor.inv >>>>>>>>> oke(AllConfinedStagedReactor.java:79) >>>>>>>>> at org.ops4j.pax.exam.junit.impl. >>>>>>>>> ProbeRunner$2.evaluate(ProbeRu >>>>>>>>> nner.java:267) >>>>>>>>> at org.junit.runners.ParentRunner >>>>>>>>> .runLeaf(ParentRunner.java:325) >>>>>>>>> at org.junit.runners.BlockJUnit4C >>>>>>>>> lassRunner.runChild(BlockJUnit >>>>>>>>> 4ClassRunner.java:78) >>>>>>>>> at org.junit.runners.BlockJUnit4C >>>>>>>>> lassRunner.runChild(BlockJUnit >>>>>>>>> 4ClassRunner.java:57) >>>>>>>>> at org.junit.runners.ParentRunner >>>>>>>>> $3.run(ParentRunner.java:290) >>>>>>>>> at org.junit.runners.ParentRunner >>>>>>>>> $1.schedule(ParentRunner.java: >>>>>>>>> 71) >>>>>>>>> at org.junit.runners.ParentRunner >>>>>>>>> .runChildren(ParentRunner. >>>>>>>>> java:288) >>>>>>>>> at org.junit.runners.ParentRunner >>>>>>>>> .access$000(ParentRunner.java: >>>>>>>>> 58) >>>>>>>>> at org.junit.runners.ParentRunner >>>>>>>>> $2.evaluate(ParentRunner.java: >>>>>>>>> 268) >>>>>>>>> at org.junit.runners.ParentRunner >>>>>>>>> .run(ParentRunner.java:363) >>>>>>>>> at org.ops4j.pax.exam.junit.impl. >>>>>>>>> ProbeRunner.run(ProbeRunner.ja >>>>>>>>> va:98) >>>>>>>>> at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93= ) >>>>>>>>> at org.apache.maven.surefire.juni >>>>>>>>> t4.JUnit4Provider.execute(JUni >>>>>>>>> t4Provider.java:283) >>>>>>>>> at org.apache.maven.surefire.juni >>>>>>>>> t4.JUnit4Provider.executeWithR >>>>>>>>> erun(JUnit4Provider.java:173) >>>>>>>>> at org.apache.maven.surefire.juni >>>>>>>>> t4.JUnit4Provider.executeTestS >>>>>>>>> et(JUnit4Provider.java:153) >>>>>>>>> at org.apache.maven.surefire.juni >>>>>>>>> t4.JUnit4Provider.invoke(JUnit >>>>>>>>> 4Provider.java:128) >>>>>>>>> at org.apache.maven.surefire.boot >>>>>>>>> er.ForkedBooter.invokeProvider >>>>>>>>> InSameClassLoader(ForkedBooter.java:203) >>>>>>>>> at org.apache.maven.surefire.boot >>>>>>>>> er.ForkedBooter.runSuitesInPro >>>>>>>>> cess(ForkedBooter.java:155) >>>>>>>>> at org.apache.maven.surefire.boot >>>>>>>>> er.ForkedBooter.main(ForkedBoo >>>>>>>>> ter.java:103) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> if you share your jenkins configuration, it will be great >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Regards >>>>>>>>> >>>>>>>>> Giuseppe >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2017-09-08 7:27 GMT+02:00 Jean-Baptiste Onofr=C3=A9 : >>>>>>>>> >>>>>>>>> Hi Giuseppe, >>>>>>>>> >>>>>>>>> >>>>>>>>>> I guess you mean your own Jenkins ? >>>>>>>>>> >>>>>>>>>> The NoBoundException is cause by itests using RMI right ? >>>>>>>>>> >>>>>>>>>> For Jenkins, I can share with you the configuration I did on our >>>>>>>>>> job in >>>>>>>>>> the Apache Jenkins. >>>>>>>>>> >>>>>>>>>> Regards >>>>>>>>>> JB >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 09/07/2017 10:51 PM, Giuseppe Gerla wrote: >>>>>>>>>> >>>>>>>>>> Hi all >>>>>>>>>> >>>>>>>>>> I'm experimenting 2 strange behaviours with integration tests >>>>>>>>>>> under >>>>>>>>>>> jenkins. >>>>>>>>>>> The first problem is that often integration tests fail with a >>>>>>>>>>> java.rmi.NoBoundException. This is a randomic behaviour. The sa= me >>>>>>>>>>> tests >>>>>>>>>>> works fine on my pc. >>>>>>>>>>> The second problem is that when a test fails jenkins doesn't ki= ll >>>>>>>>>>> the >>>>>>>>>>> test >>>>>>>>>>> process and in this way I have several ghost process. >>>>>>>>>>> >>>>>>>>>>> Do you have some idea? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Following some additional information: >>>>>>>>>>> O.S. ubuntu 64bit >>>>>>>>>>> Jenkins -> 2.60.3 >>>>>>>>>>> Karaf -> 4.0.9 >>>>>>>>>>> pax-exam -> 4.9.1 >>>>>>>>>>> maven 3.5.0 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Regards >>>>>>>>>>> Giuseppe >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> Jean-Baptiste Onofr=C3=A9 >>>>>>>>>> jbonofre@apache.org >>>>>>>>>> http://blog.nanthrax.net >>>>>>>>>> Talend - http://www.talend.com >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>> >>>>>>> Jean-Baptiste Onofr=C3=A9 >>>>>>> jbonofre@apache.org >>>>>>> http://blog.nanthrax.net >>>>>>> Talend - http://www.talend.com >>>>>>> >>>>>>> >>>>>>> >>>>>> -- >>>>> Jean-Baptiste Onofr=C3=A9 >>>>> jbonofre@apache.org >>>>> http://blog.nanthrax.net >>>>> Talend - http://www.talend.com >>>>> >>>>> >>>> >>>> >>> >> > -- > Jean-Baptiste Onofr=C3=A9 > jbonofre@apache.org > http://blog.nanthrax.net > Talend - http://www.talend.com > --94eb2c12efb4b52ad3055ab4eead Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi JB
on the console I have:

=
[INFO] Running mypackage.serializer.unit.TestJavaSeri=
alizer
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 184=
.204 s <<< FAILURE! - in mypackage.serializer.unit.TestJavaSe=
rializer
[ERROR] mypackage.serializer.unit.TestJavaSerializer  Time elapsed: 18=
4.202 s  <<< ERROR!
java.lang.RuntimeException: Cannot get the remote bundle context
Caused by: java.rmi.NotBoundException: 6a684c8e-bbea-4b4b-9f57-7776020=
e6d13

[ERROR] mypackage.serializer.unit.TestJavaSerializer  Time elapsed: 18=
4.204 s  <<< ERROR!
java.lang.RuntimeException: Container never came up
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit=
4Provider.java:369)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRe=
run(JUnit4Provider.java:275)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSe=
t(JUnit4Provider.java:239)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4=
Provider.java:160)


In the karaf l= og I have:

Oct 04, 2017 9:59:33 AM org.apache= .karaf.main.Main launch
INFO: Installing and starting initial bun= dles
Oct 04, 2017 9:59:33 AM org.apache.karaf.main.Main launch
INFO: All initial bundles installed and set to start
Oct = 04, 2017 9:59:33 AM org.apache.karaf.main.lock.SimpleFileLock lock
INFO: Trying to lock /var/lib/jenkins/workspace/itms-server-master-test/i= tms-integration-tests/itms-eventbus-itest/target/exam/0b7ac007-5aa6-4a7c-8c= 7a-328145f223c0/lock
Oct 04, 2017 9:59:33 AM org.apache.karaf.mai= n.lock.SimpleFileLock lock
INFO: Lock acquired
Oct 04, = 2017 9:59:33 AM org.apache.karaf.main.Main$KarafLockCallback lockAquired
INFO: Lock acquired. Setting startlevel to 100
2017-10-04= 09:59:35,462 | WARN=C2=A0 | FelixStartLevel=C2=A0 | JaxbUtil=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0| 8 - org.apache.karaf.features.core - 4.0.9 | Old style feature file wi= thout namespace found (URI: mvn:org.apache.activemq/activemq-karaf/5.15.0/x= ml/features). This format is deprecated and support for it will soon be rem= oved




in attach an extract of effective pom and the abstract class from wic= h I derived all my tests.




regards
Giuseppe




=
2017-10-04 7:09 GMT+02:00 Jean-Baptiste Onofr=C3= =A9 <jb@nanthrax.net>:
Suref= ire >=3D 2.19 ?

I also depends what you do in the itest. What's your failing tests ?
Regards
JB


On 10/03/2017 04:55 PM, Giuseppe Gerla wrote:
I don't understand....
I try to build activemq project on my jenkins machine and integration tests=
work fine...
I use same version of pax-exam, same version of surefire plugin, same
version of karaf... why my tests don't work?




2017-10-02 14:32 GMT+02:00 Giuseppe Gerla <giuseppe.gerla@gmail.com>:

Hi JB
I have a big doubt...
If the problem is the surefire plugin vesion, what is the version used by pax-exam?
2.19....
So although I specify in my pom that version is 2.20.1, what is the
version really used by pax-exam?



Regards
Giuseppe





2017-10-02 12:28 GMT+02:00 Giuseppe Gerla <giuseppe.gerla@gmail.com>:

Hi JB
Unfortunately I tryed on jenkins machine and I have always the same
problem.
In the surfire dumpstream file I have this error

# Created on 2017-10-02T10:03:04.024
[SUREFIRE] std/in stream corrupted
java.io.IOException: Command NOOP unexpectedly read Void data with length 4.
at org.apache.maven.surefire.booter.MasterProcessCommand.decode
(MasterProcessCommand.java:130)
at org.apache.maven.surefire.booter.CommandReader$CommandRunnab
le.run(CommandReader.java:391)
at java.lang.Thread.run(Thread.java:745)

The problem is always randomic and occurs if I run with jenkins but also if I run command by bash.




Regards
Giuseppe



2017-10-01 21:41 GMT+02:00 Jean-Baptiste Onofr=C3=A9 <jb@nanthrax.net>:

Hi Giuseppe,

just tried to upgrade to surefire 2.20.1 on Karaf, and the itests seem
overall OK (just an issue with BundleTest that I'm checking now).

Regards
JB


On 10/01/2017 08:12 PM, Giuseppe Gerla wrote:

Hi JB
thanks for your support. Today I do some progress...
In cxf pom (https://github.com/apache/cxf/blob= /master/pom.xml) I found
a
comment about an issue of surefire plugin (SUREFIRE-1302). Because this
issue was solved in 2.20.1 I configure correctly this version (before I
have a wrong configuration) and in this way I have success with itests
on
my pc.
Tomorrow I will try in office and I will inform you about results.



Thanks
Regards
Giuseppe




2017-10-01 18:27 GMT+02:00 Jean-Baptiste Onofr=C3=A9 <jb@nanthrax.net>:

Hi Giuseppe,

I remember that I got Pax Exam failure with maven-surefire-plugin
updated
to 2.19.1. That's why we still use surefire 2.18.1 in Karaf itself (for=
itests using Pax Exam).

It seems to be caused to a change in surefire. I didn't investigate
that
much as it's not heavily blocker for us.

I would advice you to stay with surefire 2.18.1, it should work (it's what
we have in Karaf).

If it's important to you, I can investigate a bit.

Regards
JB


On 10/01/2017 11:00 AM, Giuseppe Gerla wrote:

Hi JB,
I have done several tests and combination to try to understand better
the
problem.
It seems related to version and configuration of
maven-surefire-plugin.
If I don't specify anithing in my pom about surefire plugin, tests
are ok
on my pc but I have randomic problem on jenkins build.
If I use the same configuration of activemq-karaf-itest with 2.18.1 or
2.20.1 version I have sistematic failure also on my PC.

Please can you share your pom configuration about surefire plugin?




Thanks
Giuseppe



2017-09-08 9:25 GMT+02:00 Giuseppe Gerla <giuseppe.gerla@gmail.com>:

Hi JB

yes I mean my Jenkins.
My itest is created with following code


=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MavenArtifactUrlReference karafUrl= =3D
maven().groupId("org.apache.
karaf").artifactId("apache-karaf")
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.versionAsInProject(= ).type("tar.gz");

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0customOptions.add(karafDistri= butionConfiguration
().frameworkUrl(karafUrl)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.karafVersion(g= etKarafVersion()).unpackDirectory(new
File("target/exam")).useDeployFolder(false));

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0customOptions.add(keepRuntime= Folder());
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0customOptions.add(junitBundle= s());
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0customOptions.add(KarafDistri= butionOption
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.editConfigurationFi= lePut("etc/
org.apache.karaf.features.cf
g",
"featuresBoot",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&q= uot;(aries-blueprint, bundle,
config,
deployer, diagnostic, feature, instance, jaas, kar, log, management,
package, service, shell, shell-compat, ssh, system, wrap)"));
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MavenUrlReference karafStandardRep= o =3D
maven().groupId("org.apache.
karaf.features")
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.artifactId("st= andard").classifier("features").type("
xml").versionAsInProject();
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MavenUrlReference activemqStandard= Repo =3D
maven().groupId("org.apache.activemq")
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.artifactId("ac= tivemq-karaf").
classifier("features").type("
xml").versionAsInProject();

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0customOptions.add(KarafDistri= butionOption.features(
karafStandardRepo,
"scr"));
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0customOptions.add(KarafDistri= butionOption.features(
activemqStandardRepo,
"activemq-broker-noweb"));

In the /data/log/karaf.log file there are no errors. But on the
console i
receive following exception


java.rmi.NotBoundException: 459dd019-b343-45a2-825c-4cc630909d16
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.registry.RegistryImpl.
lookup(RegistryImpl.java:166)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.registry.RegistryImpl_Sk= el.dispatch(Unknown
Source)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.server.UnicastServerRe
f.oldDispatch(UnicastServerRef
.java:411)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.server.UnicastServerRe
f.dispatch(UnicastServerRef.
java:272)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.Transport$1.ru= n(Transport.java:200)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.Transport$1.ru= n(Transport.java:197)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.security.AccessController.d= oPrivileged(Native
Method)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.Transpo= rt.se
rviceCall(Transport.java:196)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.tcp.TCPTrans
port.handleMessages(TCPTranspo
rt.java:568)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.tcp.TCPTrans
port$ConnectionHandler.run0(TC
PTransport.java:826)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.tcp.TCPTrans
port$ConnectionHandler.lambda$
run$0(TCPTransport.java:683)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.security.AccessController.d= oPrivileged(Native
Method)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.tcp.TCPTrans
port$ConnectionHandler.run(TCP
Transport.java:682)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.util.concurrent.ThreadPoo
lExecutor.runWorker(ThreadPool
Executor.java:1142)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.util.concurrent.ThreadPoo
lExecutor$Worker.run(ThreadPoo
lExecutor.java:617)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java= :745)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.StreamRemote
Call.exceptionReceivedFromServ
er(StreamRemoteCall.java:276)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.transport.StreamRemote
Call.executeCall(StreamRemoteC
all.java:253)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.server.UnicastRef.invoke= (UnicastRef.java:379)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.rmi.registry.RegistryImpl_St= ub.lookup(Unknown
Source)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.rbc.client.
intern.RemoteBundleContextClie
ntImpl.getRemoteBundleContext(RemoteBundleContextClientImpl.
java:242)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.rbc.client.
intern.RemoteBundleContextClie
ntImpl.waitForState(RemoteBundleContextClientImpl.java:211)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.karaf.conta
iner.internal.KarafTestContain
er.waitForState(KarafTestContainer.java:580)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.karaf.conta
iner.internal.KarafTestContain
er.startKaraf(KarafTestContainer.java:230)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.karaf.conta
iner.internal.KarafTestContain
er.start(KarafTestContainer.java:180)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.spi.reactor
s.AllConfinedStagedReactor.inv
oke(AllConfinedStagedReactor.java:79)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.junit.impl.
ProbeRunner$2.evaluate(ProbeRu
nner.java:267)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.ParentRunner
.runLeaf(ParentRunner.java:325)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.BlockJUnit4C
lassRunner.runChild(BlockJUnit
4ClassRunner.java:78)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.BlockJUnit4C
lassRunner.runChild(BlockJUnit
4ClassRunner.java:57)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.ParentRunner
$3.run(ParentRunner.java:290)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.ParentRunner
$1.schedule(ParentRunner.java:
71)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.ParentRunner.r= unChildren(ParentRunner.
java:288)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.ParentRunner
.access$000(ParentRunner.java:
58)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.ParentRunner
$2.evaluate(ParentRunner.java:
268)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.junit.runners.ParentRunner
.run(ParentRunner.java:363)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.junit.impl.
ProbeRunner.run(ProbeRunner.ja
va:98)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.ops4j.pax.exam.junit.PaxExam= .run(PaxExam.java:93)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.maven.surefire.juni
t4.JUnit4Provider.execute(JUni
t4Provider.java:283)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.maven.surefire.juni
t4.JUnit4Provider.executeWithR
erun(JUnit4Provider.java:173)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.maven.surefire.juni
t4.JUnit4Provider.executeTestS
et(JUnit4Provider.java:153)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.maven.surefire.juni
t4.JUnit4Provider.invoke(JUnit
4Provider.java:128)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.maven.surefire.boot
er.ForkedBooter.invokeProvider
InSameClassLoader(ForkedBooter.java:203)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.maven.surefire.boot
er.ForkedBooter.runSuitesInPro
cess(ForkedBooter.java:155)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.maven.surefire.boot
er.ForkedBooter.main(ForkedBoo
ter.java:103)



if you share your jenkins configuration, it will be great




Regards

Giuseppe



2017-09-08 7:27 GMT+02:00 Jean-Baptiste Onofr=C3=A9 <jb@nanthrax.net>:

Hi Giuseppe,


I guess you mean your own Jenkins ?

The NoBoundException is cause by itests using RMI right ?

For Jenkins, I can share with you the configuration I did on our
job in
the Apache Jenkins.

Regards
JB


On 09/07/2017 10:51 PM, Giuseppe Gerla wrote:

Hi all

I'm experimenting 2 strange behaviours with integration tests under
jenkins.
The first problem is that often integration tests fail with a
java.rmi.NoBoundException. This is a randomic behaviour. The same
tests
works fine on my pc.
The second problem is that when a test fails jenkins doesn't kill
the
test
process and in this way I have several ghost process.

Do you have some idea?



Following some additional information:
O.S. ubuntu 64bit
Jenkins -> 2.60.3
Karaf -> 4.0.9
pax-exam -> 4.9.1
maven 3.5.0


Regards
Giuseppe


--

Jean-Baptiste Onofr=C3=A9
jbonofre@apache.or= g
h= ttp://blog.nanthrax.net
Talend - http://www.talend.com





--
Jean-Baptiste Onofr=C3=A9
jbonofre@apache.or= g
h= ttp://blog.nanthrax.net
Talend - http://www.talend.com



--
Jean-Baptiste Onofr=C3=A9
jbonofre@apache.or= g
h= ttp://blog.nanthrax.net
Talend - http://www.talend.com






--
Jean-Baptiste Onofr=C3=A9
jbonofre@apache.or= g
h= ttp://blog.nanthrax.net
Talend - http://www.talend.com

--94eb2c12efb4b52ad3055ab4eead-- --94eb2c12efb4b52ad8055ab4eeaf Content-Type: text/plain; charset="US-ASCII"; name="effective.txt" Content-Disposition: attachment; filename="effective.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j8ct3v6t1 ICA8cHJvcGVydGllcz4NCiAgICA8bXlzcWwuY29ubmVjdG9yLnZlcnNpb24+NS4xLjQwPC9teXNx bC5jb25uZWN0b3IudmVyc2lvbj4NCiAgICA8b3BlbmpwYS52ZXJzaW9uPjIuMy4wPC9vcGVuanBh LnZlcnNpb24+DQogICAgPGl0ZXh0LnZlcnNpb24+Mi4xLjc8L2l0ZXh0LnZlcnNpb24+DQogICAg PHZlbG9jaXR5LnZlcnNpb24+MS43XzY8L3ZlbG9jaXR5LnZlcnNpb24+DQogICAgPGp1bml0LnZl cnNpb24+NC4xMjwvanVuaXQudmVyc2lvbj4NCiAgICA8Y3hmLnZlcnNpb24+My4xLjc8L2N4Zi52 ZXJzaW9uPg0KICAgIDxidW5kbGUucGx1Z2luLnZlcnNpb24+My4zLjA8L2J1bmRsZS5wbHVnaW4u dmVyc2lvbj4NCiAgICA8c2VydmljZW1peC52ZXJzaW9uPjUuMS4zPC9zZXJ2aWNlbWl4LnZlcnNp b24+DQogICAgPGthcmFmLnZlcnNpb24+NC4wLjk8L2thcmFmLnZlcnNpb24+DQogICAgPGpjaWZz LnZlcnNpb24+MS4zLjE3XzE8L2pjaWZzLnZlcnNpb24+DQogICAgPGNvbW1vbnMucG9vbC52ZXJz aW9uPjEuNS40XzQ8L2NvbW1vbnMucG9vbC52ZXJzaW9uPg0KICAgIDxqcGEuYXBpLnZlcnNpb24+ Mi4xLjA8L2pwYS5hcGkudmVyc2lvbj4NCiAgICA8cGF4LXVybC1hZXRoZXIudmVyc2lvbj4yLjUu MjwvcGF4LXVybC1hZXRoZXIudmVyc2lvbj4NCiAgICA8Y29tbW9ucy5iZWFudXRpbHMudmVyc2lv bj4xLjguMDwvY29tbW9ucy5iZWFudXRpbHMudmVyc2lvbj4NCiAgICA8am9kYXRpbWUudmVyc2lv bj4xLjYuMjwvam9kYXRpbWUudmVyc2lvbj4NCiAgICA8c291cmNlLnBsdWdpbi52ZXJzaW9uPjMu MC4xPC9zb3VyY2UucGx1Z2luLnZlcnNpb24+DQogICAgPGNoZWNrc3R5bGUucGx1Z2luLnZlcnNp b24+Mi4xNzwvY2hlY2tzdHlsZS5wbHVnaW4udmVyc2lvbj4NCiAgICA8amFzcGVycmVwb3J0cy52 ZXJzaW9uPjYuNC4wPC9qYXNwZXJyZXBvcnRzLnZlcnNpb24+DQogICAgPGNvbW1vbnMuY29sbGVj dGlvbnMudmVyc2lvbj4zLjIuMTwvY29tbW9ucy5jb2xsZWN0aW9ucy52ZXJzaW9uPg0KICAgIDxq ZnJlZWNoYXJ0LnZlcnNpb24+MS4wLjE5PC9qZnJlZWNoYXJ0LnZlcnNpb24+DQogICAgPG9iamVu ZXNpcy52ZXJzaW9uPjIuMTwvb2JqZW5lc2lzLnZlcnNpb24+DQogICAgPGZpbmRidWdzLnBsdWdp bi52ZXJzaW9uPjMuMC40PC9maW5kYnVncy5wbHVnaW4udmVyc2lvbj4NCiAgICA8Z2Vyb25pbW8u anBhLnNwZWNzLnZlcnNpb24+MS4xPC9nZXJvbmltby5qcGEuc3BlY3MudmVyc2lvbj4NCiAgICA8 amF2YWRvYy5wbHVnaW4udmVyc2lvbj4yLjEwLjQ8L2phdmFkb2MucGx1Z2luLnZlcnNpb24+DQog ICAgPGNvbXBpbGVyLnBsdWdpbi52ZXJzaW9uPjMuNy4wPC9jb21waWxlci5wbHVnaW4udmVyc2lv bj4NCiAgICA8dHJhbnNhY3Rpb24udmVyc2lvbj4xLjI8L3RyYW5zYWN0aW9uLnZlcnNpb24+DQog ICAgPGptb2NrLWp1bml0NC52ZXJzaW9uPjIuOC4yPC9qbW9jay1qdW5pdDQudmVyc2lvbj4NCiAg ICA8b2xhcDRqLnZlcnNpb24+MS4yLjA8L29sYXA0ai52ZXJzaW9uPg0KICAgIDxwcm9qZWN0LmJ1 aWxkLnNvdXJjZUVuY29kaW5nPlVURi04PC9wcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nPg0K ICAgIDxlY2oudmVyc2lvbj40LjMuMTwvZWNqLnZlcnNpb24+DQogICAgPGphbW9kLnZlcnNpb24+ MS4yXzE8L2phbW9kLnZlcnNpb24+DQogICAgPGtyeW8udmVyc2lvbj40LjAuMDwva3J5by52ZXJz aW9uPg0KICAgIDxyZWZsZWN0YXNtLnZlcnNpb24+MS4xMC4xPC9yZWZsZWN0YXNtLnZlcnNpb24+ DQogICAgPHR2cC52ZXJzaW9uPjIuMi4xMi4wPC90dnAudmVyc2lvbj4NCiAgICA8ZGVwZW5kcy1t YXZlbi1wbHVnaW4udmVyc2lvbj4xLjQuMDwvZGVwZW5kcy1tYXZlbi1wbHVnaW4udmVyc2lvbj4N CiAgICA8Y29tbW9ucy5kaWdlc3Rlci52ZXJzaW9uPjIuMTwvY29tbW9ucy5kaWdlc3Rlci52ZXJz aW9uPg0KICAgIDxjbGVhbi5wbHVnaW4udmVyc2lvbj4zLjAuMDwvY2xlYW4ucGx1Z2luLnZlcnNp b24+DQogICAgPHN1cmVmaXJlLnBsdWdpbi52ZXJzaW9uPjIuMjAuMTwvc3VyZWZpcmUucGx1Z2lu LnZlcnNpb24+DQogICAgPG93MmFzbS52ZXJzaW9uPjUuMC40PC9vdzJhc20udmVyc2lvbj4NCiAg ICA8cG94by52ZXJzaW9uPjEuMC42PC9wb3hvLnZlcnNpb24+DQogICAgPHByb2plY3QucmVwb3J0 aW5nLm91dHB1dEVuY29kaW5nPlVURi04PC9wcm9qZWN0LnJlcG9ydGluZy5vdXRwdXRFbmNvZGlu Zz4NCiAgICA8b2pkYmMudmVyc2lvbj4xMS4yLjAuNC4wMDAxPC9vamRiYy52ZXJzaW9uPg0KICAg IDxqY29tbW9uLnZlcnNpb24+MS4wLjIzPC9qY29tbW9uLnZlcnNpb24+DQogICAgPGJ1aWxkLWhl bHBlci5wbHVnaW4udmVyc2lvbj4zLjAuMDwvYnVpbGQtaGVscGVyLnBsdWdpbi52ZXJzaW9uPg0K ICAgIDxjeGYueGpjLnBsdWdpbi52ZXJzaW9uPjMuMC41PC9jeGYueGpjLnBsdWdpbi52ZXJzaW9u Pg0KICAgIDxvc2dpLnZlcnNpb24+Ni4wLjA8L29zZ2kudmVyc2lvbj4NCiAgICA8YXJpZXMuanBh LnZlcnNpb24+Mi42LjE8L2FyaWVzLmpwYS52ZXJzaW9uPg0KICAgIDxwb3N0Z3Jlc3FsLnZlcnNp b24+OS4zLTExMDMtamRiYzQxPC9wb3N0Z3Jlc3FsLnZlcnNpb24+DQogICAgPGN4Zi5wbHVnaW4u dmVyc2lvbj4zLjIuMDwvY3hmLnBsdWdpbi52ZXJzaW9uPg0KICAgIDxvc2dpLmNvbXBlbmRpdW0u dmVyc2lvbj41LjAuMDwvb3NnaS5jb21wZW5kaXVtLnZlcnNpb24+DQogICAgPHJlbW90ZXRlYS5v bmNycGMudmVyc2lvbj4xLjEuMzwvcmVtb3RldGVhLm9uY3JwYy52ZXJzaW9uPg0KICAgIDxxdWFy ei52ZXJzaW9uPjIuMS43XzE8L3F1YXJ6LnZlcnNpb24+DQogICAgPHNsZjRqLnZlcnNpb24+MS43 LjEyPC9zbGY0ai52ZXJzaW9uPg0KICAgIDxwbWQucGx1Z2luLnZlcnNpb24+My43PC9wbWQucGx1 Z2luLnZlcnNpb24+DQogICAgPHJlc291cmNlcy5wbHVnaW4udmVyc2lvbj4zLjAuMjwvcmVzb3Vy Y2VzLnBsdWdpbi52ZXJzaW9uPg0KICAgIDx0aGFsaXQtY2hlY2tzLnZlcnNpb24+NTwvdGhhbGl0 LWNoZWNrcy52ZXJzaW9uPg0KICAgIDxqYXZhLnZlcnNpb24+MS44PC9qYXZhLnZlcnNpb24+DQog ICAgPGphdmEyY3NoYXJwLnBsdWdpbi52ZXJzaW9uPjEuMC40PC9qYXZhMmNzaGFycC5wbHVnaW4u dmVyc2lvbj4NCiAgICA8ZWNsaXBzZWxpbmsudmVyc2lvbj4yLjYuNDwvZWNsaXBzZWxpbmsudmVy c2lvbj4NCiAgICA8aDJkYi52ZXJzaW9uPjEuNC4xOTQ8L2gyZGIudmVyc2lvbj4NCiAgICA8ZmFp bHNhZmUucGx1Z2luLnZlcnNpb24+Mi4yMC4xPC9mYWlsc2FmZS5wbHVnaW4udmVyc2lvbj4NCiAg ICA8cGF4LWV4YW0udmVyc2lvbj40LjkuMTwvcGF4LWV4YW0udmVyc2lvbj4NCiAgICA8YWN0aXZl bXEudmVyc2lvbj41LjE1LjA8L2FjdGl2ZW1xLnZlcnNpb24+DQogICAgPG1pbmxvZy52ZXJzaW9u PjEuMy4wPC9taW5sb2cudmVyc2lvbj4NCiAgPC9wcm9wZXJ0aWVzPg0KICA8ZGVwZW5kZW5jaWVz Pg0KICAgIDxkZXBlbmRlbmN5Pg0KICAgICAgPGdyb3VwSWQ+b3JnLnNsZjRqPC9ncm91cElkPg0K ICAgICAgPGFydGlmYWN0SWQ+c2xmNGotYXBpPC9hcnRpZmFjdElkPg0KICAgICAgPHZlcnNpb24+ MS43LjEyPC92ZXJzaW9uPg0KICAgICAgPHNjb3BlPmNvbXBpbGU8L3Njb3BlPg0KICAgIDwvZGVw ZW5kZW5jeT4NCiAgICA8ZGVwZW5kZW5jeT4NCiAgICAgIDxncm91cElkPm9yZy5vc2dpPC9ncm91 cElkPg0KICAgICAgPGFydGlmYWN0SWQ+b3JnLm9zZ2kuY29yZTwvYXJ0aWZhY3RJZD4NCiAgICAg IDx2ZXJzaW9uPjYuMC4wPC92ZXJzaW9uPg0KICAgICAgPHNjb3BlPmNvbXBpbGU8L3Njb3BlPg0K ICAgIDwvZGVwZW5kZW5jeT4NCiAgICA8ZGVwZW5kZW5jeT4NCiAgICAgIDxncm91cElkPm9yZy5v c2dpPC9ncm91cElkPg0KICAgICAgPGFydGlmYWN0SWQ+b3JnLm9zZ2kuY29tcGVuZGl1bTwvYXJ0 aWZhY3RJZD4NCiAgICAgIDx2ZXJzaW9uPjUuMC4wPC92ZXJzaW9uPg0KICAgICAgPHNjb3BlPmNv bXBpbGU8L3Njb3BlPg0KICAgIDwvZGVwZW5kZW5jeT4NCiAgICA8ZGVwZW5kZW5jeT4NCiAgICAg IDxncm91cElkPm9yZy5vcHM0ai5wYXguZXhhbTwvZ3JvdXBJZD4NCiAgICAgIDxhcnRpZmFjdElk PnBheC1leGFtPC9hcnRpZmFjdElkPg0KICAgICAgPHZlcnNpb24+NC45LjE8L3ZlcnNpb24+DQog ICAgICA8c2NvcGU+Y29tcGlsZTwvc2NvcGU+DQogICAgPC9kZXBlbmRlbmN5Pg0KICAgIDxkZXBl bmRlbmN5Pg0KICAgICAgPGdyb3VwSWQ+b3JnLm9wczRqLnBheC5leGFtPC9ncm91cElkPg0KICAg ICAgPGFydGlmYWN0SWQ+cGF4LWV4YW0tY29udGFpbmVyLWthcmFmPC9hcnRpZmFjdElkPg0KICAg ICAgPHZlcnNpb24+NC45LjE8L3ZlcnNpb24+DQogICAgICA8c2NvcGU+dGVzdDwvc2NvcGU+DQog ICAgPC9kZXBlbmRlbmN5Pg0KICAgIDxkZXBlbmRlbmN5Pg0KICAgICAgPGdyb3VwSWQ+b3JnLm9w czRqLnBheC5leGFtPC9ncm91cElkPg0KICAgICAgPGFydGlmYWN0SWQ+cGF4LWV4YW0tanVuaXQ0 PC9hcnRpZmFjdElkPg0KICAgICAgPHZlcnNpb24+NC45LjE8L3ZlcnNpb24+DQogICAgICA8c2Nv cGU+dGVzdDwvc2NvcGU+DQogICAgPC9kZXBlbmRlbmN5Pg0KICAgIDxkZXBlbmRlbmN5Pg0KICAg ICAgPGdyb3VwSWQ+b3JnLm9wczRqLnBheC5leGFtPC9ncm91cElkPg0KICAgICAgPGFydGlmYWN0 SWQ+cGF4LWV4YW0tbGluay1tdm48L2FydGlmYWN0SWQ+DQogICAgICA8dmVyc2lvbj40LjkuMTwv dmVyc2lvbj4NCiAgICAgIDxzY29wZT50ZXN0PC9zY29wZT4NCiAgICA8L2RlcGVuZGVuY3k+DQog ICAgPGRlcGVuZGVuY3k+DQogICAgICA8Z3JvdXBJZD5vcmcub3BzNGoucGF4LnVybDwvZ3JvdXBJ ZD4NCiAgICAgIDxhcnRpZmFjdElkPnBheC11cmwtYWV0aGVyPC9hcnRpZmFjdElkPg0KICAgICAg PHZlcnNpb24+Mi41LjI8L3ZlcnNpb24+DQogICAgICA8c2NvcGU+dGVzdDwvc2NvcGU+DQogICAg PC9kZXBlbmRlbmN5Pg0KICAgIDxkZXBlbmRlbmN5Pg0KICAgICAgPGdyb3VwSWQ+amF2YXguaW5q ZWN0PC9ncm91cElkPg0KICAgICAgPGFydGlmYWN0SWQ+amF2YXguaW5qZWN0PC9hcnRpZmFjdElk Pg0KICAgICAgPHZlcnNpb24+MTwvdmVyc2lvbj4NCiAgICAgIDxzY29wZT5jb21waWxlPC9zY29w ZT4NCiAgICA8L2RlcGVuZGVuY3k+DQogICAgPGRlcGVuZGVuY3k+DQogICAgICA8Z3JvdXBJZD5q dW5pdDwvZ3JvdXBJZD4NCiAgICAgIDxhcnRpZmFjdElkPmp1bml0PC9hcnRpZmFjdElkPg0KICAg ICAgPHZlcnNpb24+NC4xMjwvdmVyc2lvbj4NCiAgICAgIDxzY29wZT50ZXN0PC9zY29wZT4NCiAg ICA8L2RlcGVuZGVuY3k+DQogICAgPGRlcGVuZGVuY3k+DQogICAgICA8Z3JvdXBJZD5vcmcuYXBh Y2hlLmthcmFmPC9ncm91cElkPg0KICAgICAgPGFydGlmYWN0SWQ+YXBhY2hlLWthcmFmPC9hcnRp ZmFjdElkPg0KICAgICAgPHZlcnNpb24+NC4wLjk8L3ZlcnNpb24+DQogICAgICA8dHlwZT50YXIu Z3o8L3R5cGU+DQogICAgICA8c2NvcGU+dGVzdDwvc2NvcGU+DQogICAgICA8ZXhjbHVzaW9ucz4N CiAgICAgICAgPGV4Y2x1c2lvbj4NCiAgICAgICAgICA8YXJ0aWZhY3RJZD5vcmcuYXBhY2hlLmth cmFmLmNsaWVudDwvYXJ0aWZhY3RJZD4NCiAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmth cmFmPC9ncm91cElkPg0KICAgICAgICA8L2V4Y2x1c2lvbj4NCiAgICAgIDwvZXhjbHVzaW9ucz4N CiAgICA8L2RlcGVuZGVuY3k+DQogICAgPGRlcGVuZGVuY3k+DQogICAgICA8Z3JvdXBJZD5vcmcu YXBhY2hlLmthcmFmLmZlYXR1cmVzPC9ncm91cElkPg0KICAgICAgPGFydGlmYWN0SWQ+c3RhbmRh cmQ8L2FydGlmYWN0SWQ+DQogICAgICA8dmVyc2lvbj40LjAuOTwvdmVyc2lvbj4NCiAgICAgIDx0 eXBlPnhtbDwvdHlwZT4NCiAgICAgIDxjbGFzc2lmaWVyPmZlYXR1cmVzPC9jbGFzc2lmaWVyPg0K ICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPg0KICAgIDwvZGVwZW5kZW5jeT4NCiAgICA8ZGVwZW5k ZW5jeT4NCiAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuYWN0aXZlbXE8L2dyb3VwSWQ+DQogICAg ICA8YXJ0aWZhY3RJZD5hY3RpdmVtcS1rYXJhZjwvYXJ0aWZhY3RJZD4NCiAgICAgIDx2ZXJzaW9u PjUuMTUuMDwvdmVyc2lvbj4NCiAgICAgIDx0eXBlPnhtbDwvdHlwZT4NCiAgICAgIDxjbGFzc2lm aWVyPmZlYXR1cmVzPC9jbGFzc2lmaWVyPg0KICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPg0KICAg IDwvZGVwZW5kZW5jeT4NCiAgICA8ZGVwZW5kZW5jeT4NCiAgICAgIDxncm91cElkPmNvbS5lc290 ZXJpY3NvZnR3YXJlPC9ncm91cElkPg0KICAgICAgPGFydGlmYWN0SWQ+bWlubG9nPC9hcnRpZmFj dElkPg0KICAgICAgPHZlcnNpb24+MS4zLjA8L3ZlcnNpb24+DQogICAgICA8c2NvcGU+dGVzdDwv c2NvcGU+DQogICAgPC9kZXBlbmRlbmN5Pg0KICAgIDxkZXBlbmRlbmN5Pg0KICAgICAgPGdyb3Vw SWQ+Y29tLmVzb3Rlcmljc29mdHdhcmU8L2dyb3VwSWQ+DQogICAgICA8YXJ0aWZhY3RJZD5rcnlv LXNoYWRlZDwvYXJ0aWZhY3RJZD4NCiAgICAgIDx2ZXJzaW9uPjQuMC4wPC92ZXJzaW9uPg0KICAg ICAgPHNjb3BlPnRlc3Q8L3Njb3BlPg0KICAgIDwvZGVwZW5kZW5jeT4NCiAgPC9kZXBlbmRlbmNp ZXM+DQogIDxyZXBvc2l0b3JpZXM+DQogICAgPHJlcG9zaXRvcnk+DQogICAgICA8c25hcHNob3Rz Pg0KICAgICAgICA8ZW5hYmxlZD5mYWxzZTwvZW5hYmxlZD4NCiAgICAgIDwvc25hcHNob3RzPg0K ICAgICAgPGlkPmNlbnRyYWw8L2lkPg0KICAgICAgPG5hbWU+Q2VudHJhbCBSZXBvc2l0b3J5PC9u YW1lPg0KICAgICAgPHVybD5odHRwczovL3JlcG8ubWF2ZW4uYXBhY2hlLm9yZy9tYXZlbjI8L3Vy bD4NCiAgICA8L3JlcG9zaXRvcnk+DQogIDwvcmVwb3NpdG9yaWVzPg0KICA8cGx1Z2luUmVwb3Np dG9yaWVzPg0KICAgIDxwbHVnaW5SZXBvc2l0b3J5Pg0KICAgICAgPHJlbGVhc2VzPg0KICAgICAg ICA8dXBkYXRlUG9saWN5Pm5ldmVyPC91cGRhdGVQb2xpY3k+DQogICAgICA8L3JlbGVhc2VzPg0K ICAgICAgPHNuYXBzaG90cz4NCiAgICAgICAgPGVuYWJsZWQ+ZmFsc2U8L2VuYWJsZWQ+DQogICAg ICA8L3NuYXBzaG90cz4NCiAgICAgIDxpZD5jZW50cmFsPC9pZD4NCiAgICAgIDxuYW1lPkNlbnRy YWwgUmVwb3NpdG9yeTwvbmFtZT4NCiAgICAgIDx1cmw+aHR0cHM6Ly9yZXBvLm1hdmVuLmFwYWNo ZS5vcmcvbWF2ZW4yPC91cmw+DQogICAgPC9wbHVnaW5SZXBvc2l0b3J5Pg0KICA8L3BsdWdpblJl cG9zaXRvcmllcz4NCiAgPGJ1aWxkPg0KICAgIC4uLi4uDQoJPHBsdWdpbk1hbmFnZW1lbnQ+DQog ICAgICA8cGx1Z2lucz4NCiAgICAgICAgPHBsdWdpbj4NCiAgICAgICAgICA8YXJ0aWZhY3RJZD5t YXZlbi1hbnRydW4tcGx1Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICAgIDx2ZXJzaW9uPjEuMzwv dmVyc2lvbj4NCiAgICAgICAgPC9wbHVnaW4+DQogICAgICAgIDxwbHVnaW4+DQogICAgICAgICAg PGFydGlmYWN0SWQ+bWF2ZW4tYXNzZW1ibHktcGx1Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICAg IDx2ZXJzaW9uPjIuMi1iZXRhLTU8L3ZlcnNpb24+DQogICAgICAgIDwvcGx1Z2luPg0KICAgICAg ICA8cGx1Z2luPg0KICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLWNvbXBpbGVyLXBsdWdpbjwv YXJ0aWZhY3RJZD4NCiAgICAgICAgICA8dmVyc2lvbj4zLjcuMDwvdmVyc2lvbj4NCiAgICAgICAg ICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgIDxzb3VyY2U+MS44PC9zb3VyY2U+DQogICAg ICAgICAgICA8dGFyZ2V0PjEuODwvdGFyZ2V0Pg0KICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4N CiAgICAgICAgPC9wbHVnaW4+DQogICAgICAgIDxwbHVnaW4+DQogICAgICAgICAgPGFydGlmYWN0 SWQ+bWF2ZW4tY2xlYW4tcGx1Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICAgIDx2ZXJzaW9uPjMu MC4wPC92ZXJzaW9uPg0KICAgICAgICA8L3BsdWdpbj4NCiAgICAgICAgPHBsdWdpbj4NCiAgICAg ICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZlbGl4PC9ncm91cElkPg0KICAgICAgICAgIDxhcnRp ZmFjdElkPm1hdmVuLWJ1bmRsZS1wbHVnaW48L2FydGlmYWN0SWQ+DQogICAgICAgICAgPHZlcnNp b24+My4zLjA8L3ZlcnNpb24+DQogICAgICAgICAgPGV4dGVuc2lvbnM+dHJ1ZTwvZXh0ZW5zaW9u cz4NCiAgICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgIDxtYW5pZmVzdExvY2F0 aW9uPk1FVEEtSU5GPC9tYW5pZmVzdExvY2F0aW9uPg0KICAgICAgICAgICAgPGluc3RydWN0aW9u cz4NCiAgICAgICAgICAgICAgPEJ1bmRsZS1TeW1ib2xpY05hbWU+ZXZlbnRidXMtaXRlc3Q8L0J1 bmRsZS1TeW1ib2xpY05hbWU+DQogICAgICAgICAgICAgIDxCdW5kbGUtVmVyc2lvbj4zLjMuMS4x LVNOQVBTSE9UPC9CdW5kbGUtVmVyc2lvbj4NCiAgICAgICAgICAgICAgPF9pbmNsdWRlPm9zZ2ku Ym5kPC9faW5jbHVkZT4NCiAgICAgICAgICAgIDwvaW5zdHJ1Y3Rpb25zPg0KICAgICAgICAgIDwv Y29uZmlndXJhdGlvbj4NCiAgICAgICAgPC9wbHVnaW4+DQogICAgICAgIDxwbHVnaW4+DQogICAg ICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tZGVwZW5kZW5jeS1wbHVnaW48L2FydGlmYWN0SWQ+DQog ICAgICAgICAgPHZlcnNpb24+JHtkZXBlbmRlbmN5LnBsdWdpbi52ZXJzaW9ufTwvdmVyc2lvbj4N CiAgICAgICAgPC9wbHVnaW4+DQogICAgICAgIDxwbHVnaW4+DQogICAgICAgICAgPGFydGlmYWN0 SWQ+bWF2ZW4tcmVsZWFzZS1wbHVnaW48L2FydGlmYWN0SWQ+DQogICAgICAgICAgPHZlcnNpb24+ Mi4zLjI8L3ZlcnNpb24+DQogICAgICAgIDwvcGx1Z2luPg0KICAgICAgICA8cGx1Z2luPg0KICAg ICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLXNvdXJjZS1wbHVnaW48L2FydGlmYWN0SWQ+DQogICAg ICAgICAgPHZlcnNpb24+My4wLjE8L3ZlcnNpb24+DQogICAgICAgICAgPGV4ZWN1dGlvbnM+DQog ICAgICAgICAgICA8ZXhlY3V0aW9uPg0KICAgICAgICAgICAgICA8aWQ+YXR0YWNoLXNvdXJjZXM8 L2lkPg0KICAgICAgICAgICAgICA8Z29hbHM+DQogICAgICAgICAgICAgICAgPGdvYWw+amFyPC9n b2FsPg0KICAgICAgICAgICAgICA8L2dvYWxzPg0KICAgICAgICAgICAgPC9leGVjdXRpb24+DQog ICAgICAgICAgPC9leGVjdXRpb25zPg0KICAgICAgICA8L3BsdWdpbj4NCiAgICAgICAgPHBsdWdp bj4NCiAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1jaGVja3N0eWxlLXBsdWdpbjwvYXJ0aWZh Y3RJZD4NCiAgICAgICAgICA8dmVyc2lvbj4yLjE3PC92ZXJzaW9uPg0KICAgICAgICAgIDxleGVj dXRpb25zPg0KICAgICAgICAgICAgPGV4ZWN1dGlvbj4NCiAgICAgICAgICAgICAgPGlkPmNoZWNr c3R5bGU8L2lkPg0KICAgICAgICAgICAgICA8cGhhc2U+dmFsaWRhdGU8L3BoYXNlPg0KICAgICAg ICAgICAgICA8Z29hbHM+DQogICAgICAgICAgICAgICAgPGdvYWw+Y2hlY2tzdHlsZTwvZ29hbD4N CiAgICAgICAgICAgICAgPC9nb2Fscz4NCiAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+DQog ICAgICAgICAgICAgICAgPGNvbnNvbGVPdXRwdXQ+dHJ1ZTwvY29uc29sZU91dHB1dD4NCiAgICAg ICAgICAgICAgICA8ZmFpbHNPbkVycm9yPnRydWU8L2ZhaWxzT25FcnJvcj4NCiAgICAgICAgICAg ICAgICA8bGlua1hSZWY+ZmFsc2U8L2xpbmtYUmVmPg0KICAgICAgICAgICAgICAgIDxlbmNvZGlu Zz5VVEYtODwvZW5jb2Rpbmc+DQogICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4NCiAgICAg ICAgICAgIDwvZXhlY3V0aW9uPg0KICAgICAgICAgIDwvZXhlY3V0aW9ucz4NCiAgICAgICAgICA8 ZGVwZW5kZW5jaWVzPg0KICAgICAgICAgICAgPGRlcGVuZGVuY3k+DQogICAgICAgICAgICAgIDxn cm91cElkPmNvbS5wdXBweWNyYXdsLnRvb2xzPC9ncm91cElkPg0KICAgICAgICAgICAgICA8YXJ0 aWZhY3RJZD5jaGVja3N0eWxlPC9hcnRpZmFjdElkPg0KICAgICAgICAgICAgICA8dmVyc2lvbj43 Ljc8L3ZlcnNpb24+DQogICAgICAgICAgICAgIDxzY29wZT5jb21waWxlPC9zY29wZT4NCiAgICAg ICAgICAgIDwvZGVwZW5kZW5jeT4NCiAgICAgICAgICA8L2RlcGVuZGVuY2llcz4NCiAgICAgICAg ICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgIDxlbmNvZGluZz5VVEYtODwvZW5jb2Rpbmc+ DQogICAgICAgICAgPC9jb25maWd1cmF0aW9uPg0KICAgICAgICA8L3BsdWdpbj4NCiAgICAgICAg PHBsdWdpbj4NCiAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1wbWQtcGx1Z2luPC9hcnRpZmFj dElkPg0KICAgICAgICAgIDx2ZXJzaW9uPjMuNzwvdmVyc2lvbj4NCiAgICAgICAgICA8ZXhlY3V0 aW9ucz4NCiAgICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAgICAgIDxpZD5wbWQ8L2lk Pg0KICAgICAgICAgICAgICA8cGhhc2U+dmFsaWRhdGU8L3BoYXNlPg0KICAgICAgICAgICAgICA8 Z29hbHM+DQogICAgICAgICAgICAgICAgPGdvYWw+Y2hlY2s8L2dvYWw+DQogICAgICAgICAgICAg IDwvZ29hbHM+DQogICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPg0KICAgICAgICAgICAgICAg IDxmYWlsT25WaW9sYXRpb24+ZmFsc2U8L2ZhaWxPblZpb2xhdGlvbj4NCiAgICAgICAgICAgICAg ICA8cnVsZXNldHM+DQogICAgICAgICAgICAgICAgICA8cnVsZXNldD5ydWxlc2V0cy9qYXZhL2Jh c2ljLnhtbDwvcnVsZXNldD4NCiAgICAgICAgICAgICAgICA8L3J1bGVzZXRzPg0KICAgICAgICAg ICAgICAgIDxzb3VyY2VFbmNvZGluZz5VVEYtODwvc291cmNlRW5jb2Rpbmc+DQogICAgICAgICAg ICAgICAgPHRhcmdldEpkaz4xLjg8L3RhcmdldEpkaz4NCiAgICAgICAgICAgICAgICA8dmVyYm9z ZT50cnVlPC92ZXJib3NlPg0KICAgICAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+DQogICAgICAg ICAgICA8L2V4ZWN1dGlvbj4NCiAgICAgICAgICA8L2V4ZWN1dGlvbnM+DQogICAgICAgICAgPGNv bmZpZ3VyYXRpb24+DQogICAgICAgICAgICA8ZmFpbE9uVmlvbGF0aW9uPmZhbHNlPC9mYWlsT25W aW9sYXRpb24+DQogICAgICAgICAgICA8cnVsZXNldHM+DQogICAgICAgICAgICAgIDxydWxlc2V0 PnJ1bGVzZXRzL2phdmEvYmFzaWMueG1sPC9ydWxlc2V0Pg0KICAgICAgICAgICAgPC9ydWxlc2V0 cz4NCiAgICAgICAgICAgIDxzb3VyY2VFbmNvZGluZz5VVEYtODwvc291cmNlRW5jb2Rpbmc+DQog ICAgICAgICAgICA8dGFyZ2V0SmRrPjEuODwvdGFyZ2V0SmRrPg0KICAgICAgICAgICAgPHZlcmJv c2U+dHJ1ZTwvdmVyYm9zZT4NCiAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+DQogICAgICAgIDwv cGx1Z2luPg0KICAgICAgICA8cGx1Z2luPg0KICAgICAgICAgIDxncm91cElkPm9yZy5jb2RlaGF1 cy5tb2pvPC9ncm91cElkPg0KICAgICAgICAgIDxhcnRpZmFjdElkPmZpbmRidWdzLW1hdmVuLXBs dWdpbjwvYXJ0aWZhY3RJZD4NCiAgICAgICAgICA8dmVyc2lvbj4zLjAuNDwvdmVyc2lvbj4NCiAg ICAgICAgICA8ZXhlY3V0aW9ucz4NCiAgICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAg ICAgIDxpZD5maW5kYnVnczwvaWQ+DQogICAgICAgICAgICAgIDxwaGFzZT5jb21waWxlPC9waGFz ZT4NCiAgICAgICAgICAgICAgPGdvYWxzPg0KICAgICAgICAgICAgICAgIDxnb2FsPmZpbmRidWdz PC9nb2FsPg0KICAgICAgICAgICAgICA8L2dvYWxzPg0KICAgICAgICAgICAgICA8Y29uZmlndXJh dGlvbj4NCiAgICAgICAgICAgICAgICA8ZWZmb3J0Pk1heDwvZWZmb3J0Pg0KICAgICAgICAgICAg ICAgIDx0aHJlc2hvbGQ+TG93PC90aHJlc2hvbGQ+DQogICAgICAgICAgICAgICAgPGVuY29kaW5n PlVURi04PC9lbmNvZGluZz4NCiAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPg0KICAgICAg ICAgICAgPC9leGVjdXRpb24+DQogICAgICAgICAgPC9leGVjdXRpb25zPg0KICAgICAgICAgIDxj b25maWd1cmF0aW9uPg0KICAgICAgICAgICAgPGVmZm9ydD5NYXg8L2VmZm9ydD4NCiAgICAgICAg ICAgIDx0aHJlc2hvbGQ+TG93PC90aHJlc2hvbGQ+DQogICAgICAgICAgICA8ZW5jb2Rpbmc+VVRG LTg8L2VuY29kaW5nPg0KICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4NCiAgICAgICAgPC9wbHVn aW4+DQogICAgICAgIDxwbHVnaW4+DQogICAgICAgICAgPGdyb3VwSWQ+b3JnLmNvZGVoYXVzLm1v am88L2dyb3VwSWQ+DQogICAgICAgICAgPGFydGlmYWN0SWQ+Y29iZXJ0dXJhLW1hdmVuLXBsdWdp bjwvYXJ0aWZhY3RJZD4NCiAgICAgICAgICA8dmVyc2lvbj4ke2NvYmVydHVyYS5wbHVnaW4udmVy c2lvbn08L3ZlcnNpb24+DQogICAgICAgICAgPGNvbmZpZ3VyYXRpb24+DQogICAgICAgICAgICA8 aW5zdHJ1bWVudGF0aW9uPg0KICAgICAgICAgICAgICA8aWdub3JlVHJpdmlhbD50cnVlPC9pZ25v cmVUcml2aWFsPg0KICAgICAgICAgICAgPC9pbnN0cnVtZW50YXRpb24+DQogICAgICAgICAgPC9j b25maWd1cmF0aW9uPg0KICAgICAgICA8L3BsdWdpbj4NCiAgICAgICAgPHBsdWdpbj4NCiAgICAg ICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1zdXJlZmlyZS1wbHVnaW48L2FydGlmYWN0SWQ+DQogICAg ICAgICAgPHZlcnNpb24+Mi4yMC4xPC92ZXJzaW9uPg0KICAgICAgICAgIDxjb25maWd1cmF0aW9u Pg0KICAgICAgICAgICAgPGV4Y2x1ZGVzPg0KICAgICAgICAgICAgICA8ZXhjbHVkZT4qKi8qSW50 ZWdyYXRpb25UZXN0LmphdmE8L2V4Y2x1ZGU+DQogICAgICAgICAgICAgIDxleGNsdWRlPioqLypB Y2NlcHRhbmNlVGVzdC5qYXZhPC9leGNsdWRlPg0KICAgICAgICAgICAgPC9leGNsdWRlcz4NCiAg ICAgICAgICAgIDxmb3JrQ291bnQ+MTwvZm9ya0NvdW50Pg0KICAgICAgICAgICAgPHJldXNlRm9y a3M+ZmFsc2U8L3JldXNlRm9ya3M+DQogICAgICAgICAgICA8cmVkaXJlY3RUZXN0T3V0cHV0VG9G aWxlPnRydWU8L3JlZGlyZWN0VGVzdE91dHB1dFRvRmlsZT4NCiAgICAgICAgICAgIDxhcmdMaW5l Pi1YbXgyMDQ4bTwvYXJnTGluZT4NCiAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+DQogICAgICAg IDwvcGx1Z2luPg0KICAgICAgICA8cGx1Z2luPg0KICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVu LWZhaWxzYWZlLXBsdWdpbjwvYXJ0aWZhY3RJZD4NCiAgICAgICAgICA8dmVyc2lvbj4yLjIwLjE8 L3ZlcnNpb24+DQogICAgICAgIDwvcGx1Z2luPg0KICAgICAgICA8cGx1Z2luPg0KICAgICAgICAg IDxncm91cElkPm9yZy5lY2xpcHNlLm0yZTwvZ3JvdXBJZD4NCiAgICAgICAgICA8YXJ0aWZhY3RJ ZD5saWZlY3ljbGUtbWFwcGluZzwvYXJ0aWZhY3RJZD4NCiAgICAgICAgICA8dmVyc2lvbj4xLjAu MDwvdmVyc2lvbj4NCiAgICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgIDxsaWZl Y3ljbGVNYXBwaW5nTWV0YWRhdGE+DQogICAgICAgICAgICAgIDxwbHVnaW5FeGVjdXRpb25zPg0K ICAgICAgICAgICAgICAgIDxwbHVnaW5FeGVjdXRpb24+DQogICAgICAgICAgICAgICAgICA8cGx1 Z2luRXhlY3V0aW9uRmlsdGVyPg0KICAgICAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBh Y2hlLnNlcnZpY2VtaXgudG9vbGluZzwvZ3JvdXBJZD4NCiAgICAgICAgICAgICAgICAgICAgPGFy dGlmYWN0SWQ+ZGVwZW5kcy1tYXZlbi1wbHVnaW48L2FydGlmYWN0SWQ+DQogICAgICAgICAgICAg ICAgICAgIDx2ZXJzaW9uUmFuZ2U+WzEuMiwpPC92ZXJzaW9uUmFuZ2U+DQogICAgICAgICAgICAg ICAgICAgIDxnb2Fscz4NCiAgICAgICAgICAgICAgICAgICAgICA8Z29hbD5nZW5lcmF0ZS1kZXBl bmRzLWZpbGU8L2dvYWw+DQogICAgICAgICAgICAgICAgICAgIDwvZ29hbHM+DQogICAgICAgICAg ICAgICAgICA8L3BsdWdpbkV4ZWN1dGlvbkZpbHRlcj4NCiAgICAgICAgICAgICAgICAgIDxhY3Rp b24+DQogICAgICAgICAgICAgICAgICAgIDxpZ25vcmU+PC9pZ25vcmU+DQogICAgICAgICAgICAg ICAgICA8L2FjdGlvbj4NCiAgICAgICAgICAgICAgICA8L3BsdWdpbkV4ZWN1dGlvbj4NCiAgICAg ICAgICAgICAgPC9wbHVnaW5FeGVjdXRpb25zPg0KICAgICAgICAgICAgPC9saWZlY3ljbGVNYXBw aW5nTWV0YWRhdGE+DQogICAgICAgICAgPC9jb25maWd1cmF0aW9uPg0KICAgICAgICA8L3BsdWdp bj4NCiAgICAgIDwvcGx1Z2lucz4NCiAgICA8L3BsdWdpbk1hbmFnZW1lbnQ+DQogICAgPHBsdWdp bnM+DQogICAgICA8cGx1Z2luPg0KICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1zb3VyY2UtcGx1 Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICA8dmVyc2lvbj4zLjAuMTwvdmVyc2lvbj4NCiAgICAg ICAgPGV4ZWN1dGlvbnM+DQogICAgICAgICAgPGV4ZWN1dGlvbj4NCiAgICAgICAgICAgIDxpZD5h dHRhY2gtc291cmNlczwvaWQ+DQogICAgICAgICAgICA8Z29hbHM+DQogICAgICAgICAgICAgIDxn b2FsPmphcjwvZ29hbD4NCiAgICAgICAgICAgIDwvZ29hbHM+DQogICAgICAgICAgPC9leGVjdXRp b24+DQogICAgICAgIDwvZXhlY3V0aW9ucz4NCiAgICAgIDwvcGx1Z2luPg0KICAgICAgPHBsdWdp bj4NCiAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tY2hlY2tzdHlsZS1wbHVnaW48L2FydGlmYWN0 SWQ+DQogICAgICAgIDx2ZXJzaW9uPjIuMTc8L3ZlcnNpb24+DQogICAgICAgIDxleGVjdXRpb25z Pg0KICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAgICA8aWQ+Y2hlY2tzdHlsZTwvaWQ+ DQogICAgICAgICAgICA8cGhhc2U+dmFsaWRhdGU8L3BoYXNlPg0KICAgICAgICAgICAgPGdvYWxz Pg0KICAgICAgICAgICAgICA8Z29hbD5jaGVja3N0eWxlPC9nb2FsPg0KICAgICAgICAgICAgPC9n b2Fscz4NCiAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPg0KICAgICAgICAgICAgICA8Y29uc29s ZU91dHB1dD50cnVlPC9jb25zb2xlT3V0cHV0Pg0KICAgICAgICAgICAgICA8ZmFpbHNPbkVycm9y PnRydWU8L2ZhaWxzT25FcnJvcj4NCiAgICAgICAgICAgICAgPGxpbmtYUmVmPmZhbHNlPC9saW5r WFJlZj4NCiAgICAgICAgICAgICAgPGVuY29kaW5nPlVURi04PC9lbmNvZGluZz4NCiAgICAgICAg ICAgIDwvY29uZmlndXJhdGlvbj4NCiAgICAgICAgICA8L2V4ZWN1dGlvbj4NCiAgICAgICAgPC9l eGVjdXRpb25zPg0KICAgICAgICA8ZGVwZW5kZW5jaWVzPg0KICAgICAgICAgIDxkZXBlbmRlbmN5 Pg0KICAgICAgICAgICAgPGdyb3VwSWQ+Y29tLnB1cHB5Y3Jhd2wudG9vbHM8L2dyb3VwSWQ+DQog ICAgICAgICAgICA8YXJ0aWZhY3RJZD5jaGVja3N0eWxlPC9hcnRpZmFjdElkPg0KICAgICAgICAg ICAgPHZlcnNpb24+Ny43PC92ZXJzaW9uPg0KICAgICAgICAgICAgPHNjb3BlPmNvbXBpbGU8L3Nj b3BlPg0KICAgICAgICAgIDwvZGVwZW5kZW5jeT4NCiAgICAgICAgPC9kZXBlbmRlbmNpZXM+DQog ICAgICAgIDxjb25maWd1cmF0aW9uPg0KICAgICAgICAgIDxlbmNvZGluZz5VVEYtODwvZW5jb2Rp bmc+DQogICAgICAgIDwvY29uZmlndXJhdGlvbj4NCiAgICAgIDwvcGx1Z2luPg0KICAgICAgPHBs dWdpbj4NCiAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tcG1kLXBsdWdpbjwvYXJ0aWZhY3RJZD4N CiAgICAgICAgPHZlcnNpb24+My43PC92ZXJzaW9uPg0KICAgICAgICA8ZXhlY3V0aW9ucz4NCiAg ICAgICAgICA8ZXhlY3V0aW9uPg0KICAgICAgICAgICAgPGlkPnBtZDwvaWQ+DQogICAgICAgICAg ICA8cGhhc2U+dmFsaWRhdGU8L3BoYXNlPg0KICAgICAgICAgICAgPGdvYWxzPg0KICAgICAgICAg ICAgICA8Z29hbD5jaGVjazwvZ29hbD4NCiAgICAgICAgICAgIDwvZ29hbHM+DQogICAgICAgICAg ICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgICAgPGZhaWxPblZpb2xhdGlvbj5mYWxzZTwv ZmFpbE9uVmlvbGF0aW9uPg0KICAgICAgICAgICAgICA8cnVsZXNldHM+DQogICAgICAgICAgICAg ICAgPHJ1bGVzZXQ+cnVsZXNldHMvamF2YS9iYXNpYy54bWw8L3J1bGVzZXQ+DQogICAgICAgICAg ICAgIDwvcnVsZXNldHM+DQogICAgICAgICAgICAgIDxzb3VyY2VFbmNvZGluZz5VVEYtODwvc291 cmNlRW5jb2Rpbmc+DQogICAgICAgICAgICAgIDx0YXJnZXRKZGs+MS44PC90YXJnZXRKZGs+DQog ICAgICAgICAgICAgIDx2ZXJib3NlPnRydWU8L3ZlcmJvc2U+DQogICAgICAgICAgICA8L2NvbmZp Z3VyYXRpb24+DQogICAgICAgICAgPC9leGVjdXRpb24+DQogICAgICAgIDwvZXhlY3V0aW9ucz4N CiAgICAgICAgPGNvbmZpZ3VyYXRpb24+DQogICAgICAgICAgPGZhaWxPblZpb2xhdGlvbj5mYWxz ZTwvZmFpbE9uVmlvbGF0aW9uPg0KICAgICAgICAgIDxydWxlc2V0cz4NCiAgICAgICAgICAgIDxy dWxlc2V0PnJ1bGVzZXRzL2phdmEvYmFzaWMueG1sPC9ydWxlc2V0Pg0KICAgICAgICAgIDwvcnVs ZXNldHM+DQogICAgICAgICAgPHNvdXJjZUVuY29kaW5nPlVURi04PC9zb3VyY2VFbmNvZGluZz4N CiAgICAgICAgICA8dGFyZ2V0SmRrPjEuODwvdGFyZ2V0SmRrPg0KICAgICAgICAgIDx2ZXJib3Nl PnRydWU8L3ZlcmJvc2U+DQogICAgICAgIDwvY29uZmlndXJhdGlvbj4NCiAgICAgIDwvcGx1Z2lu Pg0KICAgICAgPHBsdWdpbj4NCiAgICAgICAgPGdyb3VwSWQ+b3JnLmNvZGVoYXVzLm1vam88L2dy b3VwSWQ+DQogICAgICAgIDxhcnRpZmFjdElkPmZpbmRidWdzLW1hdmVuLXBsdWdpbjwvYXJ0aWZh Y3RJZD4NCiAgICAgICAgPHZlcnNpb24+My4wLjQ8L3ZlcnNpb24+DQogICAgICAgIDxleGVjdXRp b25zPg0KICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAgICA8aWQ+ZmluZGJ1Z3M8L2lk Pg0KICAgICAgICAgICAgPHBoYXNlPmNvbXBpbGU8L3BoYXNlPg0KICAgICAgICAgICAgPGdvYWxz Pg0KICAgICAgICAgICAgICA8Z29hbD5maW5kYnVnczwvZ29hbD4NCiAgICAgICAgICAgIDwvZ29h bHM+DQogICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgICAgPGVmZm9ydD5N YXg8L2VmZm9ydD4NCiAgICAgICAgICAgICAgPHRocmVzaG9sZD5Mb3c8L3RocmVzaG9sZD4NCiAg ICAgICAgICAgICAgPGVuY29kaW5nPlVURi04PC9lbmNvZGluZz4NCiAgICAgICAgICAgIDwvY29u ZmlndXJhdGlvbj4NCiAgICAgICAgICA8L2V4ZWN1dGlvbj4NCiAgICAgICAgPC9leGVjdXRpb25z Pg0KICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICA8ZWZmb3J0Pk1heDwvZWZmb3J0 Pg0KICAgICAgICAgIDx0aHJlc2hvbGQ+TG93PC90aHJlc2hvbGQ+DQogICAgICAgICAgPGVuY29k aW5nPlVURi04PC9lbmNvZGluZz4NCiAgICAgICAgPC9jb25maWd1cmF0aW9uPg0KICAgICAgPC9w bHVnaW4+DQogICAgICA8cGx1Z2luPg0KICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmZlbGl4 PC9ncm91cElkPg0KICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1idW5kbGUtcGx1Z2luPC9hcnRp ZmFjdElkPg0KICAgICAgICA8dmVyc2lvbj4zLjMuMDwvdmVyc2lvbj4NCiAgICAgICAgPGV4dGVu c2lvbnM+dHJ1ZTwvZXh0ZW5zaW9ucz4NCiAgICAgICAgPGV4ZWN1dGlvbnM+DQogICAgICAgICAg PGV4ZWN1dGlvbj4NCiAgICAgICAgICAgIDxpZD5kZWZhdWx0LWJ1bmRsZTwvaWQ+DQogICAgICAg ICAgICA8cGhhc2U+cGFja2FnZTwvcGhhc2U+DQogICAgICAgICAgICA8Z29hbHM+DQogICAgICAg ICAgICAgIDxnb2FsPmJ1bmRsZTwvZ29hbD4NCiAgICAgICAgICAgIDwvZ29hbHM+DQogICAgICAg ICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgICAgPG1hbmlmZXN0TG9jYXRpb24+TUVU QS1JTkY8L21hbmlmZXN0TG9jYXRpb24+DQogICAgICAgICAgICAgIDxpbnN0cnVjdGlvbnM+DQog ICAgICAgICAgICAgICAgPEJ1bmRsZS1TeW1ib2xpY05hbWU+aXRtcy1ldmVudGJ1cy1pdGVzdDwv QnVuZGxlLVN5bWJvbGljTmFtZT4NCiAgICAgICAgICAgICAgICA8QnVuZGxlLVZlcnNpb24+My4z LjEuMS1TTkFQU0hPVDwvQnVuZGxlLVZlcnNpb24+DQogICAgICAgICAgICAgICAgPF9pbmNsdWRl Pm9zZ2kuYm5kPC9faW5jbHVkZT4NCiAgICAgICAgICAgICAgPC9pbnN0cnVjdGlvbnM+DQogICAg ICAgICAgICA8L2NvbmZpZ3VyYXRpb24+DQogICAgICAgICAgPC9leGVjdXRpb24+DQogICAgICAg ICAgPGV4ZWN1dGlvbj4NCiAgICAgICAgICAgIDxpZD5kZWZhdWx0LWluc3RhbGw8L2lkPg0KICAg ICAgICAgICAgPHBoYXNlPmluc3RhbGw8L3BoYXNlPg0KICAgICAgICAgICAgPGdvYWxzPg0KICAg ICAgICAgICAgICA8Z29hbD5pbnN0YWxsPC9nb2FsPg0KICAgICAgICAgICAgPC9nb2Fscz4NCiAg ICAgICAgICAgIDxjb25maWd1cmF0aW9uPg0KICAgICAgICAgICAgICA8bWFuaWZlc3RMb2NhdGlv bj5NRVRBLUlORjwvbWFuaWZlc3RMb2NhdGlvbj4NCiAgICAgICAgICAgICAgPGluc3RydWN0aW9u cz4NCiAgICAgICAgICAgICAgICA8QnVuZGxlLVN5bWJvbGljTmFtZT5pdG1zLWV2ZW50YnVzLWl0 ZXN0PC9CdW5kbGUtU3ltYm9saWNOYW1lPg0KICAgICAgICAgICAgICAgIDxCdW5kbGUtVmVyc2lv bj4zLjMuMS4xLVNOQVBTSE9UPC9CdW5kbGUtVmVyc2lvbj4NCiAgICAgICAgICAgICAgICA8X2lu Y2x1ZGU+b3NnaS5ibmQ8L19pbmNsdWRlPg0KICAgICAgICAgICAgICA8L2luc3RydWN0aW9ucz4N CiAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4NCiAgICAgICAgICA8L2V4ZWN1dGlvbj4NCiAg ICAgICAgICA8ZXhlY3V0aW9uPg0KICAgICAgICAgICAgPGlkPmRlZmF1bHQtZGVwbG95PC9pZD4N CiAgICAgICAgICAgIDxwaGFzZT5kZXBsb3k8L3BoYXNlPg0KICAgICAgICAgICAgPGdvYWxzPg0K ICAgICAgICAgICAgICA8Z29hbD5kZXBsb3k8L2dvYWw+DQogICAgICAgICAgICA8L2dvYWxzPg0K ICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+DQogICAgICAgICAgICAgIDxtYW5pZmVzdExvY2F0 aW9uPk1FVEEtSU5GPC9tYW5pZmVzdExvY2F0aW9uPg0KICAgICAgICAgICAgICA8aW5zdHJ1Y3Rp b25zPg0KICAgICAgICAgICAgICAgIDxCdW5kbGUtU3ltYm9saWNOYW1lPml0bXMtZXZlbnRidXMt aXRlc3Q8L0J1bmRsZS1TeW1ib2xpY05hbWU+DQogICAgICAgICAgICAgICAgPEJ1bmRsZS1WZXJz aW9uPjMuMy4xLjEtU05BUFNIT1Q8L0J1bmRsZS1WZXJzaW9uPg0KICAgICAgICAgICAgICAgIDxf aW5jbHVkZT5vc2dpLmJuZDwvX2luY2x1ZGU+DQogICAgICAgICAgICAgIDwvaW5zdHJ1Y3Rpb25z Pg0KICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPg0KICAgICAgICAgIDwvZXhlY3V0aW9uPg0K ICAgICAgICA8L2V4ZWN1dGlvbnM+DQogICAgICAgIDxjb25maWd1cmF0aW9uPg0KICAgICAgICAg IDxtYW5pZmVzdExvY2F0aW9uPk1FVEEtSU5GPC9tYW5pZmVzdExvY2F0aW9uPg0KICAgICAgICAg IDxpbnN0cnVjdGlvbnM+DQogICAgICAgICAgICA8QnVuZGxlLVN5bWJvbGljTmFtZT5pdG1zLWV2 ZW50YnVzLWl0ZXN0PC9CdW5kbGUtU3ltYm9saWNOYW1lPg0KICAgICAgICAgICAgPEJ1bmRsZS1W ZXJzaW9uPjMuMy4xLjEtU05BUFNIT1Q8L0J1bmRsZS1WZXJzaW9uPg0KICAgICAgICAgICAgPF9p bmNsdWRlPm9zZ2kuYm5kPC9faW5jbHVkZT4NCiAgICAgICAgICA8L2luc3RydWN0aW9ucz4NCiAg ICAgICAgPC9jb25maWd1cmF0aW9uPg0KICAgICAgPC9wbHVnaW4+DQogICAgICA8cGx1Z2luPg0K ICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1jb21waWxlci1wbHVnaW48L2FydGlmYWN0SWQ+DQog ICAgICAgIDx2ZXJzaW9uPjMuNy4wPC92ZXJzaW9uPg0KICAgICAgICA8ZXhlY3V0aW9ucz4NCiAg ICAgICAgICA8ZXhlY3V0aW9uPg0KICAgICAgICAgICAgPGlkPmRlZmF1bHQtY29tcGlsZTwvaWQ+ DQogICAgICAgICAgICA8cGhhc2U+Y29tcGlsZTwvcGhhc2U+DQogICAgICAgICAgICA8Z29hbHM+ DQogICAgICAgICAgICAgIDxnb2FsPmNvbXBpbGU8L2dvYWw+DQogICAgICAgICAgICA8L2dvYWxz Pg0KICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+DQogICAgICAgICAgICAgIDxzb3VyY2U+MS44 PC9zb3VyY2U+DQogICAgICAgICAgICAgIDx0YXJnZXQ+MS44PC90YXJnZXQ+DQogICAgICAgICAg ICA8L2NvbmZpZ3VyYXRpb24+DQogICAgICAgICAgPC9leGVjdXRpb24+DQogICAgICAgICAgPGV4 ZWN1dGlvbj4NCiAgICAgICAgICAgIDxpZD5kZWZhdWx0LXRlc3RDb21waWxlPC9pZD4NCiAgICAg ICAgICAgIDxwaGFzZT50ZXN0LWNvbXBpbGU8L3BoYXNlPg0KICAgICAgICAgICAgPGdvYWxzPg0K ICAgICAgICAgICAgICA8Z29hbD50ZXN0Q29tcGlsZTwvZ29hbD4NCiAgICAgICAgICAgIDwvZ29h bHM+DQogICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgICAgPHNvdXJjZT4x Ljg8L3NvdXJjZT4NCiAgICAgICAgICAgICAgPHRhcmdldD4xLjg8L3RhcmdldD4NCiAgICAgICAg ICAgIDwvY29uZmlndXJhdGlvbj4NCiAgICAgICAgICA8L2V4ZWN1dGlvbj4NCiAgICAgICAgPC9l eGVjdXRpb25zPg0KICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICA8c291cmNlPjEu ODwvc291cmNlPg0KICAgICAgICAgIDx0YXJnZXQ+MS44PC90YXJnZXQ+DQogICAgICAgIDwvY29u ZmlndXJhdGlvbj4NCiAgICAgIDwvcGx1Z2luPg0KICAgICAgPHBsdWdpbj4NCiAgICAgICAgPGFy dGlmYWN0SWQ+bWF2ZW4tY2xlYW4tcGx1Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICA8dmVyc2lv bj4zLjAuMDwvdmVyc2lvbj4NCiAgICAgICAgPGV4ZWN1dGlvbnM+DQogICAgICAgICAgPGV4ZWN1 dGlvbj4NCiAgICAgICAgICAgIDxpZD5kZWZhdWx0LWNsZWFuPC9pZD4NCiAgICAgICAgICAgIDxw aGFzZT5jbGVhbjwvcGhhc2U+DQogICAgICAgICAgICA8Z29hbHM+DQogICAgICAgICAgICAgIDxn b2FsPmNsZWFuPC9nb2FsPg0KICAgICAgICAgICAgPC9nb2Fscz4NCiAgICAgICAgICA8L2V4ZWN1 dGlvbj4NCiAgICAgICAgPC9leGVjdXRpb25zPg0KICAgICAgPC9wbHVnaW4+DQogICAgICA8cGx1 Z2luPg0KICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLnNlcnZpY2VtaXgudG9vbGluZzwvZ3Jv dXBJZD4NCiAgICAgICAgPGFydGlmYWN0SWQ+ZGVwZW5kcy1tYXZlbi1wbHVnaW48L2FydGlmYWN0 SWQ+DQogICAgICAgIDx2ZXJzaW9uPjEuNC4wPC92ZXJzaW9uPg0KICAgICAgICA8ZXhlY3V0aW9u cz4NCiAgICAgICAgICA8ZXhlY3V0aW9uPg0KICAgICAgICAgICAgPGlkPmdlbmVyYXRlLWRlcGVu ZHMtZmlsZTwvaWQ+DQogICAgICAgICAgICA8Z29hbHM+DQogICAgICAgICAgICAgIDxnb2FsPmdl bmVyYXRlLWRlcGVuZHMtZmlsZTwvZ29hbD4NCiAgICAgICAgICAgIDwvZ29hbHM+DQogICAgICAg ICAgPC9leGVjdXRpb24+DQogICAgICAgIDwvZXhlY3V0aW9ucz4NCiAgICAgIDwvcGx1Z2luPg0K ICAgICAgPHBsdWdpbj4NCiAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tc3VyZWZpcmUtcGx1Z2lu PC9hcnRpZmFjdElkPg0KICAgICAgICA8dmVyc2lvbj4yLjIwLjE8L3ZlcnNpb24+DQogICAgICAg IDxleGVjdXRpb25zPg0KICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAgICA8aWQ+ZGVm YXVsdC10ZXN0PC9pZD4NCiAgICAgICAgICAgIDxwaGFzZT50ZXN0PC9waGFzZT4NCiAgICAgICAg ICAgIDxnb2Fscz4NCiAgICAgICAgICAgICAgPGdvYWw+dGVzdDwvZ29hbD4NCiAgICAgICAgICAg IDwvZ29hbHM+DQogICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgICAgPGZv cmtDb3VudD4xPC9mb3JrQ291bnQ+DQogICAgICAgICAgICAgIDxyZXVzZUZvcmtzPmZhbHNlPC9y ZXVzZUZvcmtzPg0KICAgICAgICAgICAgICA8cmVkaXJlY3RUZXN0T3V0cHV0VG9GaWxlPnRydWU8 L3JlZGlyZWN0VGVzdE91dHB1dFRvRmlsZT4NCiAgICAgICAgICAgICAgPGFyZ0xpbmU+LVhteDI1 Nm08L2FyZ0xpbmU+DQogICAgICAgICAgICAgIDxleGNsdWRlcz4NCiAgICAgICAgICAgICAgICA8 ZXhjbHVkZT4qKi8qSW50ZWdyYXRpb25UZXN0LmphdmE8L2V4Y2x1ZGU+DQogICAgICAgICAgICAg ICAgPGV4Y2x1ZGU+KiovKkFjY2VwdGFuY2VUZXN0LmphdmE8L2V4Y2x1ZGU+DQogICAgICAgICAg ICAgIDwvZXhjbHVkZXM+DQogICAgICAgICAgICAgIDxzeXN0ZW1Qcm9wZXJ0eVZhcmlhYmxlcz4N CiAgICAgICAgICAgICAgICA8YWN0aXZlbXFWZXJzaW9uPjUuMTUuMDwvYWN0aXZlbXFWZXJzaW9u Pg0KICAgICAgICAgICAgICAgIDxrYXJhZlZlcnNpb24+NC4wLjk8L2thcmFmVmVyc2lvbj4NCiAg ICAgICAgICAgICAgPC9zeXN0ZW1Qcm9wZXJ0eVZhcmlhYmxlcz4NCiAgICAgICAgICAgIDwvY29u ZmlndXJhdGlvbj4NCiAgICAgICAgICA8L2V4ZWN1dGlvbj4NCiAgICAgICAgPC9leGVjdXRpb25z Pg0KICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICA8Zm9ya0NvdW50PjE8L2ZvcmtD b3VudD4NCiAgICAgICAgICA8cmV1c2VGb3Jrcz5mYWxzZTwvcmV1c2VGb3Jrcz4NCiAgICAgICAg ICA8cmVkaXJlY3RUZXN0T3V0cHV0VG9GaWxlPnRydWU8L3JlZGlyZWN0VGVzdE91dHB1dFRvRmls ZT4NCiAgICAgICAgICA8YXJnTGluZT4tWG14MjU2bTwvYXJnTGluZT4NCiAgICAgICAgICA8ZXhj bHVkZXM+DQogICAgICAgICAgICA8ZXhjbHVkZT4qKi8qSW50ZWdyYXRpb25UZXN0LmphdmE8L2V4 Y2x1ZGU+DQogICAgICAgICAgICA8ZXhjbHVkZT4qKi8qQWNjZXB0YW5jZVRlc3QuamF2YTwvZXhj bHVkZT4NCiAgICAgICAgICA8L2V4Y2x1ZGVzPg0KICAgICAgICAgIDxzeXN0ZW1Qcm9wZXJ0eVZh cmlhYmxlcz4NCiAgICAgICAgICAgIDxhY3RpdmVtcVZlcnNpb24+NS4xNS4wPC9hY3RpdmVtcVZl cnNpb24+DQogICAgICAgICAgICA8a2FyYWZWZXJzaW9uPjQuMC45PC9rYXJhZlZlcnNpb24+DQog ICAgICAgICAgPC9zeXN0ZW1Qcm9wZXJ0eVZhcmlhYmxlcz4NCiAgICAgICAgPC9jb25maWd1cmF0 aW9uPg0KICAgICAgPC9wbHVnaW4+DQogICAgICA8cGx1Z2luPg0KICAgICAgICA8YXJ0aWZhY3RJ ZD5tYXZlbi1yZXNvdXJjZXMtcGx1Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICA8ZXhlY3V0aW9u cz4NCiAgICAgICAgICA8ZXhlY3V0aW9uPg0KICAgICAgICAgICAgPGlkPmRlZmF1bHQtdGVzdFJl c291cmNlczwvaWQ+DQogICAgICAgICAgICA8cGhhc2U+cHJvY2Vzcy10ZXN0LXJlc291cmNlczwv cGhhc2U+DQogICAgICAgICAgICA8Z29hbHM+DQogICAgICAgICAgICAgIDxnb2FsPnRlc3RSZXNv dXJjZXM8L2dvYWw+DQogICAgICAgICAgICA8L2dvYWxzPg0KICAgICAgICAgIDwvZXhlY3V0aW9u Pg0KICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAgICA8aWQ+ZGVmYXVsdC1yZXNvdXJj ZXM8L2lkPg0KICAgICAgICAgICAgPHBoYXNlPnByb2Nlc3MtcmVzb3VyY2VzPC9waGFzZT4NCiAg ICAgICAgICAgIDxnb2Fscz4NCiAgICAgICAgICAgICAgPGdvYWw+cmVzb3VyY2VzPC9nb2FsPg0K ICAgICAgICAgICAgPC9nb2Fscz4NCiAgICAgICAgICA8L2V4ZWN1dGlvbj4NCiAgICAgICAgPC9l eGVjdXRpb25zPg0KICAgICAgPC9wbHVnaW4+DQogICAgICA8cGx1Z2luPg0KICAgICAgICA8YXJ0 aWZhY3RJZD5tYXZlbi1pbnN0YWxsLXBsdWdpbjwvYXJ0aWZhY3RJZD4NCiAgICAgICAgPGV4ZWN1 dGlvbnM+DQogICAgICAgICAgPGV4ZWN1dGlvbj4NCiAgICAgICAgICAgIDxpZD5kZWZhdWx0LWlu c3RhbGw8L2lkPg0KICAgICAgICAgICAgPHBoYXNlPmluc3RhbGw8L3BoYXNlPg0KICAgICAgICAg ICAgPGdvYWxzPg0KICAgICAgICAgICAgICA8Z29hbD5pbnN0YWxsPC9nb2FsPg0KICAgICAgICAg ICAgPC9nb2Fscz4NCiAgICAgICAgICA8L2V4ZWN1dGlvbj4NCiAgICAgICAgPC9leGVjdXRpb25z Pg0KICAgICAgPC9wbHVnaW4+DQogICAgICA8cGx1Z2luPg0KICAgICAgICA8YXJ0aWZhY3RJZD5t YXZlbi1kZXBsb3ktcGx1Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICA8ZXhlY3V0aW9ucz4NCiAg ICAgICAgICA8ZXhlY3V0aW9uPg0KICAgICAgICAgICAgPGlkPmRlZmF1bHQtZGVwbG95PC9pZD4N CiAgICAgICAgICAgIDxwaGFzZT5kZXBsb3k8L3BoYXNlPg0KICAgICAgICAgICAgPGdvYWxzPg0K ICAgICAgICAgICAgICA8Z29hbD5kZXBsb3k8L2dvYWw+DQogICAgICAgICAgICA8L2dvYWxzPg0K ICAgICAgICAgIDwvZXhlY3V0aW9uPg0KICAgICAgICA8L2V4ZWN1dGlvbnM+DQogICAgICA8L3Bs dWdpbj4NCiAgICAgIDxwbHVnaW4+DQogICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLXNpdGUtcGx1 Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICA8dmVyc2lvbj4zLjM8L3ZlcnNpb24+DQogICAgICAg IDxleGVjdXRpb25zPg0KICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAgICA8aWQ+ZGVm YXVsdC1zaXRlPC9pZD4NCiAgICAgICAgICAgIDxwaGFzZT5zaXRlPC9waGFzZT4NCiAgICAgICAg ICAgIDxnb2Fscz4NCiAgICAgICAgICAgICAgPGdvYWw+c2l0ZTwvZ29hbD4NCiAgICAgICAgICAg IDwvZ29hbHM+DQogICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4NCiAgICAgICAgICAgICAgPHJl cG9ydFBsdWdpbnM+DQogICAgICAgICAgICAgICAgPHJlcG9ydFBsdWdpbj4NCiAgICAgICAgICAg ICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4NCiAgICAg ICAgICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLXByb2plY3QtaW5mby1yZXBvcnRzLXBsdWdp bjwvYXJ0aWZhY3RJZD4NCiAgICAgICAgICAgICAgICA8L3JlcG9ydFBsdWdpbj4NCiAgICAgICAg ICAgICAgPC9yZXBvcnRQbHVnaW5zPg0KICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPg0KICAg ICAgICAgIDwvZXhlY3V0aW9uPg0KICAgICAgICAgIDxleGVjdXRpb24+DQogICAgICAgICAgICA8 aWQ+ZGVmYXVsdC1kZXBsb3k8L2lkPg0KICAgICAgICAgICAgPHBoYXNlPnNpdGUtZGVwbG95PC9w aGFzZT4NCiAgICAgICAgICAgIDxnb2Fscz4NCiAgICAgICAgICAgICAgPGdvYWw+ZGVwbG95PC9n b2FsPg0KICAgICAgICAgICAgPC9nb2Fscz4NCiAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPg0K ICAgICAgICAgICAgICA8cmVwb3J0UGx1Z2lucz4NCiAgICAgICAgICAgICAgICA8cmVwb3J0UGx1 Z2luPg0KICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5z PC9ncm91cElkPg0KICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tcHJvamVjdC1p bmZvLXJlcG9ydHMtcGx1Z2luPC9hcnRpZmFjdElkPg0KICAgICAgICAgICAgICAgIDwvcmVwb3J0 UGx1Z2luPg0KICAgICAgICAgICAgICA8L3JlcG9ydFBsdWdpbnM+DQogICAgICAgICAgICA8L2Nv bmZpZ3VyYXRpb24+DQogICAgICAgICAgPC9leGVjdXRpb24+DQogICAgICAgIDwvZXhlY3V0aW9u cz4NCiAgICAgICAgPGNvbmZpZ3VyYXRpb24+DQogICAgICAgICAgPHJlcG9ydFBsdWdpbnM+DQog ICAgICAgICAgICA8cmVwb3J0UGx1Z2luPg0KICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBh Y2hlLm1hdmVuLnBsdWdpbnM8L2dyb3VwSWQ+DQogICAgICAgICAgICAgIDxhcnRpZmFjdElkPm1h dmVuLXByb2plY3QtaW5mby1yZXBvcnRzLXBsdWdpbjwvYXJ0aWZhY3RJZD4NCiAgICAgICAgICAg IDwvcmVwb3J0UGx1Z2luPg0KICAgICAgICAgIDwvcmVwb3J0UGx1Z2lucz4NCiAgICAgICAgPC9j b25maWd1cmF0aW9uPg0KICAgICAgPC9wbHVnaW4+DQogICAgPC9wbHVnaW5zPg0KICA8L2J1aWxk Pg0KICAuLi4uDQo8L3Byb2plY3Q+DQo= --94eb2c12efb4b52ad8055ab4eeaf--