Re: Wrong namespace prefix in generated documents?
Michael Bishop <[email protected]> Mon, 18 Aug 2014 13:56:06 -0400
| Newsgroups | gmane.text.xml.xmlbeans.user |
|---|---|
| Message-ID | <CAAenQJdob_hO_V7RjmqiW0HWCoCkvwBpk1ciTBw2f=XL-sqfLw@mail.gmail.com> |
--20cf307f30f8c50cc70500eb158f Content-Type: text/plain; charset=UTF-8 Hi Peter and thanks for the explanation. It's been awhile; I've been on vacation for a week. Anyway, I tried what you said about the XPath expressions and it looks like you're correct. I'm using the Java core XPath libraries and the prefix I set in an instance of NamespaceContext is what dictates how the expression is evaluated. So two documents: <xxx:root xmlns:xxx="a"/> and <yyy:root xmlns:yyy="a"/> can both be successfully queried with "//xxx:root" as long as the NamespaceContext object maps the "xxx" prefix to the "a" namespace. In short, the NamespaceContext for the XPath statement takes precedence and the prefixes in the document are not significant. Our project produces both a file specification and an application that helps create specification compliant documents. However, someone could create their own document outside of the application and use whatever prefix they wish. So we have to accept different prefixes; a scenario I did not consider previously. Our application also exposes APIs and allows users to create plugins, so they would be able to access the XMLBeans-generated classes directly. We'd have mismatching prefixes if we used XmlOptions for output that a plugin developer did not. Your explanation has helped me understand these issues and when/why prefixes are/aren't significant and I've been able to write unit tests to demonstrate the understood behavior. FWIW, the reason I'm using the Java core libraries for XPath is because I can't get XMLBeans to do it correctly inside the NetBeans platform. XMLBeans can't find supporting libraries across module dependencies due to class path issues; each module has its own class path and XMLBeans only checks it's own. Michael On Fri, Aug 8, 2014 at 6:58 AM, Peter Keller <[email protected]> wrote: > Hi Michael, > > OK - now this is getting to the heart of the question... > > On Thu, 2014-08-07 at 16:02 -0400, Michael Bishop wrote: > > Hi Peter, > > > > You're right, I came across that table recently since I've been > > working at this problem most of the day. Let me share one more thing > > I've discovered. It appears that XMLBeans has always been ignoring my > > namespace prefixes. In URL form, it will use the last "token" and in > > URN form, it will use the first: > > > > > > xmlns:aaa="http://test.example.com/TOKEN" > > xmlns:bbb="TOKEN:xxx:yyy:zzz" > > I use tag (i.e. RFC4151) URI's, and XMLBeans takes the first token, like > with URN URI's. Obviously, since all such URI's begin with "tag:", it > can only do this for the first one that it hits. I am lucky, in that I > don't care :-) > > > In other words, the declared (xmlns:...) prefixes above are never > > honored. In both cases, TOKEN will end up being the prefix. I thought > > this had worked before because my old namespace was: > > > > > > xmlns:aaa="http://test.example.com/aaa" > > > > > > Changing the trailing "aaa" in the URL will change the prefix in the > > generated document. > > > > > > So why do I need the same prefix? > > > > > > Our application is transitioning from version X to version X.1. > > Our customer has requested a namespace change to URN form. > > We have extensive documentation and screen shots that show the old > > prefix. > > Yes, I can see that this is a nuisance. > > > We also have XPath statements scattered throughout our application > > that reference the old prefix. > > Looking at the XPath/selectPath example here: > < > http://xmlbeans.apache.org/docs/2.0.0/guide/conSelectingXMLwithXQueryPathXPath.html> > I don't think that the prefix used in queryExpression needs to be the same > as in the document, i.e. if you changed the query to this: > > > String queryExpression = > > "declare namespace xq1=' > http://xmlbeans.apache.org/samples/xquery/employees';" + > > "$this/xq1:employees/xq1:employee/xq1:phone[contains(., '(206)')]"; > > the query should still work, even though the document has "xq" as the > prefix. The scope of the prefix declaration here should the query only, > and it should get mapped to the namespace itself when querying the > document. I can't remember if I have ever tried this with XMLBeans or > not, but it works with other XML utilities that I have used. Worth a > try, maybe? > > > It was believed that it would be far less of a hassle to correct the > > prefix than it would to correct all our documentation and XPath > > statements. > > Hm, the problem is that AFAIK nothing in the XSD standard mandates the > stability of the prefix: it is the namespace name itself that matters. > From the XSD point of view, any application that treats the prefix as > data has fragility built-in. > > > In our application, when a user creates a new instance of the > > document, it uses Factory.newInstance() which results in a document > > with the wrong namespace. > > I assume that you mean "wrong prefix" here? The namespace itself should > be fine. > > > Like a lot of other applications (Word, Excel, etc.), our files reside > > "in memory" until they are saved. So a new document would carry the > > wrong prefix until it was saved. > > Ah, here is the fallacy, I think. When you call Factory.newInstance(), > the instantiated element doesn't carry a prefix with it as such. As far > as XMLBeans is concerned, the element's QName is > "{TOKEN:xxx:yyy:zzz}test", i.e. uses the full namespace string. The > prefix only makes its appearance when you call "save" or "xmlText", and > then you can always suggest the prefix that should be used. If you > added a suitable XmlOptions argument to every call to xmlText in your > application, would that achieve what you are after? Or are you using > XmlCursor or some other lower-level trickery to get at the xmlns > declarations? > > > Even after it was saved, it would have to be reloaded by the > > application to have the correct prefix "in-memory." > > Yes, if replacing every xmlText() call with xmlText(xmlOptions) isn't > feasible, I can't see any way other than save/parse to achieve this. > Using streams or Reader/Writer may be more efficient than writing to a > file and reading it back. > > > Our application also has the ability to digitally sign documents. > > Signing one prefix, then saving another causes the signature to break. > > I hadn't thought of this scenario, but yes, this is an example of using > the prefix as data. > > > So the options are starting to look like this: > > > > 1. Figure out why XMLBeans doesn't honor my xmlns:... declarations. > > > > 2. Change the namespace URN to start with the desired prefix. > > Obviously, this is a workaround. > > > > 3. Use the new prefix and change everything else to suit. > > > > > > So I guess my first question (in this email at least) is does XMLBeans > > ever try to honor xmlns prefix declarations? > > As I said, in my understanding there is nothing to honour before > save/xmlText is called. Prefixes only materialise when the element is > serialised. Otherwise, they are only known about externally such as in > declarations in XPath/XQuery expressions. > > > If so, what's wrong with the schema I posted that causes this not to > > happen? > > Nothing: AFAICS this is XMLBeans intended behaviour. > > > Can anyone get the schema I previously posted to use the aaa prefix as > > declared? > > I doubt that that would be possible without patching XMLBeans (although > I would be quite happy to be proved wrong here). I appreciate the > digital signing issue, but as far as I can see the only way of robustly > specifying the prefix is at the save/xmlText level. > > Having said that, there are corners of XMLBeans that I have never > explored, so maybe there is another approach that someone else may be > able to suggest. > > I hope that these thoughts are of some use to you. > > Regards, > Peter. > > > > > > > Michael > > > > > > > > On Thu, Aug 7, 2014 at 3:32 PM, Peter Keller > > <[email protected]> wrote: > > Hi Michael, > > > > There is a table in the Javadocs that states which options are > > used by > > which methods: see > > < > http://xmlbeans.apache.org/docs/2.6.0/reference/org/apache/xmlbeans/XmlOptions.html>. > You have to make the prefix suggestion in the options to a save or xmlText > method: they won't have any effect in a newInstance method. What you have > observed here is expected and documented. > > > > Maybe I'm missing something, but I can't think of any scenario > > where > > this is going to cause any problems. If you really need the > > prefix to be > > a particular string before you get to the stage of writing or > > saving the > > XML document, perhaps you could explain why? Then we might be > > able to > > think of other ways to solve the issue. > > > > Regards, > > Peter. > > > > On Thu, 2014-08-07 at 13:53 -0400, Michael Bishop wrote: > > > OK, here is a test schema: > > > > > > <?xml version="1.0" encoding="UTF-8" ?> > > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > > > xmlns:aaa="bbb:ccc:ddd:eee:fff:aaa" > > > targetNamespace="bbb:ccc:ddd:eee:fff:aaa" > > > elementFormDefault="qualified"> > > > > > > <xs:element name="test" type="aaa:testType"/> > > > > > > <xs:complexType name="testType"> > > > <xs:sequence> > > > <xs:element name="name" type="xs:string" > > minOccurs="1" > > > maxOccurs="1"/> > > > <xs:element name="uuid" type="xs:string" > > minOccurs="1" > > > maxOccurs="1"/> > > > <xs:element name="version" type="xs:string" > > minOccurs="1" > > > maxOccurs="1"/> > > > <xs:element name="created" type="xs:string" > > minOccurs="1" > > > maxOccurs="1"/> > > > <xs:element name="createdBy" type="xs:string" > > > minOccurs="1" maxOccurs="1"/> > > > <xs:element name="modified" type="xs:string" > > minOccurs="1" > > > maxOccurs="1"/> > > > <xs:element name="modifiedBy" type="xs:string" > > > minOccurs="1" maxOccurs="1"/> > > > <xs:element name="description" type="xs:string" > > > minOccurs="0" maxOccurs="1"/> > > > </xs:sequence> > > > <xs:attribute name="version" type="xs:string" > > use="required"/> > > > </xs:complexType> > > > </xs:schema> > > > > > > > > > TestDocument doc = TestDocument.Factory.newInstance(); > > > doc.addNewTest(); > > > > > > // Wrong, default Factory output. > > > doc.xmlText(): <bbb:test > > xmlns:bbb="bbb:ccc:ddd:eee:fff:aaa"/> > > > > > > > > > // Correct output that I can't get from just the > > Factory.newInstance() > > > method. > > > doc.xmlText(options): <aaa:test > > xmlns:aaa="bbb:ccc:ddd:eee:fff:aaa"/> > > > > > > > > > Does anyone else get the same compilation results? Is there > > a reason > > > the new instances won't default to xmlns:aaa as declared? > > I'd be hard > > > pressed to believe that something in XMLBeans is causing > > this. It's > > > probably something I'm doing. Does the XSDConfig file have > > any > > > influence that I'm missing? > > > > > > > > > Michael Bishop > > > > > > > > > > > > On Thu, Aug 7, 2014 at 1:22 PM, Michael Bishop > > <[email protected]> > > > wrote: > > > I've got to figure out how to debug it. Currently, > > it's in a > > > Maven project with the XMLBeans plugin running the > > schema > > > compilation. > > > > > > > > > The map works when I call save(options) or > > xmlText(options), > > > but not when the document is created > > > (Factory.newInstance(options)). > > > > > > > > > > > > // Option that sets the namespace map. > > > > > > XmlOptions options = ...; > > > > > > > > > MyDoc doc = MyDoc.Factory.newInstance(options); > > > > > > > > > System.out.println("Wrong prefix: " + > > doc.xmlText()); > > > > > > System.out.println("Right prefix: " + > > doc.xmlText(options)); > > > > > > > > > The schema is spread out across multiple files. I'm > > going to > > > try to create a small test case to see if I can't > > reproduce > > > this. > > > > > > > > > > > > On Mon, Aug 4, 2014 at 4:31 PM, Cezar Andrei > > > <[email protected]> wrote: > > > Michael, > > > > > > That's odd, please check that your namespace > > URI is > > > exactly the same in both the schema and the > > map you're > > > setting. Also, make sure the prefix you want > > is not > > > already used in your document with a > > different URI. > > > > > > If it's still not working and you're not > > afraid of > > > debugging, you can trace the ensureMapping > > method in > > > Saver.java:757 . > > > > > > http://svn.apache.org/viewvc/xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Saver.java?view=markup > > > > > > Cezar > > > > > > > > > On 08/02/2014 02:04 PM, Michael Bishop > > wrote: > > > > > > OK, thanks for the information. > > Unfortunately, > > > this doesn't seem to fix the > > problem. I > > > thought I'd tried the steps outlined > > in the > > > linked blog before, but I did it > > again, just > > > in case. > > > > > > Here's the full schema definitions: > > > > > > Old: > > > <xs:schema > > > > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > > > > > *xmlns:xxx="http://..."* > > > > > > > > targetNamespace="http://..." > > > > > elementFormDefault="qualified"> > > > > > > New: > > > <xs:schema > > > > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > > > > > *xmlns:xxx="yyy:aaa:bbb..."* > > > > > > targetNamespace="yyy:..." > > > > > elementFormDefault="qualified"> > > > > > > > > > As you can see, in both schemas, I'm > > declaring > > > a namespace of *xxx*, but it's only > > honored in > > > the old schema. The only thing > > that's changed > > > between schemas is the namespace. I > > had a > > > request from our customer to change > > it. > > > However, a call to: > > > > > > > > > > > MyGeneratedClass.Factory.newInstance() results > > > in a document that looks like this: > > > > > > <yyy:root > > xmlns:yyy="yyy:aaa:bbb..."/> > > > > > > Applying a namespace map to an > > XmlOptions > > > object doesn't seem to have any > > effect. I've > > > tried it with the call to > > > > > MyGeneratedClass.Factory.newInstance() and a > > > call to > > MyGeneratedInstance.xmlText(): > > > > > > XmlOptions options = new > > XmlOptions(); > > > Map<String, String> nsMap = new > > HashMap<>(); > > > nsMap.put("yyy:aaa:bbb", "xxx"); > > > > > options.setSaveSuggestedPrefixes(nsMap); > > > > > > // No change to output. > > > > > MyGeneratedClass.Factory.newInstance(options); > > > > > MyGeneratedInstance.xmlText(options); > > > > > > I guess I have two questions: > > > > > > > > > 1. Why is the prefix declaration in > > my schema > > > being ignored? *xmlns:xxx* has never > > changed. > > > It's only the value of the namespace > > that has > > > changed. > > > > > > 2. I find it odd that Map has no > > effect > > > either. Is there anything else I > > should be > > > looking into? I'm not sure if my > > schema is > > > somehow "wrong" or I have a setting > > in > > > XMLBeans misconfigured. It's > > becoming more > > > than just an annoying problem. XPath > > > statements are now broken since they > > employ > > > the *xxx* prefix. I'm not sure where > > to start > > > tracking down the issue. Both the > > guidance and > > > the docs seem straightforward to me, > > yet I > > > can't get it to work properly. > > > > > > > > > Any guidance is appreciated. I'm on > > XMLBeans > > > 2.5.0. If there's anything more I > > can provide, > > > I can do so. > > > > > > Michael Bishop > > > > > > > > > > > > On Fri, Aug 1, 2014 at 12:10 PM, > > Cezar Andrei > > > <[email protected] > > > <mailto:[email protected]>> > > wrote: > > > > > > If you don't provide a prefix, > > XmlBeans > > > will automatically pick a > > > prefix, and it tries to pick one > > that is > > > part of the URI. > > > > > > Cezar > > > > > > > > > > > > On 07/28/2014 01:27 PM, Michael > > Bishop > > > wrote: > > > > > > Hello all. I've recently > > changed the > > > namespace of my schema. > > > Now I'm getting the wrong > > prefix name > > > and I'm not sure why. > > > > > > Old namespace was: > > > > > > > > xmlns:*xxx*="http://ccc.bbb.aaa" > > > > > > New namespace is: > > > > > > > > xmlns:*xxx*="*yyy*:aaa:bbb:ccc" > > > > > > With the old namespace, the > > prefix for > > > elements was xxx. Now > > > with the new namespace, the > > prefix fpr > > > elements is *yyy*. It > > > seems switching from URL > > form to URI > > > form has caused the > > > processor to start using the > > first > > > part of the URI as the > > > prefix? This happens when I > > call the > > > static > > > Factory.newInstance() on > > generated > > > classes. Older documents > > > with the correct prefix > > still parse > > > properly. > > > > > > It's not a big deal since > > the > > > namespace is intact and things > > > work as they should, but I > > can't > > > figure out why this is > > > happening. I don't declare > > xmlns:*yyy* > > > anywhere in the schema > > > or xsdconfig files. > > > > > > Michael Bishop > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: > > > [email protected] > > > > > > > > > > > <mailto:[email protected]> > > > > > > For additional commands, e-mail: > > > [email protected] > > > > > > > > <mailto:[email protected]> > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: > > > [email protected] > > > For additional commands, e-mail: > > > [email protected] > > > > > > > > > > > > > > > > > > > > > > > > -- > > Peter Keller Tel.: +44 > > (0)1223 353033 > > Global Phasing Ltd., Fax.: +44 > > (0)1223 366889 > > Sheraton House, > > Castle Park, > > Cambridge CB3 0AX > > United Kingdom > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > > > > > -- > Peter Keller Tel.: +44 (0)1223 353033 > Global Phasing Ltd., Fax.: +44 (0)1223 366889 > Sheraton House, > Castle Park, > Cambridge CB3 0AX > United Kingdom > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --20cf307f30f8c50cc70500eb158f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGRpdj5IaSBQZXRl ciBhbmQgdGhhbmtzIGZvciB0aGUgZXhwbGFuYXRpb24uIEl0JiMzOTtzIGJlZW4gYXdoaWxlOyBJ JiMzOTt2ZSBiZWVuIG9uIHZhY2F0aW9uIGZvciBhIHdlZWsuPGJyPjxicj48L2Rpdj5Bbnl3YXks IEkgdHJpZWQgd2hhdCB5b3Ugc2FpZCBhYm91dCB0aGUgWFBhdGggZXhwcmVzc2lvbnMgYW5kIGl0 IGxvb2tzIGxpa2UgeW91JiMzOTtyZSBjb3JyZWN0LiBJJiMzOTttIHVzaW5nIHRoZSBKYXZhIGNv cmUgWFBhdGggbGlicmFyaWVzIGFuZCB0aGUgcHJlZml4IEkgc2V0IGluIGFuIGluc3RhbmNlIG9m IE5hbWVzcGFjZUNvbnRleHQgaXMgd2hhdCBkaWN0YXRlcyBob3cgdGhlIGV4cHJlc3Npb24gaXMg ZXZhbHVhdGVkLiBTbyB0d28gZG9jdW1lbnRzOjxicj4NCjwvZGl2PiZsdDt4eHg6cm9vdCB4bWxu czp4eHg9JnF1b3Q7YSZxdW90Oy8mZ3Q7IGFuZCAmbHQ7eXl5OnJvb3QgeG1sbnM6eXl5PSZxdW90 O2EmcXVvdDsvJmd0OyBjYW4gYm90aCBiZSBzdWNjZXNzZnVsbHkgcXVlcmllZCB3aXRoICZxdW90 Oy8veHh4OnJvb3QmcXVvdDsgYXMgbG9uZyBhcyB0aGUgTmFtZXNwYWNlQ29udGV4dCBvYmplY3Qg bWFwcyB0aGUgJnF1b3Q7eHh4JnF1b3Q7IHByZWZpeCB0byB0aGUgJnF1b3Q7YSZxdW90OyBuYW1l c3BhY2UuIEluIHNob3J0LCB0aGUgTmFtZXNwYWNlQ29udGV4dCBmb3IgdGhlIFhQYXRoIHN0YXRl bWVudCB0YWtlcyBwcmVjZWRlbmNlIGFuZCB0aGUgcHJlZml4ZXMgaW4gdGhlIGRvY3VtZW50IGFy ZSBub3Qgc2lnbmlmaWNhbnQuPGJyPg0KPGJyPjwvZGl2Pk91ciBwcm9qZWN0IHByb2R1Y2VzIGJv dGggYSBmaWxlIHNwZWNpZmljYXRpb24gYW5kIGFuIGFwcGxpY2F0aW9uIHRoYXQgaGVscHMgY3Jl YXRlIHNwZWNpZmljYXRpb24gY29tcGxpYW50IGRvY3VtZW50cy4gSG93ZXZlciwgc29tZW9uZSBj b3VsZCBjcmVhdGUgdGhlaXIgb3duIGRvY3VtZW50IG91dHNpZGUgb2YgdGhlIGFwcGxpY2F0aW9u IGFuZCB1c2Ugd2hhdGV2ZXIgcHJlZml4IHRoZXkgd2lzaC4gU28gd2UgaGF2ZSB0byBhY2NlcHQg ZGlmZmVyZW50IHByZWZpeGVzOyBhIHNjZW5hcmlvIEkgZGlkIG5vdCBjb25zaWRlciBwcmV2aW91 c2x5Ljxicj4NCjxicj48L2Rpdj5PdXIgYXBwbGljYXRpb24gYWxzbyBleHBvc2VzIEFQSXMgYW5k IGFsbG93cyB1c2VycyB0byBjcmVhdGUgcGx1Z2lucywgc28gdGhleSB3b3VsZCBiZSBhYmxlIHRv IGFjY2VzcyB0aGUgWE1MQmVhbnMtZ2VuZXJhdGVkIGNsYXNzZXMgZGlyZWN0bHkuIFdlJiMzOTtk IGhhdmUgbWlzbWF0Y2hpbmcgcHJlZml4ZXMgaWYgd2UgdXNlZCBYbWxPcHRpb25zIGZvciBvdXRw dXQgdGhhdCBhIHBsdWdpbiBkZXZlbG9wZXIgZGlkIG5vdC48YnI+DQo8YnI+PC9kaXY+WW91ciBl eHBsYW5hdGlvbiBoYXMgaGVscGVkIG1lIHVuZGVyc3RhbmQgdGhlc2UgaXNzdWVzIGFuZCB3aGVu L3doeSBwcmVmaXhlcyBhcmUvYXJlbiYjMzk7dCBzaWduaWZpY2FudCBhbmQgSSYjMzk7dmUgYmVl biBhYmxlIHRvIHdyaXRlIHVuaXQgdGVzdHMgdG8gZGVtb25zdHJhdGUgdGhlIHVuZGVyc3Rvb2Qg YmVoYXZpb3IuPGJyPjxicj48L2Rpdj5GV0lXLCB0aGUgcmVhc29uIEkmIzM5O20gdXNpbmcgdGhl IEphdmEgY29yZSBsaWJyYXJpZXMgZm9yIFhQYXRoIGlzIGJlY2F1c2UgSSBjYW4mIzM5O3QgZ2V0 IFhNTEJlYW5zIHRvIGRvIGl0IGNvcnJlY3RseSBpbnNpZGUgdGhlIE5ldEJlYW5zIHBsYXRmb3Jt LiBYTUxCZWFucyBjYW4mIzM5O3QgZmluZCBzdXBwb3J0aW5nIGxpYnJhcmllcyBhY3Jvc3MgbW9k dWxlIGRlcGVuZGVuY2llcyBkdWUgdG8gY2xhc3MgcGF0aCBpc3N1ZXM7IGVhY2ggbW9kdWxlIGhh cyBpdHMgb3duIGNsYXNzIHBhdGggYW5kIFhNTEJlYW5zIG9ubHkgY2hlY2tzIGl0JiMzOTtzIG93 bi48YnI+DQo8YnI+PC9kaXY+TWljaGFlbDxicj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGJy Pjxicj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFp bF9leHRyYSI+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gRnJpLCBBdWcgOCwg MjAxNCBhdCA2OjU4IEFNLCBQZXRlciBLZWxsZXIgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVm PSJtYWlsdG86cGtlbGxlckBnbG9iYWxwaGFzaW5nLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnBrZWxs ZXJAZ2xvYmFscGhhc2luZy5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPg0KPGJsb2NrcXVv dGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxl ZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+SGkgTWljaGFlbCw8YnI+DQo8YnI+ DQpPSyAtIG5vdyB0aGlzIGlzIGdldHRpbmcgdG8gdGhlIGhlYXJ0IG9mIHRoZSBxdWVzdGlvbi4u Ljxicj4NCjxkaXYgY2xhc3M9IiI+PGJyPg0KT24gVGh1LCAyMDE0LTA4LTA3IGF0IDE2OjAyIC0w NDAwLCBNaWNoYWVsIEJpc2hvcCB3cm90ZTo8YnI+DQomZ3Q7IEhpIFBldGVyLDxicj4NCiZndDs8 YnI+DQomZ3Q7IFlvdSYjMzk7cmUgcmlnaHQsIEkgY2FtZSBhY3Jvc3MgdGhhdCB0YWJsZSByZWNl bnRseSBzaW5jZSBJJiMzOTt2ZSBiZWVuPGJyPg0KJmd0OyB3b3JraW5nIGF0IHRoaXMgcHJvYmxl bSBtb3N0IG9mIHRoZSBkYXkuIExldCBtZSBzaGFyZSBvbmUgbW9yZSB0aGluZzxicj4NCiZndDsg SSYjMzk7dmUgZGlzY292ZXJlZC4gSXQgYXBwZWFycyB0aGF0IFhNTEJlYW5zIGhhcyBhbHdheXMg YmVlbiBpZ25vcmluZyBteTxicj4NCiZndDsgbmFtZXNwYWNlIHByZWZpeGVzLiBJbiBVUkwgZm9y bSwgaXQgd2lsbCB1c2UgdGhlIGxhc3QgJnF1b3Q7dG9rZW4mcXVvdDsgYW5kIGluPGJyPg0KJmd0 OyBVUk4gZm9ybSwgaXQgd2lsbCB1c2UgdGhlIGZpcnN0Ojxicj4NCiZndDs8YnI+DQomZ3Q7PGJy Pg0KJmd0OyB4bWxuczphYWE9JnF1b3Q7PGEgaHJlZj0iaHR0cDovL3Rlc3QuZXhhbXBsZS5jb20v VE9LRU4iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vdGVzdC5leGFtcGxlLmNvbS9UT0tFTjwvYT4m cXVvdDs8YnI+DQomZ3Q7IHhtbG5zOmJiYj0mcXVvdDtUT0tFTjp4eHg6eXl5Onp6eiZxdW90Ozxi cj4NCjxicj4NCjwvZGl2PkkgdXNlIHRhZyAoaS5lLiBSRkM0MTUxKSBVUkkmIzM5O3MsIGFuZCBY TUxCZWFucyB0YWtlcyB0aGUgZmlyc3QgdG9rZW4sIGxpa2U8YnI+DQp3aXRoIFVSTiBVUkkmIzM5 O3MuIE9idmlvdXNseSwgc2luY2UgYWxsIHN1Y2ggVVJJJiMzOTtzIGJlZ2luIHdpdGggJnF1b3Q7 dGFnOiZxdW90OywgaXQ8YnI+DQpjYW4gb25seSBkbyB0aGlzIGZvciB0aGUgZmlyc3Qgb25lIHRo YXQgaXQgaGl0cy4gSSBhbSBsdWNreSwgaW4gdGhhdCBJPGJyPg0KZG9uJiMzOTt0IGNhcmUgOi0p PGJyPg0KPGRpdiBjbGFzcz0iIj48YnI+DQomZ3Q7IEluIG90aGVyIHdvcmRzLCB0aGUgZGVjbGFy ZWQgKHhtbG5zOi4uLikgcHJlZml4ZXMgYWJvdmUgYXJlIG5ldmVyPGJyPg0KJmd0OyBob25vcmVk LiBJbiBib3RoIGNhc2VzLCBUT0tFTiB3aWxsIGVuZCB1cCBiZWluZyB0aGUgcHJlZml4LiBJIHRo b3VnaHQ8YnI+DQomZ3Q7IHRoaXMgaGFkIHdvcmtlZCBiZWZvcmUgYmVjYXVzZSBteSBvbGQgbmFt ZXNwYWNlIHdhczo8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDsgeG1sbnM6YWFhPSZxdW90 OzxhIGhyZWY9Imh0dHA6Ly90ZXN0LmV4YW1wbGUuY29tL2FhYSIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly90ZXN0LmV4YW1wbGUuY29tL2FhYTwvYT4mcXVvdDs8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxi cj4NCiZndDsgQ2hhbmdpbmcgdGhlIHRyYWlsaW5nICZxdW90O2FhYSZxdW90OyBpbiB0aGUgVVJM IHdpbGwgY2hhbmdlIHRoZSBwcmVmaXggaW4gdGhlPGJyPg0KJmd0OyBnZW5lcmF0ZWQgZG9jdW1l bnQuPGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7IFNvIHdoeSBkbyBJIG5lZWQgdGhlIHNh bWUgcHJlZml4Pzxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyBPdXIgYXBwbGljYXRpb24g aXMgdHJhbnNpdGlvbmluZyBmcm9tIHZlcnNpb24gWCB0byB2ZXJzaW9uIFguMS48YnI+DQomZ3Q7 IE91ciBjdXN0b21lciBoYXMgcmVxdWVzdGVkIGEgbmFtZXNwYWNlIGNoYW5nZSB0byBVUk4gZm9y bS48YnI+DQomZ3Q7IFdlIGhhdmUgZXh0ZW5zaXZlIGRvY3VtZW50YXRpb24gYW5kIHNjcmVlbiBz aG90cyB0aGF0IHNob3cgdGhlIG9sZDxicj4NCiZndDsgcHJlZml4Ljxicj4NCjxicj4NCjwvZGl2 PlllcywgSSBjYW4gc2VlIHRoYXQgdGhpcyBpcyBhIG51aXNhbmNlLjxicj4NCjxkaXYgY2xhc3M9 IiI+PGJyPg0KJmd0OyBXZSBhbHNvIGhhdmUgWFBhdGggc3RhdGVtZW50cyBzY2F0dGVyZWQgdGhy b3VnaG91dCBvdXIgYXBwbGljYXRpb248YnI+DQomZ3Q7IHRoYXQgcmVmZXJlbmNlIHRoZSBvbGQg cHJlZml4Ljxicj4NCjxicj4NCjwvZGl2Pkxvb2tpbmcgYXQgdGhlIFhQYXRoL3NlbGVjdFBhdGgg ZXhhbXBsZSBoZXJlOjxicj4NCiZsdDs8YSBocmVmPSJodHRwOi8veG1sYmVhbnMuYXBhY2hlLm9y Zy9kb2NzLzIuMC4wL2d1aWRlL2NvblNlbGVjdGluZ1hNTHdpdGhYUXVlcnlQYXRoWFBhdGguaHRt bCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly94bWxiZWFucy5hcGFjaGUub3JnL2RvY3MvMi4wLjAv Z3VpZGUvY29uU2VsZWN0aW5nWE1Md2l0aFhRdWVyeVBhdGhYUGF0aC5odG1sPC9hPiZndDsgSSBk b24mIzM5O3QgdGhpbmsgdGhhdCB0aGUgcHJlZml4IHVzZWQgaW4gcXVlcnlFeHByZXNzaW9uIG5l ZWRzIHRvIGJlIHRoZSBzYW1lIGFzIGluIHRoZSBkb2N1bWVudCwgaS5lLiBpZiB5b3UgY2hhbmdl ZCB0aGUgcXVlcnkgdG8gdGhpczo8YnI+DQoNCjxicj4NCiZndDsgU3RyaW5nIHF1ZXJ5RXhwcmVz c2lvbiA9PGJyPg0KJmd0O8KgIMKgIMKgJnF1b3Q7ZGVjbGFyZSBuYW1lc3BhY2UgeHExPSYjMzk7 PGEgaHJlZj0iaHR0cDovL3htbGJlYW5zLmFwYWNoZS5vcmcvc2FtcGxlcy94cXVlcnkvZW1wbG95 ZWVzJiMzOTsiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8veG1sYmVhbnMuYXBhY2hlLm9yZy9zYW1w bGVzL3hxdWVyeS9lbXBsb3llZXMmIzM5OzwvYT47JnF1b3Q7ICs8YnI+DQomZ3Q7wqAgwqAgwqAm cXVvdDskdGhpcy94cTE6ZW1wbG95ZWVzL3hxMTplbXBsb3llZS94cTE6cGhvbmVbY29udGFpbnMo LiwgJiMzOTsoMjA2KSYjMzk7KV0mcXVvdDs7PGJyPg0KPGJyPg0KdGhlIHF1ZXJ5IHNob3VsZCBz dGlsbCB3b3JrLCBldmVuIHRob3VnaCB0aGUgZG9jdW1lbnQgaGFzICZxdW90O3hxJnF1b3Q7IGFz IHRoZTxicj4NCnByZWZpeC4gVGhlIHNjb3BlIG9mIHRoZSBwcmVmaXggZGVjbGFyYXRpb24gaGVy ZSBzaG91bGQgdGhlIHF1ZXJ5IG9ubHksPGJyPg0KYW5kIGl0IHNob3VsZCBnZXQgbWFwcGVkIHRv IHRoZSBuYW1lc3BhY2UgaXRzZWxmIHdoZW4gcXVlcnlpbmcgdGhlPGJyPg0KZG9jdW1lbnQuIEkg Y2FuJiMzOTt0IHJlbWVtYmVyIGlmIEkgaGF2ZSBldmVyIHRyaWVkIHRoaXMgd2l0aCBYTUxCZWFu cyBvcjxicj4NCm5vdCwgYnV0IGl0IHdvcmtzIHdpdGggb3RoZXIgWE1MIHV0aWxpdGllcyB0aGF0 IEkgaGF2ZSB1c2VkLiBXb3J0aCBhPGJyPg0KdHJ5LCBtYXliZT88YnI+DQo8ZGl2IGNsYXNzPSIi Pjxicj4NCiZndDsgSXQgd2FzIGJlbGlldmVkIHRoYXQgaXQgd291bGQgYmUgZmFyIGxlc3Mgb2Yg YSBoYXNzbGUgdG8gY29ycmVjdCB0aGU8YnI+DQomZ3Q7IHByZWZpeCB0aGFuIGl0IHdvdWxkIHRv IGNvcnJlY3QgYWxsIG91ciBkb2N1bWVudGF0aW9uIGFuZCBYUGF0aDxicj4NCiZndDsgc3RhdGVt ZW50cy48YnI+DQo8YnI+DQo8L2Rpdj5IbSwgdGhlIHByb2JsZW0gaXMgdGhhdCBBRkFJSyBub3Ro aW5nIGluIHRoZSBYU0Qgc3RhbmRhcmQgbWFuZGF0ZXMgdGhlPGJyPg0Kc3RhYmlsaXR5IG9mIHRo ZSBwcmVmaXg6IGl0IGlzIHRoZSBuYW1lc3BhY2UgbmFtZSBpdHNlbGYgdGhhdCBtYXR0ZXJzLjxi cj4NCkZyb20gdGhlIFhTRCBwb2ludCBvZiB2aWV3LCBhbnkgYXBwbGljYXRpb24gdGhhdCB0cmVh dHMgdGhlIHByZWZpeCBhczxicj4NCmRhdGEgaGFzIGZyYWdpbGl0eSBidWlsdC1pbi48YnI+DQo8 ZGl2IGNsYXNzPSIiPjxicj4NCiZndDsgSW4gb3VyIGFwcGxpY2F0aW9uLCB3aGVuIGEgdXNlciBj cmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZTxicj4NCiZndDsgZG9jdW1lbnQsIGl0IHVzZXMg RmFjdG9yeS5uZXdJbnN0YW5jZSgpIHdoaWNoIHJlc3VsdHMgaW4gYSBkb2N1bWVudDxicj4NCiZn dDsgd2l0aCB0aGUgd3JvbmcgbmFtZXNwYWNlLjxicj4NCjxicj4NCjwvZGl2PkkgYXNzdW1lIHRo YXQgeW91IG1lYW4gJnF1b3Q7d3JvbmcgcHJlZml4JnF1b3Q7IGhlcmU/IFRoZSBuYW1lc3BhY2Ug aXRzZWxmIHNob3VsZDxicj4NCmJlIGZpbmUuPGJyPg0KPGRpdiBjbGFzcz0iIj48YnI+DQomZ3Q7 IExpa2UgYSBsb3Qgb2Ygb3RoZXIgYXBwbGljYXRpb25zIChXb3JkLCBFeGNlbCwgZXRjLiksIG91 ciBmaWxlcyByZXNpZGU8YnI+DQomZ3Q7ICZxdW90O2luIG1lbW9yeSZxdW90OyB1bnRpbCB0aGV5 IGFyZSBzYXZlZC4gU28gYSBuZXcgZG9jdW1lbnQgd291bGQgY2FycnkgdGhlPGJyPg0KJmd0OyB3 cm9uZyBwcmVmaXggdW50aWwgaXQgd2FzIHNhdmVkLjxicj4NCjxicj4NCjwvZGl2PkFoLCBoZXJl IGlzIHRoZSBmYWxsYWN5LCBJIHRoaW5rLiBXaGVuIHlvdSBjYWxsIEZhY3RvcnkubmV3SW5zdGFu Y2UoKSw8YnI+DQp0aGUgaW5zdGFudGlhdGVkIGVsZW1lbnQgZG9lc24mIzM5O3QgY2FycnkgYSBw cmVmaXggd2l0aCBpdCBhcyBzdWNoLiBBcyBmYXI8YnI+DQphcyBYTUxCZWFucyBpcyBjb25jZXJu ZWQsIHRoZSBlbGVtZW50JiMzOTtzIFFOYW1lIGlzPGJyPg0KJnF1b3Q7e1RPS0VOOnh4eDp5eXk6 enp6fXRlc3QmcXVvdDssIGkuZS4gdXNlcyB0aGUgZnVsbCBuYW1lc3BhY2Ugc3RyaW5nLiBUaGU8 YnI+DQpwcmVmaXggb25seSBtYWtlcyBpdHMgYXBwZWFyYW5jZSB3aGVuIHlvdSBjYWxsICZxdW90 O3NhdmUmcXVvdDsgb3IgJnF1b3Q7eG1sVGV4dCZxdW90OywgYW5kPGJyPg0KdGhlbiB5b3UgY2Fu IGFsd2F5cyBzdWdnZXN0IHRoZSBwcmVmaXggdGhhdCBzaG91bGQgYmUgdXNlZC4gSWYgeW91PGJy Pg0KYWRkZWQgYSBzdWl0YWJsZSBYbWxPcHRpb25zIGFyZ3VtZW50IHRvIGV2ZXJ5IGNhbGwgdG8g eG1sVGV4dCBpbiB5b3VyPGJyPg0KYXBwbGljYXRpb24sIHdvdWxkIHRoYXQgYWNoaWV2ZSB3aGF0 IHlvdSBhcmUgYWZ0ZXI/IE9yIGFyZSB5b3UgdXNpbmc8YnI+DQpYbWxDdXJzb3Igb3Igc29tZSBv dGhlciBsb3dlci1sZXZlbCB0cmlja2VyeSB0byBnZXQgYXQgdGhlIHhtbG5zPGJyPg0KZGVjbGFy YXRpb25zPzxicj4NCjxkaXYgY2xhc3M9IiI+PGJyPg0KJmd0OyBFdmVuIGFmdGVyIGl0IHdhcyBz YXZlZCwgaXQgd291bGQgaGF2ZSB0byBiZSByZWxvYWRlZCBieSB0aGU8YnI+DQomZ3Q7IGFwcGxp Y2F0aW9uIHRvIGhhdmUgdGhlIGNvcnJlY3QgcHJlZml4ICZxdW90O2luLW1lbW9yeS4mcXVvdDs8 YnI+DQo8YnI+DQo8L2Rpdj5ZZXMsIGlmIHJlcGxhY2luZyBldmVyeSB4bWxUZXh0KCkgY2FsbCB3 aXRoIHhtbFRleHQoeG1sT3B0aW9ucykgaXNuJiMzOTt0PGJyPg0KZmVhc2libGUsIEkgY2FuJiMz OTt0IHNlZSBhbnkgd2F5IG90aGVyIHRoYW4gc2F2ZS9wYXJzZSB0byBhY2hpZXZlIHRoaXMuPGJy Pg0KVXNpbmcgc3RyZWFtcyBvciBSZWFkZXIvV3JpdGVyIG1heSBiZSBtb3JlIGVmZmljaWVudCB0 aGFuIHdyaXRpbmcgdG8gYTxicj4NCmZpbGUgYW5kIHJlYWRpbmcgaXQgYmFjay48YnI+DQo8ZGl2 IGNsYXNzPSIiPjxicj4NCiZndDsgT3VyIGFwcGxpY2F0aW9uIGFsc28gaGFzIHRoZSBhYmlsaXR5 IHRvIGRpZ2l0YWxseSBzaWduIGRvY3VtZW50cy48YnI+DQomZ3Q7IFNpZ25pbmcgb25lIHByZWZp eCwgdGhlbiBzYXZpbmcgYW5vdGhlciBjYXVzZXMgdGhlIHNpZ25hdHVyZSB0byBicmVhay48YnI+ DQo8YnI+DQo8L2Rpdj5JIGhhZG4mIzM5O3QgdGhvdWdodCBvZiB0aGlzIHNjZW5hcmlvLCBidXQg eWVzLCB0aGlzIGlzIGFuIGV4YW1wbGUgb2YgdXNpbmc8YnI+DQp0aGUgcHJlZml4IGFzIGRhdGEu PGJyPg0KPGRpdiBjbGFzcz0iIj48YnI+DQomZ3Q7IFNvIHRoZSBvcHRpb25zIGFyZSBzdGFydGlu ZyB0byBsb29rIGxpa2UgdGhpczo8YnI+DQomZ3Q7PGJyPg0KJmd0OyAxLiBGaWd1cmUgb3V0IHdo eSBYTUxCZWFucyBkb2VzbiYjMzk7dCBob25vciBteSB4bWxuczouLi4gZGVjbGFyYXRpb25zLjxi cj4NCiZndDs8YnI+DQomZ3Q7IDIuIENoYW5nZSB0aGUgbmFtZXNwYWNlIFVSTiB0byBzdGFydCB3 aXRoIHRoZSBkZXNpcmVkIHByZWZpeC48YnI+DQomZ3Q7IE9idmlvdXNseSwgdGhpcyBpcyBhIHdv cmthcm91bmQuPGJyPg0KJmd0Ozxicj4NCiZndDsgMy4gVXNlIHRoZSBuZXcgcHJlZml4IGFuZCBj aGFuZ2UgZXZlcnl0aGluZyBlbHNlIHRvIHN1aXQuPGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQom Z3Q7IFNvIEkgZ3Vlc3MgbXkgZmlyc3QgcXVlc3Rpb24gKGluIHRoaXMgZW1haWwgYXQgbGVhc3Qp IGlzIGRvZXMgWE1MQmVhbnM8YnI+DQomZ3Q7IGV2ZXIgdHJ5IHRvIGhvbm9yIHhtbG5zIHByZWZp eCBkZWNsYXJhdGlvbnM/PGJyPg0KPGJyPg0KPC9kaXY+QXMgSSBzYWlkLCBpbiBteSB1bmRlcnN0 YW5kaW5nIHRoZXJlIGlzIG5vdGhpbmcgdG8gaG9ub3VyIGJlZm9yZTxicj4NCnNhdmUveG1sVGV4 dCBpcyBjYWxsZWQuIFByZWZpeGVzIG9ubHkgbWF0ZXJpYWxpc2Ugd2hlbiB0aGUgZWxlbWVudCBp czxicj4NCnNlcmlhbGlzZWQuIE90aGVyd2lzZSwgdGhleSBhcmUgb25seSBrbm93biBhYm91dCBl eHRlcm5hbGx5IHN1Y2ggYXMgaW48YnI+DQpkZWNsYXJhdGlvbnMgaW4gWFBhdGgvWFF1ZXJ5IGV4 cHJlc3Npb25zLjxicj4NCjxkaXYgY2xhc3M9IiI+PGJyPg0KJmd0OyBJZiBzbywgd2hhdCYjMzk7 cyB3cm9uZyB3aXRoIHRoZSBzY2hlbWEgSSBwb3N0ZWQgdGhhdCBjYXVzZXMgdGhpcyBub3QgdG88 YnI+DQomZ3Q7IGhhcHBlbj88YnI+DQo8YnI+DQo8L2Rpdj5Ob3RoaW5nOiBBRkFJQ1MgdGhpcyBp cyBYTUxCZWFucyBpbnRlbmRlZCBiZWhhdmlvdXIuPGJyPg0KPGRpdiBjbGFzcz0iIj48YnI+DQom Z3Q7IENhbiBhbnlvbmUgZ2V0IHRoZSBzY2hlbWEgSSBwcmV2aW91c2x5IHBvc3RlZCB0byB1c2Ug dGhlIGFhYSBwcmVmaXggYXM8YnI+DQomZ3Q7IGRlY2xhcmVkPzxicj4NCjxicj4NCjwvZGl2Pkkg ZG91YnQgdGhhdCB0aGF0IHdvdWxkIGJlIHBvc3NpYmxlIHdpdGhvdXQgcGF0Y2hpbmcgWE1MQmVh bnMgKGFsdGhvdWdoPGJyPg0KSSB3b3VsZCBiZSBxdWl0ZSBoYXBweSB0byBiZSBwcm92ZWQgd3Jv bmcgaGVyZSkuIEkgYXBwcmVjaWF0ZSB0aGU8YnI+DQpkaWdpdGFsIHNpZ25pbmcgaXNzdWUsIGJ1 dCBhcyBmYXIgYXMgSSBjYW4gc2VlIHRoZSBvbmx5IHdheSBvZiByb2J1c3RseTxicj4NCnNwZWNp ZnlpbmcgdGhlIHByZWZpeCBpcyBhdCB0aGUgc2F2ZS94bWxUZXh0IGxldmVsLjxicj4NCjxicj4N CkhhdmluZyBzYWlkIHRoYXQsIHRoZXJlIGFyZSBjb3JuZXJzIG9mIFhNTEJlYW5zIHRoYXQgSSBo YXZlIG5ldmVyPGJyPg0KZXhwbG9yZWQsIHNvIG1heWJlIHRoZXJlIGlzIGFub3RoZXIgYXBwcm9h Y2ggdGhhdCBzb21lb25lIGVsc2UgbWF5IGJlPGJyPg0KYWJsZSB0byBzdWdnZXN0Ljxicj4NCjxi cj4NCkkgaG9wZSB0aGF0IHRoZXNlIHRob3VnaHRzIGFyZSBvZiBzb21lIHVzZSB0byB5b3UuPGJy Pg0KPGJyPg0KUmVnYXJkcyw8YnI+DQpQZXRlci48YnI+DQo8ZGl2IGNsYXNzPSJIT0VuWmIiPjxk aXYgY2xhc3M9Img1Ij48YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDsgTWljaGFlbDxicj4N CiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDsgT24gVGh1LCBBdWcgNywgMjAxNCBh dCAzOjMyIFBNLCBQZXRlciBLZWxsZXI8YnI+DQomZ3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86cGtl bGxlckBnbG9iYWxwaGFzaW5nLmNvbSI+cGtlbGxlckBnbG9iYWxwaGFzaW5nLmNvbTwvYT4mZ3Q7 IHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoEhpIE1pY2hhZWwsPGJyPg0KJmd0Ozxicj4N CiZndDvCoCDCoCDCoCDCoCDCoFRoZXJlIGlzIGEgdGFibGUgaW4gdGhlIEphdmFkb2NzIHRoYXQg c3RhdGVzIHdoaWNoIG9wdGlvbnMgYXJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdXNlZCBieTxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoHdoaWNoIG1ldGhvZHM6IHNlZTxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZsdDs8YSBocmVmPSJodHRwOi8veG1sYmVhbnMuYXBhY2hlLm9yZy9kb2NzLzIuNi4w L3JlZmVyZW5jZS9vcmcvYXBhY2hlL3htbGJlYW5zL1htbE9wdGlvbnMuaHRtbCIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly94bWxiZWFucy5hcGFjaGUub3JnL2RvY3MvMi42LjAvcmVmZXJlbmNlL29y Zy9hcGFjaGUveG1sYmVhbnMvWG1sT3B0aW9ucy5odG1sPC9hPiZndDsuIFlvdSBoYXZlIHRvIG1h a2UgdGhlIHByZWZpeCBzdWdnZXN0aW9uIGluIHRoZSBvcHRpb25zIHRvIGEgc2F2ZSBvciB4bWxU ZXh0IG1ldGhvZDogdGhleSB3b24mIzM5O3QgaGF2ZSBhbnkgZWZmZWN0IGluIGEgbmV3SW5zdGFu Y2UgbWV0aG9kLiBXaGF0IHlvdSBoYXZlIG9ic2VydmVkIGhlcmUgaXMgZXhwZWN0ZWQgYW5kIGRv Y3VtZW50ZWQuPGJyPg0KDQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgTWF5YmUgSSYjMzk7 bSBtaXNzaW5nIHNvbWV0aGluZywgYnV0IEkgY2FuJiMzOTt0IHRoaW5rIG9mIGFueSBzY2VuYXJp bzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHdoZXJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdGhp cyBpcyBnb2luZyB0byBjYXVzZSBhbnkgcHJvYmxlbXMuIElmIHlvdSByZWFsbHkgbmVlZCB0aGU8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBwcmVmaXggdG8gYmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqBhIHBhcnRpY3VsYXIgc3RyaW5nIGJlZm9yZSB5b3UgZ2V0IHRvIHRoZSBzdGFnZSBvZiB3cml0 aW5nIG9yPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgc2F2aW5nIHRoZTxicj4NCiZndDvCoCDCoCDC oCDCoCDCoFhNTCBkb2N1bWVudCwgcGVyaGFwcyB5b3UgY291bGQgZXhwbGFpbiB3aHk/IFRoZW4g d2UgbWlnaHQgYmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBhYmxlIHRvPGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgdGhpbmsgb2Ygb3RoZXIgd2F5cyB0byBzb2x2ZSB0aGUgaXNzdWUuPGJyPg0KJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg UGV0ZXIuPGJyPg0KJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoE9uIFRodSwgMjAxNC0wOC0w NyBhdCAxMzo1MyAtMDQwMCwgTWljaGFlbCBCaXNob3Agd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0OyBPSywgaGVyZSBpcyBhIHRlc3Qgc2NoZW1hOjxicj4NCiZndDvCoCDCoCDCoCDC oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7ICZsdDs/eG1sIHZlcnNpb249JnF1 b3Q7MS4wJnF1b3Q7IGVuY29kaW5nPSZxdW90O1VURi04JnF1b3Q7ID8mZ3Q7PGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0OyAmbHQ7eHM6c2NoZW1hIHhtbG5zOnhzPSZxdW90OzxhIGhyZWY9Imh0 dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3 dy53My5vcmcvMjAwMS9YTUxTY2hlbWE8L2E+JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIHhtbG5zOmFhYT0mcXVvdDtiYmI6Y2NjOmRkZDplZWU6ZmZm OmFhYSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCB0 YXJnZXROYW1lc3BhY2U9JnF1b3Q7YmJiOmNjYzpkZGQ6ZWVlOmZmZjphYWEmcXVvdDs8YnI+DQom Z3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgZWxlbWVudEZvcm1EZWZhdWx0 PSZxdW90O3F1YWxpZmllZCZxdW90OyZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgJmx0O3hzOmVsZW1lbnQgbmFtZT0mcXVv dDt0ZXN0JnF1b3Q7IHR5cGU9JnF1b3Q7YWFhOnRlc3RUeXBlJnF1b3Q7LyZndDs8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgJmx0 O3hzOmNvbXBsZXhUeXBlIG5hbWU9JnF1b3Q7dGVzdFR5cGUmcXVvdDsmZ3Q7PGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgJmx0O3hzOnNlcXVlbmNlJmd0Ozxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCZsdDt4czplbGVtZW50IG5h bWU9JnF1b3Q7bmFtZSZxdW90OyB0eXBlPSZxdW90O3hzOnN0cmluZyZxdW90Ozxicj4NCiZndDvC oCDCoCDCoCDCoCDCoG1pbk9jY3Vycz0mcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0OyBtYXhPY2N1cnM9JnF1b3Q7MSZxdW90Oy8mZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgJmx0O3hzOmVsZW1lbnQgbmFtZT0mcXVvdDt1dWlk JnF1b3Q7IHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg bWluT2NjdXJzPSZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IG1heE9j Y3Vycz0mcXVvdDsxJnF1b3Q7LyZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAg wqAgwqAgwqAgwqAgwqAmbHQ7eHM6ZWxlbWVudCBuYW1lPSZxdW90O3ZlcnNpb24mcXVvdDsgdHlw ZT0mcXVvdDt4czpzdHJpbmcmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBtaW5PY2N1cnM9 JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDsgbWF4T2NjdXJzPSZxdW90 OzEmcXVvdDsvJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCZsdDt4czplbGVtZW50IG5hbWU9JnF1b3Q7Y3JlYXRlZCZxdW90OyB0eXBlPSZxdW90O3hz OnN0cmluZyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoG1pbk9jY3Vycz0mcXVvdDsxJnF1 b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBtYXhPY2N1cnM9JnF1b3Q7MSZxdW90Oy8m Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgJmx0O3hz OmVsZW1lbnQgbmFtZT0mcXVvdDtjcmVhdGVkQnkmcXVvdDsgdHlwZT0mcXVvdDt4czpzdHJpbmcm cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IG1pbk9jY3Vycz0mcXVvdDsxJnF1b3Q7 IG1heE9jY3Vycz0mcXVvdDsxJnF1b3Q7LyZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAmbHQ7eHM6ZWxlbWVudCBuYW1lPSZxdW90O21vZGlmaWVkJnF1 b3Q7IHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgbWlu T2NjdXJzPSZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IG1heE9jY3Vy cz0mcXVvdDsxJnF1b3Q7LyZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAmbHQ7eHM6ZWxlbWVudCBuYW1lPSZxdW90O21vZGlmaWVkQnkmcXVvdDsgdHlw ZT0mcXVvdDt4czpzdHJpbmcmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IG1pbk9j Y3Vycz0mcXVvdDsxJnF1b3Q7IG1heE9jY3Vycz0mcXVvdDsxJnF1b3Q7LyZndDs8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAmbHQ7eHM6ZWxlbWVudCBuYW1l PSZxdW90O2Rlc2NyaXB0aW9uJnF1b3Q7IHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBtaW5PY2N1cnM9JnF1b3Q7MCZxdW90OyBtYXhPY2N1cnM9 JnF1b3Q7MSZxdW90Oy8mZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg IMKgJmx0Oy94czpzZXF1ZW5jZSZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAg wqAgwqAgwqAmbHQ7eHM6YXR0cmlidXRlIG5hbWU9JnF1b3Q7dmVyc2lvbiZxdW90OyB0eXBlPSZx dW90O3hzOnN0cmluZyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHVzZT0mcXVvdDtyZXF1 aXJlZCZxdW90Oy8mZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgJmx0Oy94 czpjb21wbGV4VHlwZSZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7ICZsdDsveHM6c2No ZW1hJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBUZXN0RG9jdW1lbnQgZG9jID0gVGVz dERvY3VtZW50LkZhY3RvcnkubmV3SW5zdGFuY2UoKTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAm Z3Q7IGRvYy5hZGROZXdUZXN0KCk7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDsgLy8gV3JvbmcsIGRlZmF1bHQgRmFjdG9yeSBvdXRwdXQuPGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBkb2MueG1sVGV4dCgpOiAmbHQ7YmJiOnRlc3Q8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqB4bWxuczpiYmI9JnF1b3Q7YmJiOmNjYzpkZGQ6ZWVlOmZmZjph YWEmcXVvdDsvJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyAvLyBDb3JyZWN0IG91dHB1 dCB0aGF0IEkgY2FuJiMzOTt0IGdldCBmcm9tIGp1c3QgdGhlPGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgRmFjdG9yeS5uZXdJbnN0YW5jZSgpPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBtZXRo b2QuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBkb2MueG1sVGV4dChvcHRpb25zKTogJmx0 O2FhYTp0ZXN0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgeG1sbnM6YWFhPSZxdW90O2JiYjpjY2M6 ZGRkOmVlZTpmZmY6YWFhJnF1b3Q7LyZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDsgRG9l cyBhbnlvbmUgZWxzZSBnZXQgdGhlIHNhbWUgY29tcGlsYXRpb24gcmVzdWx0cz8gSXMgdGhlcmU8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBhIHJlYXNvbjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZn dDsgdGhlIG5ldyBpbnN0YW5jZXMgd29uJiMzOTt0IGRlZmF1bHQgdG8geG1sbnM6YWFhIGFzIGRl Y2xhcmVkPzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoEkmIzM5O2QgYmUgaGFyZDxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDsgcHJlc3NlZCB0byBiZWxpZXZlIHRoYXQgc29tZXRoaW5nIGluIFhN TEJlYW5zIGlzIGNhdXNpbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0aGlzLiBJdCYjMzk7czxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDsgcHJvYmFibHkgc29tZXRoaW5nIEkmIzM5O20gZG9p bmcuIERvZXMgdGhlIFhTRENvbmZpZyBmaWxlIGhhdmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBh bnk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IGluZmx1ZW5jZSB0aGF0IEkmIzM5O20gbWlz c2luZz88YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDsgTWljaGFlbCBCaXNob3A8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IE9uIFRodSwgQXVn IDcsIDIwMTQgYXQgMToyMiBQTSwgTWljaGFlbCBCaXNob3A8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAmbHQ7PGEgaHJlZj0ibWFpbHRvOmJpc2hvcG13QGdtYWlsLmNvbSI+YmlzaG9wbXdAZ21haWwu Y29tPC9hPiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IHdyb3RlOjxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoEkmIzM5O3ZlIGdvdCB0byBmaWd1cmUgb3V0 IGhvdyB0byBkZWJ1ZyBpdC4gQ3VycmVudGx5LDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGl0JiMz OTtzIGluIGE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqBNYXZlbiBw cm9qZWN0IHdpdGggdGhlIFhNTEJlYW5zIHBsdWdpbiBydW5uaW5nIHRoZTxicj4NCiZndDvCoCDC oCDCoCDCoCDCoHNjaGVtYTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDC oGNvbXBpbGF0aW9uLjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgVGhl IG1hcCB3b3JrcyB3aGVuIEkgY2FsbCBzYXZlKG9wdGlvbnMpIG9yPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgeG1sVGV4dChvcHRpb25zKSw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAg wqAgwqAgwqBidXQgbm90IHdoZW4gdGhlIGRvY3VtZW50IGlzIGNyZWF0ZWQ8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAoRmFjdG9yeS5uZXdJbnN0YW5jZShvcHRpb25z KSkuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZn dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 O8KgIMKgIMKgIMKgIMKgLy8gT3B0aW9uIHRoYXQgc2V0cyB0aGUgbmFtZXNwYWNlIG1hcC48YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKg IMKgIMKgIMKgWG1sT3B0aW9ucyBvcHRpb25zID0gLi4uOzxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0O8KgIMKgIMKgIMKgIMKgTXlEb2MgZG9jID0gTXlEb2MuRmFjdG9yeS5uZXdJbnN0YW5jZShv cHRpb25zKTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoFN5c3RlbS5v dXQucHJpbnRsbigmcXVvdDtXcm9uZyBwcmVmaXg6ICZxdW90OyArPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgZG9jLnhtbFRleHQoKSk7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoFN5c3RlbS5vdXQucHJpbnRsbigmcXVv dDtSaWdodCBwcmVmaXg6ICZxdW90OyArPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgZG9jLnhtbFRl eHQob3B0aW9ucykpOzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgVGhl IHNjaGVtYSBpcyBzcHJlYWQgb3V0IGFjcm9zcyBtdWx0aXBsZSBmaWxlcy4gSSYjMzk7bTxicj4N CiZndDvCoCDCoCDCoCDCoCDCoGdvaW5nIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8Kg IMKgIMKgIMKgIMKgdHJ5IHRvIGNyZWF0ZSBhIHNtYWxsIHRlc3QgY2FzZSB0byBzZWUgaWYgSSBj YW4mIzM5O3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqByZXByb2R1Y2U8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqB0aGlzLjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZn dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoE9uIE1vbiwgQXVnIDQs IDIwMTQgYXQgNDozMSBQTSwgQ2V6YXIgQW5kcmVpPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 O8KgIMKgIMKgIMKgIMKgJmx0OzxhIGhyZWY9Im1haWx0bzpjZXphci5hbmRyZWlAb3JhY2xlLmNv bSI+Y2V6YXIuYW5kcmVpQG9yYWNsZS5jb208L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBNaWNoYWVsLDxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqBUaGF0JiMzOTtzIG9kZCwgcGxlYXNlIGNoZWNrIHRoYXQgeW91ciBuYW1l c3BhY2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBVUkkgaXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBleGFjdGx5IHRoZSBzYW1lIGluIGJvdGgg dGhlIHNjaGVtYSBhbmQgdGhlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgbWFwIHlvdSYjMzk7cmU8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBzZXR0 aW5nLiBBbHNvLCBtYWtlIHN1cmUgdGhlIHByZWZpeCB5b3Ugd2FudDxicj4NCiZndDvCoCDCoCDC oCDCoCDCoGlzIG5vdDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoGFscmVhZHkgdXNlZCBpbiB5b3VyIGRvY3VtZW50IHdpdGggYTxicj4NCiZndDvC oCDCoCDCoCDCoCDCoGRpZmZlcmVudCBVUkkuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoElmIGl0 JiMzOTtzIHN0aWxsIG5vdCB3b3JraW5nIGFuZCB5b3UmIzM5O3JlIG5vdDxicj4NCiZndDvCoCDC oCDCoCDCoCDCoGFmcmFpZCBvZjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGRlYnVnZ2luZywgeW91IGNhbiB0cmFjZSB0aGUgZW5zdXJlTWFwcGlu Zzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoG1ldGhvZCBpbjxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFNhdmVyLmphdmE6NzU3IC48YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgPGEgaHJlZj0iaHR0cDov L3N2bi5hcGFjaGUub3JnL3ZpZXd2Yy94bWxiZWFucy90cnVuay9zcmMvc3RvcmUvb3JnL2FwYWNo ZS94bWxiZWFucy9pbXBsL3N0b3JlL1NhdmVyLmphdmE/dmlldz1tYXJrdXAiIHRhcmdldD0iX2Js YW5rIj5odHRwOi8vc3ZuLmFwYWNoZS5vcmcvdmlld3ZjL3htbGJlYW5zL3RydW5rL3NyYy9zdG9y ZS9vcmcvYXBhY2hlL3htbGJlYW5zL2ltcGwvc3RvcmUvU2F2ZXIuamF2YT92aWV3PW1hcmt1cDwv YT48YnI+DQoNCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAm Z3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBDZXphcjxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgT24gMDgvMDIvMjAxNCAwMjowNCBQTSwgTWlj aGFlbCBCaXNob3A8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgT0ssIHRoYW5rcyBmb3IgdGhlIGluZm9ybWF0aW9uLjxicj4N CiZndDvCoCDCoCDCoCDCoCDCoFVuZm9ydHVuYXRlbHksPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdGhpcyBkb2VzbiYjMzk7 dCBzZWVtIHRvIGZpeCB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBwcm9ibGVtLiBJPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgdGhvdWdodCBJJiMzOTtkIHRyaWVkIHRoZSBzdGVwcyBvdXRsaW5lZDxicj4NCiZndDvCoCDC oCDCoCDCoCDCoGluIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGxpbmtlZCBibG9nIGJlZm9yZSwgYnV0IEkgZGlkIGl0 PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgYWdhaW4sIGp1c3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpbiBjYXNlLjxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBIZXJlJiMzOTtzIHRoZSBmdWxsIHNjaGVt YSBkZWZpbml0aW9uczo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgT2xkOjxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCZsdDt4czpzY2hlbWE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgeG1sbnM6eHM9JnF1b3Q7PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcv MjAwMS9YTUxTY2hlbWEiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LnczLm9yZy8yMDAxL1hN TFNjaGVtYTwvYT4mcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKnht bG5zOnh4eD0mcXVvdDtodHRwOi8vLi4uJnF1b3Q7Kjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZn dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIHRh cmdldE5hbWVzcGFjZT0mcXVvdDtodHRwOi8vLi4uJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCBlbGVtZW50Rm9ybURlZmF1bHQ9JnF1b3Q7 cXVhbGlmaWVkJnF1b3Q7Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBO ZXc6PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgJmx0O3hzOnNjaGVtYTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqB4bWxuczp4cz0mcXVvdDs8YSBocmVmPSJodHRwOi8vd3d3Lncz Lm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cudzMub3JnLzIw MDEvWE1MU2NoZW1hPC9hPiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQom Z3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAqeG1sbnM6eHh4PSZxdW90O3l5eTphYWE6YmJiLi4uJnF1b3Q7Kjxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdGFyZ2V0TmFtZXNwYWNlPSZxdW90 O3l5eTouLi4mcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgIGVsZW1lbnRGb3JtRGVmYXVsdD0mcXVvdDtxdWFsaWZpZWQmcXVvdDsmZ3Q7PGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBBcyB5b3UgY2FuIHNlZSwgaW4gYm90aCBzY2hlbWFzLCBJJiMzOTttPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgZGVjbGFyaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYSBuYW1lc3BhY2Ugb2YgKnh4eCosIGJ1dCBp dCYjMzk7cyBvbmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgaG9ub3JlZCBpbjxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRo ZSBvbGQgc2NoZW1hLiBUaGUgb25seSB0aGluZzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHRoYXQm IzM5O3MgY2hhbmdlZDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJldHdlZW4gc2NoZW1hcyBpcyB0aGUgbmFtZXNwYWNlLiBJ PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgaGFkIGE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByZXF1ZXN0IGZyb20gb3VyIGN1 c3RvbWVyIHRvIGNoYW5nZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGl0Ljxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEhvd2V2 ZXIsIGEgY2FsbCB0bzo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqBNeUdlbmVyYXRlZENsYXNzLkZhY3RvcnkubmV3SW5zdGFuY2UoKSByZXN1bHRzPGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgaW4gYSBkb2N1bWVudCB0aGF0IGxvb2tzIGxpa2UgdGhpczo8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgJmx0O3l5eTpyb290PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg eG1sbnM6eXl5PSZxdW90O3l5eTphYWE6YmJiLi4uJnF1b3Q7LyZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgQXBwbHlpbmcgYSBuYW1lc3BhY2UgbWFwIHRvIGFuPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgWG1sT3B0aW9uczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoG9iamVjdCBkb2VzbiYjMzk7dCBz ZWVtIHRvIGhhdmUgYW55PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgZWZmZWN0LiBJJiMzOTt2ZTxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoHRyaWVkIGl0IHdpdGggdGhlIGNhbGwgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAm Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgTXlHZW5lcmF0ZWRDbGFzcy5GYWN0b3J5Lm5ld0lu c3RhbmNlKCkgYW5kIGE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjYWxsIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgTXlH ZW5lcmF0ZWRJbnN0YW5jZS54bWxUZXh0KCk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoFhtbE9wdGlvbnMgb3B0aW9ucyA9IG5ldzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoFht bE9wdGlvbnMoKTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBNYXAmbHQ7U3RyaW5nLCBTdHJpbmcmZ3Q7IG5zTWFwID0gbmV3 PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgSGFzaE1hcCZsdDsmZ3Q7KCk7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgbnNNYXAu cHV0KCZxdW90O3l5eTphYWE6YmJiJnF1b3Q7LCAmcXVvdDt4eHgmcXVvdDspOzxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBvcHRpb25zLnNldFNhdmVT dWdnZXN0ZWRQcmVmaXhlcyhuc01hcCk7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoC8vIE5vIGNoYW5nZSB0byBvdXRwdXQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoE15R2VuZXJhdGVkQ2xhc3MuRmFjdG9yeS5uZXdJbnN0YW5j ZShvcHRpb25zKTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgTXlHZW5lcmF0ZWRJbnN0YW5jZS54bWxUZXh0KG9wdGlvbnMpOzxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBJIGd1ZXNzIEkgaGF2ZSB0d28gcXVlc3Rpb25zOjxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgMS4gV2h5IGlzIHRoZSBwcmVmaXggZGVjbGFyYXRpb24gaW48YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqBteSBzY2hlbWE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBiZWluZyBpZ25vcmVkPyAqeG1sbnM6eHh4KiBoYXMgbmV2 ZXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBjaGFuZ2VkLjxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEl0JiMzOTtzIG9ubHkg dGhlIHZhbHVlIG9mIHRoZSBuYW1lc3BhY2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0aGF0IGhh czxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoGNoYW5nZWQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDIu IEkgZmluZCBpdCBvZGQgdGhhdCBNYXAgaGFzIG5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgZWZm ZWN0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgZWl0aGVyLiBJcyB0aGVyZSBhbnl0aGluZyBlbHNlIEk8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqBzaG91bGQgYmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBsb29raW5nIGludG8/IEkmIzM5O20gbm90IHN1 cmUgaWYgbXk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBzY2hlbWEgaXM8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBzb21laG93 ICZxdW90O3dyb25nJnF1b3Q7IG9yIEkgaGF2ZSBhIHNldHRpbmc8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqBpbjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoFhNTEJlYW5zIG1pc2NvbmZpZ3VyZWQuIEl0JiMzOTtzPGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgYmVjb21pbmcgbW9yZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRoYW4ganVzdCBhbiBhbm5veWlu ZyBwcm9ibGVtLiBYUGF0aDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHN0YXRlbWVudHMgYXJlIG5vdyBicm9rZW4gc2luY2Ug dGhleTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGVtcGxveTxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRoZSAqeHh4KiBwcmVm aXguIEkmIzM5O20gbm90IHN1cmUgd2hlcmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0byBzdGFy dDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoHRyYWNraW5nIGRvd24gdGhlIGlzc3VlLiBCb3RoIHRoZTxicj4NCiZndDvCoCDC oCDCoCDCoCDCoGd1aWRhbmNlIGFuZDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRoZSBkb2NzIHNlZW0gc3RyYWlnaHRmb3J3 YXJkIHRvIG1lLDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHlldCBJPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY2FuJiMzOTt0 IGdldCBpdCB0byB3b3JrIHByb3Blcmx5Ljxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQW55IGd1aWRhbmNlIGlzIGFwcHJlY2lh dGVkLiBJJiMzOTttIG9uPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgWE1MQmVhbnM8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAy LjUuMC4gSWYgdGhlcmUmIzM5O3MgYW55dGhpbmcgbW9yZSBJPGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgY2FuIHByb3ZpZGUsPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSSBjYW4gZG8gc28uPGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoE1pY2hhZWwgQmlzaG9wPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgT24gRnJpLCBBdWcgMSwgMjAxNCBhdCAxMjoxMCBQTSw8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqBDZXphciBBbmRyZWk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmbHQ7PGEgaHJlZj0ibWFpbHRvOmNlemFyLmFu ZHJlaUBvcmFjbGUuY29tIj5jZXphci5hbmRyZWlAb3JhY2xlLmNvbTwvYT48YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmbHQ7 bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpjZXphci5hbmRyZWlAb3JhY2xlLmNvbSI+Y2V6YXIuYW5k cmVpQG9yYWNsZS5jb208L2E+Jmd0OyZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB3cm90ZTo8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSWYgeW91IGRvbiYjMzk7 dCBwcm92aWRlIGEgcHJlZml4LDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoFhtbEJlYW5zPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgd2lsbCBhdXRvbWF0aWNhbGx5IHBpY2sgYTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHByZWZpeCwgYW5kIGl0 IHRyaWVzIHRvIHBpY2sgb25lPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdGhhdCBpczxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oHBhcnQgb2YgdGhlIFVSSS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgQ2V6YXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBPbiAwNy8y OC8yMDE0IDAxOjI3IFBNLCBNaWNoYWVsPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgQmlzaG9wPGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoEhlbGxvIGFsbC4gSSYjMzk7dmUgcmVjZW50bHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBj aGFuZ2VkIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoG5hbWVzcGFjZSBvZiBteSBzY2hlbWEuPGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgTm93IEkmIzM5O20gZ2V0dGluZyB0aGUgd3Jvbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqBwcmVmaXggbmFtZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFuZCBJJiMzOTttIG5vdCBzdXJlIHdoeS48YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgT2xkIG5hbWVzcGFjZSB3YXM6 PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB4bWxuczoqeHh4Kj0mcXVvdDs8YSBocmVmPSJodHRwOi8v Y2NjLmJiYi5hYWEiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vY2NjLmJiYi5hYWE8L2E+JnF1b3Q7 PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoE5ldyBuYW1l c3BhY2UgaXM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB4bWxuczoqeHh4Kj0mcXVvdDsqeXl5Kjph YWE6YmJiOmNjYyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBXaXRoIHRoZSBvbGQgbmFtZXNwYWNlLCB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqBwcmVmaXggZm9yPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgZWxlbWVudHMgd2FzIHh4eC4gTm93PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgd2l0aCB0aGUgbmV3IG5hbWVzcGFjZSwgdGhlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg cHJlZml4IGZwcjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoGVsZW1lbnRzIGlzICp5eXkqLiBJdDxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoHNlZW1zIHN3aXRjaGluZyBmcm9tIFVSTDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGZvcm0g dG8gVVJJPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgZm9ybSBoYXMgY2F1c2VkIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHBy b2Nlc3NvciB0byBzdGFydCB1c2luZyB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBmaXJzdDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoHBhcnQgb2YgdGhlIFVSSSBhcyB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBwcmVmaXg/ IFRoaXMgaGFwcGVucyB3aGVuIEk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBjYWxsIHRoZTxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoHN0YXRpYzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEZhY3RvcnkubmV3SW5zdGFuY2UoKSBvbjxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoGdlbmVyYXRlZDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZn dDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNsYXNzZXMuIE9sZGVyIGRv Y3VtZW50czxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHdpdGggdGhlIGNvcnJlY3QgcHJlZml4PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgc3RpbGwgcGFyc2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBwcm9wZXJseS48YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSXQmIzM5O3Mgbm90IGEgYmln IGRlYWwgc2luY2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBuYW1lc3BhY2Ug aXMgaW50YWN0IGFuZCB0aGluZ3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB3b3JrIGFzIHRoZXkgc2hv dWxkLCBidXQgSTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGNhbiYjMzk7dDxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGZpZ3Vy ZSBvdXQgd2h5IHRoaXMgaXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBoYXBwZW5pbmcuIEkgZG9uJiMz OTt0IGRlY2xhcmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB4bWxuczoqeXl5Kjxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFu eXdoZXJlIGluIHRoZSBzY2hlbWE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBvciB4c2Rjb25maWcgZmls ZXMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZn dDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoE1pY2hh ZWwgQmlzaG9wPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS08YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBUbyB1bnN1YnNjcmliZSwgZS1tYWlsOjxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoDxhIGhyZWY9Im1haWx0bzp1c2VyLXVuc3Vic2NyaWJlQHhtbGJlYW5zLmFwYWNoZS5vcmci PnVzZXItdW5zdWJzY3JpYmVAeG1sYmVhbnMuYXBhY2hlLm9yZzwvYT48YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1h aWx0bzp1c2VyLXVuc3Vic2NyaWJlQHhtbGJlYW5zLmFwYWNoZS5vcmciPnVzZXItdW5zdWJzY3Jp YmVAeG1sYmVhbnMuYXBhY2hlLm9yZzwvYT4mZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoEZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1haWw6PGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg PGEgaHJlZj0ibWFpbHRvOnVzZXItaGVscEB4bWxiZWFucy5hcGFjaGUub3JnIj51c2VyLWhlbHBA eG1sYmVhbnMuYXBhY2hlLm9yZzwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZsdDttYWlsdG86 PGEgaHJlZj0ibWFpbHRvOnVzZXItaGVscEB4bWxiZWFucy5hcGFjaGUub3JnIj51c2VyLWhlbHBA eG1sYmVhbnMuYXBhY2hlLm9yZzwvYT4mZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAm Z3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBUbyB1bnN1YnNjcmliZSwgZS1tYWlsOjxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxhIGhyZWY9 Im1haWx0bzp1c2VyLXVuc3Vic2NyaWJlQHhtbGJlYW5zLmFwYWNoZS5vcmciPnVzZXItdW5zdWJz Y3JpYmVAeG1sYmVhbnMuYXBhY2hlLm9yZzwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBGb3IgYWRkaXRpb25hbCBjb21tYW5kcywgZS1tYWls Ojxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxh IGhyZWY9Im1haWx0bzp1c2VyLWhlbHBAeG1sYmVhbnMuYXBhY2hlLm9yZyI+dXNlci1oZWxwQHht bGJlYW5zLmFwYWNoZS5vcmc8L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqAtLTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoFBldGVyIEtlbGxlcsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgVGVsLjogKzQ0PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgKDApMTIyMyAzNTMwMzM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBH bG9iYWwgUGhhc2luZyBMdGQuLMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgRmF4LjogKzQ0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgKDApMTIyMyAzNjY4ODk8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqBTaGVyYXRvbiBIb3VzZSw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqBDYXN0bGUgUGFyayw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBDYW1icmlkZ2UgQ0IzIDBBWDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoFVuaXRlZCBLaW5nZG9tPGJyPg0KJmd0Ozxicj4NCiZndDs8 YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgVG8gdW5zdWJzY3JpYmUsIGUtbWFpbDogPGEgaHJlZj0ibWFpbHRvOnVzZXIt dW5zdWJzY3JpYmVAeG1sYmVhbnMuYXBhY2hlLm9yZyI+dXNlci11bnN1YnNjcmliZUB4bWxiZWFu cy5hcGFjaGUub3JnPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoEZvciBhZGRpdGlvbmFsIGNv bW1hbmRzLCBlLW1haWw6IDxhIGhyZWY9Im1haWx0bzp1c2VyLWhlbHBAeG1sYmVhbnMuYXBhY2hl Lm9yZyI+dXNlci1oZWxwQHhtbGJlYW5zLmFwYWNoZS5vcmc8L2E+PGJyPg0KJmd0Ozxicj4NCiZn dDs8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCjxicj4NCi0tPGJyPg0KUGV0ZXIgS2VsbGVywqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBUZWwu OiA8YSBocmVmPSJ0ZWw6JTJCNDQlMjAlMjgwJTI5MTIyMyUyMDM1MzAzMyIgdmFsdWU9Iis0NDEy MjMzNTMwMzMiPis0NCAoMCkxMjIzIDM1MzAzMzwvYT48YnI+DQpHbG9iYWwgUGhhc2luZyBMdGQu LMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgRmF4LjogPGEgaHJl Zj0idGVsOiUyQjQ0JTIwJTI4MCUyOTEyMjMlMjAzNjY4ODkiIHZhbHVlPSIrNDQxMjIzMzY2ODg5 Ij4rNDQgKDApMTIyMyAzNjY4ODk8L2E+PGJyPg0KU2hlcmF0b24gSG91c2UsPGJyPg0KQ2FzdGxl IFBhcmssPGJyPg0KQ2FtYnJpZGdlIENCMyAwQVg8YnI+DQpVbml0ZWQgS2luZ2RvbTxicj4NCjxi cj4NCjxicj4NCjxicj4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj4NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6 IDxhIGhyZWY9Im1haWx0bzp1c2VyLXVuc3Vic2NyaWJlQHhtbGJlYW5zLmFwYWNoZS5vcmciPnVz ZXItdW5zdWJzY3JpYmVAeG1sYmVhbnMuYXBhY2hlLm9yZzwvYT48YnI+DQpGb3IgYWRkaXRpb25h bCBjb21tYW5kcywgZS1tYWlsOiA8YSBocmVmPSJtYWlsdG86dXNlci1oZWxwQHhtbGJlYW5zLmFw YWNoZS5vcmciPnVzZXItaGVscEB4bWxiZWFucy5hcGFjaGUub3JnPC9hPjxicj4NCjxicj4NCjwv ZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+DQo= --20cf307f30f8c50cc70500eb158f--