From mproctor at codehaus.org Tue Apr 1 09:09:06 2014 Content-Type: multipart/mixed; boundary="===============8596448381782552169==" MIME-Version: 1.0 From: Mark Proctor To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Tue, 01 Apr 2014 14:08:51 +0100 Message-ID: In-Reply-To: 40448CEC-3684-4BD9-91B0-66A36F99B81C@codehaus.org --===============8596448381782552169== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable any news? Mark On 30 Mar 2014, at 13:38, Mark Proctor wrote: > = > On 30 Mar 2014, at 13:26, kellyajp wrote: > = >> I'll get that to you on Monday = >> = >> On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <[hidden email]> w= rote: >> = >>> Are you able to isolate what the FH=E2=80=99s are referencing, > Sorry that should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHand= le. >>> that might give us an idea of where to look. If you look RightTuple=E2= =80=99s they will have a =E2=80=98sink' reference (network node) and that s= ink will have an =E2=80=98associates=E2=80=99 map. That map is the rules th= at node is part of. You can use this to identify the offending rule(s), and= maybe paste those rules here? >>> = >>> Mark >>> On 30 Mar 2014, at 09:03, kellyajp <[hidden email]> wrote: >>> = >>>> Thanks >>>> = >>>> I'll get someone from the team to work on this on Monday. Not sure how= easy it will be to isolate but will keep you informed. >>>> = >>>> Andy >>>> On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <[hidden email]> wrote: >>>> = >>>>> Can you get us a unit test demonstrating this, and we=E2=80=99ll look= into it as a priority. = >>>>> = >>>>> Mark = >>>>> On 28 Mar 2014, at 15:40, kellyajp <[hidden email]> wrote: = >>>>> = >>>>> > We have upgraded from Drools 5 -> Drools 6.01 and when repeating th= e = >>>>> > processing in each environment we have very different object counts= that is = >>>>> > causing memory to run out on Drools 6: = >>>>> > = >>>>> > Below is an extract from a heap dump = >>>>> > = >>>>> > In Drools 6 the main objects in the heap are = >>>>> > 1: 4378006 700480960 org.drools.core.reteoo.RightTuple = >>>>> > = >>>>> > Where as in Drools 5 there are way less objects = >>>>> > 92: 19022 1826112 org.drools.reteoo.RightTuple = >>>>> > = >>>>> > Has anyone else had any experience of this issue? = >>>>> > = >>>>> > Thanks = >>>>> > = >>>>> > = >>>>> > = >>>>> > -- = >>>>> > View this message in context: http://drools.46999.n3.nabble.com/Pos= sible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>> > Sent from the Drools: Developer (committer) mailing list mailing li= st archive at Nabble.com. = >>>>> > _______________________________________________ = >>>>> > rules-dev mailing list = >>>>> > [hidden= email] = >>>>> > https://lists.jboss.org/mailman/listinfo/rules-dev >>>>> _______________________________________________ = >>>>> rules-dev mailing list = >>>>> [hidden e= mail] = >>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>>> = >>>>> = >>>>> If you reply to this email, your message will be added to the discuss= ion below: >>>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-= 1-tp4029010p4029018.html >>>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>> NAML >>>> = >>>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>> Sent from the Drools: Developer (committer) mailing list mailing list = archive at Nabble.com. >>>> _______________________________________________ >>>> rules-dev mailing list >>>> [hidden email] >>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>> = >>> = >>> _______________________________________________ = >>> rules-dev mailing list = >>> [hidden email] = >>> https://lists.jboss.org/mailman/listinfo/rules-dev = >>> = >>> If you reply to this email, your message will be added to the discussio= n below: >>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029026.html >>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>> NAML >> = >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >> Sent from the Drools: Developer (committer) mailing list mailing list ar= chive at Nabble.com. >> _______________________________________________ >> rules-dev mailing list >> rules-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-dev > = --===============8596448381782552169== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWwgY2hhcnNldD13aW5kb3dzLTEyNTIiPjwvaGVhZD48Ym9keSBzdHlsZT0id29yZC13cmFw OiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVh azogYWZ0ZXItd2hpdGUtc3BhY2U7Ij5hbnkgbmV3cz88ZGl2Pjxicj48L2Rpdj48ZGl2Pk1hcms8 YnI+PGRpdiBzdHlsZT0iIj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAxMzozOCwgTWFyayBQcm9j dG9yICZsdDs8YSBocmVmPSJtYWlsdG86bXByb2N0b3JAY29kZWhhdXMub3JnIj5tcHJvY3RvckBj b2RlaGF1cy5vcmc8L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xhc3M9IkFwcGxlLWludGVyY2hh bmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxtZXRhIGh0dHAtZXF1aXY9IkNv bnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sIGNoYXJzZXQ9d2luZG93cy0xMjUyIj48ZGl2 IHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsg LXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiPjxicj48ZGl2PjxkaXY+T24g MzAgTWFyIDIwMTQsIGF0IDEzOjI2LCBrZWxseWFqcCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmtlbGx5 YWpwQHlhaG9vLmNvLnVrIj5rZWxseWFqcEB5YWhvby5jby51azwvYT4mZ3Q7IHdyb3RlOjwvZGl2 PjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgdHlwZT0i Y2l0ZSI+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7 IGNoYXJzZXQ9dXRmLTgiPjxkaXY+SSdsbCBnZXQgdGhhdCB0byB5b3Ugb24gTW9uZGF5Jm5ic3A7 PC9kaXY+PGRpdj48YnI+T24gMzAgTWFyIDIwMTQsIGF0IDEyOjU5LCAiTWFyayBQcm9jdG9yIFt2 aWEgRHJvb2xzXSIgJmx0OzxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO25vZGU9NDAyOTAyNyZhbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9m b2xsb3ciIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjxicj48 YnI+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0ND O3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPgoKCTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQt VHlwZSIgY29udGVudD0idGV4dC9odG1sIGNoYXJzZXQ9d2luZG93cy0xMjUyIj5BcmUgeW91IGFi bGUgdG8gaXNvbGF0ZSB3aGF0IHRoZSBGSJJzIGFyZSByZWZlcmVuY2luZywgPC9ibG9ja3F1b3Rl PjwvYmxvY2txdW90ZT5Tb3JyeSB0aGF0IHNob3VsZCBiZSBSVCwgbm90IEZILiBSVCA9PSBSaWdo dFR1cGxlLCBGSCA9PSBGYWN0SGFuZGxlLjxicj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48Ymxv Y2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFl bSIgdHlwZT0iY2l0ZSI+dGhhdCBtaWdodCBnaXZlIHVzIGFuIGlkZWEgb2Ygd2hlcmUgdG8gbG9v ay4gSWYgeW91IGxvb2sgUmlnaHRUdXBsZZJzIHRoZXkgd2lsbCBoYXZlIGEgkXNpbmsnIHJlZmVy ZW5jZSAobmV0d29yayBub2RlKSBhbmQgdGhhdCBzaW5rIHdpbGwgaGF2ZSBhbiCRYXNzb2NpYXRl c5IgbWFwLiBUaGF0IG1hcCBpcyB0aGUgcnVsZXMgdGhhdCBub2RlIGlzIHBhcnQgb2YuIFlvdSBj YW4gdXNlIHRoaXMgdG8gaWRlbnRpZnkgdGhlIG9mZmVuZGluZyBydWxlKHMpLCBhbmQgbWF5YmUg cGFzdGUgdGhvc2UgcnVsZXMgaGVyZT88ZGl2Pjxicj48L2Rpdj48ZGl2Pk1hcms8YnI+PGRpdj48 ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAwOTowMywga2VsbHlhanAgJmx0OzxhIGhyZWY9IngtbXNn Oi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO25vZGU9NDAyOTAyNiZhbXA7 aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5baGlkZGVu IGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2Ut bmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0ND O3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2 ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgbGlu ZS1oZWlnaHQ6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3 aWRvd3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo OiAwcHg7Ij48ZGl2PlRoYW5rczwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSdsbCBnZXQgc29t ZW9uZSBmcm9tIHRoZSB0ZWFtIHRvIHdvcmsgb24gdGhpcyBvbiBNb25kYXkuIE5vdCBzdXJlIGhv dyBlYXN5IGl0IHdpbGwgYmUgdG8gaXNvbGF0ZSBidXQgd2lsbCBrZWVwIHlvdSBpbmZvcm1lZC48 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkFuZHk8YnI+T24gMjggTWFyIDIwMTQsIGF0IDIzOjUy LCAiTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9IjxhIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkw MjUmYW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDtpPTA8L2E+IiB0YXJnZXQ9Il90b3AiIHJlbD0i bm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PGJy Pjxicj48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0ND Q0M7cGFkZGluZzowIDFlbSIgdHlwZT0iY2l0ZSI+Q2FuIHlvdSBnZXQgdXMgYSB1bml0IHRlc3Qg ZGVtb25zdHJhdGluZyB0aGlzLCBhbmQgd2WSbGwgbG9vayBpbnRvIGl0IGFzIGEgcHJpb3JpdHku PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxicj48YnI+ TWFyazxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+ T24gMjggTWFyIDIwMTQsIGF0IDE1OjQwLCBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0iPGEgaHJl Zj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9 NDAyOTAxOCZhbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MDwvYT4iIHRhcmdldD0iX3RvcCIg cmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90 ZTo8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPjxk aXYgY2xhc3M9InNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InNocmlua2FibGUtcXVvdGUi PjxkaXYgY2xhc3M9InNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InNocmlua2FibGUtcXVv dGUiPjxicj4mZ3Q7IFdlIGhhdmUgdXBncmFkZWQgZnJvbSBEcm9vbHMgNSAtJmd0OyBEcm9vbHMg Ni4wMSBhbmQgd2hlbiByZXBlYXRpbmcgdGhlPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxicj4mZ3Q7IHByb2Nlc3NpbmcgaW4gZWFjaCBlbnZpcm9ubWVu dCB3ZSBoYXZlIHZlcnkgZGlmZmVyZW50IG9iamVjdCBjb3VudHMgdGhhdCBpczxzcGFuIGNsYXNz PSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+Jmd0OyBjYXVzaW5nIG1l bW9yeSB0byBydW4gb3V0IG9uIERyb29scyA2OjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+Jmd0OzxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+Jmd0OyBCZWxvdyBpcyBhbiBleHRyYWN0IGZyb20gYSBo ZWFwIGR1bXA8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyPiZndDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyPiZndDsgSW4gRHJvb2xzIDYgdGhlIG1haW4gb2JqZWN0cyBpbiB0aGUgaGVhcCBhcmU8c3Bh biBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDsgMTog Jm5ic3A7ICZuYnNwOyAmbmJzcDsgNDM3ODAwNiAmbmJzcDsgJm5ic3A7ICZuYnNwOzcwMDQ4MDk2 MCAmbmJzcDtvcmcuZHJvb2xzLmNvcmUucmV0ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFzcz0iQXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDs8c3BhbiBjbGFzcz0iQXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDsgV2hlcmUgYXMgaW4gRHJv b2xzIDUgdGhlcmUgYXJlIHdheSBsZXNzIG9iamVjdHM8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDsgOTI6ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAxOTAyMiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsxODI2MTEyICZuYnNwO29y Zy5kcm9vbHMucmV0ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDsgSGFzIGFueW9uZSBlbHNlIGhhZCBhbnkgZXhwZXJp ZW5jZSBvZiB0aGlzIGlzc3VlPzxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YnI+Jmd0OzxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YnI+Jmd0OyBUaGFua3M8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDsgLS08c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPiZndDsgVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4 dDo8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgaHJl Zj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFr LWluLURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9s bG93IiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bv c3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbDwvYT48YnI+ Jmd0OyBTZW50IGZyb20gdGhlIERyb29sczogRGV2ZWxvcGVyIChjb21taXR0ZXIpIG1haWxpbmcg bGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZSBhdDxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YSBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIHRhcmdldD0i X3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxzcGFu IGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+Jmd0OyBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxzcGFuIGNsYXNzPSJB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+Jmd0OyBydWxlcy1kZXYgbWFp bGluZyBsaXN0PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFu Pjxicj4mZ3Q7PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFu PiZsdDthIGhyZWY9IjxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTEiPngtbXNnOi8vMTMxL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTE8 L2E+IiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlk ZGVuIGVtYWlsXTxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnI+Jmd0OzxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVz LWRldiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9k aXY+PC9kaXY+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+cnVs ZXMtZGV2IG1haWxpbmcgbGlzdDxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YnI+Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MiI+eC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2k9MjwvYT4iIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0 ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxicj48YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5r PSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxl cy1kZXY8L2E+PGJyPjxicj48YnI+PGhyIG5vc2hhZGU9Im5vc2hhZGUiIHNpemU9IjEiPjxkaXYg c3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12 YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGlu ZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2Es IGFyaWFsLCBzYW5zLXNlcmlmOyI+PGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5JZiB5 b3UgcmVwbHkgdG8gdGhpcyBlbWFpbCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhl IGRpc2N1c3Npb24gYmVsb3c6PC9kaXY+PGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5u YWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBw NDAyOTAxOC5odG1sIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFs Ij5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWst aW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDE4Lmh0bWw8L2E+PC9kaXY+PGRpdiBzdHls ZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZh cmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250 LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1h cmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij5UbyB1bnN1YnNjcmliZSBmcm9t IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSw8c3BhbiBjbGFzcz0iQXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIHJl bD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnI+PGEgaHJlZj0i aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0 cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWls Lm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJi bGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1w bGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFu YWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1z ZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiByZWw9Im5vZm9sbG93IiB0 YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7 IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiPk5BTUw8L2E+PC9kaXY+ PC9ibG9ja3F1b3RlPjxicj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPlZpZXcgdGhpcyBt ZXNzYWdlIGluIGNvbnRleHQ6PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3Nz aWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjUuaHRtbCIg dGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+UmU6IFBvc3NpYmxl IG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnI+U2VudCBmcm9tIHRoZTxzcGFuIGNs YXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSBocmVmPSJodHRwOi8v ZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFp bGluZy1saXN0LWY2MjI2MC5odG1sIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9 ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFp bGluZyBsaXN0IGFyY2hpdmU8L2E+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPmF0PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgdGFyZ2V0PSJfdG9wIiByZWw9Im5v Zm9sbG93IiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyPl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxp c3Q8YnI+PGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7bm9kZT00MDI5MDI2JmFtcDtpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGlu az0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxicj48YSBocmVmPSJodHRwczovL2xpc3Rz Lmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgdGFyZ2V0PSJfdG9wIiByZWw9 Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1h bi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rp dj48YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPGJy PnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyPjxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2Vu ZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO25vZGU9NDAyOTAyNiZhbXA7aT0yIiB0YXJnZXQ9Il90 b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4KPGJy PjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMt ZGV2IiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5odHRwczov L2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8 YnI+Cgk8YnI+Cgk8aHIgbm9zaGFkZT0ibm9zaGFkZSIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJj b2xvcjojNDQ0OyBmb250OiAxMnB4IHRhaG9tYSxnZW5ldmEsaGVsdmV0aWNhLGFyaWFsLHNhbnMt c2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5JZiB5b3UgcmVwbHkgdG8g dGhpcyBlbWFpbCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Npb24g YmVsb3c6PC9kaXY+CgkJPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNi5o dG1sIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5odHRwOi8v ZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xz LTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI2Lmh0bWw8L2E+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9ImNv bG9yOiM2NjY7IGZvbnQ6IDExcHggdGFob21hLGdlbmV2YSxoZWx2ZXRpY2EsYXJpYWwsc2Fucy1z ZXJpZjttYXJnaW4tdG9wOi40ZW07bGluZS1oZWlnaHQ6MS41ZW0iPgoJCQoJCVRvIHVuc3Vic2Ny aWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSBocmVmPSIi IHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhlcmU8 L2E+Ljxicj4KCQk8YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVt cGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9o dG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2Vz LkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2Ut bmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5v dGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFu YWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5h bWwiIHJlbD0ibm9mb2xsb3ciIHN0eWxlPSJmb250OjlweCBzZXJpZiIgdGFyZ2V0PSJfdG9wIiBs aW5rPSJleHRlcm5hbCI+TkFNTDwvYT4KCTwvZGl2PjwvYmxvY2txdW90ZT4KCgkKCQoJCjxicj48 aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0 OiA8YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVt b3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI3Lmh0bWwiPlJlOiBQb3Nz aWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyPgpTZW50IGZyb20gdGhlIDxh IGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVy LWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiPkRyb29sczogRGV2ZWxvcGVyIChj b21taXR0ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQgPGEgaHJl Zj0iaHR0cDovL25hYmJsZS5jb20vIj5OYWJibGUuY29tPC9hPi48YnI+X19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+cnVsZXMtZGV2IG1haWxpbmcgbGlz dDxicj48YSBocmVmPSJtYWlsdG86cnVsZXMtZGV2QGxpc3RzLmpib3NzLm9yZyI+cnVsZXMtZGV2 QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxt YW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9i bG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2JvZHk+PC9odG1sPg== --===============8596448381782552169==-- From kellyajp at yahoo.co.uk Tue Apr 1 10:22:38 2014 Content-Type: multipart/mixed; boundary="===============3254467390627077963==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Tue, 01 Apr 2014 07:22:38 -0700 Message-ID: <1396362151.73867.YahooMailNeo@web171803.mail.ir2.yahoo.com> In-Reply-To: AE14B47F-9EDB-478C-B547-2BF6F39BC5C6@codehaus.org --===============3254467390627077963== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Trying to isolate the issue, and analyse the heap dump; its a very large he= ap file so trying a number of things. Working on it and will let you know s= hortly. Thanks ________________________________ From: Mark Proctor [via Drools] To: kellyajp = Sent: Tuesday, 1 April 2014, 14:10 Subject: Re: Possible memory leak in Drools 6.0.1 = any news? Mark On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: I'll get that to you on Monday=C2=A0 On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <[hidden email]> wrote: Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that s= hould be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >> >> >>Mark >> >>On 30 Mar 2014, at 09:03, kellyajp <[hidden email]> wrote: >> >>Thanks >>> >>> >>>I'll get someone from the team to work on this on Monday. Not sure how e= asy it will be to isolate but will keep you informed. >>> >>> >>>Andy >>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029025&am= p;i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]>= wrote: >>> >>> >>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look in= to it as a priority.=C2=A0 >>>> >>>>Mark=C2=A0 >>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg:/= /131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D0" target=3D= "_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote:=C2=A0 >>>> >>>> >>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating the= =C2=A0 >>>>> processing in each environment we have very different object counts t= hat is=C2=A0 >>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>=C2=A0 >>>>> Below is an extract from a heap dump=C2=A0 >>>>>=C2=A0 >>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2=A0o= rg.drools.core.reteoo.RightTuple=C2=A0 >>>>>=C2=A0 >>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A01826= 112 =C2=A0org.drools.reteoo.RightTuple=C2=A0 >>>>>=C2=A0 >>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>=C2=A0 >>>>> Thanks=C2=A0 >>>>>=C2=A0 >>>>>=C2=A0 >>>>>=C2=A0 >>>>> --=C2=A0 >>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.com/= Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>> Sent from the Drools: Developer (committer) mailing list mailing list= archive at=C2=A0Nabble.com.=C2=A0 >>>>> _______________________________________________=C2=A0 >>>>> rules-dev mailing list=C2=A0 >>>>>=C2=A0x-msg://131/user/SendEmail.jtp?type= =3Dnode&node=3D4029018&i=3D1" target=3D"_top" rel=3D"nofollow" link= =3D"external">[hidden email]=C2=A0 >>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev______________= _________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D= 4029018&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidd= en email]=C2=A0 >>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>>> >>>> >>>>>>>>________________________________ >>>> >>>>If you reply to this email, your message will be added to the discussio= n below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-= 0-1-tp4029010p4029018.html >>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click he= re. >>>>NAML >>>>>>________________________________ >>>View this message in context:=C2=A0Re: Possible memory leak in Drools 6.= 0.1 >>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing li= st archive=C2=A0at=C2=A0Nabble.com. >>>_______________________________________________ >>>rules-dev mailing list >>>[hidden emai= l] >>>https://lists.jboss.org/mailman/listinfo/rules-dev >> >>_______________________________________________ = >>rules-dev mailing list = >>[hidden email= ] = >>https://lists.jboss.org/mailman/listinfo/rules-dev = >> >>>>________________________________ >> = >>If you reply to this email, your message will be added to the discussion = below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-= 1-tp4029010p4029026.html = >>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>NAML = >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029052.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029071.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============3254467390627077963== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PjxzcGFuPlRyeWluZyB0byBp c29sYXRlIHRoZSBpc3N1ZSwgYW5kIGFuYWx5c2UgdGhlIGhlYXAgZHVtcDsgaXRzIGEgdmVyeSBs YXJnZSBoZWFwIGZpbGUgc28gdHJ5aW5nIGEgbnVtYmVyIG9mIHRoaW5ncy4gV29ya2luZyBvbiBp dCBhbmQgd2lsbCBsZXQgeW91IGtub3cgc2hvcnRseS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0i Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0 aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFu ZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHls ZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdi KDAsIDAsIDApOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAn SGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMt c2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7 Ij48c3Bhbj5UaGFua3M8L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+ICA8ZGl2IHN0eWxlPSJm b250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBB cmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPiA8ZGl2 IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwKICdIZWx2ZXRpY2EgTmV1ZScsIEhl bHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx MnB0OyI+IDxkaXYgZGlyPSJsdHIiPiA8aHIgc2l6ZT0iMSI+ICA8Zm9udCBzaXplPSIyIiBmYWNl PSJBcmlhbCI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+RnJvbTo8L3NwYW4+ PC9iPiBNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdICZsdDs8YSBocmVmPSIvdXNlci9TZW5kRW1h aWwuanRwP3R5cGU9bm9kZSZub2RlPTQwMjkwNzEmaT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9m b2xsb3ciIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7PGJyPiA8Yj48c3Bh biBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Ubzo8L3NwYW4+PC9iPiBrZWxseWFqcCAmbHQ7 PGEgaHJlZj0iL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmbm9kZT00MDI5MDcxJmk9MSIg dGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFp bF08L2E+Jmd0OyA8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlNlbnQ6 PC9zcGFuPjwvYj4gVHVlc2RheSwgMSBBcHJpbCAyMDE0LCAxNDoxMDxicj4gPGI+PHNwYW4gc3R5 bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+U3ViamVjdDo8L3NwYW4+PC9iPiBSZTogUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPiA8L2ZvbnQ+IDwvZGl2PiA8ZGl2IGNsYXNz PSJ5X21zZ19jb250YWluZXIiPjxicj48ZGl2IGlkPSJ5aXYyMzk4NzY0ODQxIj48ZGl2PmFueSBu ZXdzPzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2Pk1hcms8YnIgY2xlYXI9Im5vbmUi PjxkaXYgc3R5bGU9IiI+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMTM6MzgsIE1hcmsgUHJvY3Rv ciAmbHQ7PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9w IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIg Y2xlYXI9Im5vbmUiIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu ZSI+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRp bmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAg MWVtOyIKIHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2Pjxk aXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkOyI+PGJyIGNsZWFyPSJub25lIj48ZGl2Pjxk aXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjI2LCBrZWxseWFqcCAmbHQ7PGEgcmVsPSJub2ZvbGxv dyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hp ZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5vbmUiIGNsYXNzPSJ5 aXYyMzk4NzY0ODQxQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9 J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3Jk ZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PC9i bG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRpdj5JJ2xsIGdldCB0aGF0IHRvIHlv dSBvbiBNb25kYXkmbmJzcDs8L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+T24gMzAgTWFyIDIw MTQsIGF0IDEyOjU5LCAiTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9 IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQw MjkwMjcmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0 ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8YnIgY2xlYXI9Im5vbmUiPjxiciBj bGVhcj0ibm9uZSI+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xp ZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0ND Q0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+CgoJPC9ibG9ja3F1b3RlPjwvZGl2Pjxk aXY+QXJlIHlvdSBhYmxlIHRvIGlzb2xhdGUgd2hhdCB0aGUgRkjigJlzIGFyZSByZWZlcmVuY2lu ZywgU29ycnkgdGhhdCBzaG91bGQgYmUgUlQsIG5vdCBGSC4gUlQgPT0gUmlnaHRUdXBsZSwgRkgg PT0gRmFjdEhhbmRsZS48YnIgY2xlYXI9Im5vbmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXIt bGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6 MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPjxibG9ja3F1b3Rl IHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHls ZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNp dGUiPnRoYXQgbWlnaHQgZ2l2ZSB1cyBhbiBpZGVhIG9mIHdoZXJlIHRvIGxvb2suIElmIHlvdSBs b29rIFJpZ2h0VHVwbGXigJlzIHRoZXkgd2lsbCBoYXZlIGEg4oCYc2luaycgcmVmZXJlbmNlIChu ZXR3b3JrIG5vZGUpIGFuZCB0aGF0IHNpbmsgd2lsbCBoYXZlIGFuIOKAmGFzc29jaWF0ZXPigJkg bWFwLiBUaGF0IG1hcCBpcyB0aGUgcnVsZXMgdGhhdCBub2RlIGlzIHBhcnQgb2YuIFlvdSBjYW4g dXNlIHRoaXMgdG8gaWRlbnRpZnkgdGhlIG9mZmVuZGluZyBydWxlKHMpLCBhbmQgbWF5YmUgcGFz dGUgdGhvc2UgcnVsZXMgaGVyZT88ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5NYXJr PGJyIGNsZWFyPSJub25lIj48ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDA5OjAzLCBrZWxs eWFqcCAmbHQ7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9 Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjwv ZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1pbnRlcmNoYW5n ZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0ND Q0M7cGFkZGluZzowIDFlbScKIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztw YWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZl dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDog bm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5l LWhlaWdodDogbm9ybWFsOyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7Ij48ZGl2PlRoYW5rczwvZGl2 PjxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2PkknbGwgZ2V0IHNvbWVvbmUgZnJvbSB0 aGUgdGVhbSB0byB3b3JrIG9uIHRoaXMgb24gTW9uZGF5LiBOb3Qgc3VyZSBob3cgZWFzeSBpdCB3 aWxsIGJlIHRvIGlzb2xhdGUgYnV0IHdpbGwga2VlcCB5b3UgaW5mb3JtZWQuPC9kaXY+PGRpdj48 YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+QW5keTxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFy IDIwMTQsIGF0IDIzOjUyLCAiTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhy ZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1w O2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hp ZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48 L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFk ZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6 MCAxZW07IgogdHlwZT0iY2l0ZSI+Q2FuIHlvdSBnZXQgdXMgYSB1bml0IHRlc3QgZGVtb25zdHJh dGluZyB0aGlzLCBhbmQgd2XigJlsbCBsb29rIGludG8gaXQgYXMgYSBwcmlvcml0eS48c3BhbiBj bGFzcz0ieWl2MjM5ODc2NDg0MUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxi ciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5NYXJrPHNwYW4gY2xhc3M9InlpdjIzOTg3 NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUi Pk9uIDI4IE1hciAyMDE0LCBhdCAxNTo0MCwga2VsbHlhanAgJmx0OyZsdDthIGhyZWY9IiZsdDth IGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDth bXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MCIgdGFy Z2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFp bF0mZ3Q7IHdyb3RlOjxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj48ZGl2IGNsYXNzPSJ5aXYyMzk4NzY0 ODQxc2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2MjM5ODc2NDg0MXNocmlua2FibGUt cXVvdGUiPjxkaXYgY2xhc3M9InlpdjIzOTg3NjQ4NDFzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNs YXNzPSJ5aXYyMzk4NzY0ODQxc2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2MjM5ODc2 NDg0MXNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9J3Nocmlua2FibGUtcXVvdGUnPjxiciBj bGVhcj0ibm9uZSI+Jmd0OyBXZSBoYXZlIHVwZ3JhZGVkIGZyb20gRHJvb2xzIDUgLSZndDsgRHJv b2xzIDYuMDEgYW5kIHdoZW4gcmVwZWF0aW5nIHRoZTxzcGFuCiBjbGFzcz0ieWl2MjM5ODc2NDg0 MUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0 OyBwcm9jZXNzaW5nIGluIGVhY2ggZW52aXJvbm1lbnQgd2UgaGF2ZSB2ZXJ5IGRpZmZlcmVudCBv YmplY3QgY291bnRzIHRoYXQgaXM8c3BhbiBjbGFzcz0ieWl2MjM5ODc2NDg0MUFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBjYXVzaW5nIG1l bW9yeSB0byBydW4gb3V0IG9uIERyb29scyA2OjxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNw YW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDsgQmVsb3cgaXMgYW4gZXh0cmFjdCBmcm9tIGEgaGVhcCBk dW1wPHNwYW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2MjM5ODc2NDg0MUFw cGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBJ biBEcm9vbHMgNiB0aGUgbWFpbiBvYmplY3RzIGluIHRoZSBoZWFwIGFyZTxzcGFuIGNsYXNzPSJ5 aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFy PSJub25lIj4mZ3Q7IDE6ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDQzNzgwMDYgJm5ic3A7ICZuYnNw OyAmbmJzcDs3MDA0ODA5NjAgJm5ic3A7b3JnLmRyb29scy5jb3JlLnJldGVvby5SaWdodFR1cGxl PHNwYW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwv c3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbgogY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgV2hl cmUgYXMgaW4gRHJvb2xzIDUgdGhlcmUgYXJlIHdheSBsZXNzIG9iamVjdHM8c3BhbiBjbGFzcz0i eWl2MjM5ODc2NDg0MUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVh cj0ibm9uZSI+Jmd0OyA5MjogJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDE5MDIyICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOzE4MjYxMTIgJm5ic3A7b3JnLmRyb29scy5yZXRlb28uUmln aHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjIzOTg3NjQ4 NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZn dDsgSGFzIGFueW9uZSBlbHNlIGhhZCBhbnkgZXhwZXJpZW5jZSBvZiB0aGlzIGlzc3VlPzxzcGFu IGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgVGhhbmtzPHNw YW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2MjM5ODc2NDg0MUFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNs YXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJy IGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4KIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IC0tPHNwYW4gY2xh c3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIg Y2xlYXI9Im5vbmUiPiZndDsgVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDo8c3BhbiBjbGFz cz0ieWl2MjM5ODc2NDg0MUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ry b29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02 LTAtMS10cDQwMjkwMTAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5 MDEwLmh0bWw8L2E+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFNlbnQgZnJvbSB0aGUgRHJvb2xzOiBE ZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlIGF0 PHNwYW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwv c3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxzcGFu IGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fPHNwYW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgcnVsZXMtZGV2CiBtYWlsaW5n IGxpc3Q8c3BhbiBjbGFzcz0ieWl2MjM5ODc2NDg0MUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQx QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+Jmx0O2EgaHJlZj0iJmx0O2EgaHJl Zj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtu b2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0xIiB0YXJnZXQ9 Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxz cGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3Nw YW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVj dCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4v bGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5v cmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9kaXY+PC9kaXY+X19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0ieWl2 MjM5ODc2NDg0MUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PnJ1bGVz LWRldiBtYWlsaW5nIGxpc3Q8c3BhbiBjbGFzcz0ieWl2MjM5ODc2NDg0MUFwcGxlLWNvbnZlcnRl ZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PiZsdDthIGhyZWY9IiZsdDthCiBocmVmPSJ4LW1z ZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAy OTAxOCZhbXA7YW1wO2FtcDtpPTIiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTIiIHRhcmdldD0iX3RvcCIg cmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPHNwYW4gY2xh c3M9InlpdjIzOTg3NjQ4NDFBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rp dj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJl eHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1k ZXY8L2E+PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+ PGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSI+PGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4 KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWls eTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij48ZGl2IHN0 eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIg bWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PjxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIKIGhyZWY9Imh0dHA6Ly9k cm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMt Ni0wLTEtdHA0MDI5MDEwcDQwMjkwMTguaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9v bHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0w LTEtdHA0MDI5MDEwcDQwMjkwMTguaHRtbDwvYT48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdi KDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFs OyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhv bWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40 ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPlRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVt b3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLDxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJl Y3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4u PGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJf YmxhbmsiCiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUv TmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIx bmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2lj TmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxl LnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9z dWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUl M0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIHN0 eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo dDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p bHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+PC9kaXY+PC9ibG9ja3F1b3RlPjxi ciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIj5WaWV3IHRoaXMgbWVz c2FnZSBpbiBjb250ZXh0OjxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQxQXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdl dD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2li bGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI1Lmh0bWwiIGxp bms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9h PjxiciBjbGVhcj0ibm9uZSI+U2VudCBmcm9tIHRoZTxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQx QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5h YmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5o dG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGlu ZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPjxzcGFuIGNsYXNzPSJ5aXYyMzk4NzY0ODQx QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+YXQ8c3BhbiBjbGFzcz0ieWl2MjM5 ODc2NDg0MUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xs b3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20v IiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25lIj5fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciBjbGVhcj0ibm9uZSI+ cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJlZj0ieC1tc2c6 Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZh bXA7YW1wO2k9MSIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCIm Z3Q7W2hpZGRlbiBlbWFpbF08YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBl PSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Rpdj48L2Jsb2NrcXVvdGU+ PC9kaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YnIKIGNsZWFyPSJub25lIj5fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9Im5vbmUiPnJ1 bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj4mbHQ7YSBocmVmPSJ4LW1zZzov LzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFt cDthbXA7aT0yIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZn dDtbaGlkZGVuIGVtYWlsXQo8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBl PSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnIgY2xlYXI9 Im5vbmUiPgoJPGJyIGNsZWFyPSJub25lIj4KCTxociBub3NoYWRlPSIiIHNpemU9IjEiPgoJPGRp diBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250 LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBs aW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGlj YSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+ SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRv IHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJy ZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUu Y29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAy Ni5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNi5o dG1sPC9hPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y bWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0 aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0OiAx LjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsgaW4g RHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJn ZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnIgY2xlYXI9Im5vbmUi PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0 cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWls Lm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJi bGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1w bGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFu YWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1z ZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiBzdHlsZT0iZm9udC1zdHls ZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9u dC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiIGxp bms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9ibG9ja3F1b3RlPgoKCQoJCgkKPGJyIGNs ZWFyPSJub25lIj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2Fn ZSBpbiBjb250ZXh0OiA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1v cnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjcuaHRtbCIgbGluaz0iZXh0 ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyIGNs ZWFyPSJub25lIj4KU2VudCBmcm9tIHRoZSA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg dGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9E cm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxpbms9 ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFp bGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0IDxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0 YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+ TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25lIj5fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXzxiciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcg bGlzdDxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9 IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+PGJyIGNs ZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2 IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9ydWxlcy1kZXY8L2E+PC9ibG9ja3F1b3RlPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJu b25lIj48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCjxiciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8YnIg Y2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdl dD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPgo8YnIgY2xlYXI9Im5v bmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9 ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVz LWRldjwvYT4KCgkKCQoJCgk8YnIgY2xlYXI9Im5vbmUiPgoJPGJyIGNsZWFyPSJub25lIj4KCTxo ciBub3NoYWRlPSIiIHNpemU9IjEiIGNvbG9yPSIjY2NjY2NjIj4KCTxkaXYgc3R5bGU9ImNvbG9y OiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3Jt YWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5v cm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5z LXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0 byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lv biBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJf YmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1t ZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwNTIuaHRtbCIgbGluaz0i ZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1v cnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwNTIuaHRtbDwvYT4KCTwvZGl2 PjxkaXYgY2xhc3M9InlpdjIzOTg3NjQ4NDF5cXQyMzIzMTYwNjg3IiBpZD0ieWl2MjM5ODc2NDg0 MXlxdGZkMzk2MzYiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9u dC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1h bDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGlj YSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41 ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERy b29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5r IiBocmVmPSIiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnIgY2xlYXI9Im5vbmUi PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0 cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWls Lm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJi bGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1w bGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFu YWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1z ZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiBzdHlsZT0iZm9udC1zdHls ZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9u dC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiIGxp bms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGJyPjxicj48 L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+CgoJCgkKCQo8YnIvPjxociBhbGlnbj0ibGVmdCIg d2lkdGg9IjMwMCIgLz4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgaHJlZj0iaHR0 cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURy b29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA3MS5odG1sIj5SZTogUG9zc2libGUgbWVtb3J5IGxl YWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxici8+ClNlbnQgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cDov L2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVyLW1h aWxpbmctbGlzdC1mNjIyNjAuaHRtbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFp bGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBhdCBOYWJibGUuY29tLjxici8+ --===============3254467390627077963==-- From kellyajp at yahoo.co.uk Wed Apr 2 06:20:45 2014 Content-Type: multipart/mixed; boundary="===============1812655072561302154==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 03:20:44 -0700 Message-ID: <1396434001.66683.YahooMailNeo@web171806.mail.ir2.yahoo.com> In-Reply-To: AE14B47F-9EDB-478C-B547-2BF6F39BC5C6@codehaus.org --===============1812655072561302154== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Morning Mark, That was a useful exercise!!, from a sampled set it looks like the RightTup= le instances are coming from a single rule package (nccf). This rule package comes from a large decision table of that is maintained b= y our business users. This results in a large DRL file being generated cont= aining 2371 rules.=C2=A0 Below I have included some of the rules that were referenced in the data st= ructures, I have also attached the generated DRL file. The exact same file processes in Drools 5 but fails in Drools 6. 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 // rule values at A650, header at A644 rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" =C2=A0 =C2=A0 salience 64886 =C2=A0 =C2=A0 when =C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positionD= etail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D n= ull && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDate) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate =3D0) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D n= ull && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDate= +157680000000) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate =3D0) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D n= ull && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDate= +157680000000) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate =3D0) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D n= ull && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Valu= ation','Both')) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ','= DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT'= ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , 'C= Y' ,'CZ' ,'DE' =C2=A0, 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'IE= ' , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'R= O','SE' ,'SI' ,'SK')) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && p= ositionDetail. Valuation.ValuationCurrency =3D=3D "EUR") =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.collateralType in ('govt liquid gtd','us govt gu= arant','u.s. government guarantee')) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDate= +220752000000) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate =3D0) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D n= ull && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDate= +315360000000) =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &&= positionDetail.instrument.maturityDate To: kellyajp = Sent: Tuesday, 1 April 2014, 14:10 Subject: Re: Possible memory leak in Drools 6.0.1 = any news? Mark On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: I'll get that to you on Monday=C2=A0 On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <[hidden email]> wrote: Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that s= hould be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >> >> >>Mark >> >>On 30 Mar 2014, at 09:03, kellyajp <[hidden email]> wrote: >> >>Thanks >>> >>> >>>I'll get someone from the team to work on this on Monday. Not sure how e= asy it will be to isolate but will keep you informed. >>> >>> >>>Andy >>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029025&am= p;i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]>= wrote: >>> >>> >>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look in= to it as a priority.=C2=A0 >>>> >>>>Mark=C2=A0 >>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg:/= /131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D0" target=3D= "_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote:=C2=A0 >>>> >>>> >>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating the= =C2=A0 >>>>> processing in each environment we have very different object counts t= hat is=C2=A0 >>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>=C2=A0 >>>>> Below is an extract from a heap dump=C2=A0 >>>>>=C2=A0 >>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2=A0o= rg.drools.core.reteoo.RightTuple=C2=A0 >>>>>=C2=A0 >>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A01826= 112 =C2=A0org.drools.reteoo.RightTuple=C2=A0 >>>>>=C2=A0 >>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>=C2=A0 >>>>> Thanks=C2=A0 >>>>>=C2=A0 >>>>>=C2=A0 >>>>>=C2=A0 >>>>> --=C2=A0 >>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.com/= Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>> Sent from the Drools: Developer (committer) mailing list mailing list= archive at=C2=A0Nabble.com.=C2=A0 >>>>> _______________________________________________=C2=A0 >>>>> rules-dev mailing list=C2=A0 >>>>>=C2=A0x-msg://131/user/SendEmail.jtp?type= =3Dnode&node=3D4029018&i=3D1" target=3D"_top" rel=3D"nofollow" link= =3D"external">[hidden email]=C2=A0 >>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev______________= _________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D= 4029018&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidd= en email]=C2=A0 >>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>>> >>>> >>>>>>>>________________________________ >>>> >>>>If you reply to this email, your message will be added to the discussio= n below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-= 0-1-tp4029010p4029018.html >>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click he= re. >>>>NAML >>>>>>________________________________ >>>View this message in context:=C2=A0Re: Possible memory leak in Drools 6.= 0.1 >>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing li= st archive=C2=A0at=C2=A0Nabble.com. >>>_______________________________________________ >>>rules-dev mailing list >>>[hidden emai= l] >>>https://lists.jboss.org/mailman/listinfo/rules-dev >> >>_______________________________________________ = >>rules-dev mailing list = >>[hidden email= ] = >>https://lists.jboss.org/mailman/listinfo/rules-dev = >> >>>>________________________________ >> = >>If you reply to this email, your message will be added to the discussion = below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-= 1-tp4029010p4029026.html = >>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>NAML = >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029052.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML NCCF_BASELINE.xls.drl (9M) -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029078.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============1812655072561302154== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PjxzcGFuPk1vcm5pbmcgTWFy ayw8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXpl OiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVs dmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48 L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDExcHg7IGZv bnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFy aWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGF0IHdhcyBhIHVzZWZ1bCBleGVy Y2lzZSEhLCBmcm9tIGEgc2FtcGxlZCBzZXQgaXQgbG9va3MgbGlrZSB0aGUgUmlnaHRUdXBsZSBp bnN0YW5jZXMgYXJlIGNvbWluZyBmcm9tIGEgc2luZ2xlIHJ1bGUgcGFja2FnZSAobmNjZikuPC9z cGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFw eDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGlj YSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6CiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2 PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1m YW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPlRoaXMgcnVsZSBwYWNrYWdlIGNvbWVzIGZy b20gYSBsYXJnZSBkZWNpc2lvbiB0YWJsZSBvZiB0aGF0IGlzIG1haW50YWluZWQgYnkgb3VyIGJ1 c2luZXNzIHVzZXJzLiBUaGlzIHJlc3VsdHMgaW4gYSBsYXJnZSBEUkwgZmlsZSBiZWluZyBnZW5l cmF0ZWQgY29udGFpbmluZyAyMzcxIHJ1bGVzLiZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl PSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2 ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdy YW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0 eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiBy Z2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUs ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fu cy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1h bDsiPjxzcGFuPkJlbG93IEkgaGF2ZSBpbmNsdWRlZCBzb21lIG9mIHRoZSBydWxlcyB0aGF0IHdl cmUgcmVmZXJlbmNlZCBpbiB0aGUgZGF0YSBzdHJ1Y3R1cmVzLCBJIGhhdmUgYWxzbyBhdHRhY2hl ZCB0aGUgZ2VuZXJhdGVkIERSTAogZmlsZS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6 IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1 ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBz YW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9y bWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAs IDApOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0 aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7 IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bh bj5UaGUgZXhhY3Qgc2FtZSBmaWxlIHByb2Nlc3NlcyBpbiBEcm9vbHMgNSBidXQgZmFpbHMgaW4g RHJvb2xzIDYuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv bnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1 ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48 L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4z MXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXI1eV8yPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBB NjUwLCBoZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+cnVsZQogIjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXIweV91 bmRlcjV5XzIiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7IHNhbGllbmNlIDY0ODg2PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9u RGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0 aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5wcm9kdWN0SGllcmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmd0Oz1w b3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7CiBwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1 c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBW YWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg UG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9PSAiY29ycCIp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgbm90 IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVkJyAsJ2p1bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxp dHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIFBvc2l0aW9uKHBvc2l0aW9uRGV0YWls LnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249 bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDU3OSIpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdl dERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291 bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdh bEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0 UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFz ZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFu Y2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWls KCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVh dGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOwogJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdT ZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdp YmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5n aWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRl cnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0 UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRp b24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogYS5zZXRO ZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1l bnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9y dCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0 KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48 YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+ PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4zMXVzZF9s bmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXIxMHlfMjwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1Miwg aGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPnJ1bGUgIjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXI1eV91bmRlcjEw eV8yIjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyBzYWxpZW5jZSA2NDg4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOwogJm5ic3A7 IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24u bXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnBy b2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFt cDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0 aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7 IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRldGFp bC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25E ZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PQogIlVTRCIpPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7 JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9 PSAiY29ycCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5z dHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBl T2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVP ZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVkJyAsJ2p1bWJvIHBmYW5kYnJpZWZl JykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENy ZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRp b25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5yaXNrUHJvZHVjdFR5cGUgPT0gJ1VO S05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3Np ZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9u JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NG Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEw MDU4MSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9z aXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3Rh dHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgp LmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOwogJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJ bXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFt ZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigp LmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGlu Z1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlw ZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292 ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOwogJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1Rv dGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlv blBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZh bHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5n ZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdp YmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGEu c2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4zMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIxMHlfMTwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMg YXQgQTY1MSwgaGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPnJ1bGUgIjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXI1 eV91bmRlcjEweV8xIjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDg4NTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3Np dGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZh bHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeSAhPSBudWxsICZhbXA7JmFtcDsKIHBvc2l0aW9u RGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAm Z3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAwKTwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAm YW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZsdDtwb3Np dGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsg cG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiVVNEIik8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51 bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2Ny aXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVkJyAsJ2p1bWJvIHBm YW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu b3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5yaXNrUHJvZHVjdFR5 cGUgIT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFk ZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3Np ZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxp bmUoJ05DQ0YnKTs8L2Rpdj48ZGl2CiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlk KCJOQ0NGMDEwMDU4MSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9i amVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklk KHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0 VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFy YW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6CiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZh bHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1 c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUg U2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1 Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1u ZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7CiBhLnNldENhc2hmbG93VHlwZSggJ1NFVFRMRU1FTlQsIFNldHRsZW1lbnQnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENh c2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxv dyAoMSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlv blBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEJhc2VsaW5lVHlwZSggJ0NCJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNo Zmxvd1R5cGUoICdQcmluY2lwYWwsIEludGVyZXN0Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOwogY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAn QmFzZWxpbmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVU eXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25E ZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRW YWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERhdGUocC5nZXRQ b3NpdGlvbkRldGFpbCgpLmdldEluc3RydW1lbnQoKS5nZXRNYXR1cml0eURhdGUoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxl CiBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4wOGV1cl9sYV9sbmdfcXVhbF9ta3Rfc2VjX2FnbmN5X2RidF83eV9VbmRl cl8xMFlfNTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Ly8gcnVsZSB2YWx1ZXMgYXQgQTk1NCwgaGVhZGVyIGF0IEE5MjE8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPnJ1bGUgIjA4ZXVyX2xhX2xuZ19xdWFsX210 a19zZWNfYWduY3lfZGJ0XzdZX3VuZGVyXzEwWV81IjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDU4MjwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwhPW51 bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7 IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9kaXY+PGRpdgogc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAm YW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNz ID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZh bXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291bnRyeU9mRG9taWNpbGUgaW4gKCdBVCcs J0JFJywnQkcnLCdDWScsJ0NaJywnREUnLCdESycsJ0VFJywnRVMnLCdGSScsJ0ZSJyAsJ0dCJywn R1InICwnSFUnICwnSUUnICwnSVMnICwnSVQnICwnTEknICwnTFQnICwnTFUnICwnTFYnICwnTVQn ICwnTkwnICwnTk8nICwnUEwnICwnUFQnICwnUk8nICwnU0UnICwnU0knICwnU0snKSk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwg JmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvdW50cnlPZkluY29ycG9yYXRp b24gaW4gKCdBVCcgLCdCRScgLCdCRycgLCAnQ1knICwnQ1onICwnREUnICZuYnNwOywgJ0RLJyAs J0VFJyAsJ0VTJywgJ0ZJJyAsJ0ZSJyAsJ0dCJyAsICdHUicgLCdIVScgLCdJRScgLAogJ0lTJyAs J0lUJyAsJ0xJJyAsICdMVCcgLCdMVScgLCdMVicgLCAnTVQnICwnTkwnICwnTk8nICwgJ1BMJyAs J1BUJyAsJ1JPJywnU0UnICwnU0knICwnU0snKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiRVVSIik8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvbGxhdGVyYWxUeXBlIGluICgnZ292dCBsaXF1 aWQgZ3RkJywndXMgZ292dCBndWFyYW50JywndS5zLiBnb3Zlcm5tZW50IGd1YXJhbnRlZScpKTwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZn dDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsyMjA3NTIwMDAwMDApPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZh bXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUKICZsdDtwb3Np dGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9u JywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJp c2tQcm9kdWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFz ZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldExpbmVJZCgiTkNDRjAxMDA0MDUiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLnNl dFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2 YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5l dyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVl KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0 YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9y dCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNoZmxvd1R5cGUoICdTRVRUTEVNRU5ULCBTZXR0 bGVtZW50Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRh aWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5 c1RvQ2FzaEZsb3cKICgxKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQo YT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnQ0InKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldENhc2hmbG93VHlwZSggJ1ByaW5jaXBhbCwgSW50ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0 ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGEuc2V0VmFsdWUocC5n ZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVh dGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 RGF0ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0SW5zdHJ1bWVudCgpLmdldE1hdHVyaXR5RGF0 ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUw MDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3Zl cnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6CiB0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjE4Y2FkX2xuZ19zZWNfaXNzX3Byb3Zfb3ZlcjEw WV91bmRlcjM1WV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBMTUyLCBoZWFkZXIgYXQgQTEzODwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+cnVsZSAiMThjYWRfbG5nX3NlY19p c3NfcHJvdl9vdmVyMTB5X3VuZGVyMzV5XzIiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGllbmNlIDY1Mzg0PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdo ZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAm YW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9z aXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5ICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAi c2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudCAhPQogbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQu bWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSszMTUzNjAw MDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0 eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTEwMzc2MDAwMDAwMCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lmlzc3VlclRpY2tlciBp biAoJ0JSQ09MJywnQmNwSVBCJywnQUxUQScsJ1NDREEnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4sJ01QJywnTUFOUEFDJywnTVBUQicsJ09OVFcnPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4sJ09OVCcsJ09O VEInLCdPTlRQQUMnLCdRJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+LCdRVEInLCdRVUVQQUMnLCdRVycsJ05CUk5TJzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+LCdOUycsJ1BSSU5DRScsJ05GJywnTkZUQicp KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZhbHVhdGlvbiE9 IG51bGwKICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJy ZW5jeSA9PSAiQ0FEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 Lmlzc3VlckluZHVzdHJ5ID09ICJnb3Z0IHJlZ2lvbmFsIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJnb3Z0Iik8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBl IGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJh bWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2CiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwMzQxIik7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVI aXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lm aWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRp b24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3ko KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVy cyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldwogQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNl bGluZVRpbWVCdWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUo ICdNQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFp bCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVh dGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1Nl Y3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2li bGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdp YmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPmVuZDwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6CiB0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2Pjxi cj48L2Rpdj4gIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0 aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZTogOHB0OyI+IDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVl LCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsiPiA8ZGl2IGRpcj0ibHRyIj4gPGhyIHNpemU9IjEi PiAgPGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwiPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWln aHQ6Ym9sZDsiPkZyb206PC9zcGFuPjwvYj4gTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSAmbHQ7 PGEgaHJlZj0iL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmbm9kZT00MDI5MDc4Jmk9MCIg dGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFp bF08L2E+Jmd0Ozxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+VG86PC9z cGFuPjwvYj4ga2VsbHlhanAgJmx0OzxhIGhyZWY9Ii91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJm5vZGU9NDAyOTA3OCZpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0i ZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgPGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9u dC13ZWlnaHQ6IGJvbGQ7Ij5TZW50Ojwvc3Bhbj48L2I+IFR1ZXNkYXksIDEgQXByaWwgMjAxNCwg MTQ6MTA8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlN1YmplY3Q6PC9z cGFuPjwvYj4gUmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxicj4gPC9m b250PiA8L2Rpdj4gPGRpdgogY2xhc3M9InlfbXNnX2NvbnRhaW5lciI+PGJyPjxkaXYgaWQ9Inlp djMxOTQzNDA1MDkiPjxkaXY+YW55IG5ld3M/PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2Pjxk aXY+TWFyazxiciBjbGVhcj0ibm9uZSI+PGRpdiBzdHlsZT0iIj48ZGl2Pk9uIDMwIE1hciAyMDE0 LCBhdCAxMzozOCwgTWFyayBQcm9jdG9yICZsdDs8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVj dCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwv YT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9InlpdjMxOTQzNDA1MDlB cHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6 MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBz b2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48L2Jsb2NrcXVvdGU+PC9k aXY+PC9kaXY+PC9kaXY+PGRpdj48ZGl2IHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZDsiPjxi ciBjbGVhcj0ibm9uZSI+PGRpdj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAxMzoyNiwga2VsbHlh anAgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3Rv cCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJy IGNsZWFyPSJub25lIiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWludGVyY2hhbmdlLW5ld2xp bmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRk aW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzow IDFlbTsiIHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2Pjxk aXY+SSdsbCBnZXQgdGhhdCB0byB5b3Ugb24gTW9uZGF5Jm5ic3A7PC9kaXY+PGRpdj48YnIgY2xl YXI9Im5vbmUiPk9uIDMwIE1hciAyMDE0LCBhdCAxMjo1OSwgIk1hcmsgUHJvY3RvciBbdmlhIERy b29sc10iICZsdDsmbHQ7YQogaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiBy ZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3Rl OjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YmxvY2txdW90ZSBzdHls ZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJv cmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj4K Cgk8L2Jsb2NrcXVvdGU+PC9kaXY+PGRpdj5BcmUgeW91IGFibGUgdG8gaXNvbGF0ZSB3aGF0IHRo ZSBGSOKAmXMgYXJlIHJlZmVyZW5jaW5nLCBTb3JyeSB0aGF0IHNob3VsZCBiZSBSVCwgbm90IEZI LiBSVCA9PSBSaWdodFR1cGxlLCBGSCA9PSBGYWN0SGFuZGxlLjxiciBjbGVhcj0ibm9uZSI+PGJs b2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAx ZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIg dHlwZT0iY2l0ZSI+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0ND Q0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztw YWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+dGhhdCBtaWdodCBnaXZlIHVzIGFuIGlkZWEgb2Yg d2hlcmUgdG8gbG9vay4gSWYgeW91IGxvb2sgUmlnaHRUdXBsZeKAmXMgdGhleSB3aWxsIGhhdmUg YSDigJhzaW5rJyByZWZlcmVuY2UgKG5ldHdvcmsgbm9kZSkgYW5kIHRoYXQgc2luayB3aWxsIGhh dmUgYW4g4oCYYXNzb2NpYXRlc+KAmSBtYXAuIFRoYXQgbWFwIGlzIHRoZSBydWxlcyB0aGF0IG5v ZGUgaXMgcGFydCBvZi4gWW91IGNhbiB1c2UgdGhpcyB0byBpZGVudGlmeSB0aGUgb2ZmZW5kaW5n IHJ1bGUocyksIGFuZCBtYXliZSBwYXN0ZSB0aG9zZSBydWxlcyBoZXJlPzxkaXY+PGJyIGNsZWFy PSJub25lIj48L2Rpdj48ZGl2Pk1hcms8YnIgY2xlYXI9Im5vbmUiPjxkaXY+PGRpdj5PbiAzMCBN YXIgMjAxNCwgYXQgMDk6MDMsIGtlbGx5YWpwICZsdDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7 aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlk ZGVuIGVtYWlsXSZndDsgd3JvdGU6PC9kaXY+PGJyIGNsZWFyPSJub25lIiBjbGFzcz0ieWl2MzE5 NDM0MDUwOUFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3Jk ZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJwogc3R5bGU9ImJvcmRlci1s ZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6 IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRl ci1zcGFjaW5nOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRleHQtaW5kZW50OiAwcHg7 IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6 IDBweDsiPjxkaXY+VGhhbmtzPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+ SSdsbCBnZXQgc29tZW9uZSBmcm9tIHRoZSB0ZWFtIHRvIHdvcmsgb24gdGhpcyBvbiBNb25kYXku IE5vdCBzdXJlIGhvdyBlYXN5IGl0IHdpbGwgYmUgdG8gaXNvbGF0ZSBidXQgd2lsbCBrZWVwIHlv dSBpbmZvcm1lZC48L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5BbmR5PGJy IGNsZWFyPSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQgMjM6NTIsICJNYXJrIFByb2N0b3IgW3Zp YSBEcm9vbHNdIiAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDth bXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7bm9kZT00MDI5MDI1JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ci IGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PGJyIGNsZWFyPSJu b25lIj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVm dDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4 IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiCiB0eXBlPSJjaXRlIj5DYW4geW91IGdldCB1 cyBhIHVuaXQgdGVzdCBkZW1vbnN0cmF0aW5nIHRoaXMsIGFuZCB3ZeKAmWxsIGxvb2sgaW50byBp dCBhcyBhIHByaW9yaXR5LjxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPk1h cms8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQsIGF0IDE1OjQwLCBrZWxseWFq cCAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwu anRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0wIiZn dDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00 MDI5MDE4JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4 dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PHNwYW4gY2xhc3M9InlpdjMxOTQz NDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUi PjxkaXYgY2xhc3M9InlpdjMxOTQzNDA1MDlzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5 aXYzMTk0MzQwNTA5c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2MzE5NDM0MDUwOXNo cmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjMxOTQzNDA1MDlzaHJpbmthYmxlLXF1b3Rl Ij48ZGl2IGNsYXNzPSJ5aXYzMTk0MzQwNTA5c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0n c2hyaW5rYWJsZS1xdW90ZSc+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFdlIGhhdmUgdXBncmFkZWQg ZnJvbSBEcm9vbHMgNSAtJmd0OyBEcm9vbHMgNi4wMSBhbmQgd2hlbiByZXBlYXRpbmcgdGhlPHNw YW4KIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3Nw YW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IHByb2Nlc3NpbmcgaW4gZWFjaCBlbnZpcm9ubWVudCB3 ZSBoYXZlIHZlcnkgZGlmZmVyZW50IG9iamVjdCBjb3VudHMgdGhhdCBpczxzcGFuIGNsYXNzPSJ5 aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFy PSJub25lIj4mZ3Q7IGNhdXNpbmcgbWVtb3J5IHRvIHJ1biBvdXQgb24gRHJvb2xzIDY6PHNwYW4g Y2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBCZWxvdyBpcyBh biBleHRyYWN0IGZyb20gYSBoZWFwIGR1bXA8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFu IGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEluIERyb29scyA2IHRoZSBtYWluIG9iamVjdHMgaW4gdGhl IGhlYXAgYXJlPHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgMTogJm5ic3A7ICZuYnNwOyAmbmJz cDsgNDM3ODAwNiAmbmJzcDsgJm5ic3A7ICZuYnNwOzcwMDQ4MDk2MCAmbmJzcDtvcmcuZHJvb2xz LmNvcmUucmV0ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuCiBj bGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxi ciBjbGVhcj0ibm9uZSI+Jmd0OyBXaGVyZSBhcyBpbiBEcm9vbHMgNSB0aGVyZSBhcmUgd2F5IGxl c3Mgb2JqZWN0czxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IDkyOiAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgMTkwMjIgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7MTgyNjExMiAmbmJz cDtvcmcuZHJvb2xzLnJldGVvby5SaWdodFR1cGxlPHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8 c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9z cGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBIYXMgYW55b25lIGVsc2UgaGFkIGFueSBleHBlcmll bmNlIG9mIHRoaXMgaXNzdWU/PHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0i eWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVh cj0ibm9uZSI+Jmd0OyBUaGFua3M8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNz PSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNs ZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbgogY2xhc3M9Inlp djMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9 Im5vbmUiPiZndDsgLS08c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBWaWV3IHRoaXMgbWVzc2Fn ZSBpbiBjb250ZXh0OjxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0i X2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUt bWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMC5odG1sIiBsaW5rPSJleHRlcm5h bCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFr LWluLURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbDwvYT48YnIgY2xlYXI9Im5vbmUiPiZndDsg U2VudCBmcm9tIHRoZSBEcm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3Qg bWFpbGluZyBsaXN0IGFyY2hpdmUgYXQ8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0 IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5h bCI+TmFiYmxlLmNvbTwvYT4uPHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0ieWl2MzE5NDM0 MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+ Jmd0OyBydWxlcy1kZXYKIG1haWxpbmcgbGlzdDxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNw YW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj4mbHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/ dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTEiJmd0O3gt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkw MTgmYW1wO2FtcDtpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJu YWwiJmd0O1toaWRkZW4gZW1haWxdPHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFz cz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9s aXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFs Ij5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48 L2Rpdj48L2Rpdj48L2Rpdj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXzxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PC9kaXY+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxzcGFuIGNsYXNzPSJ5aXYz MTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+Jmx0O2Eg aHJlZj0iJmx0O2EKIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5v ZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MiImZ3Q7eC1tc2c6Ly8x MzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7 YW1wO2k9MiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7 W2hpZGRlbiBlbWFpbF08c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0 YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0i bm9uZSI+PGJyIGNsZWFyPSJub25lIj48aHIgbm9zaGFkZT0iIiBzaXplPSIxIj48ZGl2IHN0eWxl PSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFu dDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVp Z2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlh bCwgc2Fucy1zZXJpZjsiPjxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5JZiB5b3UgcmVw bHkgdG8gdGhpcyBlbWFpbCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1 c3Npb24gYmVsb3c6PC9kaXY+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0i X2JsYW5rIgogaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxl LW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAxOC5odG1sIiBsaW5r PSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1l bW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAxOC5odG1sPC9hPjwvZGl2 PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1h bDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTog MTFweDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5z LXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRlbTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+VG8gdW5zdWJz Y3JpYmUgZnJvbSBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsPHNwYW4gY2xh c3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSBy ZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4 dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ci IHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIKIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2Vy JmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJs ZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRl Lk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZh bXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1p bnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIx bmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJp YW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhl aWdodDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwv YT48L2Rpdj48L2Jsb2NrcXVvdGU+PGJyIGNsZWFyPSJub25lIj48aHIgYWxpZ249ImxlZnQiIHdp ZHRoPSIzMDAiPlZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6PHNwYW4gY2xhc3M9InlpdjMx OTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9s bG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5 OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0 MDI5MDEwcDQwMjkwMjUuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkg bGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyIGNsZWFyPSJub25lIj5TZW50IGZyb20gdGhlPHNw YW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRl ci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVs b3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+PHNw YW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj5hdDxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBo cmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48 YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fPGJyIGNsZWFyPSJub25lIj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PGJyIGNsZWFyPSJu b25lIj4mbHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9m b2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxiciBjbGVhcj0ibm9uZSI+ PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRw czovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0 ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2 PC9hPjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2Pjxicgog Y2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCjxiciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8YnIgY2xlYXI9Im5v bmUiPiZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTIiIHRhcmdldD0iX3RvcCIgcmVsPSJub2Zv bGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdCjxiciBjbGVhcj0ibm9uZSI+ PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRw czovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0 ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2 PC9hPgoKCQoJCgkKCTxiciBjbGVhcj0ibm9uZSI+Cgk8YnIgY2xlYXI9Im5vbmUiPgoJPGhyIG5v c2hhZGU9IiIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y bWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0 YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPgoJCTxkaXYgc3R5 bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5JZiB5b3UgcmVwbHkgdG8gdGhpcyBlbWFpbCwgeW91ciBt ZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Npb24gYmVsb3c6PC9kaXY+CgkJPGEg cmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8v ZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xz LTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI2Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8vZHJv b2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYt MC0xLXRwNDAyOTAxMHA0MDI5MDI2Lmh0bWw8L2E+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9ImNvbG9y OiByZ2IoMTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBu b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6 IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9w OiAwLjRlbTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+CgkJCgkJVG8gdW5zdWJzY3JpYmUgZnJvbSBQ b3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsIDxhIHJlbD0ibm9mb2xsb3ciIHNo YXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhl cmU8L2E+LjxiciBjbGVhcj0ibm9uZSI+CgkJPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3Qi IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v dGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFu dF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3Bh Y2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3Bh Y2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJz PW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMl MjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWls Lm5hbWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBm b250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8L2Rpdj48L2Js b2NrcXVvdGU+CgoJCgkKCQo8YnIgY2xlYXI9Im5vbmUiPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9 IjMwMCI+ClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IDxhIHJlbD0ibm9mb2xsb3ciIHNo YXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5u YWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBw NDAyOTAyNy5odG1sIiBsaW5rPSJleHRlcm5hbCI+UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGlu IERyb29scyA2LjAuMTwvYT48YnIgY2xlYXI9Im5vbmUiPgpTZW50IGZyb20gdGhlIDxhIHJlbD0i bm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmct bGlzdC1mNjIyNjAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21t aXR0ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQgPGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxl LmNvbS8iIGxpbms9ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48YnIgY2xlYXI9Im5vbmUiPl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyIGNsZWFyPSJu b25lIj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9s bG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5b aGlkZGVuIGVtYWlsXTwvYT48YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBl PSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Jsb2NrcXVvdGU+PGJyIGNs ZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+X19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPGJyIGNsZWFyPSJub25lIj5ydWxl cy1kZXYgbWFpbGluZyBsaXN0CjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBl bWFpbF08L2E+CjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3Qi IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPgoKCQoJCgkKCTxiciBjbGVhcj0ibm9uZSI+ Cgk8YnIgY2xlYXI9Im5vbmUiPgoJPGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSIgY29sb3I9IiNjY2Nj Y2MiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9y bWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXpl OiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEs IGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdo dDpib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJl IGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ci IHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5u My5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkw MTBwNDAyOTA1Mi5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5u YWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBw NDAyOTA1Mi5odG1sPC9hPgoJPC9kaXY+PGRpdiBjbGFzcz0ieWl2MzE5NDM0MDUwOXlxdDExOTQx NTE1NTAiIGlkPSJ5aXYzMTk0MzQwNTA5eXF0ZmQ5NDA1MCI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjog cmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9y bWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0 YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDog MC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9z c2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiBzaGFw ZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IiIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhl cmU8L2E+LjxiciBjbGVhcj0ibm9uZSI+CgkJPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3Qi IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v dGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFu dF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3Bh Y2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3Bh Y2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJz PW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMl MjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWls Lm5hbWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBm b250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8L2Rpdj48L2Rp dj48L2Rpdj48L2Rpdj48YnI+PGJyPjwvZGl2PiA8L2Rpdj4gPC9kaXY+ICA8L2Rpdj48IS0tc3Rh cnQtYXR0YWNobWVudHMtLT48ZGl2IGNsYXNzPSJzbWFsbCI+PGJyLz48aW1nIHNyYz0iaHR0cDov L2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL2ltYWdlcy9pY29uX2F0dGFjaG1lbnQuZ2lmIiA+ IDxzdHJvbmc+TkNDRl9CQVNFTElORS54bHMuZHJsPC9zdHJvbmc+ICg5TSkgPGEgaHJlZj0iaHR0 cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL2F0dGFjaG1lbnQvNDAyOTA3OC8wL05DQ0Zf QkFTRUxJTkUueGxzLmRybCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRl cm5hbCI+RG93bmxvYWQgQXR0YWNobWVudDwvYT48L2Rpdj48IS0tZW5kLWF0dGFjaG1lbnRzLS0+ CgoJCgkKCQo8YnIvPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCIgLz4KVmlldyB0aGlzIG1l c3NhZ2UgaW4gY29udGV4dDogPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUu Y29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA3 OC5odG1sIj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxici8+ ClNlbnQgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlzdC1mNjIyNjAuaHRtbCI+RHJv b2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNo aXZlPC9hPiBhdCBOYWJibGUuY29tLjxici8+ --===============1812655072561302154==-- From wolfgang.laun at gmail.com Wed Apr 2 07:22:29 2014 Content-Type: multipart/mixed; boundary="===============7104870134894889688==" MIME-Version: 1.0 From: Wolfgang Laun To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 13:22:27 +0200 Message-ID: In-Reply-To: 1396434001.66683.YahooMailNeo@web171806.mail.ir2.yahoo.com --===============7104870134894889688== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 02/04/2014, kellyajp wrote: > > 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 > // rule values at A650, header at A644 Certainly not connected to the memory leak, but I'd like to note that this rule and all others will only work correctly if there is never more than one Position fact in Working Memory at the same time. -W --===============7104870134894889688==-- From mproctor at codehaus.org Wed Apr 2 07:39:40 2014 Content-Type: multipart/mixed; boundary="===============0160093354572499816==" MIME-Version: 1.0 From: Mark Proctor To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 12:39:23 +0100 Message-ID: <8C93DF12-A1AB-40DB-B4DA-FCE0B0EB9273@codehaus.org> In-Reply-To: 1396434001.66683.YahooMailNeo@web171806.mail.ir2.yahoo.com --===============0160093354572499816== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable not sure why this would have a memory leak, it all looks quite straight for= ward joins. I assume you are using stateless sessions and inserting just a single Posit= ion instance? Is there a different number of RT=E2=80=99s after a single Po= sition insert? A small tip, you don=E2=80=99t need so many patterns. All those constraints= can go in a single Pattern. = Mark On 2 Apr 2014, at 11:20, kellyajp wrote: > Morning Mark, > = > That was a useful exercise!!, from a sampled set it looks like the RightT= uple instances are coming from a single rule package (nccf). > = > This rule package comes from a large decision table of that is maintained= by our business users. This results in a large DRL file being generated co= ntaining 2371 rules. = > = > Below I have included some of the rules that were referenced in the data = structures, I have also attached the generated DRL file. > = > The exact same file processes in Drools 5 but fails in Drools 6. > = > 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 > // rule values at A650, header at A644 > rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" > salience 64886 > when > p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) > Position(positionDetail.productHierarchy !=3D null && positionDet= ail.productHierarchy.rbcProductClass =3D=3D "securities") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate >=3DpositionDetail.riskBusinessDate) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate Position(positionDetail.Valuation!=3D null && positionDetail. Val= uation.ValuationCurrency =3D=3D "USD") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.marketSectorDescription =3D=3D "corp") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not i= n ('convertible','covered' ,'jumbo pfandbriefe')) > Position(positionDetail.overallCreditQualityStep =3D=3D 2) > Position(positionDetail.valuationType in ('Valuation','Both')) > Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') > then > result.add(classification=3Dnew ActionParametersImpl('BaselineCla= ssification')); > classification.setBaseline('NCCF'); > classification.setLineId("NCCF0100579"); > classification.setObject(p); > classification.setPositionId(p.getPositionId()); > classification.setDataStatus(p.getDataStatus()); > classification.setCountry(p.getPositionDetail().getBook().getTran= sit().getLegalEntityCountry()); > classification.setRulePath(ruleHistory.getActivationPath()); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); > a.setValueName( 'Balance'); > a.setValue( p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency( p.getPositionDetail().getValuation().getValuationC= urrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBuc= ket')); > a.setBaselineType( 'MB'); > a.setValue(p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency(p.getPositionDetail().getValuation().getValuationCu= rrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > end > = > = > 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 > // rule values at A652, header at A644 > rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" > salience 64884 > when > p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) > Position(positionDetail.productHierarchy !=3D null && positionDet= ail.productHierarchy.rbcProductClass =3D=3D "securities") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate Position(positionDetail.Valuation!=3D null && positionDetail. Val= uation.ValuationCurrency =3D=3D "USD") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.marketSectorDescription =3D=3D "corp") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not i= n ('convertible','covered' ,'jumbo pfandbriefe')) > Position(positionDetail.overallCreditQualityStep =3D=3D 2) > Position(positionDetail.valuationType in ('Valuation','Both')) > Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') > then > result.add(classification=3Dnew ActionParametersImpl('BaselineCla= ssification')); > classification.setBaseline('NCCF'); > classification.setLineId("NCCF0100581"); > classification.setObject(p); > classification.setPositionId(p.getPositionId()); > classification.setDataStatus(p.getDataStatus()); > classification.setCountry(p.getPositionDetail().getBook().getTran= sit().getLegalEntityCountry()); > classification.setRulePath(ruleHistory.getActivationPath()); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); > a.setValueName( 'Balance'); > a.setValue( p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency( p.getPositionDetail().getValuation().getValuationC= urrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBuc= ket')); > a.setBaselineType( 'MB'); > a.setValue(p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency(p.getPositionDetail().getValuation().getValuationCu= rrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > end > = > = > 31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 > // rule values at A651, header at A644 > rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" > salience 64885 > when > p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) > Position(positionDetail.productHierarchy !=3D null && positionDet= ail.productHierarchy.rbcProductClass =3D=3D "securities") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate Position(positionDetail.Valuation!=3D null && positionDetail. Val= uation.ValuationCurrency =3D=3D "USD") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.marketSectorDescription =3D=3D "corp") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not i= n ('convertible','covered' ,'jumbo pfandbriefe')) > Position(positionDetail.overallCreditQualityStep =3D=3D 2) > Position(positionDetail.valuationType in ('Valuation','Both')) > Position(positionDetail.riskProductType !=3D 'UNKNOWN') > then > result.add(classification=3Dnew ActionParametersImpl('BaselineCla= ssification')); > classification.setBaseline('NCCF'); > classification.setLineId("NCCF0100581"); > classification.setObject(p); > classification.setPositionId(p.getPositionId()); > classification.setDataStatus(p.getDataStatus()); > classification.setCountry(p.getPositionDetail().getBook().getTran= sit().getLegalEntityCountry()); > classification.setRulePath(ruleHistory.getActivationPath()); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); > a.setValueName( 'Balance'); > a.setValue( p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency( p.getPositionDetail().getValuation().getValuationC= urrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashflo= w')); > a.setCashflowType( 'SETTLEMENT, Settlement'); > a.setList(p.getPositionDetail().getCashFlows()); > a.setDefaultDaysToCashFlow (1); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashflo= w')); > a.setBaselineType( 'CB'); > a.setCashflowType( 'Principal, Interest'); > a.setList(p.getPositionDetail().getCashFlows()); > a.setDefaultDaysToCashFlow (15000); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBuc= ket')); > a.setBaselineType( 'MB'); > a.setValue(p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency(p.getPositionDetail().getValuation().getValuationCu= rrency()); > a.setDate(p.getPositionDetail().getInstrument().getMaturityDate()= ); > a.setDefaultDaysToCashFlow (15000); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > end > = > = > 08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 > // rule values at A954, header at A921 > rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" > salience 64582 > when > p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) > Position(positionDetail.productHierarchy !=3D null && positionDet= ail.productHierarchy.rbcProductClass =3D=3D "securities") > Position(positionDetail.valuationType in ('Valuation','Both')) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.countryOfDomicile in ('AT','BE','BG','CY','CZ','DE','DK','EE','ES'= ,'FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT' ,'LU' ,'LV' ,'MT'= ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , 'CY' ,'CZ' ,'DE' , = 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'IE' , 'IS' ,'IT' ,'LI' , = 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'RO','SE' ,'SI' ,'SK')) > Position(positionDetail.Valuation!=3D null && positionDetail. Val= uation.ValuationCurrency =3D=3D "EUR") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.collateralType in ('govt liquid gtd','us govt guarant','u.s. gover= nment guarantee')) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate >=3DpositionDetail.riskBusinessDate+220752000000) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate Position(positionDetail.valuationType in ('Valuation','Both')) > Position(positionDetail.riskProductType !=3D 'UNKNOWN') > then > result.add(classification=3Dnew ActionParametersImpl('BaselineCla= ssification')); > classification.setBaseline('NCCF'); > classification.setLineId("NCCF0100405"); > classification.setObject(p); > classification.setPositionId(p.getPositionId()); > classification.setDataStatus(p.getDataStatus()); > classification.setCountry(p.getPositionDetail().getBook().getTran= sit().getLegalEntityCountry()); > classification.setRulePath(ruleHistory.getActivationPath()); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); > a.setValueName( 'Balance'); > a.setValue( p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency( p.getPositionDetail().getValuation().getValuationC= urrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashflo= w')); > a.setCashflowType( 'SETTLEMENT, Settlement'); > a.setList(p.getPositionDetail().getCashFlows()); > a.setDefaultDaysToCashFlow (1); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashflo= w')); > a.setBaselineType( 'CB'); > a.setCashflowType( 'Principal, Interest'); > a.setList(p.getPositionDetail().getCashFlows()); > a.setDefaultDaysToCashFlow (15000); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBuc= ket')); > a.setBaselineType( 'MB'); > a.setValue(p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency(p.getPositionDetail().getValuation().getValuationCu= rrency()); > a.setDate(p.getPositionDetail().getInstrument().getMaturityDate()= ); > a.setDefaultDaysToCashFlow (15000); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > end > = > 18cad_lng_sec_iss_prov_over10Y_under35Y_2 > // rule values at A152, header at A138 > rule "18cad_lng_sec_iss_prov_over10y_under35y_2" > salience 65384 > when > p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) > Position(positionDetail.productHierarchy !=3D null && positionDet= ail.productHierarchy.rbcProductClass =3D=3D "securities") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate >=3DpositionDetail.riskBusinessDate+315360000000) > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.maturityDate Position(positionDetail.instrument !=3D null && positionDetail.in= strument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' > ,'MP','MANPAC','MPTB','ONTW' > ,'ONT','ONTB','ONTPAC','Q' > ,'QTB','QUEPAC','QW','NBRNS' > ,'NS','PRINCE','NF','NFTB')) > Position(positionDetail.Valuation!=3D null && positionDetail. Val= uation.ValuationCurrency =3D=3D "CAD") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.issuerIndustry =3D=3D "govt regional") > Position(positionDetail.instrument !=3D null && positionDetail.in= strument.marketSectorDescription =3D=3D "govt") > Position(positionDetail.valuationType in ('Valuation','Both')) > Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') > then > result.add(classification=3Dnew ActionParametersImpl('BaselineCla= ssification')); > classification.setBaseline('NCCF'); > classification.setLineId("NCCF0100341"); > classification.setObject(p); > classification.setPositionId(p.getPositionId()); > classification.setDataStatus(p.getDataStatus()); > classification.setCountry(p.getPositionDetail().getBook().getTran= sit().getLegalEntityCountry()); > classification.setRulePath(ruleHistory.getActivationPath()); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); > a.setValueName( 'Balance'); > a.setValue( p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency( p.getPositionDetail().getValuation().getValuationC= urrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBuc= ket')); > a.setBaselineType( 'MB'); > a.setValue(p.getPositionDetail().getValuation().getMtmValue()); > a.setCurrency(p.getPositionDetail().getValuation().getValuationCu= rrency()); > a.setNettingType('Security'); > a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible= Short covers Fungible Long'); > a.setBucket('Total'); > end > = > = > = > = > = > From: Mark Proctor [via Drools] <[hidden email]> > To: kellyajp <[hidden email]> = > Sent: Tuesday, 1 April 2014, 14:10 > Subject: Re: Possible memory leak in Drools 6.0.1 > = > any news? > = > Mark > On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: > = > = > = > On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: > = > = > I'll get that to you on Monday = > = > On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <[hidden email]> wrote: > = > = > Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that= should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. >>> that might give us an idea of where to look. If you look RightTuple=E2= =80=99s they will have a =E2=80=98sink' reference (network node) and that s= ink will have an =E2=80=98associates=E2=80=99 map. That map is the rules th= at node is part of. You can use this to identify the offending rule(s), and= maybe paste those rules here? >>> = >>> Mark >>> On 30 Mar 2014, at 09:03, kellyajp <[hidden email]> wrote: >>> = >>>> Thanks >>>> = >>>> I'll get someone from the team to work on this on Monday. Not sure how= easy it will be to isolate but will keep you informed. >>>> = >>>> Andy >>>> On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029025&= amp;i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email= ]> wrote: >>>> = >>>>> Can you get us a unit test demonstrating this, and we=E2=80=99ll look= into it as a priority. = >>>>> = >>>>> Mark = >>>>> On 28 Mar 2014, at 15:40, kellyajp <x-msg= ://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D0" target= =3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: = >>>>> = >>>>> > We have upgraded from Drools 5 -> Drools 6.01 and when repeating th= e = >>>>> > processing in each environment we have very different object counts= that is = >>>>> > causing memory to run out on Drools 6: = >>>>> > = >>>>> > Below is an extract from a heap dump = >>>>> > = >>>>> > In Drools 6 the main objects in the heap are = >>>>> > 1: 4378006 700480960 org.drools.core.reteoo.RightTuple = >>>>> > = >>>>> > Where as in Drools 5 there are way less objects = >>>>> > 92: 19022 1826112 org.drools.reteoo.RightTuple = >>>>> > = >>>>> > Has anyone else had any experience of this issue? = >>>>> > = >>>>> > Thanks = >>>>> > = >>>>> > = >>>>> > = >>>>> > -- = >>>>> > View this message in context: http://drools.46999.n3.nabble.com/Pos= sible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>> > Sent from the Drools: Developer (committer) mailing list mailing li= st archive at Nabble.com. = >>>>> > _______________________________________________ = >>>>> > rules-dev mailing list = >>>>> > x-msg://131/user/SendEmail.jtp?type=3Dn= ode&node=3D4029018&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"= external">[hidden email] = >>>>> > https://lists.jboss.org/mailman/listinfo/rules-dev >>>>> _______________________________________________ = >>>>> rules-dev mailing list = >>>>> x-msg://131/user/SendEmail.jtp?type=3Dnod= e&node=3D4029018&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"ex= ternal">[hidden email] = >>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>>> = >>>>> = >>>>> If you reply to this email, your message will be added to the discuss= ion below: >>>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-= 1-tp4029010p4029018.html >>>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>> NAML >>>> = >>>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>> Sent from the Drools: Developer (committer) mailing list mailing list = archive at Nabble.com. >>>> _______________________________________________ >>>> rules-dev mailing list >>>> [hidden em= ail] >>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>> = >>> = >>> _______________________________________________ = >>> rules-dev mailing list = >>> [hidden ema= il] = >>> https://lists.jboss.org/mailman/listinfo/rules-dev = >>> = >>> If you reply to this email, your message will be added to the discussio= n below: >>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029026.html >>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>> NAML >> = >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >> Sent from the Drools: Developer (committer) mailing list mailing list ar= chive at Nabble.com. >> _______________________________________________ >> rules-dev mailing list >> [hidden email] >> https://lists.jboss.org/mailman/listinfo/rules-dev > = > = > = > _______________________________________________ = > rules-dev mailing list = > [hidden email] = > https://lists.jboss.org/mailman/listinfo/rules-dev = > = > If you reply to this email, your message will be added to the discussion = below: > http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-tp= 4029010p4029052.html > To unsubscribe from Possible memory leak in Drools 6.0.1, click here. > NAML > = > = > = > NCCF_BASELINE.xls.drl (9M) Download Attachment > = > View this message in context: Re: Possible memory leak in Drools 6.0.1 > Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. > _______________________________________________ > rules-dev mailing list > rules-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-dev --===============0160093354572499816== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWwgY2hhcnNldD13aW5kb3dzLTEyNTIiPjwvaGVhZD48Ym9keSBzdHlsZT0id29yZC13cmFw OiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVh azogYWZ0ZXItd2hpdGUtc3BhY2U7Ij5ub3Qgc3VyZSB3aHkgdGhpcyB3b3VsZCBoYXZlIGEgbWVt b3J5IGxlYWssIGl0IGFsbCBsb29rcyBxdWl0ZSBzdHJhaWdodCBmb3J3YXJkIGpvaW5zLjxkaXY+ PGJyPjwvZGl2PjxkaXY+SSBhc3N1bWUgeW91IGFyZSB1c2luZyBzdGF0ZWxlc3Mgc2Vzc2lvbnMg YW5kIGluc2VydGluZyBqdXN0IGEgc2luZ2xlIFBvc2l0aW9uIGluc3RhbmNlPyBJcyB0aGVyZSBh IGRpZmZlcmVudCBudW1iZXIgb2YgUlSScyBhZnRlciBhIHNpbmdsZSBQb3NpdGlvbiBpbnNlcnQ/ PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BIHNtYWxsIHRpcCwgeW91IGRvbpJ0IG5lZWQgc28g bWFueSBwYXR0ZXJucy4gQWxsIHRob3NlIGNvbnN0cmFpbnRzIGNhbiBnbyBpbiBhIHNpbmdsZSBQ YXR0ZXJuLiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TWFyazxicj48ZGl2Pjxicj48 L2Rpdj48ZGl2Pjxicj48ZGl2PjxkaXY+T24gMiBBcHIgMjAxNCwgYXQgMTE6MjAsIGtlbGx5YWpw ICZsdDs8YSBocmVmPSJtYWlsdG86a2VsbHlhanBAeWFob28uY28udWsiPmtlbGx5YWpwQHlhaG9v LmNvLnVrPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsYXNzPSJBcHBsZS1pbnRlcmNoYW5nZS1u ZXdsaW5lIj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVs dmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogOHB0OyI+PGRpdj48c3Bhbj5Nb3JuaW5nIE1hcmssPC9zcGFuPjwvZGl2 PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUs ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fu cy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1h bDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBm b250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBB cmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+VGhhdCB3YXMgYSB1c2VmdWwgZXhl cmNpc2UhISwgZnJvbSBhIHNhbXBsZWQgc2V0IGl0IGxvb2tzIGxpa2UgdGhlIFJpZ2h0VHVwbGUg aW5zdGFuY2VzIGFyZSBjb21pbmcgZnJvbSBhIHNpbmdsZSBydWxlIHBhY2thZ2UgKG5jY2YpLjwv c3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2 ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdy YW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0 eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6 ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhl bHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPlRoaXMgcnVsZSBw YWNrYWdlIGNvbWVzIGZyb20gYSBsYXJnZSBkZWNpc2lvbiB0YWJsZSBvZiB0aGF0IGlzIG1haW50 YWluZWQgYnkgb3VyIGJ1c2luZXNzIHVzZXJzLiBUaGlzIHJlc3VsdHMgaW4gYSBsYXJnZSBEUkwg ZmlsZSBiZWluZyBnZW5lcmF0ZWQgY29udGFpbmluZyAyMzcxIHJ1bGVzLiZuYnNwOzwvc3Bhbj48 L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FO ZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScs IHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBu b3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFw eDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGlj YSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPkJlbG93IEkgaGF2ZSBpbmNs dWRlZCBzb21lIG9mIHRoZSBydWxlcyB0aGF0IHdlcmUgcmVmZXJlbmNlZCBpbiB0aGUgZGF0YSBz dHJ1Y3R1cmVzLCBJIGhhdmUgYWxzbyBhdHRhY2hlZCB0aGUgZ2VuZXJhdGVkIERSTAogZmlsZS48 L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVs dmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBH cmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1z dHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNp emU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBI ZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGUgZXhhY3Qg c2FtZSBmaWxlIHByb2Nlc3NlcyBpbiBEcm9vbHMgNSBidXQgZmFpbHMgaW4gRHJvb2xzIDYuPC9z cGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZl dGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3Jh bmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5 bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4zMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVy MHlfdW5kZXI1eV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBNjUwLCBoZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+cnVsZQogIjMxdXNkX2xuZ19jb3Jw X2JuZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzIiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGllbmNlIDY0ODg2PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9 bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFt cDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5ICE9IG51bGwg JmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFz cyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudC5tYXR1cml0eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKTwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7CiBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAm bHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIlVT RCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVu dCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0 b3JEZXNjcmlwdGlvbiA9PSAiY29ycCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVkJyAsJ2p1 bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsK IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdC b3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1By b2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJl c3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGlu ZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNl dEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0 TGluZUlkKCJOQ0NGMDEwMDU3OSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3Np dGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmlj YXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9v aygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlv blBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFj dGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZh bHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgp LmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOwogJm5ic3A7ICZu YnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1 bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u YWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5n ZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9z aXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOwogYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5n aWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4zMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5k ZXIxMHlfMjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MiwgaGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPnJ1bGUgIjMxdXNkX2xuZ19jb3JwX2JuZF9j cl9iYmJfdXNkX292ZXI1eV91bmRlcjEweV8yIjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDg4NDwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3 aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOwogJm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsIT1udWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsmYW1wOyBw b3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09 ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3Njgw MDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJp dHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBu dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5j eSA9PQogIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5t YXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9PSAiY29ycCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3Zl cmVkJyAsJ2p1bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVh dGlvbicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5yaXNrUHJvZHVjdFR5cGUgPT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwo J0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uc2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwNTgxIik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgp LmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7CiAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRB Y3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQo YT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1W YWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBT aG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7CiAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNr ZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVh dGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3ko cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3Zl cnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOwogYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292 ZXI1eV91bmRlcjEweV8xPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBNjUxLCBoZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+cnVsZSAiMzF1c2RfbG5nX2Nv cnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjV5X3VuZGVyMTB5XzEiPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGllbmNlIDY0ODg1 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFp bCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7 JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5ICE9IG51 bGwgJmFtcDsmYW1wOwogcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5yYmNQcm9kdWN0 Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0 ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVu dC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYw MDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZhbHVh dGlvbiE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVhdGlv bkN1cnJlbmN5ID09ICJVU0QiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQubWFya2V0U2VjdG9yRGVzY3JpcHRpb24gPT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7CiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7 IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJs ZScsJ2NvdmVyZWQnICwnanVtYm8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGlu ICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0 ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA1ODEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3Rv cnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRp b24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOgogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigp LmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3koIHAuZ2V0 UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1 bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVD YXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogYS5zZXRDYXNoZmxvd1R5cGUoICdTRVRU TEVNRU5ULCBTZXR0bGVtZW50Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0 UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDEpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZp Y2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cn KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdDQicpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnUHJpbmNpcGFsLCBJbnRlcmVzdCcpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2Fz aEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93 ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBB Y3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWls KCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRJbnN0cnVtZW50KCkuZ2V0 TWF0dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nh c2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2Vj dXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJs ZSBMb25nIGNvdmVycyBGdW5naWJsZQogU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdp YmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPmVuZDwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+MDhldXJfbGFfbG5nX3F1YWxfbWt0 X3NlY19hZ25jeV9kYnRfN3lfVW5kZXJfMTBZXzU8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE5NTQsIGhlYWRlciBhdCBB OTIxPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij5ydWxl ICIwOGV1cl9sYV9sbmdfcXVhbF9tdGtfc2VjX2FnbmN5X2RidF83WV91bmRlcl8xMFlfNSI8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgc2FsaWVuY2UgNjQ1ODI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0 aW9uICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUg Jmd0Oz0wKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1 Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVy YXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywn Qm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291bnRy eU9mRG9taWNpbGUgaW4gKCdBVCcsJ0JFJywnQkcnLCdDWScsJ0NaJywnREUnLCdESycsJ0VFJywn RVMnLCdGSScsJ0ZSJyAsJ0dCJywnR1InICwnSFUnICwnSUUnICwnSVMnICwnSVQnICwnTEknICwn TFQnICwnTFUnICwnTFYnICwnTVQnICwnTkwnICwnTk8nICwnUEwnICwnUFQnICwnUk8nICwnU0Un ICwnU0knICwnU0snKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 LmNvdW50cnlPZkluY29ycG9yYXRpb24gaW4gKCdBVCcgLCdCRScgLCdCRycgLCAnQ1knICwnQ1on ICwnREUnICZuYnNwOywgJ0RLJyAsJ0VFJyAsJ0VTJywgJ0ZJJyAsJ0ZSJyAsJ0dCJyAsICdHUicg LCdIVScgLCdJRScgLAogJ0lTJyAsJ0lUJyAsJ0xJJyAsICdMVCcgLCdMVScgLCdMVicgLCAnTVQn ICwnTkwnICwnTk8nICwgJ1BMJyAsJ1BUJyAsJ1JPJywnU0UnICwnU0knICwnU0snKSk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZh bXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAi RVVSIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvbGxhdGVy YWxUeXBlIGluICgnZ292dCBsaXF1aWQgZ3RkJywndXMgZ292dCBndWFyYW50JywndS5zLiBnb3Zl cm5tZW50IGd1YXJhbnRlZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsy MjA3NTIwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5t YXR1cml0eURhdGUKICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAw MDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRp b25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRo ZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rp b25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA0MDUiKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsKIGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3Rh dHVzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5n ZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlD b3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRo KHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFs dWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZh bHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBhLnNldEN1cnJl bmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3Vy cmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHkn KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25n IGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9u ZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgg J0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNoZmxvd1R5 cGUoICdTRVRUTEVNRU5ULCBTZXR0bGVtZW50Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRM aXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cKICgxKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGlu ZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnQ0In KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1ByaW5jaXBhbCwgSW50 ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFp bCgpLmdldENhc2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlz VG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFk ZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsKIGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdl dE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0RGF0ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0SW5zdHJ1 bWVudCgpLmdldE1hdHVyaXR5RGF0ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1 bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGlu Z1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlw ZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292 ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90 YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPmVu ZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6CiB0cmFuc3BhcmVudDsiPjxicj48 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPjE4Y2FkX2xu Z19zZWNfaXNzX3Byb3Zfb3ZlcjEwWV91bmRlcjM1WV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBMTUyLCBoZWFkZXIg YXQgQTEzODwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ cnVsZSAiMThjYWRfbG5nX3NlY19pc3NfcHJvdl9vdmVyMTB5X3VuZGVyMzV5XzIiPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNh bGllbmNlIDY1Mzg0PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihw b3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9 MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGll cmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPQogbnVsbCAmYW1wOyZhbXA7IHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlz a0J1c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVz c0RhdGUrMTEwMzc2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50Lmlzc3VlclRpY2tlciBpbiAoJ0JSQ09MJywnQmNwSVBCJywnQUxUQScsJ1NDREEnPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4sJ01QJywnTUFO UEFDJywnTVBUQicsJ09OVFcnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4sJ09OVCcsJ09OVEInLCdPTlRQQUMnLCdRJzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+LCdRVEInLCdRVUVQQUMnLCdRVycsJ05CUk5T JzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+LCdOUycs J1BSSU5DRScsJ05GJywnTkZUQicpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLlZhbHVhdGlvbiE9IG51bGwKICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZh bHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiQ0FEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50Lmlzc3VlckluZHVzdHJ5ID09ICJnb3Z0IHJlZ2lvbmFsIik8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRl c2NyaXB0aW9uID09ICJnb3Z0Iik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5L Tk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZp Y2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDAz NDEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0 aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1 cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u c2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5n ZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRp b24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1w bCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUo ICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5n ZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdU eXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUo J0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVy cyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFs Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3CiBBY3Rpb25Q YXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1 ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0 VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFk anVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJs ZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoKIHRyYW5zcGFyZW50 OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PHNw YW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhl bHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEg R3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij4gPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyI+IDxkaXYgZGly PSJsdHIiPiA8aHIgc2l6ZT0iMSI+ICA8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCI+IDxiPjxz cGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+RnJvbTo8L3NwYW4+PC9iPiBNYXJrIFByb2N0 b3IgW3ZpYSBEcm9vbHNdICZsdDs8YSBocmVmPSJ4LW1zZzovLzQzL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO25vZGU9NDAyOTA3OCZhbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0i bm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7PGJyPiA8Yj48 c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Ubzo8L3NwYW4+PC9iPiBrZWxseWFqcCAm bHQ7PGEgaHJlZj0ieC1tc2c6Ly80My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDtu b2RlPTQwMjkwNzgmYW1wO2k9MSIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJl eHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyA8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250 LXdlaWdodDogYm9sZDsiPlNlbnQ6PC9zcGFuPjwvYj4gVHVlc2RheSwgMSBBcHJpbCAyMDE0LCAx NDoxMDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+U3ViamVjdDo8L3Nw YW4+PC9iPiBSZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPiA8L2Zv bnQ+IDwvZGl2PiA8ZGl2IGNsYXNzPSJ5X21zZ19jb250YWluZXIiPjxicj48ZGl2IGlkPSJ5aXYz MTk0MzQwNTA5Ij48ZGl2PmFueSBuZXdzPzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2 Pk1hcms8YnIgY2xlYXI9Im5vbmUiPjxkaXYgc3R5bGU9IiI+PGRpdj5PbiAzMCBNYXIgMjAxNCwg YXQgMTM6MzgsIE1hcmsgUHJvY3RvciAmbHQ7PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3Qi IGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+ Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5vbmUiIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBw bGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJw eCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48 L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkOyI+ PGJyIGNsZWFyPSJub25lIj48ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjI2LCBrZWxs eWFqcCAmbHQ7PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJf dG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48 YnIgY2xlYXI9Im5vbmUiIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtaW50ZXJjaGFuZ2UtbmV3 bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3Bh ZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48 ZGl2PjxkaXY+SSdsbCBnZXQgdGhhdCB0byB5b3Ugb24gTW9uZGF5Jm5ic3A7PC9kaXY+PGRpdj48 YnIgY2xlYXI9Im5vbmUiPk9uIDMwIE1hciAyMDE0LCBhdCAxMjo1OSwgIk1hcmsgUHJvY3RvciBb dmlhIERyb29sc10iICZsdDsmbHQ7YQogaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2k9MCI+ eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAy OTAyNyZhbXA7YW1wO2k9MDwvYT4iIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0i ZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8YnIgY2xlYXI9Im5vbmUiPjxi ciBjbGVhcj0ibm9uZSI+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBz b2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPgoKCTwvYmxvY2txdW90ZT48 L2Rpdj48ZGl2PkFyZSB5b3UgYWJsZSB0byBpc29sYXRlIHdoYXQgdGhlIEZIknMgYXJlIHJlZmVy ZW5jaW5nLCBTb3JyeSB0aGF0IHNob3VsZCBiZSBSVCwgbm90IEZILiBSVCA9PSBSaWdodFR1cGxl LCBGSCA9PSBGYWN0SGFuZGxlLjxiciBjbGVhcj0ibm9uZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJv cmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPjxi bG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAg MWVtIiB0eXBlPSJjaXRlIj50aGF0IG1pZ2h0IGdpdmUgdXMgYW4gaWRlYSBvZiB3aGVyZSB0byBs b29rLiBJZiB5b3UgbG9vayBSaWdodFR1cGxlknMgdGhleSB3aWxsIGhhdmUgYSCRc2luaycgcmVm ZXJlbmNlIChuZXR3b3JrIG5vZGUpIGFuZCB0aGF0IHNpbmsgd2lsbCBoYXZlIGFuIJFhc3NvY2lh dGVzkiBtYXAuIFRoYXQgbWFwIGlzIHRoZSBydWxlcyB0aGF0IG5vZGUgaXMgcGFydCBvZi4gWW91 IGNhbiB1c2UgdGhpcyB0byBpZGVudGlmeSB0aGUgb2ZmZW5kaW5nIHJ1bGUocyksIGFuZCBtYXli ZSBwYXN0ZSB0aG9zZSBydWxlcyBoZXJlPzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2 Pk1hcms8YnIgY2xlYXI9Im5vbmUiPjxkaXY+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMDk6MDMs IGtlbGx5YWpwICZsdDsmbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0wIj54LW1z ZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2 JmFtcDthbXA7aT0wPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRl cm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9uZSIg Y2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90 ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbSIgdHlw ZT0iY2l0ZSI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo dDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0 ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h bDsgd29yZC1zcGFjaW5nOiAwcHg7Ij48ZGl2PlRoYW5rczwvZGl2PjxkaXY+PGJyIGNsZWFyPSJu b25lIj48L2Rpdj48ZGl2PkknbGwgZ2V0IHNvbWVvbmUgZnJvbSB0aGUgdGVhbSB0byB3b3JrIG9u IHRoaXMgb24gTW9uZGF5LiBOb3Qgc3VyZSBob3cgZWFzeSBpdCB3aWxsIGJlIHRvIGlzb2xhdGUg YnV0IHdpbGwga2VlcCB5b3UgaW5mb3JtZWQuPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwv ZGl2PjxkaXY+QW5keTxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQsIGF0IDIzOjUyLCAi TWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9Ijxh IGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDth bXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1h aWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7aT0w PC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2k9MDwvYT4i IHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4g ZW1haWxdJmd0OyB3cm90ZTo8YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+ PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6 MCAxZW0iIHR5cGU9ImNpdGUiPkNhbiB5b3UgZ2V0IHVzIGEgdW5pdCB0ZXN0IGRlbW9uc3RyYXRp bmcgdGhpcywgYW5kIHdlkmxsIGxvb2sgaW50byBpdCBhcyBhIHByaW9yaXR5LjxzcGFuIGNsYXNz PSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNs ZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPk1hcms8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUw OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+T24g MjggTWFyIDIwMTQsIGF0IDE1OjQwLCBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJl Zj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7 YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1Nl bmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2Ft cDtpPTA8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2Vy L1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0w PC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hp ZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj48ZGl2IGNsYXNzPSJ5 aXYzMTk0MzQwNTA5c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2MzE5NDM0MDUwOXNo cmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjMxOTQzNDA1MDlzaHJpbmthYmxlLXF1b3Rl Ij48ZGl2IGNsYXNzPSJ5aXYzMTk0MzQwNTA5c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0i eWl2MzE5NDM0MDUwOXNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InNocmlua2FibGUtcXVv dGUiPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBXZSBoYXZlIHVwZ3JhZGVkIGZyb20gRHJvb2xzIDUg LSZndDsgRHJvb2xzIDYuMDEgYW5kIHdoZW4gcmVwZWF0aW5nIHRoZTxzcGFuIGNsYXNzPSJ5aXYz MTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7IHByb2Nlc3NpbmcgaW4gZWFjaCBlbnZpcm9ubWVudCB3ZSBoYXZlIHZlcnkgZGlm ZmVyZW50IG9iamVjdCBjb3VudHMgdGhhdCBpczxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IGNh dXNpbmcgbWVtb3J5IHRvIHJ1biBvdXQgb24gRHJvb2xzIDY6PHNwYW4gY2xhc3M9InlpdjMxOTQz NDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUi PiZndDs8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBCZWxvdyBpcyBhbiBleHRyYWN0IGZyb20g YSBoZWFwIGR1bXA8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXYzMTk0 MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25l Ij4mZ3Q7IEluIERyb29scyA2IHRoZSBtYWluIG9iamVjdHMgaW4gdGhlIGhlYXAgYXJlPHNwYW4g Y2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDsgMTogJm5ic3A7ICZuYnNwOyAmbmJzcDsgNDM3ODAwNiAmbmJz cDsgJm5ic3A7ICZuYnNwOzcwMDQ4MDk2MCAmbmJzcDtvcmcuZHJvb2xzLmNvcmUucmV0ZW9vLlJp Z2h0VHVwbGU8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQw NTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4m Z3Q7IFdoZXJlIGFzIGluIERyb29scyA1IHRoZXJlIGFyZSB3YXkgbGVzcyBvYmplY3RzPHNwYW4g Y2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDsgOTI6ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAxOTAy MiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsxODI2MTEyICZuYnNwO29yZy5kcm9vbHMucmV0 ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXYz MTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7IEhhcyBhbnlvbmUgZWxzZSBoYWQgYW55IGV4cGVyaWVuY2Ugb2YgdGhpcyBpc3N1 ZT88c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFRo YW5rczxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8 c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9z cGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IC0tPHNw YW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDsgVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDo8c3Bh biBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFu PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0 cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURy b29scy02LTAtMS10cDQwMjkwMTAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMu NDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEt dHA0MDI5MDEwLmh0bWw8L2E+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFNlbnQgZnJvbSB0aGUgRHJv b2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNo aXZlIGF0PHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+ LjxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgcnVsZXMtZGV2CiBt YWlsaW5nIGxpc3Q8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXYzMTk0 MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+Jmx0O2EgaHJlZj0iJmx0 O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIj54LW1zZzovLzEzMS91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7 YW1wO2FtcDtpPTE8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5q dHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0xIj54LW1zZzovLzEz MS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDth bXA7aT0xPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCIm Z3Q7W2hpZGRlbiBlbWFpbF08c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRl ZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5 aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3Rz Lmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0 dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2 PjwvZGl2PjwvZGl2Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fPHNwYW4gY2xhc3M9InlpdjMxOTQzNDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48L2Rpdj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9InlpdjMxOTQz NDA1MDlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj4mbHQ7YSBocmVm PSImbHQ7YQogaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0yIj54LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2FtcDtpPTI8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0yIj54LW1z ZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4 JmFtcDthbXA7aT0yPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRl cm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF08c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBl PSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48YnIgY2xlYXI9Im5vbmUiPjxi ciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48aHIgbm9zaGFkZT0iIiBzaXplPSIxIj48 ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBmb250LXN0eWxlOiBub3JtYWw7IGZv bnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEycHg7 IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0 aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPjxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5J ZiB5b3UgcmVwbHkgdG8gdGhpcyBlbWFpbCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8g dGhlIGRpc2N1c3Npb24gYmVsb3c6PC9kaXY+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3Qi IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v UG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDE4Lmh0 bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9z c2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDE4Lmh0bWw8 L2E+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHls ZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9u dC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJp YWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij5U byB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSw8 c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9z cGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIg bGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhlcmU8L2E+LjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xz LjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3Jv X3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFz ZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50 ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1l c3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWls Lm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9l bWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZv bnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsg bGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwi Pk5BTUw8L2E+PC9kaXY+PC9ibG9ja3F1b3RlPjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJs ZWZ0IiB3aWR0aD0iMzAwIj5WaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OjxzcGFuIGNsYXNz PSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVs PSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJv b2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYt MC0xLXRwNDAyOTAxMHA0MDI5MDI1Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+U2VudCBmcm9t IHRoZTxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBo cmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1j b21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xz OiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZl PC9hPjxzcGFuIGNsYXNzPSJ5aXYzMTk0MzQwNTA5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+YXQ8c3BhbiBjbGFzcz0ieWl2MzE5NDM0MDUwOUFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9i bGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNv bTwvYT4uPGJyIGNsZWFyPSJub25lIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXzxiciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBj bGVhcj0ibm9uZSI+Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1h aWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MSI+eC1tc2c6 Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZh bXA7YW1wO2k9MTwvYT4iIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJu YWwiJmd0O1toaWRkZW4gZW1haWxdPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0 cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9ibG9ja3F1 b3RlPjwvZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGJyIGNsZWFyPSJub25lIj5fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9Im5vbmUi PnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj4mbHQ7YSBocmVmPSI8YSBo cmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9k ZT00MDI5MDI2JmFtcDthbXA7aT0yIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0yPC9hPiIgdGFyZ2V0PSJfdG9w IiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0KPGJyIGNs ZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2 IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNsZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9u ZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgs IDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9u dC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+ CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVt YWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8 L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhy ZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVh ay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbCIgbGluaz0iZXh0ZXJuYWwi Pmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1p bi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbDwvYT4KCTwvZGl2PgoJPGRpdiBz dHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250 LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBm b250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7 IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNj cmliZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5h bCI+Y2xpY2sgaGVyZTwvYT4uPGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMu bmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFt cDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5u YW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5h YmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7 YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0 YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFi YmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50 OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdo dDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4K CTwvZGl2PjwvYmxvY2txdW90ZT4KCgkKCQoJCjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJs ZWZ0IiB3aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xz LjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0x LXRwNDAyOTAxMHA0MDI5MDI3Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVt b3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+ClNlbnQgZnJvbSB0 aGUgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0 ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZl bG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBh dCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxiciBjbGVh cj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xlYXI9Im5vbmUiPjxh IHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0i ZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxvY2tx dW90ZT48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9 Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5v Zm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFs Ij5baGlkZGVuIGVtYWlsXTwvYT4KPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0 cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNs ZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9uZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4K CTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsg Zm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJw eDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2 ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9s ZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRl ZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFw ZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQw MjkwNTIuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxl LmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkw NTIuaHRtbDwvYT4KCTwvZGl2PjxkaXYgY2xhc3M9InlpdjMxOTQzNDA1MDl5cXQxMTk0MTUxNTUw IiBpZD0ieWl2MzE5NDM0MDUwOXlxdGZkOTQwNTAiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYigx MDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsg Zm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21h LCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVt OyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxl IG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJl Y3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSIiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9h Pi48YnIgY2xlYXI9Im5vbmUiPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJn ZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBs YXRlL05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRt bCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5C YXNpY05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5h YmJsZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3Rp Znlfc3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFi YmxlJTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1s IiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13 ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQt ZmFtaWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9kaXY+PC9k aXY+PC9kaXY+PGJyPjxicj48L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+PCEtLXN0YXJ0LWF0 dGFjaG1lbnRzLS0+PGRpdiBjbGFzcz0ic21hbGwiPjxicj48aW1nIHNyYz0iaHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL2ltYWdlcy9pY29uX2F0dGFjaG1lbnQuZ2lmIj4gPHN0cm9u Zz5OQ0NGX0JBU0VMSU5FLnhscy5kcmw8L3N0cm9uZz4gKDlNKSA8YSBocmVmPSJodHRwOi8vZHJv b2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vYXR0YWNobWVudC80MDI5MDc4LzAvTkNDRl9CQVNFTElO RS54bHMuZHJsIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5E b3dubG9hZCBBdHRhY2htZW50PC9hPjwvZGl2PjwhLS1lbmQtYXR0YWNobWVudHMtLT4KCgkKCQoJ Cjxicj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBj b250ZXh0OiA8YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2li bGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDc4Lmh0bWwiPlJl OiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyPgpTZW50IGZyb20g dGhlIDxhIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2 ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiPkRyb29sczogRGV2ZWxv cGVyIChjb21taXR0ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQg PGEgaHJlZj0iaHR0cDovL05hYmJsZS5jb20iPk5hYmJsZS5jb208L2E+Ljxicj5fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj5ydWxlcy1kZXYgbWFpbGlu ZyBsaXN0PGJyPjxhIGhyZWY9Im1haWx0bzpydWxlcy1kZXZAbGlzdHMuamJvc3Mub3JnIj5ydWxl cy1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9kaXY+ PC9ib2R5PjwvaHRtbD4= --===============0160093354572499816==-- From kellyajp at yahoo.co.uk Wed Apr 2 07:50:16 2014 Content-Type: multipart/mixed; boundary="===============6771022604758982749==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 04:50:16 -0700 Message-ID: <1396439376.26576.YahooMailNeo@web171803.mail.ir2.yahoo.com> In-Reply-To: 8C93DF12-A1AB-40DB-B4DA-FCE0B0EB9273@codehaus.org --===============6771022604758982749== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Yes we feed the positions into the StatefulSession one at a time. Is there a difference in how these rules would be treated in Drools 5 and D= rool 6.=C2=A0I've hap dumped both instances and there is a huge difference = in the number of RighTuple instances being generated in each. The data and = rules are exactly the same in both instances. The only option I have is to = roll back to the old drools version if we can't resolve the issue; the prob= lem there is that this version dose not include the Mvel fix to stop the jv= m freezing. Do you have any suggestions? Thanks ________________________________ From: Mark Proctor [via Drools] To: kellyajp = Sent: Wednesday, 2 April 2014, 12:41 Subject: Re: Possible memory leak in Drools 6.0.1 = not sure why this would have a memory leak, it all looks quite straight for= ward joins. I assume you are using stateless sessions and inserting just a single Posit= ion instance? Is there a different number of RT=E2=80=99s after a single Po= sition insert? A small tip, you don=E2=80=99t need so many patterns. All those constraints= can go in a single Pattern.=C2=A0 Mark On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: Morning Mark, > > >That was a useful exercise!!, from a sampled set it looks like the RightTu= ple instances are coming from a single rule package (nccf). > > >This rule package comes from a large decision table of that is maintained = by our business users. This results in a large DRL file being generated con= taining 2371 rules.=C2=A0 > > >Below I have included some of the rules that were referenced in the data s= tructures, I have also attached the generated DRL file. > > >The exact same file processes in Drools 5 but fails in Drools 6. > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >// rule values at A650, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >=C2=A0 =C2=A0 salience 64886 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100579"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >// rule values at A652, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >=C2=A0 =C2=A0 salience 64884 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >// rule values at A651, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >=C2=A0 =C2=A0 salience 64885 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >// rule values at A954, header at A921 >rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >=C2=A0 =C2=A0 salience 64582 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ',= 'DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT= ' ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , '= CY' ,'CZ' ,'DE' =C2=A0, 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'I= E' , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'= RO','SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "EUR") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.collateralType in ('govt liquid gtd','us govt g= uarant','u.s. government guarantee')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+220752000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100405"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > >18cad_lng_sec_iss_prov_over10Y_under35Y_2 >// rule values at A152, header at A138 >rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >=C2=A0 =C2=A0 salience 65384 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+315360000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >,'MP','MANPAC','MPTB','ONTW' >,'ONT','ONTB','ONTPAC','Q' >,'QTB','QUEPAC','QW','NBRNS' >,'NS','PRINCE','NF','NFTB')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "CAD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerIndustry =3D=3D "govt regional") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "govt") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100341"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > > > > > > > > >________________________________ > From: Mark Proctor [via Drools] <[hidden email]> >To: kellyajp <[= hidden email]> = >Sent: Tuesday, 1 April 2014, 14:10 >Subject: Re: Possible memory leak in Drools 6.0.1 > = > > >any news? > > >Mark > >On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: > > > >On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: > >I'll get that to you on Monday=C2=A0 > >On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp?type=3Dnode&no= de=3D4029027&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">= [hidden email]> wrote: > > >Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that = should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. > >that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >>> >>> >>>Mark >>> >>>On 30 Mar 2014, at 09:03, kellyajp <x-msg://= 133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D0" target=3D"= _top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >>> >>>Thanks >>>> >>>> >>>>I'll get someone from the team to work on this on Monday. Not sure how = easy it will be to isolate but will keep you informed. >>>> >>>> >>>>Andy >>>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode&a= mp;amp;node=3D4029025&amp;i=3D0">x-msg://131/user/Send= Email.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel=3D"= nofollow" link=3D"external">[hidden email]> wrote: >>>> >>>> >>>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look i= nto it as a priority.=C2=A0 >>>>> >>>>>Mark=C2=A0 >>>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029= 018&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dn= ode&node=3D4029018&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"= external">[hidden email]> wrote:=C2=A0 >>>>> >>>>> >>>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating the= =C2=A0 >>>>>> processing in each environment we have very different object counts = that is=C2=A0 >>>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>>=C2=A0 >>>>>> Below is an extract from a heap dump=C2=A0 >>>>>>=C2=A0 >>>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2=A0= org.drools.core.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A0182= 6112 =C2=A0org.drools.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>>=C2=A0 >>>>>> Thanks=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>> --=C2=A0 >>>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.com= /Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>> Sent from the Drools: Developer (committer) mailing list mailing lis= t archive at=C2=A0Nabble.com.=C2=A0 >>>>>> _______________________________________________=C2=A0 >>>>>> rules-dev mailing list=C2=A0 >>>>>>=C2=A0x-msg://131/user= /SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i= =3D1" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]=C2= =A0 >>>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev_____________= __________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/user/SendEmail.jtp?type= =3Dnode&amp;node=3D4029018&amp;i=3D2">x-msg://131/= user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D2" target=3D"_top= " rel=3D"nofollow" link=3D"external">[hidden email]=C2=A0https://lists.jbos= s.org/mailman/listinfo/rules-dev >>>>> >>>>>>>>>>________________________________ >>>>> >>>>>If you reply to this email, your message will be added to the discussi= on below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6= -0-1-tp4029010p4029018.html >>>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click h= ere. >>>>>NAML >>>>>>>>________________________________ >>>>View this message in context:=C2=A0Re: Possible memory leak in Drools 6= .0.1 >>>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing l= ist archive=C2=A0at=C2=A0Nabble.com. >>>>_______________________________________________ >>>>rules-dev mailing list >>>>x-msg://133/user/SendEmail.jtp?type=3Dnode&= amp;node=3D4029026&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"exte= rnal">[hidden email] >>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>> >>>_______________________________________________ = >>>rules-dev mailing list = >>>x-msg://133/user/SendEmail.jtp?type=3Dnode&a= mp;node=3D4029026&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"exter= nal">[hidden email] = >>>https://lists.jboss.org/mailman/listinfo/rules-dev = >>> >>>>>>________________________________ >>> = >>>If you reply to this email, your message will be added to the discussion= below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0= -1-tp4029010p4029026.html = >>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>NAML = >>>>________________________________ >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev > > >_______________________________________________ = >rules-dev mailing list = >[hidden email] = >https://lists.jboss.org/mailman/listinfo/rules-dev = > >>________________________________ > = >If you reply to this email, your message will be added to the discussion b= elow:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029052.html = >To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >NAML = > > > > NCCF_BASELINE.xls.drl (9M) Download Attachment >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029081.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029082.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============6771022604758982749== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PlllcyB3ZSBmZWVkIHRoZSBw b3NpdGlvbnMgaW50byB0aGUgU3RhdGVmdWxTZXNzaW9uIG9uZSBhdCBhIHRpbWUuPC9kaXY+PGRp diBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWls eTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1 Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsg Zm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJj b2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp Y2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5k ZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxl OiBub3JtYWw7Ij48c3Bhbj5JcyB0aGVyZSBhIGRpZmZlcmVuY2UgaW4gaG93IHRoZXNlIHJ1bGVz IHdvdWxkIGJlIHRyZWF0ZWQgaW4gRHJvb2xzIDUgYW5kIERyb29sIDYuJm5ic3A7PC9zcGFuPjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPkkndmUgaGFwIGR1bXBl ZCBib3RoIGluc3RhbmNlcyBhbmQgdGhlcmUgaXMgYSBodWdlIGRpZmZlcmVuY2UgaW4gdGhlIG51 bWJlciBvZiBSaWdoVHVwbGUgaW5zdGFuY2VzIGJlaW5nIGdlbmVyYXRlZCBpbiBlYWNoLiBUaGUg ZGF0YSBhbmQgcnVsZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUgaW4gYm90aAogaW5zdGFuY2VzLiBU aGUgb25seSBvcHRpb24gSSBoYXZlIGlzIHRvIHJvbGwgYmFjayB0byB0aGUgb2xkIGRyb29scyB2 ZXJzaW9uIGlmIHdlIGNhbid0IHJlc29sdmUgdGhlIGlzc3VlOyB0aGUgcHJvYmxlbSB0aGVyZSBp cyB0aGF0IHRoaXMgdmVyc2lvbiBkb3NlIG5vdCBpbmNsdWRlIHRoZSBNdmVsIGZpeCB0byBzdG9w IHRoZSBqdm0gZnJlZXppbmcuIERvIHlvdSBoYXZlIGFueSBzdWdnZXN0aW9ucz88L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxMXB4OyBmb250 LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlh bCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAs IDAsIDApOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVs dmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2Vy aWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48 c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij5UaGFua3M8L3NwYW4+ PC9kaXY+ICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGlj YSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDhwdDsiPiA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwg J0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYQogR3JhbmRlJywgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyI+IDxkaXYgZGlyPSJsdHIiPiA8aHIgc2l6ZT0iMSI+ ICA8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo dDpib2xkOyI+RnJvbTo8L3NwYW4+PC9iPiBNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdICZsdDs8 YSBocmVmPSIvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZub2RlPTQwMjkwODImaT0wIiB0 YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWls XTwvYT4mZ3Q7PGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Ubzo8L3Nw YW4+PC9iPiBrZWxseWFqcCAmbHQ7PGEgaHJlZj0iL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5v ZGUmbm9kZT00MDI5MDgyJmk9MSIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJl eHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyA8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250 LXdlaWdodDogYm9sZDsiPlNlbnQ6PC9zcGFuPjwvYj4gV2VkbmVzZGF5LCAyIEFwcmlsIDIwMTQs IDEyOjQxPGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5TdWJqZWN0Ojwv c3Bhbj48L2I+IFJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8YnI+IDwv Zm9udD4gPC9kaXY+IDxkaXYgY2xhc3M9InlfbXNnX2NvbnRhaW5lciI+PGJyPjxkaXYgaWQ9Inlp djQxMzA3OTIzNzYiPgoKCSBub3Qgc3VyZSB3aHkgdGhpcyB3b3VsZCBoYXZlIGEgbWVtb3J5IGxl YWssIGl0IGFsbCBsb29rcyBxdWl0ZSBzdHJhaWdodCBmb3J3YXJkIGpvaW5zLjxkaXY+PGJyPjwv ZGl2PjxkaXY+SSBhc3N1bWUgeW91IGFyZSB1c2luZyBzdGF0ZWxlc3Mgc2Vzc2lvbnMgYW5kIGlu c2VydGluZyBqdXN0IGEgc2luZ2xlIFBvc2l0aW9uIGluc3RhbmNlPyBJcyB0aGVyZSBhIGRpZmZl cmVudCBudW1iZXIgb2YgUlTigJlzIGFmdGVyIGEgc2luZ2xlIFBvc2l0aW9uIGluc2VydD88L2Rp dj48ZGl2Pjxicj48L2Rpdj48ZGl2PkEgc21hbGwgdGlwLCB5b3UgZG9u4oCZdCBuZWVkIHNvIG1h bnkgcGF0dGVybnMuIEFsbCB0aG9zZSBjb25zdHJhaW50cyBjYW4gZ28gaW4gYSBzaW5nbGUgUGF0 dGVybi4mbmJzcDs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk1hcms8YnI+PGRpdj48YnI+PC9k aXY+PGRpdj48YnI+PGRpdj48ZGl2Pk9uIDIgQXByIDIwMTQsIGF0IDExOjIwLCBrZWxseWFqcCAm bHQ7PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFs Ij5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGFzcz0ieWl2NDEzMDc5 MjM3NkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXIt bGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6 MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgZm9udC1mYW1pbHk6IEhlbHZl dGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3Jh bmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij48ZGl2PjxzcGFuPk1vcm5pbmcgTWFy ayw8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTog SGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywKIEhlbHZldGljYSwgQXJpYWwsICdMdWNp ZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZv bnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9u dC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVl JywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+VGhhdCB3 YXMgYSB1c2VmdWwgZXhlcmNpc2UhISwgZnJvbSBhIHNhbXBsZWQgc2V0IGl0IGxvb2tzIGxpa2Ug dGhlIFJpZ2h0VHVwbGUgaW5zdGFuY2VzIGFyZSBjb21pbmcgZnJvbSBhIHNpbmdsZSBydWxlIHBh Y2thZ2UgKG5jY2YpLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZv bnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFy aWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYg c3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2 ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJp ZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxz cGFuPlRoaXMgcnVsZSBwYWNrYWdlIGNvbWVzIGZyb20gYSBsYXJnZSBkZWNpc2lvbiB0YWJsZSBv ZiB0aGF0IGlzIG1haW50YWluZWQgYnkgb3VyIGJ1c2luZXNzIHVzZXJzLiBUaGlzIHJlc3VsdHMg aW4gYSBsYXJnZSBEUkwgZmlsZSBiZWluZwogZ2VuZXJhdGVkIGNvbnRhaW5pbmcgMjM3MSBydWxl cy4mbmJzcDs8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZh bWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwg J0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl PSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNh IE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5C ZWxvdyBJIGhhdmUgaW5jbHVkZWQgc29tZSBvZiB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlZmVyZW5j ZWQgaW4gdGhlIGRhdGEgc3RydWN0dXJlcywgSSBoYXZlIGFsc28gYXR0YWNoZWQgdGhlIGdlbmVy YXRlZCBEUkwKIGZpbGUuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsg Zm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwg QXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRp diBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hl bHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNl cmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+ PHNwYW4+VGhlIGV4YWN0IHNhbWUgZmlsZSBwcm9jZXNzZXMgaW4gRHJvb2xzIDUgYnV0IGZhaWxz IGluIERyb29scyA2Ljwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZv bnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFy aWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4zMXVzZF9sbmdfY29ycF9ibmRf Y3JfYmJiX3VzZF9vdmVyMHlfdW5kZXI1eV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE2NTAsIGhlYWRlciBhdCBBNjQ0 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1bGUKICIz MXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXI1eV8yIjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGll bmNlIDY0ODg2PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRp b25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1By b2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVz c0RhdGUpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50ICE9IG51bGwgJmFtcDsmYW1wOwogcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0 eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAwKTwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kg PT0gIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtl dFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9u KHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kIG5vdCBpbiAoJ2NvbnZlcnRpYmxlJywnY292ZXJlZCcg LCdqdW1ibyBwZmFuZGJyaWVmZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRp b25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OwogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbics J0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQ cm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVz dWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5l Q2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRC YXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGlu ZUlkKCJOQ0NGMDEwMDU3OSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0 T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25J ZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmljYXRpb24u c2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0 VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFt ZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFs dWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQ b3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlv bigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7CiAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0 dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRU eXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBj b3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1Rv dGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9u UGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVl KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZh bHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGEu c2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVz dG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBT aG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNr ZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48 YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+MzF1c2RfbG5n X2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjB5X3VuZGVyMTB5XzI8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MiwgaGVh ZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+cnVsZSAiMzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjV5X3VuZGVyMTB5XzIi PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgc2FsaWVuY2UgNjQ4ODQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7CiAmbmJzcDsgcDogUG9z aXRpb24ocG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1 YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1 ZSAmZ3Q7PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9k dWN0SGllcmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGll cmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWls LnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNp bmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRp b25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1 YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0KICJVU0QiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9PSAiY29ycCIpPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51 bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4g KCdjb252ZXJ0aWJsZScsJ2NvdmVyZWQnICwnanVtYm8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLm92ZXJhbGxDcmVkaXRRdWFsaXR5U3Rl cCA9PSAyKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0 aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhl bjwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlv blBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA1ODEiKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRp b25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 CiAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlz dG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5n ZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3koIHAuZ2V0UG9z aXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJs ZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsKICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVj a2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0 aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAu Z2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBG dW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsKIGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXI1eV91bmRl cjEweV8xPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPi8v IHJ1bGUgdmFsdWVzIGF0IEE2NTEsIGhlYWRlciBhdCBBNjQ0PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1bGUgIjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9i YmJfdXNkX292ZXI1eV91bmRlcjEweV8xIjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGllbmNlIDY0ODg1PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgd2hlbjwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9u RGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOwog cG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5yYmNQcm9kdWN0Q2xhc3MgPT0gInNlY3Vy aXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0 eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzE1NzY4MDAwMDAwMCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZs dDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZhbHVhdGlvbiE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVhdGlvbkN1cnJlbmN5ID09ICJVU0Qi KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JE ZXNjcmlwdGlvbiA9PSAiY29ycCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogUG9zaXRpb24ocG9zaXRp b25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5z dHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVkJyAsJ2p1bWJv IHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5yaXNrUHJvZHVjdFR5 cGUgIT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQo Y2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZp Y2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxpbmUo J05DQ0YnKTs8L2Rpdj48ZGl2CiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5D Q0YwMTAwNTgxIik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3Qo cCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0 UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFT dGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRp b24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQo KS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1w bCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iCmJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUo ICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0 VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBl KCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVu Z2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1 bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRl cnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOwogJm5ic3A7ICZuYnNwOwogYS5zZXRD YXNoZmxvd1R5cGUoICdTRVRUTEVNRU5ULCBTZXR0bGVtZW50Jyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jh c2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSgg J0NCJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1ByaW5jaXBhbCwg SW50ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0 YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5 c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlvbi5h ZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQnKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRN dG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRJbnN0cnVtZW50 KCkuZ2V0TWF0dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5 c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUo J1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5n aWJsZSBMb25nIGNvdmVycyBGdW5naWJsZQogU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1 bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjA4ZXVyX2xhX2xuZ19xdWFsX21rdF9z ZWNfYWduY3lfZGJ0Xzd5X1VuZGVyXzEwWV81PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE5NTQsIGhlYWRlciBhdCBBOTIx PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1bGUgIjA4 ZXVyX2xhX2xuZ19xdWFsX210a19zZWNfYWduY3lfZGJ0XzdZX3VuZGVyXzEwWV81IjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNh bGllbmNlIDY0NTgyPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9z aXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTAp PC9kaXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJh cmNoeSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5y YmNQcm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291bnRyeU9mRG9taWNp bGUgaW4gKCdBVCcsJ0JFJywnQkcnLCdDWScsJ0NaJywnREUnLCdESycsJ0VFJywnRVMnLCdGSScs J0ZSJyAsJ0dCJywnR1InICwnSFUnICwnSUUnICwnSVMnICwnSVQnICwnTEknICwnTFQnICwnTFUn ICwnTFYnICwnTVQnICwnTkwnICwnTk8nICwnUEwnICwnUFQnICwnUk8nICwnU0UnICwnU0knICwn U0snKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291bnRyeU9m SW5jb3Jwb3JhdGlvbiBpbiAoJ0FUJyAsJ0JFJyAsJ0JHJyAsICdDWScgLCdDWicgLCdERScgJm5i c3A7LCAnREsnICwnRUUnICwnRVMnLCAnRkknICwnRlInICwnR0InICwgJ0dSJyAsJ0hVJyAsJ0lF JyAsCiAnSVMnICwnSVQnICwnTEknICwgJ0xUJyAsJ0xVJyAsJ0xWJyAsICdNVCcgLCdOTCcgLCdO TycgLCAnUEwnICwnUFQnICwnUk8nLCdTRScgLCdTSScgLCdTSycpKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7IHBv c2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIkVVUiIpPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwg JmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvbGxhdGVyYWxUeXBlIGluICgn Z292dCBsaXF1aWQgZ3RkJywndXMgZ292dCBndWFyYW50JywndS5zLiBnb3Zlcm5tZW50IGd1YXJh bnRlZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0 eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzIyMDc1MjAwMDAwMCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlCiAm bHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFs dWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRh aWwucmlza1Byb2R1Y3RUeXBlICE9ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgn QmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5zZXRMaW5lSWQoIk5DQ0YwMTAwNDA1Iik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmljYXRpb24uc2V0 UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJv b2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlv blBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0 aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVl KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOwogYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRq dXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxl IFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1 Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5l dyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1NFVFRMRU1FTlQsIFNldHRsZW1lbnQnKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZs b3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cKICgx KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJh bWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dEJhc2VsaW5lVHlwZSggJ0NCJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlw ZSggJ1ByaW5jaXBhbCwgSW50ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGlt ZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7CiBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRW YWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVu Y3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJl bmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwo KS5nZXRJbnN0cnVtZW50KCkuZ2V0TWF0dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVz dG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBT aG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNr ZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9IgpiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4xOGNh ZF9sbmdfc2VjX2lzc19wcm92X292ZXIxMFlfdW5kZXIzNVlfMjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBMTUyLCBoZWFk ZXIgYXQgQTEzODwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij5ydWxlICIxOGNhZF9sbmdfc2VjX2lzc19wcm92X292ZXIxMHlfdW5kZXIzNXlfMiI8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBz YWxpZW5jZSA2NTM4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0w KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJh cmNoeSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5y YmNQcm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0KIG51bGwgJmFtcDsmYW1wOyBwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tC dXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0Rh dGUrMTEwMzc2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQuaXNzdWVyVGlja2VyIGluICgnQlJDT0wnLCdCY3BJUEInLCdBTFRBJywnU0NEQSc8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdNUCcsJ01BTlBBQycs J01QVEInLCdPTlRXJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4sJ09OVCcsJ09OVEInLCdPTlRQQUMnLCdRJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4sJ1FUQicsJ1FVRVBBQycsJ1FXJywnTkJSTlMnPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiwnTlMnLCdQUklOQ0Un LCdORicsJ05GVEInKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWls LlZhbHVhdGlvbiE9IG51bGwKICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5W YWx1YXRpb25DdXJyZW5jeSA9PSAiQ0FEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls Lmluc3RydW1lbnQuaXNzdWVySW5kdXN0cnkgPT0gImdvdnQgcmVnaW9uYWwiKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7 JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9 PSAiZ292dCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1 YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0 aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rp b25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2CiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDM0MSIpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhp c3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmlj YXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigp LmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQ b3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdp YmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLmFkZChhPW5ldwogQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVC dWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1 YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3ko cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJz IEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSIKYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj4gIDxkaXYgc3R5bGU9 ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2Es IEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyI+IDxk aXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBI ZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog MTJwdDsiPiA8ZGl2IGRpcj0ibHRyIj4gPGhyIHNpemU9IjEiPiAgPGZvbnQgc2l6ZT0iMiIgZmFj ZT0iQXJpYWwiPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPkZyb206PC9zcGFu PjwvYj4gTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSAmbHQ7Jmx0O2EgaHJlZj0ieC1tc2c6Ly80 My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDc4JmFtcDth bXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtb aGlkZGVuIGVtYWlsXSZndDs8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+ VG86PC9zcGFuPjwvYj4ga2VsbHlhanAgJmx0OyZsdDthIGhyZWY9IngtbXNnOi8vNDMvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2k9MSIg dGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IgogbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4g ZW1haWxdJmd0OyA8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+U2VudDo8 L3NwYW4+PC9iPiBUdWVzZGF5LCAxIEFwcmlsIDIwMTQsIDE0OjEwPGJyPiA8Yj48c3BhbiBzdHls ZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlN1YmplY3Q6PC9zcGFuPjwvYj4gUmU6IFBvc3NpYmxlIG1l bW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxicj4gPC9mb250PiA8L2Rpdj4gPGRpdiBjbGFzcz0i eWl2NDEzMDc5MjM3NnlfbXNnX2NvbnRhaW5lciI+PGJyPjxkaXYgaWQ9InlpdjQxMzA3OTIzNzYi PjxkaXY+YW55IG5ld3M/PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+TWFyazxiciBj bGVhcj0ibm9uZSI+PGRpdiBzdHlsZT0iIj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAxMzozOCwg TWFyayBQcm9jdG9yICZsdDs8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0 YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IHdyb3Rl OjwvZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9InlpdjQxMzA3OTIzNzZBcHBsZS1pbnRlcmNo YW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICND Q0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0ND O3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9k aXY+PGRpdj48ZGl2IHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZDsiPjxiciBjbGVhcj0ibm9u ZSI+PGRpdj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAxMzoyNiwga2VsbHlhanAgJmx0OzxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0 ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsZWFyPSJub25l IiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1 b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBz dHlsZT0iYm9yZGVyLWxlZnQ6MnB4CiBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBl PSJjaXRlIj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj48ZGl2PkknbGwgZ2V0 IHRoYXQgdG8geW91IG9uIE1vbmRheSZuYnNwOzwvZGl2PjxkaXY+PGJyIGNsZWFyPSJub25lIj5P biAzMCBNYXIgMjAxNCwgYXQgMTI6NTksICJNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdIiAmbHQ7 Jmx0O2EKIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI3JmFtcDthbXA7YW1wO2k9MCImZ3Q7eC1t c2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAy NyZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5h bCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFy PSJub25lIj48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICND Q0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0ND O3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj4KCgk8L2Jsb2NrcXVvdGU+PC9kaXY+PGRpdj5B cmUgeW91IGFibGUgdG8gaXNvbGF0ZSB3aGF0IHRoZSBGSOKAmXMgYXJlIHJlZmVyZW5jaW5nLCBT b3JyeSB0aGF0IHNob3VsZCBiZSBSVCwgbm90IEZILiBSVCA9PSBSaWdodFR1cGxlLCBGSCA9PSBG YWN0SGFuZGxlLjxiciBjbGVhcj0ibm9uZSI+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0 OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHgg c29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PGJsb2NrcXVvdGUgc3R5 bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJi b3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+ dGhhdCBtaWdodCBnaXZlIHVzIGFuIGlkZWEgb2Ygd2hlcmUgdG8gbG9vay4gSWYgeW91IGxvb2sg UmlnaHRUdXBsZeKAmXMgdGhleSB3aWxsIGhhdmUgYSDigJhzaW5rJyByZWZlcmVuY2UgKG5ldHdv cmsgbm9kZSkgYW5kIHRoYXQgc2luayB3aWxsIGhhdmUgYW4g4oCYYXNzb2NpYXRlc+KAmSBtYXAu IFRoYXQgbWFwIGlzIHRoZSBydWxlcyB0aGF0IG5vZGUgaXMgcGFydCBvZi4gWW91IGNhbiB1c2Ug dGhpcyB0byBpZGVudGlmeSB0aGUgb2ZmZW5kaW5nIHJ1bGUocyksIGFuZCBtYXliZSBwYXN0ZSB0 aG9zZSBydWxlcyBoZXJlPzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2Pk1hcms8YnIg Y2xlYXI9Im5vbmUiPjxkaXY+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMDk6MDMsIGtlbGx5YWpw ICZsdDsmbHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5q dHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTAiJmd0 O3gtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQw MjkwMjYmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0 ZXJuYWwiJmd0O1toaWRkZW4KIGVtYWlsXSZndDsgd3JvdGU6PC9kaXY+PGJyIGNsZWFyPSJub25l IiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1 b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBz dHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9 ImNpdGUiPjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJw eDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgdGV4 dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7 IHdvcmQtc3BhY2luZzogMHB4OyI+PGRpdj5UaGFua3M8L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9u ZSI+PC9kaXY+PGRpdj5JJ2xsIGdldCBzb21lb25lIGZyb20gdGhlIHRlYW0gdG8gd29yayBvbiB0 aGlzIG9uIE1vbmRheS4gTm90IHN1cmUgaG93IGVhc3kgaXQgd2lsbCBiZSB0byBpc29sYXRlIGJ1 dCB3aWxsIGtlZXAgeW91IGluZm9ybWVkLjwvZGl2PjxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rp dj48ZGl2PkFuZHk8YnIgY2xlYXI9Im5vbmUiPk9uIDI4IE1hciAyMDE0LCBhdCAyMzo1MiwgIk1h cmsgUHJvY3RvciBbdmlhIERyb29sc10iICZsdDsmbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7 YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7 YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1w O2FtcDthbXA7aT0wIiZndDsmbHQ7YQogaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwu anRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7aT0wIiZn dDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00 MDI5MDI1JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4 dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PGJyIGNsZWFyPSJub25lIj48YnIg Y2xlYXI9Im5vbmUiPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29s aWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICND Q0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPkNhbiB5b3UgZ2V0IHVzIGEgdW5pdCB0 ZXN0IGRlbW9uc3RyYXRpbmcgdGhpcywgYW5kIHdl4oCZbGwgbG9vayBpbnRvIGl0IGFzIGEgcHJp b3JpdHkuPHNwYW4gY2xhc3M9InlpdjQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+TWFyazxzcGFuIGNs YXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJy IGNsZWFyPSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQgMTU6NDAsIGtlbGx5YWpwICZsdDsmbHQ7 YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7 YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7 YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0wIiZndDsmbHQ7YQogaHJlZj0ieC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQw MjkwMTgmYW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/ dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3Ai IHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3Jv dGU6PHNwYW4gY2xhc3M9InlpdjQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPjxkaXYgY2xhc3M9InlpdjQxMzA3OTIzNzZzaHJpbmth YmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY0MTMwNzkyMzc2c2hyaW5rYWJsZS1xdW90ZSI+PGRp diBjbGFzcz0ieWl2NDEzMDc5MjM3NnNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjQx MzA3OTIzNzZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY0MTMwNzkyMzc2c2hyaW5r YWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2NDEzMDc5MjM3NnNocmlua2FibGUtcXVvdGUiPjxk aXYgY2xhc3M9InlpdjQxMzA3OTIzNzZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSdzaHJp bmthYmxlLXF1b3RlJz48YnIgY2xlYXI9Im5vbmUiPiZndDsgV2UgaGF2ZSB1cGdyYWRlZCBmcm9t IERyb29scyA1IC0mZ3Q7IERyb29scyA2LjAxIGFuZCB3aGVuIHJlcGVhdGluZyB0aGU8c3BhbiBj bGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxi ciBjbGVhcj0ibm9uZSI+Jmd0OyBwcm9jZXNzaW5nIGluIGVhY2ggZW52aXJvbm1lbnQgd2UgaGF2 ZSB2ZXJ5IGRpZmZlcmVudCBvYmplY3QgY291bnRzIHRoYXQgaXM8c3BhbiBjbGFzcz0ieWl2NDEz MDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9u ZSI+Jmd0OyBjYXVzaW5nCiBtZW1vcnkgdG8gcnVuIG91dCBvbiBEcm9vbHMgNjo8c3BhbiBjbGFz cz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBj bGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEJlbG93IGlzIGFuIGV4 dHJhY3QgZnJvbSBhIGhlYXAgZHVtcDxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xh c3M9InlpdjQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIg Y2xlYXI9Im5vbmUiPiZndDsgSW4gRHJvb2xzIDYgdGhlIG1haW4gb2JqZWN0cyBpbiB0aGUgaGVh cCBhcmU8c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyAxOiAmbmJzcDsgJm5ic3A7ICZuYnNwOyA0 Mzc4MDA2ICZuYnNwOyAmbmJzcDsgJm5ic3A7NzAwNDgwOTYwICZuYnNwO29yZy5kcm9vbHMuY29y ZS5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9 InlpdjQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xl YXI9Im5vbmUiPiZndDsgV2hlcmUgYXMgaW4gRHJvb2xzIDUgdGhlcmUgYXJlIHdheSBsZXNzIG9i amVjdHM8c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyA5MjogJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IDE5MDIyCiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsxODI2MTEyICZuYnNwO29y Zy5kcm9vbHMucmV0ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFu IGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEhhcyBhbnlvbmUgZWxzZSBoYWQgYW55IGV4cGVyaWVuY2Ug b2YgdGhpcyBpc3N1ZT88c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY0 MTMwNzkyMzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7IFRoYW5rczxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlp djQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9 Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY0MTMw NzkyMzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25l Ij4mZ3Q7IC0tPHNwYW4gY2xhc3M9InlpdjQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgVmlldyB0aGlzIG1lc3NhZ2UgaW4g Y29udGV4dDo8c3BhbgogY2xhc3M9InlpdjQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1v cnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwLmh0bWwiIGxpbms9ImV4dGVybmFsIj5o dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4t RHJvb2xzLTYtMC0xLXRwNDAyOTAxMC5odG1sPC9hPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBTZW50 IGZyb20gdGhlIERyb29sczogRGV2ZWxvcGVyIChjb21taXR0ZXIpIG1haWxpbmcgbGlzdCBtYWls aW5nIGxpc3QgYXJjaGl2ZSBhdDxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRh cmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9ImV4dGVybmFsIj5O YWJibGUuY29tPC9hPi48c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2 QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7 IHJ1bGVzLWRldgogbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9InlpdjQxMzA3OTIzNzZBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBj bGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPiZs dDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVt YWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2Ft cDthbXA7aT0xIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTEiJmd0OyZsdDthIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDE4JmFtcDthbXA7YW1wO2k9MSImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MSIgdGFyZ2V0PSJfdG9w IiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF08c3BhbiBj bGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxi ciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRh cmdldD0iX2JsYW5rIgogaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Rpdj48L2Rpdj48L2Rpdj5fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxzcGFuIGNsYXNzPSJ5aXY0MTMw NzkyMzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+cnVsZXMtZGV2 IG1haWxpbmcgbGlzdDxzcGFuIGNsYXNzPSJ5aXY0MTMwNzkyMzc2QXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+Jmx0O2EgaHJlZj0iJmx0O2EKIGhyZWY9IiZsdDthIGhy ZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7 YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0yIiZndDt4LW1zZzovLzEzMS91c2Vy L1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1w O2FtcDtpPTIiJmd0OyZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MiImZ3Q7eC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2k9MiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5h bCImZ3Q7W2hpZGRlbiBlbWFpbF08c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJy ZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1h bi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3Nz Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Rpdj48L2Rpdj48YnIgY2xlYXI9 Im5vbmUiPjxociBub3NoYWRlPSIiIHNpemU9IjEiPjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgs IDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9u dC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+ PGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0bwogdGhpcyBlbWFp bCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Npb24gYmVsb3c6PC9k aXY+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4t RHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDE4Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRw Oi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJv b2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDE4Lmh0bWw8L2E+PC9kaXY+PGRpdiBzdHlsZT0iY29s b3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWls eTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10 b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij5UbyB1bnN1YnNjcmliZSBmcm9tIFBvc3Np YmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSw8c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3 NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNo YXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhl cmU8L2E+LjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRh cmdldD0iX2JsYW5rIgogaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3Rl bXBsYXRlL05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRf aHRtbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNl cy5CYXNpY05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNl LW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1u b3RpZnlfc3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIx bmFiYmxlJTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5u YW1sIiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9u dC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZv bnQtZmFtaWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPjwvZGl2PjwvYmxvY2tx dW90ZT48YnIgY2xlYXI9Im5vbmUiPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCI+VmlldyB0 aGlzIG1lc3NhZ2UgaW4gY29udGV4dDo8c3BhbiBjbGFzcz0ieWl2NDEzMDc5MjM3NkFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0 IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNS5o dG1sIiBsaW5rPSJleHRlcm5hbCI+UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2 LjAuMTwvYT48YnIgY2xlYXI9Im5vbmUiPlNlbnQgZnJvbSB0aGU8c3BhbiBjbGFzcz0ieWl2NDEz MDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xs b3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5 OS5uMy5uYWJibGUuY29tL0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlzdC1m NjIyNjAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21taXR0ZXIp IG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT48c3BhbiBjbGFzcz0ieWl2NDEz MDc5MjM3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPmF0PHNwYW4gY2xhc3M9 InlpdjQxMzA3OTIzNzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9 Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJi bGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxiciBjbGVhcj0ibm9uZSI+ X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnIgY2xlYXI9 Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xlYXI9Im5vbmUiPiZsdDthIGhyZWY9 IiZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MSImZ3Q7eC1tc2c6Ly8xMzMvdXNl ci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9 MSIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRl biBlbWFpbF08YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0 YXJnZXQ9Il9ibGFuayIKIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlz dGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxi ciBjbGVhcj0ibm9uZSI+PC9kaXY+PGJyIGNsZWFyPSJub25lIj5fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRldiBt YWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj4mbHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1z ZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAy OTAyNiZhbXA7YW1wO2FtcDtpPTIiJmd0O3gtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTIiIHRhcmdldD0iX3RvcCIg cmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdCjxiciBjbGVh cj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBo cmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIg bGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8v cnVsZXMtZGV2PC9hPgoKCQoJCgkKCTxiciBjbGVhcj0ibm9uZSI+Cgk8YnIgY2xlYXI9Im5vbmUi PgoJPGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2 OCwgNjgpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdl aWdodDogbm9ybWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQt ZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPgoJ CTxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5JZiB5b3UgcmVwbHkgdG8gdGhpcyBlbWFp bCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Npb24gYmVsb3c6PC9k aXY+CgkJPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVm PSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWst aW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI2Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5o dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4t RHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI2Lmh0bWw8L2E+Cgk8L2Rpdj4KCTxkaXYgc3R5 bGU9ImNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12 YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9u dC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBt YXJnaW4tdG9wOiAwLjRlbTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+CgkJCgkJVG8gdW5zdWJzY3Jp YmUgZnJvbSBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsIDxhIHJlbD0ibm9m b2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwi PmNsaWNrIGhlcmU8L2E+LjxiciBjbGVhcj0ibm9uZSI+CgkJPGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5h YmJsZS5jb20vdGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7 aWQ9aW5zdGFudF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFt bC5uYW1lc3BhY2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJi bGVOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2Jy ZWFkY3J1bWJzPW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFu dF9lbWFpbHMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJs ZSUzQWVtYWlsLm5hbWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDog bm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6 IG5vcm1hbDsgZm9udC1mYW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8 L2Rpdj48L2Jsb2NrcXVvdGU+CgoJCgkKCQo8YnIgY2xlYXI9Im5vbmUiPjxociBhbGlnbj0ibGVm dCIgd2lkdGg9IjMwMCI+ClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IDxhIHJlbD0ibm9m b2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40 Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10 cDQwMjkwMTBwNDAyOTAyNy5odG1sIiBsaW5rPSJleHRlcm5hbCI+UmU6IFBvc3NpYmxlIG1lbW9y eSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnIgY2xlYXI9Im5vbmUiPgpTZW50IGZyb20gdGhl IDxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0 cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVy LW1haWxpbmctbGlzdC1mNjIyNjAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPkRyb29sczogRGV2ZWxv cGVyIChjb21taXR0ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQg PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRw Oi8vbmFiYmxlLmNvbS8iIGxpbms9ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48YnIgY2xlYXI9 Im5vbmUiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJy IGNsZWFyPSJub25lIj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PGJyIGNsZWFyPSJub25lIj48YSBy ZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4 dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT48YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xs b3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczov L2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Jsb2NrcXVv dGU+PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+X19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPGJyIGNsZWFyPSJu b25lIj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0CjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+ W2hpZGRlbiBlbWFpbF08L2E+CjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMu amJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPgoKCQoJCgkKCTxiciBjbGVh cj0ibm9uZSI+Cgk8YnIgY2xlYXI9Im5vbmUiPgoJPGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSI+Cgk8 ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBmb250LXN0eWxlOiBub3JtYWw7IGZv bnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEycHg7 IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0 aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPgoJCTxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7 Ij5JZiB5b3UgcmVwbHkgdG8gdGhpcyBlbWFpbCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQg dG8gdGhlIGRpc2N1c3Npb24gYmVsb3c6PC9kaXY+CgkJPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9 InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJs ZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5 MDUyLmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5j b20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDUy Lmh0bWw8L2E+Cgk8L2Rpdj48ZGl2IGNsYXNzPSJ5aXY0MTMwNzkyMzc2eXF0MTE5NDE1MTU1MCIg aWQ9InlpdjQxMzA3OTIzNzZ5cXRmZDk0MDUwIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTAy LCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZv bnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IHRhaG9tYSwg Z2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRlbTsg bGluZS1oZWlnaHQ6IDEuNWVtOyI+CgkJCgkJVG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJsZSBt ZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsIDxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0 IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhlcmU8L2E+Ljxi ciBjbGVhcj0ibm9uZSI+CgkJPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0i X2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUv TmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIx bmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2lj TmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxl LnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9z dWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUl M0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIHN0 eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo dDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p bHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8L2Rpdj48L2Rpdj48L2Rpdj48 L2Rpdj48YnI+PGJyPjwvZGl2PiA8L2Rpdj4gPC9kaXY+ICA8L2Rpdj48ZGl2IGNsYXNzPSJ5aXY0 MTMwNzkyMzc2c21hbGwiPjxicj48aW1nPiA8Yj5OQ0NGX0JBU0VMSU5FLnhscy5kcmw8L2I+ICg5 TSkgPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMu NDY5OTkubjMubmFiYmxlLmNvbS9hdHRhY2htZW50LzQwMjkwNzgvMC9OQ0NGX0JBU0VMSU5FLnhs cy5kcmwiIGxpbms9ImV4dGVybmFsIj5Eb3dubG9hZCBBdHRhY2htZW50PC9hPjwvZGl2PgoKCQoJ CgkKPGJyPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCI+ClZpZXcgdGhpcyBtZXNzYWdlIGlu IGNvbnRleHQ6IDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8v ZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xz LTYtMC0xLXRwNDAyOTAxMHA0MDI5MDc4Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2li bGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxicj4KU2VudCBmcm9tIHRoZSA8YSBy ZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5u My5uYWJibGUuY29tL0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlzdC1mNjIy NjAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21taXR0ZXIpIG1h aWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQgPGEgcmVsPSJub2ZvbGxvdyIg dGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwi Pk5hYmJsZS5jb208L2E+Ljxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXzxicj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PGJyPjxhIHJlbD0ibm9mb2xsb3ci IGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+ PGJyPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9i bG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj48YnI+X19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJy PjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+ W2hpZGRlbiBlbWFpbF08L2E+Cjxicj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIg aHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYi IGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnI+Cgk8YnI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIx IiBjb2xvcj0iI2NjY2NjYyI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y bWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0 YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPgoJCTxkaXYgc3R5 bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5JZiB5b3UgcmVwbHkgdG8gdGhpcyBlbWFpbCwgeW91ciBt ZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Npb24gYmVsb3c6PC9kaXY+CgkJPGEg cmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5 MDEwcDQwMjkwODEuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMu bmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEw cDQwMjkwODEuaHRtbDwvYT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEw MiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13 ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21hLCBnZW5l dmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5l LWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxlIG1lbW9y eSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9IiIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhlcmU8L2E+Ljxicj4KCQk8YSByZWw9Im5v Zm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJi bGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lk PWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwu bmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxl TmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVh ZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRf ZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUl M0FlbWFpbC5uYW1sIiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5v cm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBu b3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9k aXY+PC9kaXY+PGJyPjxicj48L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+CgoJCgkKCQo8YnIv PjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCIgLz4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29u dGV4dDogPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxl LW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA4Mi5odG1sIj5SZTog UG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxici8+ClNlbnQgZnJvbSB0 aGUgPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1EZXZl bG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlzdC1mNjIyNjAuaHRtbCI+RHJvb2xzOiBEZXZlbG9w ZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBhdCBO YWJibGUuY29tLjxici8+ --===============6771022604758982749==-- From kellyajp at yahoo.co.uk Wed Apr 2 07:52:18 2014 Content-Type: multipart/mixed; boundary="===============5821131216730305020==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 04:52:18 -0700 Message-ID: <1396439499.69563.YahooMailNeo@web171802.mail.ir2.yahoo.com> In-Reply-To: 8C93DF12-A1AB-40DB-B4DA-FCE0B0EB9273@codehaus.org --===============5821131216730305020== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable These rules are generated from the Excel decision table, I don't think we h= ave control over what it generates. Thanks ________________________________ From: Mark Proctor [via Drools] To: kellyajp = Sent: Wednesday, 2 April 2014, 12:41 Subject: Re: Possible memory leak in Drools 6.0.1 = not sure why this would have a memory leak, it all looks quite straight for= ward joins. I assume you are using stateless sessions and inserting just a single Posit= ion instance? Is there a different number of RT=E2=80=99s after a single Po= sition insert? A small tip, you don=E2=80=99t need so many patterns. All those constraints= can go in a single Pattern.=C2=A0 Mark On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: Morning Mark, > > >That was a useful exercise!!, from a sampled set it looks like the RightTu= ple instances are coming from a single rule package (nccf). > > >This rule package comes from a large decision table of that is maintained = by our business users. This results in a large DRL file being generated con= taining 2371 rules.=C2=A0 > > >Below I have included some of the rules that were referenced in the data s= tructures, I have also attached the generated DRL file. > > >The exact same file processes in Drools 5 but fails in Drools 6. > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >// rule values at A650, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >=C2=A0 =C2=A0 salience 64886 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100579"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >// rule values at A652, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >=C2=A0 =C2=A0 salience 64884 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >// rule values at A651, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >=C2=A0 =C2=A0 salience 64885 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >// rule values at A954, header at A921 >rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >=C2=A0 =C2=A0 salience 64582 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ',= 'DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT= ' ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , '= CY' ,'CZ' ,'DE' =C2=A0, 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'I= E' , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'= RO','SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "EUR") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.collateralType in ('govt liquid gtd','us govt g= uarant','u.s. government guarantee')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+220752000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100405"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > >18cad_lng_sec_iss_prov_over10Y_under35Y_2 >// rule values at A152, header at A138 >rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >=C2=A0 =C2=A0 salience 65384 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+315360000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >,'MP','MANPAC','MPTB','ONTW' >,'ONT','ONTB','ONTPAC','Q' >,'QTB','QUEPAC','QW','NBRNS' >,'NS','PRINCE','NF','NFTB')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "CAD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerIndustry =3D=3D "govt regional") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "govt") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100341"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > > > > > > > > >________________________________ > From: Mark Proctor [via Drools] <[hidden email]> >To: kellyajp <[= hidden email]> = >Sent: Tuesday, 1 April 2014, 14:10 >Subject: Re: Possible memory leak in Drools 6.0.1 > = > > >any news? > > >Mark > >On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: > > > >On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: > >I'll get that to you on Monday=C2=A0 > >On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp?type=3Dnode&no= de=3D4029027&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">= [hidden email]> wrote: > > >Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that = should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. > >that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >>> >>> >>>Mark >>> >>>On 30 Mar 2014, at 09:03, kellyajp <x-msg://= 133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D0" target=3D"= _top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >>> >>>Thanks >>>> >>>> >>>>I'll get someone from the team to work on this on Monday. Not sure how = easy it will be to isolate but will keep you informed. >>>> >>>> >>>>Andy >>>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode&a= mp;amp;node=3D4029025&amp;i=3D0">x-msg://131/user/Send= Email.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel=3D"= nofollow" link=3D"external">[hidden email]> wrote: >>>> >>>> >>>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look i= nto it as a priority.=C2=A0 >>>>> >>>>>Mark=C2=A0 >>>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029= 018&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dn= ode&node=3D4029018&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"= external">[hidden email]> wrote:=C2=A0 >>>>> >>>>> >>>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating the= =C2=A0 >>>>>> processing in each environment we have very different object counts = that is=C2=A0 >>>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>>=C2=A0 >>>>>> Below is an extract from a heap dump=C2=A0 >>>>>>=C2=A0 >>>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2=A0= org.drools.core.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A0182= 6112 =C2=A0org.drools.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>>=C2=A0 >>>>>> Thanks=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>> --=C2=A0 >>>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.com= /Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>> Sent from the Drools: Developer (committer) mailing list mailing lis= t archive at=C2=A0Nabble.com.=C2=A0 >>>>>> _______________________________________________=C2=A0 >>>>>> rules-dev mailing list=C2=A0 >>>>>>=C2=A0x-msg://131/user= /SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i= =3D1" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]=C2= =A0 >>>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev_____________= __________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/user/SendEmail.jtp?type= =3Dnode&amp;node=3D4029018&amp;i=3D2">x-msg://131/= user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D2" target=3D"_top= " rel=3D"nofollow" link=3D"external">[hidden email]=C2=A0https://lists.jbos= s.org/mailman/listinfo/rules-dev >>>>> >>>>>>>>>>________________________________ >>>>> >>>>>If you reply to this email, your message will be added to the discussi= on below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6= -0-1-tp4029010p4029018.html >>>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click h= ere. >>>>>NAML >>>>>>>>________________________________ >>>>View this message in context:=C2=A0Re: Possible memory leak in Drools 6= .0.1 >>>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing l= ist archive=C2=A0at=C2=A0Nabble.com. >>>>_______________________________________________ >>>>rules-dev mailing list >>>>x-msg://133/user/SendEmail.jtp?type=3Dnode&= amp;node=3D4029026&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"exte= rnal">[hidden email] >>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>> >>>_______________________________________________ = >>>rules-dev mailing list = >>>x-msg://133/user/SendEmail.jtp?type=3Dnode&a= mp;node=3D4029026&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"exter= nal">[hidden email] = >>>https://lists.jboss.org/mailman/listinfo/rules-dev = >>> >>>>>>________________________________ >>> = >>>If you reply to this email, your message will be added to the discussion= below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0= -1-tp4029010p4029026.html = >>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>NAML = >>>>________________________________ >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev > > >_______________________________________________ = >rules-dev mailing list = >[hidden email] = >https://lists.jboss.org/mailman/listinfo/rules-dev = > >>________________________________ > = >If you reply to this email, your message will be added to the discussion b= elow:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029052.html = >To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >NAML = > > > > NCCF_BASELINE.xls.drl (9M) Download Attachment >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029081.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029083.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============5821131216730305020== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PjxzcGFuPlRoZXNlIHJ1bGVz IGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgRXhjZWwgZGVjaXNpb24gdGFibGUsIEkgZG9uJ3QgdGhp bmsgd2UgaGF2ZSBjb250cm9sIG92ZXIgd2hhdCBpdCBnZW5lcmF0ZXMuPC9zcGFuPjwvZGl2Pjxk aXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1p bHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdM dWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0i Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0 aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFu ZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHls ZTogbm9ybWFsOyI+PHNwYW4+VGhhbmtzPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PiAgPGRp diBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhl bHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4 cHQ7Ij4gPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2Eg TmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywKIHNhbnMtc2VyaWY7IGZv bnQtc2l6ZTogMTJwdDsiPiA8ZGl2IGRpcj0ibHRyIj4gPGhyIHNpemU9IjEiPiAgPGZvbnQgc2l6 ZT0iMiIgZmFjZT0iQXJpYWwiPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPkZy b206PC9zcGFuPjwvYj4gTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSAmbHQ7PGEgaHJlZj0iL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmbm9kZT00MDI5MDgzJmk9MCIgdGFyZ2V0PSJfdG9w IiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0Ozxi cj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+VG86PC9zcGFuPjwvYj4ga2Vs bHlhanAgJmx0OzxhIGhyZWY9Ii91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJm5vZGU9NDAy OTA4MyZpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiPlto aWRkZW4gZW1haWxdPC9hPiZndDsgPGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJv bGQ7Ij5TZW50Ojwvc3Bhbj48L2I+IFdlZG5lc2RheSwgMiBBcHJpbCAyMDE0LCAxMjo0MTxicj4g PGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+U3ViamVjdDo8L3NwYW4+PC9iPiBS ZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPiA8L2ZvbnQ+IDwvZGl2 PiA8ZGl2IGNsYXNzPSJ5X21zZ19jb250YWluZXIiPjxicj48ZGl2IGlkPSJ5aXY5MTI0NDY0NDk5 Ij4KCgkgbm90IHN1cmUgd2h5IHRoaXMgd291bGQgaGF2ZSBhIG1lbW9yeSBsZWFrLCBpdCBhbGwg bG9va3MgcXVpdGUgc3RyYWlnaHQgZm9yd2FyZCBqb2lucy48ZGl2Pjxicj48L2Rpdj48ZGl2Pkkg YXNzdW1lIHlvdSBhcmUgdXNpbmcgc3RhdGVsZXNzIHNlc3Npb25zIGFuZCBpbnNlcnRpbmcganVz dCBhIHNpbmdsZSBQb3NpdGlvbiBpbnN0YW5jZT8gSXMgdGhlcmUgYSBkaWZmZXJlbnQgbnVtYmVy IG9mIFJU4oCZcyBhZnRlciBhIHNpbmdsZSBQb3NpdGlvbiBpbnNlcnQ/PC9kaXY+PGRpdj48YnI+ PC9kaXY+PGRpdj5BIHNtYWxsIHRpcCwgeW91IGRvbuKAmXQgbmVlZCBzbyBtYW55IHBhdHRlcm5z LiBBbGwgdGhvc2UgY29uc3RyYWludHMgY2FuIGdvIGluIGEgc2luZ2xlIFBhdHRlcm4uJm5ic3A7 PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5NYXJrPGJyPjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJy PjxkaXY+PGRpdj5PbiAyIEFwciAyMDE0LCBhdCAxMToyMCwga2VsbHlhanAgJmx0OzxhIHJlbD0i bm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBl bWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1p bnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNv bGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAj Q0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAn SGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMt c2VyaWY7IGZvbnQtc2l6ZTogOHB0OyI+PGRpdj48c3Bhbj5Nb3JuaW5nIE1hcmssPC9zcGFuPjwv ZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5l dWUsICdIZWx2ZXRpY2EgTmV1ZScsCiBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScs IHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBu b3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFw eDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGlj YSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPlRoYXQgd2FzIGEgdXNlZnVs IGV4ZXJjaXNlISEsIGZyb20gYSBzYW1wbGVkIHNldCBpdCBsb29rcyBsaWtlIHRoZSBSaWdodFR1 cGxlIGluc3RhbmNlcyBhcmUgY29taW5nIGZyb20gYSBzaW5nbGUgcnVsZSBwYWNrYWdlIChuY2Nm KS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTog SGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lk YSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9u dC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250 LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUn LCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGlzIHJ1 bGUgcGFja2FnZSBjb21lcyBmcm9tIGEgbGFyZ2UgZGVjaXNpb24gdGFibGUgb2YgdGhhdCBpcyBt YWludGFpbmVkIGJ5IG91ciBidXNpbmVzcyB1c2Vycy4gVGhpcyByZXN1bHRzIGluIGEgbGFyZ2Ug RFJMIGZpbGUgYmVpbmcKIGdlbmVyYXRlZCBjb250YWluaW5nIDIzNzEgcnVsZXMuJm5ic3A7PC9z cGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZl dGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3Jh bmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5 bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXpl OiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVs dmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+QmVsb3cgSSBoYXZl IGluY2x1ZGVkIHNvbWUgb2YgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZWZlcmVuY2VkIGluIHRoZSBk YXRhIHN0cnVjdHVyZXMsIEkgaGF2ZSBhbHNvIGF0dGFjaGVkIHRoZSBnZW5lcmF0ZWQgRFJMCiBm aWxlLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5 OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVj aWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBm b250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZv bnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1 ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPlRoZSBl eGFjdCBzYW1lIGZpbGUgcHJvY2Vzc2VzIGluIERyb29scyA1IGJ1dCBmYWlscyBpbiBEcm9vbHMg Ni48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTog SGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lk YSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9u dC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rf b3ZlcjB5X3VuZGVyNXlfMjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBNjUwLCBoZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5ydWxlCiAiMzF1c2RfbG5nX2Nv cnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjB5X3VuZGVyNXlfMiI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDg4Njwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsIT1u dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeSAhPSBudWxsICZh bXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5yYmNQcm9kdWN0Q2xhc3Mg PT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVu dC5tYXR1cml0eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsKIHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZsdDtw b3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzE1NzY4MDAwMDAwMCk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZhbHVhdGlvbiE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVhdGlvbkN1cnJlbmN5ID09ICJVU0QiKTwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBu dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNj cmlwdGlvbiA9PSAiY29ycCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScsJ2NvdmVyZWQnICwnanVtYm8gcGZh bmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLm92 ZXJhbGxDcmVkaXRRdWFsaXR5U3RlcCA9PSAyKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIFBvc2l0aW9u KHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykpPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5yaXNrUHJvZHVjdFR5cGUg PT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xh c3NpZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0 aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxpbmUoJ05D Q0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAx MDA1NzkiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3Np dGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0 dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u c2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5n ZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgg J0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0Jh bGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRh aWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1 YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOwogJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdT ZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2li bGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdp YmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJ bXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNl bGluZVR5cGUoICdNQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5n ZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBhLnNldE5ldHRpbmdU eXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgn RnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJz IEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjMxdXNkX2xuZ19jb3JwX2JuZF9j cl9iYmJfdXNkX292ZXIweV91bmRlcjEweV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE2NTIsIGhlYWRlciBhdCBBNjQ0 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1bGUgIjMx dXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXI1eV91bmRlcjEweV8yIjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGll bmNlIDY0ODg0PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOwogJm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9IG51 bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNo eSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5yYmNQ cm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5l c3NEYXRlKzE1NzY4MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQubWF0dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMx NTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZh bHVhdGlvbiE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVh dGlvbkN1cnJlbmN5ID09CiAiVVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQubWFya2V0U2VjdG9yRGVzY3JpcHRpb24gPT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFt cDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGli bGUnLCdjb3ZlcmVkJyAsJ2p1bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4g KCdWYWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5yaXNrUHJvZHVjdFR5cGUgPT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2 CiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJz SW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwNTgxIik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCku Z2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOwogJm5ic3A7ICZu YnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0 aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1u ZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWls KCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVu Z2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7CiAmbmJzcDsgJm5ic3A7ICZuYnNwOyBh LnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFk ZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10 bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hv cnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7CiBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4zMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIxMHlfMTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVl cyBhdCBBNjUxLCBoZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij5ydWxlICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVy NXlfdW5kZXIxMHlfMSI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDg4NTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1 YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRp b25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeSAhPSBudWxsICZhbXA7JmFtcDsKIHBvc2l0aW9uRGV0 YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9 cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25E ZXRhaWwucmlza0J1c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiVVNEIik8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWFya2V0U2VjdG9yRGVzY3JpcHRpb24g PT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlw ZU9mQm9uZCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBl T2ZCb25kIG5vdCBpbiAoJ2NvbnZlcnRpYmxlJywnY292ZXJlZCcgLCdqdW1ibyBwZmFuZGJyaWVm ZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENy ZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlICE9ICdVTktO T1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0 aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9k aXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDU4MSIp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0 RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50 cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxF bnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVs ZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGlu ZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9IgpiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJy ZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1 cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHkn KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcg Y292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25n Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jh c2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsKICZuYnNwOyAmbmJzcDsKIGEuc2V0Q2FzaGZsb3dUeXBl KCAnU0VUVExFTUVOVCwgU2V0dGxlbWVudCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0 KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hm bG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdDQicpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNoZmxvd1R5cGUoICdQcmluY2lwYWwsIEludGVyZXN0Jyk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENh c2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93 ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFj dGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRW YWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5n ZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0RGF0ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0SW5zdHJ1bWVudCgpLmdldE1hdHVy aXR5RGF0ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93 ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBj b3ZlcnMgRnVuZ2libGUKIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25n Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4wOGV1cl9sYV9sbmdfcXVhbF9ta3Rfc2VjX2FnbmN5X2Ri dF83eV9VbmRlcl8xMFlfNTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBOTU0LCBoZWFkZXIgYXQgQTkyMTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5ydWxlICIwOGV1cl9sYV9sbmdf cXVhbF9tdGtfc2VjX2FnbmN5X2RidF83WV91bmRlcl8xMFlfNSI8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDU4 MjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWls IT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYK IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENs YXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvdW50cnlPZkRvbWljaWxlIGluICgnQVQn LCdCRScsJ0JHJywnQ1knLCdDWicsJ0RFJywnREsnLCdFRScsJ0VTJywnRkknLCdGUicgLCdHQics J0dSJyAsJ0hVJyAsJ0lFJyAsJ0lTJyAsJ0lUJyAsJ0xJJyAsJ0xUJyAsJ0xVJyAsJ0xWJyAsJ01U JyAsJ05MJyAsJ05PJyAsJ1BMJyAsJ1BUJyAsJ1JPJyAsJ1NFJyAsJ1NJJyAsJ1NLJykpPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwg JmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvdW50cnlPZkluY29ycG9yYXRp b24gaW4gKCdBVCcgLCdCRScgLCdCRycgLCAnQ1knICwnQ1onICwnREUnICZuYnNwOywgJ0RLJyAs J0VFJyAsJ0VTJywgJ0ZJJyAsJ0ZSJyAsJ0dCJyAsICdHUicgLCdIVScgLCdJRScgLAogJ0lTJyAs J0lUJyAsJ0xJJyAsICdMVCcgLCdMVScgLCdMVicgLCAnTVQnICwnTkwnICwnTk8nICwgJ1BMJyAs J1BUJyAsJ1JPJywnU0UnICwnU0knICwnU0snKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9u KHBvc2l0aW9uRGV0YWlsLlZhbHVhdGlvbiE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC4gVmFsdWF0aW9uLlZhbHVhdGlvbkN1cnJlbmN5ID09ICJFVVIiKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsg cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb2xsYXRlcmFsVHlwZSBpbiAoJ2dvdnQgbGlxdWlk IGd0ZCcsJ3VzIGdvdnQgZ3VhcmFudCcsJ3Uucy4gZ292ZXJubWVudCBndWFyYW50ZWUnKSk8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9 cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsyMjA3NTIwMDAwMDApPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZQogJmx0O3Bvc2l0aW9u RGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg UG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0Jv dGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9k dWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0 LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xh c3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNl bGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlk KCJOQ0NGMDEwMDQwNSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2Jq ZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQo cC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0 RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJh bnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRl cnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVO YW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsKIGEuc2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24o KS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGlu Z1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBl KCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3Zl cnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFs Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFy YW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXRDYXNoZmxvd1R5cGUoICdTRVRUTEVNRU5ULCBTZXR0bGVtZW50Jyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93CiAoMSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwo ICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5 cGUoICdDQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNoZmxvd1R5cGUoICdQcmluY2lw YWwsIEludGVyZXN0Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVs dERheXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQnKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOwogYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCku Z2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9z aXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0RGF0ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0SW5zdHJ1 bWVudCgpLmdldE1hdHVyaXR5RGF0ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVs dERheXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdU eXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgn RnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJz IEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rp dj48ZGl2IHN0eWxlPSIKYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+MThjYWRfbG5nX3NlY19p c3NfcHJvdl9vdmVyMTBZX3VuZGVyMzVZXzI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTE1MiwgaGVhZGVyIGF0IEExMzg8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMThj YWRfbG5nX3NlY19pc3NfcHJvdl9vdmVyMTB5X3VuZGVyMzV5XzIiPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjUz ODQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFp bCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7 JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENs YXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50ICE9CiBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5z dHJ1bWVudC5tYXR1cml0eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRl KzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWls Lmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQu bWF0dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzExMDM3NjAw MDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lmlzc3VlclRp Y2tlciBpbiAoJ0JSQ09MJywnQmNwSVBCJywnQUxUQScsJ1NDREEnPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiwnTVAnLCdNQU5QQUMnLCdNUFRCJywnT05U Vyc8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdPTlQn LCdPTlRCJywnT05UUEFDJywnUSc8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+LCdRVEInLCdRVUVQQUMnLCdRVycsJ05CUk5TJzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4sJ05TJywnUFJJTkNFJywnTkYnLCdORlRC JykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24h PSBudWxsCiAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3Vy cmVuY3kgPT0gIkNBRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 Lmlzc3VlckluZHVzdHJ5ID09ICJnb3Z0IHJlZ2lvbmFsIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBv c2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQubWFya2V0U2VjdG9yRGVzY3JpcHRpb24gPT0gImdvdnQiKTwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBp biAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVy c0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdgogc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xh c3NpZmljYXRpb24uc2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDAzNDEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwo KS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFj dGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLmFkZChh PW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1 ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRh aWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBh LnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxG dW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5h ZGQoYT1uZXcKIEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0 TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRp b25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBT aG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iCmJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+ICA8ZGl2IHN0eWxlPSJmb250LWZhbWls eTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1 Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPiA8ZGl2IHN0eWxlPSJm b250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBB cmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7Ij4gPGRp diBkaXI9Imx0ciI+IDxociBzaXplPSIxIj4gIDxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsIj4g PGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5Gcm9tOjwvc3Bhbj48L2I+IE1hcmsg UHJvY3RvciBbdmlhIERyb29sc10gJmx0OyZsdDthIGhyZWY9IngtbXNnOi8vNDMvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2k9MCIgdGFy Z2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFp bF0mZ3Q7PGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlRvOjwvc3Bhbj48 L2I+IGtlbGx5YWpwICZsdDsmbHQ7YSBocmVmPSJ4LW1zZzovLzQzL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwNzgmYW1wO2FtcDtpPTEiIHRhcmdldD0iX3Rv cCIgcmVsPSJub2ZvbGxvdyIKIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsg PGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlNlbnQ6PC9zcGFuPjwvYj4g VHVlc2RheSwgMSBBcHJpbCAyMDE0LCAxNDoxMDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp Z2h0OmJvbGQ7Ij5TdWJqZWN0Ojwvc3Bhbj48L2I+IFJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBp biBEcm9vbHMgNi4wLjE8YnI+IDwvZm9udD4gPC9kaXY+IDxkaXYgY2xhc3M9InlpdjkxMjQ0NjQ0 OTl5X21zZ19jb250YWluZXIiPjxicj48ZGl2IGlkPSJ5aXY5MTI0NDY0NDk5Ij48ZGl2PmFueSBu ZXdzPzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2Pk1hcms8YnIgY2xlYXI9Im5vbmUi PjxkaXYgc3R5bGU9IiI+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMTM6MzgsIE1hcmsgUHJvY3Rv ciAmbHQ7PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9w IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIg Y2xlYXI9Im5vbmUiIGNsYXNzPSJ5aXY5MTI0NDY0NDk5QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu ZSI+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRp bmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAg MWVtOyIgdHlwZT0iY2l0ZSI+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRp diBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQ7Ij48YnIgY2xlYXI9Im5vbmUiPjxkaXY+PGRp dj5PbiAzMCBNYXIgMjAxNCwgYXQgMTM6MjYsIGtlbGx5YWpwICZsdDs8YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlk ZGVuIGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9Inlp djkxMjQ0NjQ0OTlBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0n Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRl ci1sZWZ0OjJweAogc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PC9i bG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRpdj5JJ2xsIGdldCB0aGF0IHRvIHlv dSBvbiBNb25kYXkmbmJzcDs8L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+T24gMzAgTWFyIDIw MTQsIGF0IDEyOjU5LCAiTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthCiBocmVm PSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vMTMzL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDtp PTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRk ZW4gZW1haWxdJmd0OyB3cm90ZTo8YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PC9k aXY+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRp bmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAg MWVtOyIgdHlwZT0iY2l0ZSI+CgoJPC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+QXJlIHlvdSBhYmxl IHRvIGlzb2xhdGUgd2hhdCB0aGUgRkjigJlzIGFyZSByZWZlcmVuY2luZywgU29ycnkgdGhhdCBz aG91bGQgYmUgUlQsIG5vdCBGSC4gUlQgPT0gUmlnaHRUdXBsZSwgRkggPT0gRmFjdEhhbmRsZS48 YnIgY2xlYXI9Im5vbmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQg I0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0ND Q0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXIt bGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6 MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPnRoYXQgbWlnaHQg Z2l2ZSB1cyBhbiBpZGVhIG9mIHdoZXJlIHRvIGxvb2suIElmIHlvdSBsb29rIFJpZ2h0VHVwbGXi gJlzIHRoZXkgd2lsbCBoYXZlIGEg4oCYc2luaycgcmVmZXJlbmNlIChuZXR3b3JrIG5vZGUpIGFu ZCB0aGF0IHNpbmsgd2lsbCBoYXZlIGFuIOKAmGFzc29jaWF0ZXPigJkgbWFwLiBUaGF0IG1hcCBp cyB0aGUgcnVsZXMgdGhhdCBub2RlIGlzIHBhcnQgb2YuIFlvdSBjYW4gdXNlIHRoaXMgdG8gaWRl bnRpZnkgdGhlIG9mZmVuZGluZyBydWxlKHMpLCBhbmQgbWF5YmUgcGFzdGUgdGhvc2UgcnVsZXMg aGVyZT88ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5NYXJrPGJyIGNsZWFyPSJub25l Ij48ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDA5OjAzLCBrZWxseWFqcCAmbHQ7Jmx0O2Eg aHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEz My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDth bXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtb aGlkZGVuCiBlbWFpbF0mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9Inlp djkxMjQ0NjQ0OTlBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0n Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRl ci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48ZGl2 IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5 bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxl dHRlci1zcGFjaW5nOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRleHQtaW5kZW50OiAw cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNp bmc6IDBweDsiPjxkaXY+VGhhbmtzPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2Pjxk aXY+SSdsbCBnZXQgc29tZW9uZSBmcm9tIHRoZSB0ZWFtIHRvIHdvcmsgb24gdGhpcyBvbiBNb25k YXkuIE5vdCBzdXJlIGhvdyBlYXN5IGl0IHdpbGwgYmUgdG8gaXNvbGF0ZSBidXQgd2lsbCBrZWVw IHlvdSBpbmZvcm1lZC48L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5BbmR5 PGJyIGNsZWFyPSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQgMjM6NTIsICJNYXJrIFByb2N0b3Ig W3ZpYSBEcm9vbHNdIiAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9k ZT00MDI5MDI1JmFtcDthbXA7YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVt YWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9 MCImZ3Q7Jmx0O2EKIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5v ZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8x MzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7 YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7 W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25l Ij48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7 cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRp bmc6MCAxZW07IiB0eXBlPSJjaXRlIj5DYW4geW91IGdldCB1cyBhIHVuaXQgdGVzdCBkZW1vbnN0 cmF0aW5nIHRoaXMsIGFuZCB3ZeKAmWxsIGxvb2sgaW50byBpdCBhcyBhIHByaW9yaXR5LjxzcGFu IGNsYXNzPSJ5aXY5MTI0NDY0NDk5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPk1hcms8c3BhbiBjbGFzcz0ieWl2OTEy NDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9u ZSI+T24gMjggTWFyIDIwMTQsIGF0IDE1OjQwLCBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0iJmx0 O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTAiJmd0 O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9k ZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MCImZ3Q7Jmx0O2EKIGhyZWY9IngtbXNnOi8vMTMxL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDth bXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9s bG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxzcGFuIGNs YXNzPSJ5aXY5MTI0NDY0NDk5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJy IGNsZWFyPSJub25lIj48ZGl2IGNsYXNzPSJ5aXY5MTI0NDY0NDk5c2hyaW5rYWJsZS1xdW90ZSI+ PGRpdiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OXNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9Inlp djkxMjQ0NjQ0OTlzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY5MTI0NDY0NDk5c2hy aW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OXNocmlua2FibGUtcXVvdGUi PjxkaXYgY2xhc3M9InlpdjkxMjQ0NjQ0OTlzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5 aXY5MTI0NDY0NDk5c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0nc2hyaW5rYWJsZS1xdW90 ZSc+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFdlIGhhdmUgdXBncmFkZWQgZnJvbSBEcm9vbHMgNSAt Jmd0OyBEcm9vbHMgNi4wMSBhbmQgd2hlbiByZXBlYXRpbmcgdGhlPHNwYW4gY2xhc3M9Inlpdjkx MjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5v bmUiPiZndDsgcHJvY2Vzc2luZyBpbiBlYWNoIGVudmlyb25tZW50IHdlIGhhdmUgdmVyeSBkaWZm ZXJlbnQgb2JqZWN0IGNvdW50cyB0aGF0IGlzPHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgY2F1 c2luZwogbWVtb3J5IHRvIHJ1biBvdXQgb24gRHJvb2xzIDY6PHNwYW4gY2xhc3M9InlpdjkxMjQ0 NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUi PiZndDs8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBCZWxvdyBpcyBhbiBleHRyYWN0IGZyb20g YSBoZWFwIGR1bXA8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY5MTI0 NDY0NDk5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25l Ij4mZ3Q7IEluIERyb29scyA2IHRoZSBtYWluIG9iamVjdHMgaW4gdGhlIGhlYXAgYXJlPHNwYW4g Y2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDsgMTogJm5ic3A7ICZuYnNwOyAmbmJzcDsgNDM3ODAwNiAmbmJz cDsgJm5ic3A7ICZuYnNwOzcwMDQ4MDk2MCAmbmJzcDtvcmcuZHJvb2xzLmNvcmUucmV0ZW9vLlJp Z2h0VHVwbGU8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY5MTI0NDY0 NDk5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4m Z3Q7IFdoZXJlIGFzIGluIERyb29scyA1IHRoZXJlIGFyZSB3YXkgbGVzcyBvYmplY3RzPHNwYW4g Y2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDsgOTI6ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAxOTAy MgogJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7MTgyNjExMiAmbmJzcDtvcmcuZHJvb2xzLnJl dGVvby5SaWdodFR1cGxlPHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2 OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0i bm9uZSI+Jmd0OyBIYXMgYW55b25lIGVsc2UgaGFkIGFueSBleHBlcmllbmNlIG9mIHRoaXMgaXNz dWU/PHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFw cGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBU aGFua3M8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY5MTI0NDY0NDk5 QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7 PHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwv c3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyAtLTxz cGFuIGNsYXNzPSJ5aXY5MTI0NDY0NDk5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3Nw YW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6PHNw YW4KIGNsYXNzPSJ5aXY5MTI0NDY0NDk5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3Nw YW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4t RHJvb2xzLTYtMC0xLXRwNDAyOTAxMC5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAt MS10cDQwMjkwMTAuaHRtbDwvYT48YnIgY2xlYXI9Im5vbmUiPiZndDsgU2VudCBmcm9tIHRoZSBE cm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFy Y2hpdmUgYXQ8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFu ayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwv YT4uPHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBydWxlcy1kZXYK IG1haWxpbmcgbGlzdDxzcGFuIGNsYXNzPSJ5aXY5MTI0NDY0NDk5QXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlpdjkx MjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj4mbHQ7YSBocmVmPSIm bHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MSIm Z3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtu b2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7 YW1wO2FtcDtpPTEiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2Zv bGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPHNwYW4gY2xhc3M9Inlpdjkx MjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5v bmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFu ayIKIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMt ZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9kaXY+PC9kaXY+X19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PnJ1bGVzLWRldiBtYWlsaW5nIGxp c3Q8c3BhbiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OUFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjwvZGl2PiZsdDthIGhyZWY9IiZsdDthCiBocmVmPSImbHQ7YSBocmVmPSJ4LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQw MjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MiImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwu anRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0yIiZn dDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTIiJmd0O3gtbXNnOi8vMTMxL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtp PTIiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRk ZW4gZW1haWxdPHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48L2Rpdj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0 PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8v cnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1h bi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9kaXY+PGJyIGNsZWFyPSJub25lIj48aHIg bm9zaGFkZT0iIiBzaXplPSIxIj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y bWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0 YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPjxkaXYgc3R5bGU9 ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5JZiB5b3UgcmVwbHkgdG8KIHRoaXMgZW1haWwsIHlvdXIgbWVz c2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PjxhIHJlbD0i bm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAt MS10cDQwMjkwMTBwNDAyOTAxOC5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40 Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10 cDQwMjkwMTBwNDAyOTAxOC5odG1sPC9hPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTAy LCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZv bnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IHRhaG9tYSwg Z2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRlbTsg bGluZS1oZWlnaHQ6IDEuNWVtOyI+VG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJsZSBtZW1vcnkg bGVhayBpbiBEcm9vbHMgNi4wLjEsPHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg aHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnIg Y2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFu ayIKIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1s U2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJi bGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1l c3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmll dy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNj cmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVt YWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9 ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBu b3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTog c2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT48L2Rpdj48L2Jsb2NrcXVvdGU+PGJyIGNs ZWFyPSJub25lIj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPlZpZXcgdGhpcyBtZXNzYWdl IGluIGNvbnRleHQ6PHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJf YmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1t ZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjUuaHRtbCIgbGluaz0i ZXh0ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJy IGNsZWFyPSJub25lIj5TZW50IGZyb20gdGhlPHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0i cmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxl LmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwi IGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxp c3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+PHNwYW4gY2xhc3M9InlpdjkxMjQ0NjQ0OTlBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj5hdDxzcGFuIGNsYXNzPSJ5aXY5MTI0NDY0 NDk5QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIg c2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxp bms9ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyIGNsZWFyPSJub25lIj5ydWxl cy1kZXYgbWFpbGluZyBsaXN0PGJyIGNsZWFyPSJub25lIj4mbHQ7YSBocmVmPSImbHQ7YSBocmVm PSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25v ZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTEiJmd0O3gtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTEiIHRhcmdldD0i X3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPGJy IGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiCiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVz LWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlz dGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnIgY2xlYXI9Im5v bmUiPjwvZGl2PjxiciBjbGVhcj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPGJyIGNsZWFyPSJub25lIj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0 CjxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNl ci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2Ft cDthbXA7aT0yIiZndDt4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0yIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xs b3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXQo8YnIgY2xlYXI9Im5vbmUiPjxh IHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVy bmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwv YT4KCgkKCQoJCgk8YnIgY2xlYXI9Im5vbmUiPgoJPGJyIGNsZWFyPSJub25lIj4KCTxociBub3No YWRlPSIiIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9u dC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1h bDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFo b21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxl PSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVz c2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ry b29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02 LTAtMS10cDQwMjkwMTBwNDAyOTAyNi5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAt MS10cDQwMjkwMTBwNDAyOTAyNi5odG1sPC9hPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJjb2xvcjog cmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9y bWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0 YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDog MC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9z c2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiBzaGFw ZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJl PC9hPi48YnIgY2xlYXI9Im5vbmUiPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0 YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3Rl bXBsYXRlL05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRf aHRtbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNl cy5CYXNpY05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNl LW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1u b3RpZnlfc3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIx bmFiYmxlJTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5u YW1sIiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9u dC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZv bnQtZmFtaWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9ibG9j a3F1b3RlPgoKCQoJCgkKPGJyIGNsZWFyPSJub25lIj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIz MDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiA8YSByZWw9Im5vZm9sbG93IiBzaGFw ZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQw MjkwMjcuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBE cm9vbHMgNi4wLjE8L2E+PGJyIGNsZWFyPSJub25lIj4KU2VudCBmcm9tIHRoZSA8YSByZWw9Im5v Zm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMu NDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxp c3QtZjYyMjYwLmh0bWwiIGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0 dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0IDxhIHJlbD0ibm9m b2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5j b20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25lIj5fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciBjbGVhcj0ibm9u ZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxv dyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hp ZGRlbiBlbWFpbF08L2E+PGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0i cmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxt YW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9ibG9ja3F1b3RlPjxiciBjbGVh cj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCjxiciBjbGVhcj0ibm9uZSI+cnVsZXMt ZGV2IG1haWxpbmcgbGlzdAo8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBl PSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1h aWxdPC9hPgo8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0 YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnIgY2xlYXI9Im5vbmUiPgoJ PGJyIGNsZWFyPSJub25lIj4KCTxociBub3NoYWRlPSIiIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0i Y29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdo dDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWws IHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJl cGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNj dXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJn ZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3Np YmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA1Mi5odG1sIiBs aW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxl LW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA1Mi5odG1sPC9hPgoJ PC9kaXY+PGRpdiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OXlxdDExOTQxNTE1NTAiIGlkPSJ5aXY5MTI0 NDY0NDk5eXF0ZmQ5NDA1MCI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIp OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDog bm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0 OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsg aW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0 YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnIgY2xlYXI9Im5v bmUiPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJl Zj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0 Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVt YWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1u YWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50 ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMl MjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFt bC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiBzdHlsZT0iZm9udC1z dHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsg Zm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsi IGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGJyPjxi cj48L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+PGRpdiBjbGFzcz0ieWl2OTEyNDQ2NDQ5OXNt YWxsIj48YnI+PGltZz4gPGI+TkNDRl9CQVNFTElORS54bHMuZHJsPC9iPiAoOU0pIDxhIHJlbD0i bm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5h YmJsZS5jb20vYXR0YWNobWVudC80MDI5MDc4LzAvTkNDRl9CQVNFTElORS54bHMuZHJsIiBsaW5r PSJleHRlcm5hbCI+RG93bmxvYWQgQXR0YWNobWVudDwvYT48L2Rpdj4KCgkKCQoJCjxicj48aHIg YWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiA8 YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5 OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQw MjkwMTBwNDAyOTA3OC5odG1sIiBsaW5rPSJleHRlcm5hbCI+UmU6IFBvc3NpYmxlIG1lbW9yeSBs ZWFrIGluIERyb29scyA2LjAuMTwvYT48YnI+ClNlbnQgZnJvbSB0aGUgPGEgcmVsPSJub2ZvbGxv dyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNv bS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxp bms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3Qg bWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0IDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2Js YW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9ImV4dGVybmFsIj5OYWJibGUuY29t PC9hPi48YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxicj48YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRh cmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxicj5odHRwczov L2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYmxvY2txdW90ZT48 L2Rpdj48YnI+PC9kaXY+PC9kaXY+PGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCjxicj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0Cjxicj48YSByZWw9Im5v Zm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1h aWxdPC9hPgo8YnI+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRl cm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8 L2E+CgoJCgkKCQoJPGJyPgoJPGJyPgoJPGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSIgY29sb3I9IiNj Y2NjY2MiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTog bm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1z aXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5l dmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdl aWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxs IGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xs b3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5j b20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDgx Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v UG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDgxLmh0 bWw8L2E+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7IGZv bnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3Jt YWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRp Y2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRlbTsgbGluZS1oZWlnaHQ6IDEu NWVtOyI+CgkJCgkJVG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBE cm9vbHMgNi4wLjEsIDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSIiIGxp bms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnI+CgkJPGEgcmVsPSJub2ZvbGxvdyIgdGFy Z2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1w bGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0 bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMu QmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1u YWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90 aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5h YmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFt bCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250 LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4KCTwvZGl2PjwvZGl2Pjxi cj48YnI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gIDwvZGl2PgoKCQoJCgkKPGJyLz48aHIgYWxpZ249 ImxlZnQiIHdpZHRoPSIzMDAiIC8+ClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IDxhIGhy ZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVh ay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwODMuaHRtbCI+UmU6IFBvc3NpYmxlIG1l bW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnIvPgpTZW50IGZyb20gdGhlIDxhIGhyZWY9 Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1p dHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21taXR0 ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQgTmFiYmxlLmNvbS48 YnIvPg== --===============5821131216730305020==-- From kellyajp at yahoo.co.uk Wed Apr 2 07:58:11 2014 Content-Type: multipart/mixed; boundary="===============0546589793892223179==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 04:58:11 -0700 Message-ID: <1396439864.52861.YahooMailNeo@web171806.mail.ir2.yahoo.com> In-Reply-To: 8C93DF12-A1AB-40DB-B4DA-FCE0B0EB9273@codehaus.org --===============0546589793892223179== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Afternoon, just seen that the attachment that I sent you has been made available via t= he drools user forum. Please can this be removed ASAP. This is client infor= mation that is not to be made public. Thanks ________________________________ From: Mark Proctor [via Drools] To: kellyajp = Sent: Wednesday, 2 April 2014, 12:41 Subject: Re: Possible memory leak in Drools 6.0.1 = not sure why this would have a memory leak, it all looks quite straight for= ward joins. I assume you are using stateless sessions and inserting just a single Posit= ion instance? Is there a different number of RT=E2=80=99s after a single Po= sition insert? A small tip, you don=E2=80=99t need so many patterns. All those constraints= can go in a single Pattern.=C2=A0 Mark On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: Morning Mark, > > >That was a useful exercise!!, from a sampled set it looks like the RightTu= ple instances are coming from a single rule package (nccf). > > >This rule package comes from a large decision table of that is maintained = by our business users. This results in a large DRL file being generated con= taining 2371 rules.=C2=A0 > > >Below I have included some of the rules that were referenced in the data s= tructures, I have also attached the generated DRL file. > > >The exact same file processes in Drools 5 but fails in Drools 6. > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >// rule values at A650, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >=C2=A0 =C2=A0 salience 64886 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100579"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >// rule values at A652, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >=C2=A0 =C2=A0 salience 64884 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >// rule values at A651, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >=C2=A0 =C2=A0 salience 64885 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >// rule values at A954, header at A921 >rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >=C2=A0 =C2=A0 salience 64582 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ',= 'DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT= ' ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , '= CY' ,'CZ' ,'DE' =C2=A0, 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'I= E' , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'= RO','SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "EUR") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.collateralType in ('govt liquid gtd','us govt g= uarant','u.s. government guarantee')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+220752000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100405"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > >18cad_lng_sec_iss_prov_over10Y_under35Y_2 >// rule values at A152, header at A138 >rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >=C2=A0 =C2=A0 salience 65384 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+315360000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >,'MP','MANPAC','MPTB','ONTW' >,'ONT','ONTB','ONTPAC','Q' >,'QTB','QUEPAC','QW','NBRNS' >,'NS','PRINCE','NF','NFTB')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "CAD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerIndustry =3D=3D "govt regional") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "govt") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100341"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > > > > > > > > >________________________________ > From: Mark Proctor [via Drools] <[hidden email]> >To: kellyajp <[= hidden email]> = >Sent: Tuesday, 1 April 2014, 14:10 >Subject: Re: Possible memory leak in Drools 6.0.1 > = > > >any news? > > >Mark > >On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: > > > >On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: > >I'll get that to you on Monday=C2=A0 > >On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp?type=3Dnode&no= de=3D4029027&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">= [hidden email]> wrote: > > >Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that = should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. > >that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >>> >>> >>>Mark >>> >>>On 30 Mar 2014, at 09:03, kellyajp <x-msg://= 133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D0" target=3D"= _top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >>> >>>Thanks >>>> >>>> >>>>I'll get someone from the team to work on this on Monday. Not sure how = easy it will be to isolate but will keep you informed. >>>> >>>> >>>>Andy >>>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode&a= mp;amp;node=3D4029025&amp;i=3D0">x-msg://131/user/Send= Email.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel=3D"= nofollow" link=3D"external">[hidden email]> wrote: >>>> >>>> >>>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look i= nto it as a priority.=C2=A0 >>>>> >>>>>Mark=C2=A0 >>>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029= 018&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dn= ode&node=3D4029018&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"= external">[hidden email]> wrote:=C2=A0 >>>>> >>>>> >>>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating the= =C2=A0 >>>>>> processing in each environment we have very different object counts = that is=C2=A0 >>>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>>=C2=A0 >>>>>> Below is an extract from a heap dump=C2=A0 >>>>>>=C2=A0 >>>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2=A0= org.drools.core.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A0182= 6112 =C2=A0org.drools.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>>=C2=A0 >>>>>> Thanks=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>> --=C2=A0 >>>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.com= /Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>> Sent from the Drools: Developer (committer) mailing list mailing lis= t archive at=C2=A0Nabble.com.=C2=A0 >>>>>> _______________________________________________=C2=A0 >>>>>> rules-dev mailing list=C2=A0 >>>>>>=C2=A0x-msg://131/user= /SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i= =3D1" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]=C2= =A0 >>>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev_____________= __________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/user/SendEmail.jtp?type= =3Dnode&amp;node=3D4029018&amp;i=3D2">x-msg://131/= user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D2" target=3D"_top= " rel=3D"nofollow" link=3D"external">[hidden email]=C2=A0https://lists.jbos= s.org/mailman/listinfo/rules-dev >>>>> >>>>>>>>>>________________________________ >>>>> >>>>>If you reply to this email, your message will be added to the discussi= on below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6= -0-1-tp4029010p4029018.html >>>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click h= ere. >>>>>NAML >>>>>>>>________________________________ >>>>View this message in context:=C2=A0Re: Possible memory leak in Drools 6= .0.1 >>>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing l= ist archive=C2=A0at=C2=A0Nabble.com. >>>>_______________________________________________ >>>>rules-dev mailing list >>>>x-msg://133/user/SendEmail.jtp?type=3Dnode&= amp;node=3D4029026&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"exte= rnal">[hidden email] >>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>> >>>_______________________________________________ = >>>rules-dev mailing list = >>>x-msg://133/user/SendEmail.jtp?type=3Dnode&a= mp;node=3D4029026&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"exter= nal">[hidden email] = >>>https://lists.jboss.org/mailman/listinfo/rules-dev = >>> >>>>>>________________________________ >>> = >>>If you reply to this email, your message will be added to the discussion= below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0= -1-tp4029010p4029026.html = >>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>NAML = >>>>________________________________ >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev > > >_______________________________________________ = >rules-dev mailing list = >[hidden email] = >https://lists.jboss.org/mailman/listinfo/rules-dev = > >>________________________________ > = >If you reply to this email, your message will be added to the discussion b= elow:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029052.html = >To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >NAML = > > > > NCCF_BASELINE.xls.drl (9M) Download Attachment >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029081.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029084.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============0546589793892223179== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PjxzcGFuPkFmdGVybm9vbiw8 L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAx MXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0 aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rp dj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDExcHg7IGZvbnQt ZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFs LCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5qdXN0IHNlZW4gdGhhdCB0aGUgYXR0YWNo bWVudCB0aGF0IEkgc2VudCB5b3UgaGFzIGJlZW4gbWFkZSBhdmFpbGFibGUgdmlhIHRoZSBkcm9v bHMgdXNlciBmb3J1bS4gUGxlYXNlIGNhbiB0aGlzIGJlIHJlbW92ZWQgQVNBUC4gVGhpcyBpcyBj bGllbnQgaW5mb3JtYXRpb24gdGhhdCBpcyBub3QgdG8gYmUgbWFkZSBwdWJsaWMuPC9zcGFuPjwv ZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9u dC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJp YWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsKIGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYg c3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6 IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNp ZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZv bnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPlRoYW5rczwvc3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rp dj4gIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5l dWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQt c2l6ZTogOHB0OyI+IDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVs dmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTJwdDsiPiA8ZGl2IGRpcj0ibHRyIj4gPGhyIHNpemU9IjEiPiAgPGZv bnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwiPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9s ZDsiPkZyb206PC9zcGFuPjwvYj4gTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSAmbHQ7PGEgaHJl Zj0iL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmbm9kZT00MDI5MDg0Jmk9MCIgdGFyZ2V0 PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+ Jmd0Ozxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+VG86PC9zcGFuPjwv Yj4ga2VsbHlhanAgJmx0OzxhIGhyZWY9Ii91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJm5v ZGU9NDAyOTA4NCZpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJu YWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgPGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWln aHQ6IGJvbGQ7Ij5TZW50Ojwvc3Bhbj48L2I+IFdlZG5lc2RheSwgMiBBcHJpbCAyMDE0LCAxMjo0 MTxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OgogYm9sZDsiPlN1YmplY3Q6PC9zcGFu PjwvYj4gUmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxicj4gPC9mb250 PiA8L2Rpdj4gPGRpdiBjbGFzcz0ieV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0ieWl2NTI3 NjAwMjI1NCI+CgoJIG5vdCBzdXJlIHdoeSB0aGlzIHdvdWxkIGhhdmUgYSBtZW1vcnkgbGVhaywg aXQgYWxsIGxvb2tzIHF1aXRlIHN0cmFpZ2h0IGZvcndhcmQgam9pbnMuPGRpdj48YnI+PC9kaXY+ PGRpdj5JIGFzc3VtZSB5b3UgYXJlIHVzaW5nIHN0YXRlbGVzcyBzZXNzaW9ucyBhbmQgaW5zZXJ0 aW5nIGp1c3QgYSBzaW5nbGUgUG9zaXRpb24gaW5zdGFuY2U/IElzIHRoZXJlIGEgZGlmZmVyZW50 IG51bWJlciBvZiBSVOKAmXMgYWZ0ZXIgYSBzaW5nbGUgUG9zaXRpb24gaW5zZXJ0PzwvZGl2Pjxk aXY+PGJyPjwvZGl2PjxkaXY+QSBzbWFsbCB0aXAsIHlvdSBkb27igJl0IG5lZWQgc28gbWFueSBw YXR0ZXJucy4gQWxsIHRob3NlIGNvbnN0cmFpbnRzIGNhbiBnbyBpbiBhIHNpbmdsZSBQYXR0ZXJu LiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TWFyazxicj48ZGl2Pjxicj48L2Rpdj48 ZGl2Pjxicj48ZGl2PjxkaXY+T24gMiBBcHIgMjAxNCwgYXQgMTE6MjAsIGtlbGx5YWpwICZsdDs8 YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPlto aWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0 QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0 OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHgg c29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyBmb250LWZhbWlseTogSGVsdmV0aWNh TmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUn LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPjxkaXY+PHNwYW4+TW9ybmluZyBNYXJrLDwv c3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2 ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLAogSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBH cmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1z dHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNp emU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBI ZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGF0IHdhcyBh IHVzZWZ1bCBleGVyY2lzZSEhLCBmcm9tIGEgc2FtcGxlZCBzZXQgaXQgbG9va3MgbGlrZSB0aGUg UmlnaHRUdXBsZSBpbnN0YW5jZXMgYXJlIGNvbWluZyBmcm9tIGEgc2luZ2xlIHJ1bGUgcGFja2Fn ZSAobmNjZikuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1m YW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHls ZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGlj YSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+ VGhpcyBydWxlIHBhY2thZ2UgY29tZXMgZnJvbSBhIGxhcmdlIGRlY2lzaW9uIHRhYmxlIG9mIHRo YXQgaXMgbWFpbnRhaW5lZCBieSBvdXIgYnVzaW5lc3MgdXNlcnMuIFRoaXMgcmVzdWx0cyBpbiBh IGxhcmdlIERSTCBmaWxlIGJlaW5nCiBnZW5lcmF0ZWQgY29udGFpbmluZyAyMzcxIHJ1bGVzLiZu YnNwOzwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5 OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVj aWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBm b250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZv bnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1 ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPkJlbG93 IEkgaGF2ZSBpbmNsdWRlZCBzb21lIG9mIHRoZSBydWxlcyB0aGF0IHdlcmUgcmVmZXJlbmNlZCBp biB0aGUgZGF0YSBzdHJ1Y3R1cmVzLCBJIGhhdmUgYWxzbyBhdHRhY2hlZCB0aGUgZ2VuZXJhdGVk IERSTAogZmlsZS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250 LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlh bCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0 eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0 aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7 IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bh bj5UaGUgZXhhY3Qgc2FtZSBmaWxlIHByb2Nlc3NlcyBpbiBEcm9vbHMgNSBidXQgZmFpbHMgaW4g RHJvb2xzIDYuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1m YW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9i YmJfdXNkX292ZXIweV91bmRlcjV5XzI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MCwgaGVhZGVyIGF0IEE2NDQ8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZQogIjMxdXNk X2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzIiPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2Ug NjQ4ODY8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZh bXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVj dENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0 ZSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQg IT0gbnVsbCAmYW1wOyZhbXA7CiBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0 ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZh bXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAi VVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWFya2V0U2Vj dG9yRGVzY3JpcHRpb24gPT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVkJyAsJ2p1 bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90 aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1 Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQu YWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFz c2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2Vs aW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQo Ik5DQ0YwMTAwNTc5Iik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmpl Y3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAu Z2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlvbi5zZXRE YXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZp Y2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFu c2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVy c0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5h bWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCku Z2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsKICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5n VHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUo J0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVy cyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwn KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJh bWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5n ZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0 aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogYS5zZXRO ZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVu dFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0 IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgn VG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4zMXVzZF9sbmdfY29y cF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXIxMHlfMjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBNjUyLCBoZWFkZXIg YXQgQTY0NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5y dWxlICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIxMHlfMiI8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyBzYWxpZW5jZSA2NDg4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsKICZuYnNwOyBwOiBQb3NpdGlv bihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlv biAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZn dDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RI aWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJj aHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBv c2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlz a0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNz RGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlv bi5WYWx1YXRpb25DdXJyZW5jeSA9PQogIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAm YW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCAhPSBudWxsICZh bXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kIG5vdCBpbiAoJ2Nv bnZlcnRpYmxlJywnY292ZXJlZCcgLCdqdW1ibyBwZmFuZGJyaWVmZScpKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09 IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25U eXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9k aXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFy YW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDU4MSIpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRl dGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsKICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5 LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u YWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10 bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNo b3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOwogJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQn KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24o KS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQ b3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdp YmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOwogYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjV5X3VuZGVyMTB5 XzE8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVs ZSB2YWx1ZXMgYXQgQTY1MSwgaGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91 c2Rfb3ZlcjV5X3VuZGVyMTB5XzEiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjQ4ODU8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7 IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9u KHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7CiBwb3Np dGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGll cyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0 ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAwKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bv c2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7 IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIlVTRCIpPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51 bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2Ny aXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScsJ2NvdmVyZWQnICwnanVtYm8gcGZh bmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLm92 ZXJhbGxDcmVkaXRRdWFsaXR5U3RlcCA9PSAyKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSAh PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFz c2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRp b24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkND RicpOzwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAx MDA1ODEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3Np dGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1 cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdl dExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAn QmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSIKYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0Jh bGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRh aWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1 YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1Nl Y3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJs ZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2li bGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0lt cGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7CiAmbmJzcDsgJm5ic3A7CiBhLnNldENhc2hm bG93VHlwZSggJ1NFVFRMRU1FTlQsIFNldHRsZW1lbnQnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDEpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxp bmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnQ0In KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnUHJpbmNpcGFsLCBJbnRl cmVzdCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwo KS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9D YXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLmFkZChh PW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZh bHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0 YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldERhdGUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEluc3RydW1lbnQoKS5n ZXRNYXR1cml0eURhdGUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9D YXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2Vj dXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxl IExvbmcgY292ZXJzIEZ1bmdpYmxlCiBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2li bGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+MDhldXJfbGFfbG5nX3F1YWxfbWt0X3NlY19h Z25jeV9kYnRfN3lfVW5kZXJfMTBZXzU8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTk1NCwgaGVhZGVyIGF0IEE5MjE8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMDhldXJf bGFfbG5nX3F1YWxfbXRrX3NlY19hZ25jeV9kYnRfN1lfdW5kZXJfMTBZXzUiPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVu Y2UgNjQ1ODI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlv bkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rp dj48ZGl2CiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1By b2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihw b3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb3VudHJ5T2ZEb21pY2lsZSBp biAoJ0FUJywnQkUnLCdCRycsJ0NZJywnQ1onLCdERScsJ0RLJywnRUUnLCdFUycsJ0ZJJywnRlIn ICwnR0InLCdHUicgLCdIVScgLCdJRScgLCdJUycgLCdJVCcgLCdMSScgLCdMVCcgLCdMVScgLCdM VicgLCdNVCcgLCdOTCcgLCdOTycgLCdQTCcgLCdQVCcgLCdSTycgLCdTRScgLCdTSScgLCdTSycp KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb3VudHJ5T2ZJbmNv cnBvcmF0aW9uIGluICgnQVQnICwnQkUnICwnQkcnICwgJ0NZJyAsJ0NaJyAsJ0RFJyAmbmJzcDss ICdESycgLCdFRScgLCdFUycsICdGSScgLCdGUicgLCdHQicgLCAnR1InICwnSFUnICwnSUUnICwK ICdJUycgLCdJVCcgLCdMSScgLCAnTFQnICwnTFUnICwnTFYnICwgJ01UJyAsJ05MJyAsJ05PJyAs ICdQTCcgLCdQVCcgLCdSTycsJ1NFJyAsJ1NJJyAsJ1NLJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiRVVSIik8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY29sbGF0ZXJhbFR5cGUgaW4gKCdnb3Z0 IGxpcXVpZCBndGQnLCd1cyBnb3Z0IGd1YXJhbnQnLCd1LnMuIGdvdmVybm1lbnQgZ3VhcmFudGVl JykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0 ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMjIwNzUyMDAwMDAwKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUKICZsdDtw b3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRp b24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5y aXNrUHJvZHVjdFR5cGUgIT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNl bGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u c2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNl dExpbmVJZCgiTkNDRjAxMDA0MDUiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlvbi5zZXRQb3Np dGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygp LmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0 aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25Q YXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAu Z2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7CiBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFs dWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3Rt ZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hv cnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0 KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFj dGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnU0VUVExFTUVOVCwgU2V0dGxlbWVudCcpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3Mo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdwogKDEpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRl cnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFz ZWxpbmVUeXBlKCAnQ0InKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAn UHJpbmNpcGFsLCBJbnRlcmVzdCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0 UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVj a2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsKIGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVh dGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3ko KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERhdGUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dEluc3RydW1lbnQoKS5nZXRNYXR1cml0eURhdGUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRO ZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVu dFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0 IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgn VG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ ZW5kPC9kaXY+PGRpdiBzdHlsZT0iCmJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+ PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjE4Y2FkX2xu Z19zZWNfaXNzX3Byb3Zfb3ZlcjEwWV91bmRlcjM1WV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEExNTIsIGhlYWRlciBh dCBBMTM4PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1 bGUgIjE4Y2FkX2xuZ19zZWNfaXNzX3Byb3Zfb3ZlcjEweV91bmRlcjM1eV8yIjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGll bmNlIDY1Mzg0PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRp b25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1By b2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogUG9zaXRpb24o cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPQogbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2lu ZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsx MTAzNzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5p c3N1ZXJUaWNrZXIgaW4gKCdCUkNPTCcsJ0JjcElQQicsJ0FMVEEnLCdTQ0RBJzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4sJ01QJywnTUFOUEFDJywnTVBU QicsJ09OVFcnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiwnT05UJywnT05UQicsJ09OVFBBQycsJ1EnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiwnUVRCJywnUVVFUEFDJywnUVcnLCdOQlJOUyc8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdOUycsJ1BSSU5DRScsJ05G JywnTkZUQicpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFs dWF0aW9uIT0gbnVsbAogJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVh dGlvbkN1cnJlbmN5ID09ICJDQUQiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRp b25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5z dHJ1bWVudC5pc3N1ZXJJbmR1c3RyeSA9PSAiZ292dCByZWdpb25hbCIpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJn b3Z0Iik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlv blR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC5yaXNrUHJvZHVjdFR5cGUgPT0gJ1VOS05PV04nKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBh cmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYKIHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwMzQxIik7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9y eS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlv bi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0 TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUg U2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uYWRkKGE9bmV3CiBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tl dCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlv bigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdl dFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVu Z2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9IgpiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PiAgPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJp YWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij4gPGRpdiBz dHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZl dGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0 OyI+IDxkaXYgZGlyPSJsdHIiPiA8aHIgc2l6ZT0iMSI+ICA8Zm9udCBzaXplPSIyIiBmYWNlPSJB cmlhbCI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+RnJvbTo8L3NwYW4+PC9i PiBNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdICZsdDsmbHQ7YSBocmVmPSJ4LW1zZzovLzQzL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwNzgmYW1wO2FtcDtp PTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRk ZW4gZW1haWxdJmd0Ozxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5Ubzo8 L3NwYW4+PC9iPiBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0ieC1tc2c6Ly80My91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDc4JmFtcDthbXA7aT0xIiB0YXJn ZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciCiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFp bF0mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5TZW50Ojwvc3Bh bj48L2I+IFR1ZXNkYXksIDEgQXByaWwgMjAxNCwgMTQ6MTA8YnI+IDxiPjxzcGFuIHN0eWxlPSJm b250LXdlaWdodDpib2xkOyI+U3ViamVjdDo8L3NwYW4+PC9iPiBSZTogUG9zc2libGUgbWVtb3J5 IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPiA8L2ZvbnQ+IDwvZGl2PiA8ZGl2IGNsYXNzPSJ5aXY1 Mjc2MDAyMjU0eV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0ieWl2NTI3NjAwMjI1NCI+PGRp dj5hbnkgbmV3cz88ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5NYXJrPGJyIGNsZWFy PSJub25lIj48ZGl2IHN0eWxlPSIiPjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjM4LCBNYXJr IFByb2N0b3IgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdl dD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9k aXY+PGJyIGNsZWFyPSJub25lIiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWludGVyY2hhbmdl LW5ld2xpbmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0ND QztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFk ZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48 ZGl2PjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkOyI+PGJyIGNsZWFyPSJub25lIj48 ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjI2LCBrZWxseWFqcCAmbHQ7PGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5h bCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5vbmUiIGNs YXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUg c3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxl PSJib3JkZXItbGVmdDoycHgKIHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNp dGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjxkaXY+SSdsbCBnZXQgdGhh dCB0byB5b3Ugb24gTW9uZGF5Jm5ic3A7PC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPk9uIDMw IE1hciAyMDE0LCBhdCAxMjo1OSwgIk1hcmsgUHJvY3RvciBbdmlhIERyb29sc10iICZsdDsmbHQ7 YQogaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzov LzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI3JmFt cDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZn dDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5v bmUiPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0ND QztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFk ZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPgoKCTwvYmxvY2txdW90ZT48L2Rpdj48ZGl2PkFyZSB5 b3UgYWJsZSB0byBpc29sYXRlIHdoYXQgdGhlIEZI4oCZcyBhcmUgcmVmZXJlbmNpbmcsIFNvcnJ5 IHRoYXQgc2hvdWxkIGJlIFJULCBub3QgRkguIFJUID09IFJpZ2h0VHVwbGUsIEZIID09IEZhY3RI YW5kbGUuPGJyIGNsZWFyPSJub25lIj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4 IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xp ZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48YmxvY2txdW90ZSBzdHlsZT0n Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRl ci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj50aGF0 IG1pZ2h0IGdpdmUgdXMgYW4gaWRlYSBvZiB3aGVyZSB0byBsb29rLiBJZiB5b3UgbG9vayBSaWdo dFR1cGxl4oCZcyB0aGV5IHdpbGwgaGF2ZSBhIOKAmHNpbmsnIHJlZmVyZW5jZSAobmV0d29yayBu b2RlKSBhbmQgdGhhdCBzaW5rIHdpbGwgaGF2ZSBhbiDigJhhc3NvY2lhdGVz4oCZIG1hcC4gVGhh dCBtYXAgaXMgdGhlIHJ1bGVzIHRoYXQgbm9kZSBpcyBwYXJ0IG9mLiBZb3UgY2FuIHVzZSB0aGlz IHRvIGlkZW50aWZ5IHRoZSBvZmZlbmRpbmcgcnVsZShzKSwgYW5kIG1heWJlIHBhc3RlIHRob3Nl IHJ1bGVzIGhlcmU/PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+TWFyazxiciBjbGVh cj0ibm9uZSI+PGRpdj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAwOTowMywga2VsbHlhanAgJmx0 OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MCImZ3Q7eC1t c2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAy NiZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5h bCImZ3Q7W2hpZGRlbgogZW1haWxdJmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5vbmUiIGNs YXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUg c3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxl PSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0 ZSI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y bWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWlu ZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29y ZC1zcGFjaW5nOiAwcHg7Ij48ZGl2PlRoYW5rczwvZGl2PjxkaXY+PGJyIGNsZWFyPSJub25lIj48 L2Rpdj48ZGl2PkknbGwgZ2V0IHNvbWVvbmUgZnJvbSB0aGUgdGVhbSB0byB3b3JrIG9uIHRoaXMg b24gTW9uZGF5LiBOb3Qgc3VyZSBob3cgZWFzeSBpdCB3aWxsIGJlIHRvIGlzb2xhdGUgYnV0IHdp bGwga2VlcCB5b3UgaW5mb3JtZWQuPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2Pjxk aXY+QW5keTxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQsIGF0IDIzOjUyLCAiTWFyayBQ cm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhy ZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7 YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2Vy L1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1w O2FtcDtpPTAiJmd0OyZsdDthCiBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/ dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDtpPTAiJmd0O3gt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkw MjUmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJu YWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVh cj0ibm9uZSI+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAj Q0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0ND QztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+Q2FuIHlvdSBnZXQgdXMgYSB1bml0IHRlc3Qg ZGVtb25zdHJhdGluZyB0aGlzLCBhbmQgd2XigJlsbCBsb29rIGludG8gaXQgYXMgYSBwcmlvcml0 eS48c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5NYXJrPHNwYW4gY2xhc3M9 InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xl YXI9Im5vbmUiPk9uIDI4IE1hciAyMDE0LCBhdCAxNTo0MCwga2VsbHlhanAgJmx0OyZsdDthIGhy ZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7 aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7 YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthCiBocmVmPSJ4LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVs PSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8 c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9z cGFuPjxiciBjbGVhcj0ibm9uZSI+PGRpdiBjbGFzcz0ieWl2NTI3NjAwMjI1NHNocmlua2FibGUt cXVvdGUiPjxkaXYgY2xhc3M9InlpdjUyNzYwMDIyNTRzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNs YXNzPSJ5aXY1Mjc2MDAyMjU0c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2NTI3NjAw MjI1NHNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjUyNzYwMDIyNTRzaHJpbmthYmxl LXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY1Mjc2MDAyMjU0c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBj bGFzcz0ieWl2NTI3NjAwMjI1NHNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9J3Nocmlua2Fi bGUtcXVvdGUnPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBXZSBoYXZlIHVwZ3JhZGVkIGZyb20gRHJv b2xzIDUgLSZndDsgRHJvb2xzIDYuMDEgYW5kIHdoZW4gcmVwZWF0aW5nIHRoZTxzcGFuIGNsYXNz PSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNs ZWFyPSJub25lIj4mZ3Q7IHByb2Nlc3NpbmcgaW4gZWFjaCBlbnZpcm9ubWVudCB3ZSBoYXZlIHZl cnkgZGlmZmVyZW50IG9iamVjdCBjb3VudHMgdGhhdCBpczxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAy MjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4m Z3Q7IGNhdXNpbmcKIG1lbW9yeSB0byBydW4gb3V0IG9uIERyb29scyA2OjxzcGFuIGNsYXNzPSJ5 aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFy PSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgQmVsb3cgaXMgYW4gZXh0cmFj dCBmcm9tIGEgaGVhcCBkdW1wPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0i eWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVh cj0ibm9uZSI+Jmd0OyBJbiBEcm9vbHMgNiB0aGUgbWFpbiBvYmplY3RzIGluIHRoZSBoZWFwIGFy ZTxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IDE6ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDQzNzgw MDYgJm5ic3A7ICZuYnNwOyAmbmJzcDs3MDA0ODA5NjAgJm5ic3A7b3JnLmRyb29scy5jb3JlLnJl dGVvby5SaWdodFR1cGxlPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2 NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0i bm9uZSI+Jmd0OyBXaGVyZSBhcyBpbiBEcm9vbHMgNSB0aGVyZSBhcmUgd2F5IGxlc3Mgb2JqZWN0 czxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IDkyOiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgMTkwMjIKICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzE4MjYxMTIgJm5ic3A7b3JnLmRy b29scy5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xh c3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIg Y2xlYXI9Im5vbmUiPiZndDsgSGFzIGFueW9uZSBlbHNlIGhhZCBhbnkgZXhwZXJpZW5jZSBvZiB0 aGlzIGlzc3VlPzxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUyNzYw MDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUi PiZndDsgVGhhbmtzPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2NTI3 NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9u ZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIy NTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZn dDsgLS08c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250 ZXh0OjxzcGFuCiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIg aHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1s ZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6 Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9v bHMtNi0wLTEtdHA0MDI5MDEwLmh0bWw8L2E+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFNlbnQgZnJv bSB0aGUgRHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcg bGlzdCBhcmNoaXZlIGF0PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0 PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJs ZS5jb208L2E+LjxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgcnVs ZXMtZGV2CiBtYWlsaW5nIGxpc3Q8c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNz PSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+Jmx0O2Eg aHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwu anRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2Ft cDtpPTEiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MSImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6 Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkw MTgmYW1wO2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0xIiB0YXJnZXQ9Il90b3AiIHJl bD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxzcGFuIGNsYXNz PSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNs ZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0 PSJfYmxhbmsiCiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxt YW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvZGl2PjwvZGl2Pl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIy NTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj5ydWxlcy1kZXYgbWFp bGluZyBsaXN0PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48L2Rpdj4mbHQ7YSBocmVmPSImbHQ7YQogaHJlZj0iJmx0O2EgaHJlZj0i eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7 bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTIiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2Vu ZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1w O2k9MiImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0yIiZndDt4LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFt cDthbXA7aT0yIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZn dDtbaGlkZGVuIGVtYWlsXTxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3Qi IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvZGl2PjxiciBjbGVhcj0ibm9u ZSI+PGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSI+PGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgs IDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWln aHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZh bWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij48ZGl2 IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvCiB0aGlzIGVtYWlsLCB5 b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj48 YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6 Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9v bHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMTguaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9k cm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMt Ni0wLTEtdHA0MDI5MDEwcDQwMjkwMTguaHRtbDwvYT48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjog cmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9y bWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0 YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDog MC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPlRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLDxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9 InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwv YT4uPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0 PSJfYmxhbmsiCiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxh dGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1s JTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJh c2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFi YmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlm eV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJi bGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwi IHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdl aWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1m YW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+PC9kaXY+PC9ibG9ja3F1b3Rl PjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIj5WaWV3IHRoaXMg bWVzc2FnZSBpbiBjb250ZXh0OjxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRh cmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9z c2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI1Lmh0bWwi IGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4x PC9hPjxiciBjbGVhcj0ibm9uZSI+U2VudCBmcm9tIHRoZTxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAy MjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIg c2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4z Lm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2 MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFp bGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPjxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAy MjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+YXQ8c3BhbiBjbGFzcz0ieWl2 NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9m b2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5j b20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25lIj5fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciBjbGVhcj0ibm9u ZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJlZj0iJmx0 O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzEzMy91c2VyL1Nl bmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0xIiB0 YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVt YWlsXTxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdl dD0iX2JsYW5rIgogaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyIGNs ZWFyPSJub25lIj48L2Rpdj48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCjxiciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxp bmcgbGlzdAo8YnIgY2xlYXI9Im5vbmUiPiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8v MTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2 JmFtcDthbXA7YW1wO2k9MiImZ3Q7eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MiIgdGFyZ2V0PSJfdG9wIiByZWw9 Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0KPGJyIGNsZWFyPSJu b25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5r PSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxl cy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNsZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9uZSI+Cgk8 aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2 OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0 OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p bHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRp diBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5 b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4K CQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1E cm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6 Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9v bHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbDwvYT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0i Y29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh bnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZh bWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdp bi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBm cm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxv dyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xp Y2sgaGVyZTwvYT4uPGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0i cmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxl LmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1p bnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5h bWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5h bWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRj cnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2Vt YWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNB ZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3Jt YWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9y bWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4KCTwvZGl2 PjwvYmxvY2txdW90ZT4KCgkKCQoJCjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJsZWZ0IiB3 aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgcmVsPSJub2ZvbGxv dyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5 Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAy OTAxMHA0MDI5MDI3Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVtb3J5IGxl YWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+ClNlbnQgZnJvbSB0aGUgPGEg cmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8v ZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFp bGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIg KGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBhdCA8YSBy ZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9u YWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxiciBjbGVhcj0ibm9u ZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnIgY2xl YXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0i bm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJu YWwiPltoaWRkZW4gZW1haWxdPC9hPjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIg c2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlz dHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxvY2txdW90ZT48 YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9Im5vbmUi PnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlk ZGVuIGVtYWlsXTwvYT4KPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0i cmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxt YW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNsZWFyPSJu b25lIj4KCTxiciBjbGVhcj0ibm9uZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4KCTxkaXYg c3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12 YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGlu ZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2Es IGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklm IHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0 aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVj dCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNv bS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwNTIu aHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Q b3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwNTIuaHRt bDwvYT4KCTwvZGl2PjxkaXYgY2xhc3M9InlpdjUyNzYwMDIyNTR5cXQxMTk0MTUxNTUwIiBpZD0i eWl2NTI3NjAwMjI1NHlxdGZkOTQwNTAiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEw MiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13 ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21hLCBnZW5l dmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5l LWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxlIG1lbW9y eSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhy ZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4uPGJyIGNs ZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1s U2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJi bGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1l c3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmll dy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNj cmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVt YWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9 ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBu b3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTog c2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4KCTwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 Pjxicj48YnI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gIDwvZGl2PjxkaXYgY2xhc3M9InlpdjUyNzYw MDIyNTRzbWFsbCI+PGJyPjxpbWcgc3JjPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5j b20vaW1hZ2VzL2ljb25fYXR0YWNobWVudC5naWYiPiA8Yj5OQ0NGX0JBU0VMSU5FLnhscy5kcmw8 L2I+ICg5TSkgPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9k cm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9hdHRhY2htZW50LzQwMjkwNzgvMC9OQ0NGX0JBU0VM SU5FLnhscy5kcmwiIGxpbms9ImV4dGVybmFsIj5Eb3dubG9hZCBBdHRhY2htZW50PC9hPjwvZGl2 PgoKCQoJCgkKPGJyPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCI+ClZpZXcgdGhpcyBtZXNz YWdlIGluIGNvbnRleHQ6IDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4t RHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDc4Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTog UG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxicj4KU2VudCBmcm9tIHRo ZSA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40 Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlz dC1mNjIyNjAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21taXR0 ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQgPGEgcmVsPSJub2Zv bGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0 ZXJuYWwiPk5hYmJsZS5jb208L2E+Ljxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXzxicj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PGJyPjxhIHJlbD0ibm9m b2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFp bF08L2E+PGJyPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMt ZGV2PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj48YnI+X19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxp c3QKPGJyPjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRl cm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Cjxicj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9i bGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxl cy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnI+Cgk8YnI+Cgk8aHIgbm9zaGFkZT0iIiBz aXplPSIxIiBjb2xvcj0iI2NjY2NjYyI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwg NjgpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo dDogbm9ybWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFt aWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPgoJCTxk aXYgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5JZiB5b3UgcmVwbHkgdG8gdGhpcyBlbWFpbCwg eW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Npb24gYmVsb3c6PC9kaXY+ CgkJPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMu NDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEt dHA0MDI5MDEwcDQwMjkwODEuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5 OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0 MDI5MDEwcDQwMjkwODEuaHRtbDwvYT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYigx MDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsg Zm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21h LCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVt OyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxl IG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJf YmxhbmsiIGhyZWY9IiIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhlcmU8L2E+Ljxicj4KCQk8YSBy ZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5u My5uYWJibGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXIm YW1wO2lkPWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxl Lm5hbWwubmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUu TmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFt cDticmVhZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWlu c3RhbnRfZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFu YWJibGUlM0FlbWFpbC5uYW1sIiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh bnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVp Z2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9h PgoJPC9kaXY+PC9kaXY+PGJyPjxicj48L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+CgoJCgkK CQo8YnIvPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCIgLz4KVmlldyB0aGlzIG1lc3NhZ2Ug aW4gY29udGV4dDogPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bv c3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA4NC5odG1s Ij5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxici8+ClNlbnQg ZnJvbSB0aGUgPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29s cy1EZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlzdC1mNjIyNjAuaHRtbCI+RHJvb2xzOiBE ZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9h PiBhdCBOYWJibGUuY29tLjxici8+ --===============0546589793892223179==-- From wolfgang.laun at gmail.com Wed Apr 2 08:20:13 2014 Content-Type: multipart/mixed; boundary="===============3890123236390546999==" MIME-Version: 1.0 From: Wolfgang Laun To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 14:20:11 +0200 Message-ID: In-Reply-To: 1396439376.26576.YahooMailNeo@web171803.mail.ir2.yahoo.com --===============3890123236390546999== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I would try and put all constraints under a joined section of row cells with a single Position pattern. That's the proper way to do it and to avoid all overhead. -W On 02/04/2014, kellyajp wrote: > Yes we feed the positions into the StatefulSession one at a time. > > Is there a difference in how these rules would be treated in Drools 5 and > Drool 6. I've hap dumped both instances and there is a huge difference in > the number of RighTuple instances being generated in each. The data and > rules are exactly the same in both instances. The only option I have is to > roll back to the old drools version if we can't resolve the issue; the > problem there is that this version dose not include the Mvel fix to stop = the > jvm freezing. Do you have any suggestions? > > Thanks > > ________________________________ > From: Mark Proctor [via Drools] > To: kellyajp > Sent: Wednesday, 2 April 2014, 12:41 > Subject: Re: Possible memory leak in Drools 6.0.1 > > > > not sure why this would have a memory leak, it all looks quite straight > forward joins. > > I assume you are using stateless sessions and inserting just a single > Position instance? Is there a different number of RT's after a single > Position insert? > > A small tip, you don't need so many patterns. All those constraints can go > in a single Pattern. > > Mark > > > > > On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: > > Morning Mark, >> >> >>That was a useful exercise!!, from a sampled set it looks like the >> RightTuple instances are coming from a single rule package (nccf). >> >> >>This rule package comes from a large decision table of that is maintained >> by our business users. This results in a large DRL file being generated >> containing 2371 rules. >> >> >>Below I have included some of the rules that were referenced in the data >> structures, I have also attached the generated DRL file. >> >> >>The exact same file processes in Drools 5 but fails in Drools 6. >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >>// rule values at A650, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >> salience 64886 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D >> null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && >> positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> > Position(positionDetail.Valuation!=3D null && positionDetail. >> Valuation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.typeOfBond !=3D null && >> positionDetail.instrument.typeOfBond not in ('convertible','covered' >> ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew >> ActionParametersImpl('BaselineClassification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100579"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> >> classification.setCountry(p.getPositionDetail().getBook().getTransit().g= etLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( >> p.getPositionDetail().getValuation().getValuationCurrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineTimeBucket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> >> a.setCurrency(p.getPositionDetail().getValuation().getValuationCurrency(= )); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >>end >> >> >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >>// rule values at A652, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >> salience 64884 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D >> null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && >> positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> >=3DpositionDetail.riskBusinessDate+157680000000) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> > Position(positionDetail.Valuation!=3D null && positionDetail. >> Valuation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.typeOfBond !=3D null && >> positionDetail.instrument.typeOfBond not in ('convertible','covered' >> ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew >> ActionParametersImpl('BaselineClassification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100581"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> >> classification.setCountry(p.getPositionDetail().getBook().getTransit().g= etLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( >> p.getPositionDetail().getValuation().getValuationCurrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineTimeBucket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> >> a.setCurrency(p.getPositionDetail().getValuation().getValuationCurrency(= )); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >>end >> >> >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >>// rule values at A651, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >> salience 64885 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D >> null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && >> positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> >=3DpositionDetail.riskBusinessDate+157680000000) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> > Position(positionDetail.Valuation!=3D null && positionDetail. >> Valuation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.typeOfBond !=3D null && >> positionDetail.instrument.typeOfBond not in ('convertible','covered' >> ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew >> ActionParametersImpl('BaselineClassification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100581"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> >> classification.setCountry(p.getPositionDetail().getBook().getTransit().g= etLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( >> p.getPositionDetail().getValuation().getValuationCurrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineCashflow')); >> a.setCashflowType( 'SETTLEMENT, Settlement'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (1); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineCashflow')); >> a.setBaselineType( 'CB'); >> a.setCashflowType( 'Principal, Interest'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (15000); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineTimeBucket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> >> a.setCurrency(p.getPositionDetail().getValuation().getValuationCurrency(= )); >> >> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate()); >> a.setDefaultDaysToCashFlow (15000); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >>end >> >> >> >> >>08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >>// rule values at A954, header at A921 >>rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >> salience 64582 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D >> null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && >> positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.countryOfDomicile in >> ('AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' >> ,'IE' ,'IS' ,'IT' ,'LI' ,'LT' ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' >> ,'RO' ,'SE' ,'SI' ,'SK')) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , >> 'CY' ,'CZ' ,'DE' , 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'IE' >> , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' >> ,'RO','SE' ,'SI' ,'SK')) >> Position(positionDetail.Valuation!=3D null && positionDetail. >> Valuation.ValuationCurrency =3D=3D "EUR") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.collateralType in ('govt liquid gtd','us govt >> guarant','u.s. government guarantee')) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> >=3DpositionDetail.riskBusinessDate+220752000000) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> > Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew >> ActionParametersImpl('BaselineClassification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100405"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> >> classification.setCountry(p.getPositionDetail().getBook().getTransit().g= etLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( >> p.getPositionDetail().getValuation().getValuationCurrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineCashflow')); >> a.setCashflowType( 'SETTLEMENT, Settlement'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (1); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineCashflow')); >> a.setBaselineType( 'CB'); >> a.setCashflowType( 'Principal, Interest'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (15000); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineTimeBucket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> >> a.setCurrency(p.getPositionDetail().getValuation().getValuationCurrency(= )); >> >> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate()); >> a.setDefaultDaysToCashFlow (15000); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >>end >> >> >>18cad_lng_sec_iss_prov_over10Y_under35Y_2 >>// rule values at A152, header at A138 >>rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >> salience 65384 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D >> null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && >> positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> >=3DpositionDetail.riskBusinessDate+315360000000) >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.maturityDate >> > Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >>,'MP','MANPAC','MPTB','ONTW' >>,'ONT','ONTB','ONTPAC','Q' >>,'QTB','QUEPAC','QW','NBRNS' >>,'NS','PRINCE','NF','NFTB')) >> Position(positionDetail.Valuation!=3D null && positionDetail. >> Valuation.ValuationCurrency =3D=3D "CAD") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.issuerIndustry =3D=3D "govt regional") >> Position(positionDetail.instrument !=3D null && >> positionDetail.instrument.marketSectorDescription =3D=3D "govt") >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew >> ActionParametersImpl('BaselineClassification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100341"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> >> classification.setCountry(p.getPositionDetail().getBook().getTransit().g= etLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue')= ); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( >> p.getPositionDetail().getValuation().getValuationCurrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( >> 'BaselineTimeBucket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> >> a.setCurrency(p.getPositionDetail().getValuation().getValuationCurrency(= )); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungible >> Short covers Fungible Long'); >> a.setBucket('Total'); >>end >> >> >> >> >> >> >> >> >> >> >> >>________________________________ >> From: Mark Proctor [via Drools] <> href=3D"x-msg://43/user/SendEmail.jtp?type=3Dnode&node=3D4029078&= ;i=3D0" >> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> >>To: kellyajp <> href=3D"x-msg://43/user/SendEmail.jtp?type=3Dnode&node=3D4029078&= ;i=3D1" >> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> >>Sent: Tuesday, 1 April 2014, 14:10 >>Subject: Re: Possible memory leak in Drools 6.0.1 >> >> >> >>any news? >> >> >>Mark >> >>On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: >> >> >> >>On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: >> >>I'll get that to you on Monday >> >>On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" < href=3D" href=3D"x-msg://133/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029027= &amp;i=3D0">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D40290= 27&i=3D0" > target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >> >> >>Are you able to isolate what the FH's are referencing, Sorry that should = be >> RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. >> >>that might give us an idea of where to look. If you look RightTuple's they >> will have a 'sink' reference (network node) and that sink will have an >> 'associates' map. That map is the rules that node is part of. You can use >> this to identify the offending rule(s), and maybe paste those rules here? >>>> >>>> >>>>Mark >>>> >>>>On 30 Mar 2014, at 09:03, kellyajp <>>> href=3D"x-msg://133/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029= 026&amp;i=3D0">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D40= 29026&i=3D0" >>>> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> wro= te: >>>> >>>>Thanks >>>>> >>>>> >>>>>I'll get someone from the team to work on this on Monday. Not sure how >>>>> easy it will be to isolate but will keep you informed. >>>>> >>>>> >>>>>Andy >>>>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <>>>> href=3D">>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node= =3D4029025&amp;amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;amp;node=3D4029025&amp;i=3D0">>>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D402= 9025&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4= 029025&i=3D0" >>>>> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> wr= ote: >>>>> >>>>> >>>>>Can you get us a unit test demonstrating this, and we'll look into it = as >>>>> a priority. >>>>>> >>>>>>Mark >>>>>>On 28 Mar 2014, at 15:40, kellyajp <>>>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node= =3D4029018&amp;amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;amp;node=3D4029018&amp;i=3D0">>>>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D40= 29018&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D= 4029018&i=3D0" >>>>>> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> w= rote: >>>>>> >>>>>> >>>>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating >>>>>>> the >>>>>>> processing in each environment we have very different object counts >>>>>>> that is >>>>>>> causing memory to run out on Drools 6: >>>>>>> >>>>>>> Below is an extract from a heap dump >>>>>>> >>>>>>> In Drools 6 the main objects in the heap are >>>>>>> 1: 4378006 700480960 org.drools.core.reteoo.RightTuple >>>>>>> >>>>>>> Where as in Drools 5 there are way less objects >>>>>>> 92: 19022 1826112 org.drools.reteoo.RightTuple >>>>>>> >>>>>>> Has anyone else had any experience of this issue? >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> View this message in >>>>>>> context: http://drools.46999.n3.nabble.com/Possible-memory-leak-in-= Drools-6-0-1-tp4029010.html >>>>>>> Sent from the Drools: Developer (committer) mailing list mailing li= st >>>>>>> archive at Nabble.com. >>>>>>> _______________________________________________ >>>>>>> rules-dev > mailing list >>>>>>> >>>>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node= =3D4029018&amp;amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;amp;node=3D4029018&amp;i=3D1">>>>>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4= 029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&node= =3D4029018&i=3D1" >>>>>>> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] >>>>>>> https://lists.jboss.org/mailman/listinfo/rules-dev_________________= ______________________________ rules-dev >>>>>>> mailing list >>>>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node= =3D4029018&amp;amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;amp;node=3D4029018&amp;i=3D2">>>>>>> href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4= 029018&amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&node= =3D4029018&i=3D2" >>>>>>> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden >>>>>>> email] https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>> >>>>>>>>>>>________________________________ >>>>>> >>>>>>If you reply to this email, your message will be added to the >>>>>> discussion >>>>>> below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Droo= ls-6-0-1-tp4029010p4029018.html >>>>>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>>>NAML >>>>>>>>>________________________________ >>>>>View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>>>Sent from the Drools: Developer (committer) mailing list mailing list >>>>> archive at Nabble.com. >>>>>_______________________________________________ >>>>>rules-dev mailing list >>>>>>>>> href=3D"x-msg://133/user/SendEmail.jtp?type=3Dnode&amp;node=3D402= 9026&amp;i=3D1">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4= 029026&i=3D1" >>>>> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] >>>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>>> >>>>_______________________________________________ >>>>rules-dev mailing list >>>>>>> href=3D"x-msg://133/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029= 026&amp;i=3D2">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D40= 29026&i=3D2" >>>> target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] >>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>>> >>>>>>>________________________________ >>>> >>>>If you reply to this email, your message will be added to the discussion >>>> below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools= -6-0-1-tp4029010p4029026.html >>>> >>>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>NAML >>>>>________________________________ >>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>Sent from the Drools: Developer (committer) mailing list mailing list >>> archive at Nabble.com. >>>_______________________________________________ >>>rules-dev mailing list >>>[hidden email] >>>https://lists.jboss.org/mailman/listinfo/rules-dev >> >> >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev >> >>>________________________________ >> >>If you reply to this email, your message will be added to the discussion >> below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6= -0-1-tp4029010p4029052.html >> >>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>NAML >> >> >> >> NCCF_BASELINE.xls.drl (9M) Download Attachment >>>________________________________ >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>Sent from the Drools: Developer (committer) mailing list mailing list >> archive at Nabble.com. >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev > > _______________________________________________ > rules-dev mailing list > [hidden email] > https://lists.jboss.org/mailman/listinfo/rules-dev > > ________________________________ > > If you reply to this email, your message will be added to the discussion > below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-= 0-1-tp4029010p4029081.html > > To unsubscribe from Possible memory leak in Drools 6.0.1, click here. > NAML > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-tp= 4029010p4029082.html > Sent from the Drools: Developer (committer) mailing list mailing list > archive at Nabble.com. --===============3890123236390546999==-- From mproctor at codehaus.org Wed Apr 2 08:35:13 2014 Content-Type: multipart/mixed; boundary="===============0229973133960631241==" MIME-Version: 1.0 From: Mark Proctor To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 13:34:56 +0100 Message-ID: In-Reply-To: 1396439864.52861.YahooMailNeo@web171806.mail.ir2.yahoo.com --===============0229973133960631241== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable That is a 3rd party service, not related to Red Hat. You=E2=80=99ll need to= contact them directly. Mark On 2 Apr 2014, at 12:58, kellyajp wrote: > Afternoon, > = > just seen that the attachment that I sent you has been made available via= the drools user forum. Please can this be removed ASAP. This is client inf= ormation that is not to be made public. > = > Thanks > = > From: Mark Proctor [via Drools] <[hidden email]> > To: kellyajp <[hidden email]> = > Sent: Wednesday, 2 April 2014, 12:41 > Subject: Re: Possible memory leak in Drools 6.0.1 > = > not sure why this would have a memory leak, it all looks quite straight f= orward joins. > = > I assume you are using stateless sessions and inserting just a single Pos= ition instance? Is there a different number of RT=E2=80=99s after a single = Position insert? > = > A small tip, you don=E2=80=99t need so many patterns. All those constrain= ts can go in a single Pattern. = > = > Mark > = > = > On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: > = >> Morning Mark, >> = >> That was a useful exercise!!, from a sampled set it looks like the Right= Tuple instances are coming from a single rule package (nccf). >> = >> This rule package comes from a large decision table of that is maintaine= d by our business users. This results in a large DRL file being generated c= ontaining 2371 rules. = >> = >> Below I have included some of the rules that were referenced in the data= structures, I have also attached the generated DRL file. >> = >> The exact same file processes in Drools 5 but fails in Drools 6. >> = >> 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >> // rule values at A650, header at A644 >> rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >> salience 64886 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not = in ('convertible','covered' ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100579"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >> // rule values at A652, header at A644 >> rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >> salience 64884 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not = in ('convertible','covered' ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100581"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> 31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >> // rule values at A651, header at A644 >> rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >> salience 64885 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not = in ('convertible','covered' ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100581"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setCashflowType( 'SETTLEMENT, Settlement'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (1); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setBaselineType( 'CB'); >> a.setCashflowType( 'Principal, Interest'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (15000); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate(= )); >> a.setDefaultDaysToCashFlow (15000); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> 08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >> // rule values at A954, header at A921 >> rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >> salience 64582 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.countryOfDomicile in ('AT','BE','BG','CY','CZ','DE','DK','EE','ES= ','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT' ,'LU' ,'LV' ,'MT= ' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , 'CY' ,'CZ' ,'DE' ,= 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'IE' , 'IS' ,'IT' ,'LI' ,= 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'RO','SE' ,'SI' ,'SK')) >> Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "EUR") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.collateralType in ('govt liquid gtd','us govt guarant','u.s. gove= rnment guarantee')) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+220752000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100405"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setCashflowType( 'SETTLEMENT, Settlement'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (1); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setBaselineType( 'CB'); >> a.setCashflowType( 'Principal, Interest'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (15000); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate(= )); >> a.setDefaultDaysToCashFlow (15000); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> 18cad_lng_sec_iss_prov_over10Y_under35Y_2 >> // rule values at A152, header at A138 >> rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >> salience 65384 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+315360000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >> ,'MP','MANPAC','MPTB','ONTW' >> ,'ONT','ONTB','ONTPAC','Q' >> ,'QTB','QUEPAC','QW','NBRNS' >> ,'NS','PRINCE','NF','NFTB')) >> Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "CAD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.issuerIndustry =3D=3D "govt regional") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "govt") >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100341"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> = >> = >> = >> From: Mark Proctor [via Drools] <[hidden email]> >> To: kellyajp <[hidden email]> = >> Sent: Tuesday, 1 April 2014, 14:10 >> Subject: Re: Possible memory leak in Drools 6.0.1 >> = >> any news? >> = >> Mark >> On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: >> = >> = >> = >> On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: >> = >> = >> I'll get that to you on Monday = >> = >> On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029027&am= p;i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]>= wrote: >> = >> = >> Are you able to isolate what the FH=E2=80=99s are referencing, Sorry tha= t should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. >>>> that might give us an idea of where to look. If you look RightTuple=E2= =80=99s they will have a =E2=80=98sink' reference (network node) and that s= ink will have an =E2=80=98associates=E2=80=99 map. That map is the rules th= at node is part of. You can use this to identify the offending rule(s), and= maybe paste those rules here? >>>> = >>>> Mark >>>> On 30 Mar 2014, at 09:03, kellyajp <x-msg:= //133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D0" target= =3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >>>> = >>>>> Thanks >>>>> = >>>>> I'll get someone from the team to work on this on Monday. Not sure ho= w easy it will be to isolate but will keep you informed. >>>>> = >>>>> Andy >>>>> On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode= &amp;node=3D4029025&amp;i=3D0">x-msg://131/user/Se= ndEmail.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel= =3D"nofollow" link=3D"external">[hidden email]> wrote: >>>>> = >>>>>> Can you get us a unit test demonstrating this, and we=E2=80=99ll loo= k into it as a priority. = >>>>>> = >>>>>> Mark = >>>>>> On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D40= 29018&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type= =3Dnode&node=3D4029018&i=3D0" target=3D"_top" rel=3D"nofollow" link= =3D"external">[hidden email]> wrote: = >>>>>> = >>>>>> > We have upgraded from Drools 5 -> Drools 6.01 and when repeating t= he = >>>>>> > processing in each environment we have very different object count= s that is = >>>>>> > causing memory to run out on Drools 6: = >>>>>> > = >>>>>> > Below is an extract from a heap dump = >>>>>> > = >>>>>> > In Drools 6 the main objects in the heap are = >>>>>> > 1: 4378006 700480960 org.drools.core.reteoo.RightTuple = >>>>>> > = >>>>>> > Where as in Drools 5 there are way less objects = >>>>>> > 92: 19022 1826112 org.drools.reteoo.RightTuple = >>>>>> > = >>>>>> > Has anyone else had any experience of this issue? = >>>>>> > = >>>>>> > Thanks = >>>>>> > = >>>>>> > = >>>>>> > = >>>>>> > -- = >>>>>> > View this message in context: http://drools.46999.n3.nabble.com/Po= ssible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>> > Sent from the Drools: Developer (committer) mailing list mailing l= ist archive at Nabble.com. = >>>>>> > _______________________________________________ = >>>>>> > rules-dev mailing list = >>>>>> > x-msg://131/user/Se= ndEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i= =3D1" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] = >>>>>> > https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>> _______________________________________________ = >>>>>> rules-dev mailing list = >>>>>> x-msg://131/user/Send= Email.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D2" = target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] = >>>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>> = >>>>>> If you reply to this email, your message will be added to the discus= sion below: >>>>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0= -1-tp4029010p4029018.html >>>>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>>> NAML >>>>> = >>>>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>>> Sent from the Drools: Developer (committer) mailing list mailing list= archive at Nabble.com. >>>>> _______________________________________________ >>>>> rules-dev mailing list >>>>> x-msg://133/user/SendEmail.jtp?type=3Dnod= e&node=3D4029026&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"ex= ternal">[hidden email] >>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>> = >>>> = >>>> _______________________________________________ = >>>> rules-dev mailing list = >>>> x-msg://133/user/SendEmail.jtp?type=3Dnode= &node=3D4029026&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"ext= ernal">[hidden email] = >>>> https://lists.jboss.org/mailman/listinfo/rules-dev = >>>> = >>>> If you reply to this email, your message will be added to the discussi= on below: >>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029026.html >>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>> NAML >>> = >>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>> Sent from the Drools: Developer (committer) mailing list mailing list a= rchive at Nabble.com. >>> _______________________________________________ >>> rules-dev mailing list >>> [hidden email] >>> https://lists.jboss.org/mailman/listinfo/rules-dev >> = >> = >> = >> _______________________________________________ = >> rules-dev mailing list = >> [hidden email] = >> https://lists.jboss.org/mailman/listinfo/rules-dev = >> = >> If you reply to this email, your message will be added to the discussion= below: >> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-t= p4029010p4029052.html >> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >> NAML >> = >> = >> = >> NCCF_BASELINE.xls.drl (9M) Download Attachment >> = >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >> Sent from the Drools: Developer (committer) mailing list mailing list ar= chive at Nabble.com. >> _______________________________________________ >> rules-dev mailing list >> [hidden email] >> https://lists.jboss.org/mailman/listinfo/rules-dev > = > = > _______________________________________________ = > rules-dev mailing list = > [hidden email] = > https://lists.jboss.org/mailman/listinfo/rules-dev = > = > If you reply to this email, your message will be added to the discussion = below: > http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-tp= 4029010p4029081.html > To unsubscribe from Possible memory leak in Drools 6.0.1, click here. > NAML > = > = > = > View this message in context: Re: Possible memory leak in Drools 6.0.1 > Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. > _______________________________________________ > rules-dev mailing list > rules-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-dev --===============0229973133960631241== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWwgY2hhcnNldD13aW5kb3dzLTEyNTIiPjwvaGVhZD48Ym9keSBzdHlsZT0id29yZC13cmFw OiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVh azogYWZ0ZXItd2hpdGUtc3BhY2U7Ij5UaGF0IGlzIGEgM3JkIHBhcnR5IHNlcnZpY2UsIG5vdCBy ZWxhdGVkIHRvIFJlZCBIYXQuIFlvdZJsbCBuZWVkIHRvIGNvbnRhY3QgdGhlbSBkaXJlY3RseS48 ZGl2Pjxicj48L2Rpdj48ZGl2Pk1hcms8YnI+PGRpdj48ZGl2Pk9uIDIgQXByIDIwMTQsIGF0IDEy OjU4LCBrZWxseWFqcCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmtlbGx5YWpwQHlhaG9vLmNvLnVrIj5r ZWxseWFqcEB5YWhvby5jby51azwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGFzcz0iQXBwbGUt aW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyBmb250LWZhbWlseTogSGVsdmV0 aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFu ZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPjxkaXY+PHNwYW4+QWZ0ZXJub29uLDwv c3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2 ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdy YW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0 eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6 ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhl bHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPmp1c3Qgc2VlbiB0 aGF0IHRoZSBhdHRhY2htZW50IHRoYXQgSSBzZW50IHlvdSBoYXMgYmVlbiBtYWRlIGF2YWlsYWJs ZSB2aWEgdGhlIGRyb29scyB1c2VyIGZvcnVtLiBQbGVhc2UgY2FuIHRoaXMgYmUgcmVtb3ZlZCBB U0FQLiBUaGlzIGlzIGNsaWVudCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCB0byBiZSBtYWRlIHB1 YmxpYy48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWls eTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1 Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsg Zm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJm b250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5l dWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGFu a3M8L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+ICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog SGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lk YSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPiA8ZGl2IHN0eWxlPSJmb250 LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlh bCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7Ij4gPGRpdiBk aXI9Imx0ciI+IDxociBzaXplPSIxIj4gIDxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsIj4gPGI+ PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5Gcm9tOjwvc3Bhbj48L2I+IE1hcmsgUHJv Y3RvciBbdmlhIERyb29sc10gJmx0OzxhIGhyZWY9IngtbXNnOi8vNDcvdXNlci9TZW5kRW1haWwu anRwP3R5cGU9bm9kZSZhbXA7bm9kZT00MDI5MDg0JmFtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVs PSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDs8YnI+IDxi PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlRvOjwvc3Bhbj48L2I+IGtlbGx5YWpw ICZsdDs8YSBocmVmPSJ4LW1zZzovLzQ3L3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O25vZGU9NDAyOTA4NCZhbXA7aT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9 ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZv bnQtd2VpZ2h0OiBib2xkOyI+U2VudDo8L3NwYW4+PC9iPiBXZWRuZXNkYXksIDIgQXByaWwgMjAx NCwgMTI6NDE8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDoKIGJvbGQ7Ij5TdWJqZWN0 Ojwvc3Bhbj48L2I+IFJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8YnI+ IDwvZm9udD4gPC9kaXY+IDxkaXYgY2xhc3M9InlfbXNnX2NvbnRhaW5lciI+PGJyPjxkaXYgaWQ9 InlpdjUyNzYwMDIyNTQiPgoKCSBub3Qgc3VyZSB3aHkgdGhpcyB3b3VsZCBoYXZlIGEgbWVtb3J5 IGxlYWssIGl0IGFsbCBsb29rcyBxdWl0ZSBzdHJhaWdodCBmb3J3YXJkIGpvaW5zLjxkaXY+PGJy PjwvZGl2PjxkaXY+SSBhc3N1bWUgeW91IGFyZSB1c2luZyBzdGF0ZWxlc3Mgc2Vzc2lvbnMgYW5k IGluc2VydGluZyBqdXN0IGEgc2luZ2xlIFBvc2l0aW9uIGluc3RhbmNlPyBJcyB0aGVyZSBhIGRp ZmZlcmVudCBudW1iZXIgb2YgUlSScyBhZnRlciBhIHNpbmdsZSBQb3NpdGlvbiBpbnNlcnQ/PC9k aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BIHNtYWxsIHRpcCwgeW91IGRvbpJ0IG5lZWQgc28gbWFu eSBwYXR0ZXJucy4gQWxsIHRob3NlIGNvbnN0cmFpbnRzIGNhbiBnbyBpbiBhIHNpbmdsZSBQYXR0 ZXJuLiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TWFyazxicj48ZGl2Pjxicj48L2Rp dj48ZGl2Pjxicj48ZGl2PjxkaXY+T24gMiBBcHIgMjAxNCwgYXQgMTE6MjAsIGtlbGx5YWpwICZs dDs8YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwi PltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsYXNzPSJ5aXY1Mjc2MDAy MjU0QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1s ZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgZm9udC1mYW1pbHk6IEhl bHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEg R3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij48ZGl2PjxzcGFuPk1vcm5pbmcg TWFyayw8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWls eTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywKIEhlbHZldGljYSwgQXJpYWwsICdM dWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0i Zm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBO ZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+VGhh dCB3YXMgYSB1c2VmdWwgZXhlcmNpc2UhISwgZnJvbSBhIHNhbXBsZWQgc2V0IGl0IGxvb2tzIGxp a2UgdGhlIFJpZ2h0VHVwbGUgaW5zdGFuY2VzIGFyZSBjb21pbmcgZnJvbSBhIHNpbmdsZSBydWxl IHBhY2thZ2UgKG5jY2YpLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7 IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2Es IEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2Pjxk aXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdI ZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1z ZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsi PjxzcGFuPlRoaXMgcnVsZSBwYWNrYWdlIGNvbWVzIGZyb20gYSBsYXJnZSBkZWNpc2lvbiB0YWJs ZSBvZiB0aGF0IGlzIG1haW50YWluZWQgYnkgb3VyIGJ1c2luZXNzIHVzZXJzLiBUaGlzIHJlc3Vs dHMgaW4gYSBsYXJnZSBEUkwgZmlsZSBiZWluZwogZ2VuZXJhdGVkIGNvbnRhaW5pbmcgMjM3MSBy dWxlcy4mbmJzcDs8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250 LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlh bCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0 eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0 aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7 IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bh bj5CZWxvdyBJIGhhdmUgaW5jbHVkZWQgc29tZSBvZiB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlZmVy ZW5jZWQgaW4gdGhlIGRhdGEgc3RydWN0dXJlcywgSSBoYXZlIGFsc28gYXR0YWNoZWQgdGhlIGdl bmVyYXRlZCBEUkwKIGZpbGUuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFw eDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGlj YSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+ PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwg J0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5z LXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFs OyI+PHNwYW4+VGhlIGV4YWN0IHNhbWUgZmlsZSBwcm9jZXNzZXMgaW4gRHJvb2xzIDUgYnV0IGZh aWxzIGluIERyb29scyA2Ljwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7 IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2Es IEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4zMXVzZF9sbmdfY29ycF9i bmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXI1eV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE2NTAsIGhlYWRlciBhdCBB NjQ0PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1bGUK ICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXI1eV8yIjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNh bGllbmNlIDY0ODg2PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9z aXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTAp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFy Y2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJi Y1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNp bmVzc0RhdGUpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOwogcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1 cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAw KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVu Y3kgPT0gIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1h cmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9u RGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kIG5vdCBpbiAoJ2NvbnZlcnRpYmxlJywnY292ZXJl ZCcgLCdqdW1ibyBwZmFuZGJyaWVmZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOwogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlv bicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJp c2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg cmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2Vs aW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0 TGluZUlkKCJOQ0NGMDEwMDU3OSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u c2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UG9zaXRp b25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmljYXRp b24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCku Z2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRo KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBh cmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5n ZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVh dGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7CiAmbmJzcDsgJm5ic3A7IGEuc2V0 TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1l bnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9y dCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQo J1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0 aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQnKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZh bHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsK IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFk anVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJs ZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRC dWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxi cj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+MzF1c2Rf bG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjB5X3VuZGVyMTB5XzI8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1Miwg aGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+cnVsZSAiMzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjV5X3VuZGVyMTB5 XzIiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgc2FsaWVuY2UgNjQ4ODQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7CiAmbmJzcDsgcDog UG9zaXRpb24ocG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52 YWx1YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1W YWx1ZSAmZ3Q7PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5w cm9kdWN0SGllcmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0 SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0 YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tC dXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBW YWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0KICJVU0QiKTwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg UG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9PSAiY29ycCIp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCBub3Qg aW4gKCdjb252ZXJ0aWJsZScsJ2NvdmVyZWQnICwnanVtYm8gcGZhbmRicmllZmUnKSk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLm92ZXJhbGxDcmVkaXRRdWFsaXR5 U3RlcCA9PSAyKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFs dWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBv c2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg dGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0 aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDU4MSIpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsKICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVI aXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigp LmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQ b3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdp YmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOwogJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVC dWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1 YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3ko cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJz IEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOwogYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjV5X3Vu ZGVyMTB5XzE8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MSwgaGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMzF1c2RfbG5nX2NvcnBfYm5kX2Ny X2JiYl91c2Rfb3ZlcjV5X3VuZGVyMTB5XzEiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjQ4ODU8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVu PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBv c2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7 CiBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2Vj dXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVy aXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAw KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUg Jmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIlVT RCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3Rv ckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBQb3NpdGlvbihwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScsJ2NvdmVyZWQnICwnanVt Ym8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLm92ZXJhbGxDcmVkaXRRdWFsaXR5U3RlcCA9PSAyKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgn KSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0 VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFk ZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3Np ZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGlu ZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJO Q0NGMDEwMDU4MSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0 KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdl dFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRh U3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0 KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0lt cGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9IgpiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1l KCAnQmFsYW5jZScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdl dFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlw ZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1 bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBG dW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0 ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsKICZuYnNwOyAmbmJzcDsKIGEuc2V0 Q2FzaGZsb3dUeXBlKCAnU0VUVExFTUVOVCwgU2V0dGxlbWVudCcpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdC YXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUo ICdDQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNoZmxvd1R5cGUoICdQcmluY2lwYWws IEludGVyZXN0Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRl dGFpbCgpLmdldENhc2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERh eXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmljYXRpb24u YWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0 TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRp b25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0RGF0ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0SW5zdHJ1bWVu dCgpLmdldE1hdHVyaXR5RGF0ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERh eXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBl KCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVu Z2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUKIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBG dW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4wOGV1cl9sYV9sbmdfcXVhbF9ta3Rf c2VjX2FnbmN5X2RidF83eV9VbmRlcl8xMFlfNTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBOTU0LCBoZWFkZXIgYXQgQTky MTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5ydWxlICIw OGV1cl9sYV9sbmdfcXVhbF9tdGtfc2VjX2FnbmN5X2RidF83WV91bmRlcl8xMFlfNSI8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBz YWxpZW5jZSA2NDU4MjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0w KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJh cmNoeSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5y YmNQcm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291bnRyeU9mRG9taWNp bGUgaW4gKCdBVCcsJ0JFJywnQkcnLCdDWScsJ0NaJywnREUnLCdESycsJ0VFJywnRVMnLCdGSScs J0ZSJyAsJ0dCJywnR1InICwnSFUnICwnSUUnICwnSVMnICwnSVQnICwnTEknICwnTFQnICwnTFUn ICwnTFYnICwnTVQnICwnTkwnICwnTk8nICwnUEwnICwnUFQnICwnUk8nICwnU0UnICwnU0knICwn U0snKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291bnRyeU9m SW5jb3Jwb3JhdGlvbiBpbiAoJ0FUJyAsJ0JFJyAsJ0JHJyAsICdDWScgLCdDWicgLCdERScgJm5i c3A7LCAnREsnICwnRUUnICwnRVMnLCAnRkknICwnRlInICwnR0InICwgJ0dSJyAsJ0hVJyAsJ0lF JyAsCiAnSVMnICwnSVQnICwnTEknICwgJ0xUJyAsJ0xVJyAsJ0xWJyAsICdNVCcgLCdOTCcgLCdO TycgLCAnUEwnICwnUFQnICwnUk8nLCdTRScgLCdTSScgLCdTSycpKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7IHBv c2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIkVVUiIpPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwg JmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvbGxhdGVyYWxUeXBlIGluICgn Z292dCBsaXF1aWQgZ3RkJywndXMgZ292dCBndWFyYW50JywndS5zLiBnb3Zlcm5tZW50IGd1YXJh bnRlZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0 eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzIyMDc1MjAwMDAwMCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlCiAm bHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFs dWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRh aWwucmlza1Byb2R1Y3RUeXBlICE9ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgn QmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5zZXRMaW5lSWQoIk5DQ0YwMTAwNDA1Iik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3NpZmljYXRpb24uc2V0 UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJv b2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlv blBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0 aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVl KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOwogYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRq dXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxl IFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1 Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5l dyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1NFVFRMRU1FTlQsIFNldHRsZW1lbnQnKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZs b3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cKICgx KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJh bWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dEJhc2VsaW5lVHlwZSggJ0NCJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlw ZSggJ1ByaW5jaXBhbCwgSW50ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGlt ZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7CiBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRW YWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVu Y3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJl bmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwo KS5nZXRJbnN0cnVtZW50KCkuZ2V0TWF0dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVz dG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBT aG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNr ZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9IgpiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4xOGNh ZF9sbmdfc2VjX2lzc19wcm92X292ZXIxMFlfdW5kZXIzNVlfMjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBMTUyLCBoZWFk ZXIgYXQgQTEzODwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij5ydWxlICIxOGNhZF9sbmdfc2VjX2lzc19wcm92X292ZXIxMHlfdW5kZXIzNXlfMiI8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBz YWxpZW5jZSA2NTM4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0w KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJh cmNoeSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5y YmNQcm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIFBvc2l0 aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0KIG51bGwgJmFtcDsmYW1wOyBwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tC dXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0Rh dGUrMTEwMzc2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQuaXNzdWVyVGlja2VyIGluICgnQlJDT0wnLCdCY3BJUEInLCdBTFRBJywnU0NEQSc8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdNUCcsJ01BTlBBQycs J01QVEInLCdPTlRXJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4sJ09OVCcsJ09OVEInLCdPTlRQQUMnLCdRJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4sJ1FUQicsJ1FVRVBBQycsJ1FXJywnTkJSTlMnPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiwnTlMnLCdQUklOQ0Un LCdORicsJ05GVEInKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWls LlZhbHVhdGlvbiE9IG51bGwKICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5W YWx1YXRpb25DdXJyZW5jeSA9PSAiQ0FEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls Lmluc3RydW1lbnQuaXNzdWVySW5kdXN0cnkgPT0gImdvdnQgcmVnaW9uYWwiKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7 JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9 PSAiZ292dCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1 YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0 aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rp b25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwMzQxIik7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnko KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlz dG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNh dGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCku Z2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBv c2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2li bGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uYWRkKGE9bmV3CiBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1 Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVh dGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3ko KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMg RnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9IgpiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PiAgPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwg QXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij4gPGRp diBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhl bHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx MnB0OyI+IDxkaXYgZGlyPSJsdHIiPiA8aHIgc2l6ZT0iMSI+ICA8Zm9udCBzaXplPSIyIiBmYWNl PSJBcmlhbCI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+RnJvbTo8L3NwYW4+ PC9iPiBNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdICZsdDsmbHQ7YSBocmVmPSI8YSBocmVmPSJ4 LW1zZzovLzQzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkw NzgmYW1wO2FtcDtpPTAiPngtbXNnOi8vNDMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2k9MDwvYT4iIHRhcmdldD0iX3RvcCIgcmVsPSJu b2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0Ozxicj4gPGI+PHNw YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5Ubzo8L3NwYW4+PC9iPiBrZWxseWFqcCAmbHQ7 Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly80My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJmFtcDthbXA7bm9kZT00MDI5MDc4JmFtcDthbXA7aT0xIj54LW1zZzovLzQzL3VzZXIvU2Vu ZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwNzgmYW1wO2FtcDtpPTE8L2E+ IiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciCiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRl biBlbWFpbF0mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5TZW50 Ojwvc3Bhbj48L2I+IFR1ZXNkYXksIDEgQXByaWwgMjAxNCwgMTQ6MTA8YnI+IDxiPjxzcGFuIHN0 eWxlPSJmb250LXdlaWdodDpib2xkOyI+U3ViamVjdDo8L3NwYW4+PC9iPiBSZTogUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPiA8L2ZvbnQ+IDwvZGl2PiA8ZGl2IGNsYXNz PSJ5aXY1Mjc2MDAyMjU0eV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0ieWl2NTI3NjAwMjI1 NCI+PGRpdj5hbnkgbmV3cz88ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5NYXJrPGJy IGNsZWFyPSJub25lIj48ZGl2IHN0eWxlPSIiPjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjM4 LCBNYXJrIFByb2N0b3IgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIi IHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3Jv dGU6PC9kaXY+PGJyIGNsZWFyPSJub25lIiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWludGVy Y2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQg I0NDQ0NDQztwYWRkaW5nOjAgMWVtIiB0eXBlPSJjaXRlIj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9k aXY+PC9kaXY+PGRpdj48ZGl2IHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZDsiPjxiciBjbGVh cj0ibm9uZSI+PGRpdj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAxMzoyNiwga2VsbHlhanAgJmx0 OzxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGlu az0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsZWFy PSJub25lIiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxi bG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAg MWVtIiB0eXBlPSJjaXRlIj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj48ZGl2 PkknbGwgZ2V0IHRoYXQgdG8geW91IG9uIE1vbmRheSZuYnNwOzwvZGl2PjxkaXY+PGJyIGNsZWFy PSJub25lIj5PbiAzMCBNYXIgMjAxNCwgYXQgMTI6NTksICJNYXJrIFByb2N0b3IgW3ZpYSBEcm9v bHNdIiAmbHQ7Jmx0O2EKIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9IngtbXNnOi8vMTMzL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI3JmFtcDth bXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7 YW1wO2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7PGEgaHJlZj0ieC1t c2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAy NyZhbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2k9MDwvYT4iIHRhcmdldD0iX3RvcCIgcmVsPSJu b2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8YnIg Y2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJv cmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPgoK CTwvYmxvY2txdW90ZT48L2Rpdj48ZGl2PkFyZSB5b3UgYWJsZSB0byBpc29sYXRlIHdoYXQgdGhl IEZIknMgYXJlIHJlZmVyZW5jaW5nLCBTb3JyeSB0aGF0IHNob3VsZCBiZSBSVCwgbm90IEZILiBS VCA9PSBSaWdodFR1cGxlLCBGSCA9PSBGYWN0SGFuZGxlLjxiciBjbGVhcj0ibm9uZSI+PGJsb2Nr cXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0i IHR5cGU9ImNpdGUiPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0ND Q0NDQztwYWRkaW5nOjAgMWVtIiB0eXBlPSJjaXRlIj50aGF0IG1pZ2h0IGdpdmUgdXMgYW4gaWRl YSBvZiB3aGVyZSB0byBsb29rLiBJZiB5b3UgbG9vayBSaWdodFR1cGxlknMgdGhleSB3aWxsIGhh dmUgYSCRc2luaycgcmVmZXJlbmNlIChuZXR3b3JrIG5vZGUpIGFuZCB0aGF0IHNpbmsgd2lsbCBo YXZlIGFuIJFhc3NvY2lhdGVzkiBtYXAuIFRoYXQgbWFwIGlzIHRoZSBydWxlcyB0aGF0IG5vZGUg aXMgcGFydCBvZi4gWW91IGNhbiB1c2UgdGhpcyB0byBpZGVudGlmeSB0aGUgb2ZmZW5kaW5nIHJ1 bGUocyksIGFuZCBtYXliZSBwYXN0ZSB0aG9zZSBydWxlcyBoZXJlPzxkaXY+PGJyIGNsZWFyPSJu b25lIj48L2Rpdj48ZGl2Pk1hcms8YnIgY2xlYXI9Im5vbmUiPjxkaXY+PGRpdj5PbiAzMCBNYXIg MjAxNCwgYXQgMDk6MDMsIGtlbGx5YWpwICZsdDsmbHQ7YSBocmVmPSImbHQ7YSBocmVmPSI8YSBo cmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1w O25vZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MDwv YT4iJmd0OzxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTAiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVt YWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTA8L2E+IiB0 YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuCiBl bWFpbF0mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9InlpdjUyNzYwMDIy NTRBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxl ZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbSIgdHlwZT0iY2l0ZSI+PGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBu b3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXIt c3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWluZGVudDogMHB4OyB0 ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw cHg7Ij48ZGl2PlRoYW5rczwvZGl2PjxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2Pkkn bGwgZ2V0IHNvbWVvbmUgZnJvbSB0aGUgdGVhbSB0byB3b3JrIG9uIHRoaXMgb24gTW9uZGF5LiBO b3Qgc3VyZSBob3cgZWFzeSBpdCB3aWxsIGJlIHRvIGlzb2xhdGUgYnV0IHdpbGwga2VlcCB5b3Ug aW5mb3JtZWQuPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+QW5keTxiciBj bGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQsIGF0IDIzOjUyLCAiTWFyayBQcm9jdG9yIFt2aWEg RHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9 IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1w O25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDth bXA7YW1wO2k9MDwvYT4iJmd0OzxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9MCI+eC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQw MjkwMjUmYW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7Jmx0O2EKIGhyZWY9IjxhIGhyZWY9IngtbXNn Oi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5 MDI1JmFtcDthbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7PGEg aHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25v ZGU9NDAyOTAyNSZhbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2k9MDwvYT4iIHRhcmdldD0iX3Rv cCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3 cm90ZTo8YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGJsb2NrcXVvdGUg c3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0iIHR5cGU9 ImNpdGUiPkNhbiB5b3UgZ2V0IHVzIGEgdW5pdCB0ZXN0IGRlbW9uc3RyYXRpbmcgdGhpcywgYW5k IHdlkmxsIGxvb2sgaW50byBpdCBhcyBhIHByaW9yaXR5LjxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAy MjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj48 YnIgY2xlYXI9Im5vbmUiPk1hcms8c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQs IGF0IDE1OjQwLCBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJl Zj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7 YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMx L3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDth bXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7 YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTA8L2E+IiZndDsmbHQ7YQogaHJlZj0iPGEg aHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2Ft cDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTA8 L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0wPC9hPiIg dGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBl bWFpbF0mZ3Q7IHdyb3RlOjxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj48ZGl2IGNsYXNzPSJ5aXY1Mjc2 MDAyMjU0c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2NTI3NjAwMjI1NHNocmlua2Fi bGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjUyNzYwMDIyNTRzaHJpbmthYmxlLXF1b3RlIj48ZGl2 IGNsYXNzPSJ5aXY1Mjc2MDAyMjU0c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2NTI3 NjAwMjI1NHNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjUyNzYwMDIyNTRzaHJpbmth YmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY1Mjc2MDAyMjU0c2hyaW5rYWJsZS1xdW90ZSI+PGRp diBjbGFzcz0ic2hyaW5rYWJsZS1xdW90ZSI+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFdlIGhhdmUg dXBncmFkZWQgZnJvbSBEcm9vbHMgNSAtJmd0OyBEcm9vbHMgNi4wMSBhbmQgd2hlbiByZXBlYXRp bmcgdGhlPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgcHJvY2Vzc2luZyBpbiBlYWNoIGVudmly b25tZW50IHdlIGhhdmUgdmVyeSBkaWZmZXJlbnQgb2JqZWN0IGNvdW50cyB0aGF0IGlzPHNwYW4g Y2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDsgY2F1c2luZwogbWVtb3J5IHRvIHJ1biBvdXQgb24gRHJvb2xz IDY6PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFw cGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBC ZWxvdyBpcyBhbiBleHRyYWN0IGZyb20gYSBoZWFwIGR1bXA8c3BhbiBjbGFzcz0ieWl2NTI3NjAw MjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+ Jmd0OzxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEluIERyb29scyA2IHRoZSBtYWluIG9iamVj dHMgaW4gdGhlIGhlYXAgYXJlPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgMTogJm5ic3A7ICZu YnNwOyAmbmJzcDsgNDM3ODAwNiAmbmJzcDsgJm5ic3A7ICZuYnNwOzcwMDQ4MDk2MCAmbmJzcDtv cmcuZHJvb2xzLmNvcmUucmV0ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1 NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0 OzxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFdoZXJlIGFzIGluIERyb29scyA1IHRoZXJlIGFy ZSB3YXkgbGVzcyBvYmplY3RzPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgOTI6ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAxOTAyMgogJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7MTgy NjExMiAmbmJzcDtvcmcuZHJvb2xzLnJldGVvby5SaWdodFR1cGxlPHNwYW4gY2xhc3M9InlpdjUy NzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5v bmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBIYXMgYW55b25lIGVsc2UgaGFkIGFu eSBleHBlcmllbmNlIG9mIHRoaXMgaXNzdWU/PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3Bh biBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFu PjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBUaGFua3M8c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFw cGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0Ozxz cGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3Nw YW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBj bGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxi ciBjbGVhcj0ibm9uZSI+Jmd0OyAtLTxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFZpZXcgdGhp cyBtZXNzYWdlIGluIGNvbnRleHQ6PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg dGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Q b3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwLmh0bWwiIGxpbms9 ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVt b3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMC5odG1sPC9hPjxiciBjbGVhcj0ibm9u ZSI+Jmd0OyBTZW50IGZyb20gdGhlIERyb29sczogRGV2ZWxvcGVyIChjb21taXR0ZXIpIG1haWxp bmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZSBhdDxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0 QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9 ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxzcGFuIGNsYXNzPSJ5 aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFy PSJub25lIj4mZ3Q7IHJ1bGVzLWRldgogbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9InlpdjUyNzYw MDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUi PiZndDs8c3BhbiBjbGFzcz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25v ZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0xIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7 YW1wO2k9MTwvYT4iJmd0OzxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MSI+eC1tc2c6 Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkw MTgmYW1wO2FtcDthbXA7aT0xPC9hPiImZ3Q7Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8x MzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgm YW1wO2FtcDthbXA7aT0xIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTE8L2E+IiZndDs8YSBocmVm PSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00 MDI5MDE4JmFtcDthbXA7aT0xIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0xPC9hPiIgdGFyZ2V0PSJfdG9wIiBy ZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF08c3BhbiBjbGFz cz0ieWl2NTI3NjAwMjI1NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBj bGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdl dD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxt YW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvZGl2PjwvZGl2Pl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIy NTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj5ydWxlcy1kZXYgbWFp bGluZyBsaXN0PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48L2Rpdj4mbHQ7YSBocmVmPSImbHQ7YQogaHJlZj0iJmx0O2EgaHJlZj0i PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTIiPngtbXNnOi8vMTMxL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZh bXA7YW1wO2FtcDthbXA7aT0yPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7 aT0yIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1w O25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTI8L2E+IiZndDsmbHQ7YSBocmVmPSI8YSBocmVm PSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25v ZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTIiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MjwvYT4i Jmd0OzxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTIiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTI8L2E+IiB0YXJn ZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWls XTxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+PC9kaXY+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5r IiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRl diIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGlu Zm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvZGl2PjxiciBjbGVhcj0ibm9uZSI+PGhyIG5vc2hhZGU9 IiIgc2l6ZT0iMSI+PGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHls ZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9u dC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBn ZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij48ZGl2IHN0eWxlPSJmb250LXdl aWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvCiB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2ls bCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj48YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5 MDEwcDQwMjkwMTguaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMu bmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEw cDQwMjkwMTguaHRtbDwvYT48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAx MDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo dDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwg aGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUtaGVp Z2h0OiAxLjVlbTsiPlRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsgaW4g RHJvb2xzIDYuMC4xLDxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIg dGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4uPGJyIGNsZWFyPSJu b25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5q dHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFp bC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFi YmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVt cGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIx bmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwt c2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5 bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZv bnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBs aW5rPSJleHRlcm5hbCI+TkFNTDwvYT48L2Rpdj48L2Jsb2NrcXVvdGU+PGJyIGNsZWFyPSJub25l Ij48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPlZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRl eHQ6PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhy ZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVh ay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjUuaHRtbCIgbGluaz0iZXh0ZXJuYWwi PlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyIGNsZWFyPSJu b25lIj5TZW50IGZyb20gdGhlPHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFy Z2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9v bHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxpbms9ImV4 dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGlu ZyBsaXN0IGFyY2hpdmU8L2E+PHNwYW4gY2xhc3M9InlpdjUyNzYwMDIyNTRBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj5hdDxzcGFuIGNsYXNzPSJ5aXY1Mjc2MDAyMjU0QXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJl Y3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9ImV4dGVy bmFsIj5OYWJibGUuY29tPC9hPi48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyIGNsZWFyPSJub25lIj5ydWxlcy1kZXYgbWFp bGluZyBsaXN0PGJyIGNsZWFyPSJub25lIj4mbHQ7YSBocmVmPSImbHQ7YSBocmVmPSI8YSBocmVm PSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25v ZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTEiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MTwvYT4i Jmd0OzxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTEiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTE8L2E+IiB0YXJn ZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWls XTxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0i X2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1 bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4v bGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnIgY2xlYXI9 Im5vbmUiPjwvZGl2PjxiciBjbGVhcj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPGJyIGNsZWFyPSJub25lIj5ydWxlcy1kZXYgbWFpbGluZyBs aXN0CjxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1t c2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQw MjkwMjYmYW1wO2FtcDthbXA7aT0yIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTI8L2E+IiZndDs8 YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7 bm9kZT00MDI5MDI2JmFtcDthbXA7aT0yIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/ dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0yPC9hPiIgdGFyZ2V0PSJf dG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0KPGJy IGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMt ZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNsZWFyPSJub25lIj4KCTxiciBjbGVhcj0i bm9uZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2Io NjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZv bnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlm OyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlz IGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxv dzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnkt bGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbCIgbGluaz0iZXh0ZXJu YWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVh ay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbDwvYT4KCTwvZGl2PgoJPGRp diBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4 OyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2Vy aWY7IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1 YnNjcmliZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVs PSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRl cm5hbCI+Y2xpY2sgaGVyZTwvYT4uPGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2Vy JmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJs ZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRl Lk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZh bXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1p bnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIx bmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJp YW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhl aWdodDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwv YT4KCTwvZGl2PjwvYmxvY2txdW90ZT4KCgkKCQoJCjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWdu PSJsZWZ0IiB3aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgcmVs PSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJv b2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYt MC0xLXRwNDAyOTAxMHA0MDI5MDI3Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+ClNlbnQgZnJv bSB0aGUgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVm PSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21t aXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBE ZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9h PiBhdCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxiciBj bGVhcj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X188YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xlYXI9Im5vbmUi PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGlu az0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3Rz Lmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0 dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxv Y2txdW90ZT48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25l Ij5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xl YXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj48YSByZWw9 Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVy bmFsIj5baGlkZGVuIGVtYWlsXTwvYT4KPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mu b3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9s aXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJy IGNsZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9uZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIx Ij4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1h bDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTog MTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBo ZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6 Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBh ZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMu bmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEw cDQwMjkwNTIuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQw MjkwNTIuaHRtbDwvYT4KCTwvZGl2PjxkaXYgY2xhc3M9InlpdjUyNzYwMDIyNTR5cXQxMTk0MTUx NTUwIiBpZD0ieWl2NTI3NjAwMjI1NHlxdGZkOTQwNTAiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJn YigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1h bDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFo b21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAu NGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3Np YmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9 InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwv YT4uPGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFy Z2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1w bGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0 bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMu QmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1u YWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90 aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5h YmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFt bCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250 LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4KCTwvZGl2PjwvZGl2Pjwv ZGl2PjwvZGl2Pjxicj48YnI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gIDwvZGl2PjxkaXYgY2xhc3M9 InlpdjUyNzYwMDIyNTRzbWFsbCI+PGJyPjxpbWcgc3JjPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4z Lm5hYmJsZS5jb20vaW1hZ2VzL2ljb25fYXR0YWNobWVudC5naWYiPiA8Yj5OQ0NGX0JBU0VMSU5F Lnhscy5kcmw8L2I+ICg5TSkgPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9hdHRhY2htZW50LzQwMjkwNzgvMC9O Q0NGX0JBU0VMSU5FLnhscy5kcmwiIGxpbms9ImV4dGVybmFsIj5Eb3dubG9hZCBBdHRhY2htZW50 PC9hPjwvZGl2PgoKCQoJCgkKPGJyPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCI+ClZpZXcg dGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5r IiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5 LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDc4Lmh0bWwiIGxpbms9ImV4dGVy bmFsIj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxicj4KU2Vu dCBmcm9tIHRoZSA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDov L2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1EZXZlbG9wZXItY29tbWl0dGVyLW1h aWxpbmctbGlzdC1mNjIyNjAuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPkRyb29sczogRGV2ZWxvcGVy IChjb21taXR0ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQgPGEg cmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIg bGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+Ljxicj5fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXzxicj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PGJyPjxh IHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hp ZGRlbiBlbWFpbF08L2E+PGJyPjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxt YW4vbGlzdGluZm8vcnVsZXMtZGV2Ij5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3J1bGVzLWRldjwvYT48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2Pjxi cj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnI+cnVs ZXMtZGV2IG1haWxpbmcgbGlzdAo8YnI+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9 Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4KPGJyPjxhIHJlbD0ibm9m b2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJv c3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPgoKCQoJCgkKCTxicj4KCTxicj4K CTxociBub3NoYWRlPSIiIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgs IDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWln aHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZh bWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8 ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWws IHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2 PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xz LjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0x LXRwNDAyOTAxMHA0MDI5MDgxLmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2 OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRw NDAyOTAxMHA0MDI5MDgxLmh0bWw8L2E+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2Io MTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7 IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IHRhaG9t YSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRl bTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+CgkJCgkJVG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJs ZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsIDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0i X2JsYW5rIiBocmVmPSIiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnI+CgkJPGEg cmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2Vy JmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJs ZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRl Lk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZh bXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1p bnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIx bmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJp YW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhl aWdodDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwv YT4KCTwvZGl2PjwvZGl2Pjxicj48YnI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gIDwvZGl2PgoKCQoJ CgkKPGJyPjxociBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCI+ClZpZXcgdGhpcyBtZXNzYWdlIGlu IGNvbnRleHQ6IDxhIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3Nz aWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwODQuaHRtbCI+ UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnI+ClNlbnQgZnJv bSB0aGUgPGEgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1E ZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlzdC1mNjIyNjAuaHRtbCI+RHJvb2xzOiBEZXZl bG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBh dCA8YSBocmVmPSJodHRwOi8vTmFiYmxlLmNvbSI+TmFiYmxlLmNvbTwvYT4uPGJyPl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPnJ1bGVzLWRldiBtYWls aW5nIGxpc3Q8YnI+PGEgaHJlZj0ibWFpbHRvOnJ1bGVzLWRldkBsaXN0cy5qYm9zcy5vcmciPnJ1 bGVzLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21h aWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Jv ZHk+PC9odG1sPg== --===============0229973133960631241==-- From kellyajp at yahoo.co.uk Wed Apr 2 08:48:03 2014 Content-Type: multipart/mixed; boundary="===============2520340138004209409==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 05:48:02 -0700 Message-ID: <1396442857.35989.YahooMailNeo@web171803.mail.ir2.yahoo.com> In-Reply-To: D8DD052B-E82D-4265-BE10-BE2AAD5DB098@codehaus.org --===============2520340138004209409== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Thanks=C2=A0 I've had to remove the entries from the following link, please could you do= the same. http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-td40= 29010.html ________________________________ From: Mark Proctor [via Drools] To: kellyajp = Sent: Wednesday, 2 April 2014, 13:36 Subject: Re: Possible memory leak in Drools 6.0.1 = That is a 3rd party service, not related to Red Hat. You=E2=80=99ll need to= contact them directly. Mark On 2 Apr 2014, at 12:58, kellyajp <[hidden email]> wrote: Afternoon, > > >just seen that the attachment that I sent you has been made available via = the drools user forum. Please can this be removed ASAP. This is client info= rmation that is not to be made public. > > >Thanks > > > >________________________________ > From: Mark Proctor [via Drools] <[hidden email]> >To: kellyajp <[= hidden email]> = >Sent: Wednesday, 2 April 2014, 12:41 >Subject: Re: Possible memory leak in Drools 6.0.1 > = > > >not sure why this would have a memory leak, it all looks quite straight fo= rward joins. > > >I assume you are using stateless sessions and inserting just a single Posi= tion instance? Is there a different number of RT=E2=80=99s after a single P= osition insert? > > >A small tip, you don=E2=80=99t need so many patterns. All those constraint= s can go in a single Pattern.=C2=A0 > > >Mark > > > > > >On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: > >Morning Mark, >> >> >>That was a useful exercise!!, from a sampled set it looks like the RightT= uple instances are coming from a single rule package (nccf). >> >> >>This rule package comes from a large decision table of that is maintained= by our business users. This results in a large DRL file being generated co= ntaining 2371 rules.=C2=A0 >> >> >>Below I have included some of the rules that were referenced in the data = structures, I have also attached the generated DRL file. >> >> >>The exact same file processes in Drools 5 but fails in Drools 6. >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >>// rule values at A650, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >>=C2=A0 =C2=A0 salience 64886 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "corp") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrum= ent.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualityS= tep =3D=3D 2) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D= =3D 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100579"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >>// rule values at A652, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >>=C2=A0 =C2=A0 salience 64884 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+157680000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "corp") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrum= ent.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualityS= tep =3D=3D 2) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D= =3D 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >>// rule values at A651, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >>=C2=A0 =C2=A0 salience 64885 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+157680000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "corp") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrum= ent.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualityS= tep =3D=3D 2) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D = 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument= ().getMaturityDate()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >>08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >>// rule values at A954, header at A921 >>rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >>=C2=A0 =C2=A0 salience 64582 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ'= ,'DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'L= T' ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , = 'CY' ,'CZ' ,'DE' =C2=A0, 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'= IE' , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,= 'RO','SE' ,'SI' ,'SK')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "EUR") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.collateralType in ('govt liquid gtd','us govt = guarant','u.s. government guarantee')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+220752000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D = 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100405"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument= ().getMaturityDate()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >>18cad_lng_sec_iss_prov_over10Y_under35Y_2 >>// rule values at A152, header at A138 >>rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >>=C2=A0 =C2=A0 salience 65384 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+315360000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >>,'MP','MANPAC','MPTB','ONTW' >>,'ONT','ONTB','ONTPAC','Q' >>,'QTB','QUEPAC','QW','NBRNS' >>,'NS','PRINCE','NF','NFTB')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "CAD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.issuerIndustry =3D=3D "govt regional") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "govt") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D= =3D 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100341"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >> >> >> >> >> >> >> >>________________________________ >> From: Mark Proctor [via Drools] <x-msg://43/u= ser/SendEmail.jtp?type=3Dnode&node=3D4029078&i=3D0" target=3D"_top"= rel=3D"nofollow" link=3D"external">[hidden email]> >>To: kellyajp <x-msg://43/user/SendEmail.jtp?ty= pe=3Dnode&node=3D4029078&i=3D1" target=3D"_top" rel=3D"nofollow" li= nk=3D"external">[hidden email]> = >>Sent: Tuesday, 1 April 2014, 14:10 >>Subject: Re: Possible memory leak in Drools 6.0.1 >> = >> >> >>any news? >> >> >>Mark >> >>On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: >> >> >> >>On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: >> >>I'll get that to you on Monday=C2=A0 >> >>On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp= ?type=3Dnode&amp;node=3D4029027&amp;i=3D0">x-msg:/= /133/user/SendEmail.jtp?type=3Dnode&node=3D4029027&i=3D0" target=3D= "_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >> >> >>Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that= should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. >> >>that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >>>> >>>> >>>>Mark >>>> >>>>On 30 Mar 2014, at 09:03, kellyajp <x-msg://133/user/SendEmail.jtp?type=3Dnode&amp;node=3D40290= 26&amp;i=3D0">x-msg://133/user/SendEmail.jtp?type=3Dno= de&node=3D4029026&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"e= xternal">[hidden email]> wrote: >>>> >>>>Thanks >>>>> >>>>> >>>>>I'll get someone from the team to work on this on Monday. Not sure how= easy it will be to isolate but will keep you informed. >>>>> >>>>> >>>>>Andy >>>>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEma= il.jtp?type=3Dnode&amp;amp;node=3D4029025&amp;amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D40= 29025&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnod= e&amp;node=3D4029025&amp;i=3D0">x-msg://131/user/S= endEmail.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel= =3D"nofollow" link=3D"external">[hidden email]> wrote: >>>>> >>>>> >>>>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look = into it as a priority.=C2=A0 >>>>>> >>>>>>Mark=C2=A0 >>>>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnod= e&amp;amp;node=3D4029018&amp;amp;i=3D0">x-= msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i= =3D0">x-msg://131/user/SendEmail.jtp?type=3Dnod= e&amp;node=3D4029018&amp;i=3D0">x-msg://131/user/S= endEmail.jtp?type=3Dnode&node=3D4029018&i=3D0" target=3D"_top" rel= =3D"nofollow" link=3D"external">[hidden email]> wrote:=C2=A0 >>>>>> >>>>>> >>>>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating th= e=C2=A0 >>>>>>> processing in each environment we have very different object counts= that is=C2=A0 >>>>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>>>=C2=A0 >>>>>>> Below is an extract from a heap dump=C2=A0 >>>>>>>=C2=A0 >>>>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2= =A0org.drools.core.reteoo.RightTuple=C2=A0 >>>>>>>=C2=A0 >>>>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A01826112 =C2=A0org.drools.reteoo.RightTuple=C2= =A0 >>>>>>>=C2=A0 >>>>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>>>=C2=A0 >>>>>>> Thanks=C2=A0 >>>>>>>=C2=A0 >>>>>>>=C2=A0 >>>>>>>=C2=A0 >>>>>>> --=C2=A0 >>>>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.co= m/Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>>> Sent from the Drools: Developer (committer) mailing list mailing li= st archive at=C2=A0Nabble.com.=C2=A0 >>>>>>> _______________________________________________=C2=A0 >>>>>>> rules-dev mailing list=C2=A0 >>>>>>>=C2=A0x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node=3D4029018= &amp;amp;i=3D1">x-msg://131/user/SendEmail.jtp= ?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D40290= 18&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dno= de&node=3D4029018&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"e= xternal">[hidden email]=C2=A0 >>>>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev____________= ___________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/u= ser/SendEmail.jtp?type=3Dnode&amp;amp;node=3D4029018&amp;amp;i=3D2"= >x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;node=3D4029018&amp;i=3D2">x-msg:/= /131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D2"><= a href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018= &amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D40290= 18&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden em= ail]=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>>________________________________ >>>>>> >>>>>>If you reply to this email, your message will be added to the discuss= ion below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-= 6-0-1-tp4029010p4029018.html >>>>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click = here. >>>>>>NAML >>>>>>>>>>________________________________ >>>>>View this message in context:=C2=A0Re: Possible memory leak in Drools = 6.0.1 >>>>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing = list archive=C2=A0at=C2=A0Nabble.com. >>>>>_______________________________________________ >>>>>rules-dev mailing list >>>>>x-msg://133/user/Send= Email.jtp?type=3Dnode&amp;node=3D4029026&amp;i=3D1">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D1" = target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] >>>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>>> >>>>_______________________________________________ = >>>>rules-dev mailing list = >>>>x-msg://133/user/SendEma= il.jtp?type=3Dnode&amp;node=3D4029026&amp;i=3D2">x= -msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D2" tar= get=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] = >>>>https://lists.jboss.org/mailman/listinfo/rules-dev = >>>> >>>>>>>>________________________________ >>>> = >>>>If you reply to this email, your message will be added to the discussio= n below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-= 0-1-tp4029010p4029026.html = >>>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>NAML = >>>>>>________________________________ >>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>Sent from the Drools: Developer (committer) mailing list mailing list ar= chive at Nabble.com. >>>_______________________________________________ >>>rules-dev mailing list >>>[hidden email] >>>https://lists.jboss.org/mailman/listinfo/rules-dev >> >> >>_______________________________________________ = >>rules-dev mailing list = >>[hidden email] = >>https://lists.jboss.org/mailman/listinfo/rules-dev = >> >>>>________________________________ >> = >>If you reply to this email, your message will be added to the discussion = below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-= 1-tp4029010p4029052.html = >>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>NAML = >> >> >> >> NCCF_BASELINE.xls.drl (9M) Download Attachment >>>>________________________________ >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev > >_______________________________________________ = >rules-dev mailing list = >[hidden email] = >https://lists.jboss.org/mailman/listinfo/rules-dev = > >>________________________________ > = >If you reply to this email, your message will be added to the discussion b= elow:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029081.html = >To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >NAML = > > >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029087.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029088.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============2520340138004209409== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PjxzcGFuPlRoYW5rcyZuYnNw Ozwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6 IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2 ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwv ZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9u dC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJp YWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPkkndmUgaGFkIHRvIHJlbW92ZSB0aGUg ZW50cmllcyBmcm9tIHRoZSBmb2xsb3dpbmcgbGluaywgcGxlYXNlIGNvdWxkIHlvdSBkbyB0aGUg c2FtZS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1z aXplOiA4cHQ7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBI ZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9u dC1zaXplOiA4cHQ7Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPjxzcGFuPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNv bS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdGQ0MDI5MDEwLmh0bWw8YnI+ PC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhl bHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEg R3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij4gPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyI+IDxkaXYgZGly PSJsdHIiPiA8aHIgc2l6ZT0iMSI+ICA8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCI+IDxiPjxz cGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+RnJvbTo8L3NwYW4+PC9iPiBNYXJrIFByb2N0 b3IgW3ZpYSBEcm9vbHNdICZsdDs8YSBocmVmPSIvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZub2RlPTQwMjkwODgmaT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4 dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7PGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13 ZWlnaHQ6IGJvbGQ7Ij5Ubzo8L3NwYW4+PC9iPiBrZWxseWFqcCAmbHQ7PGEgaHJlZj0iL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmbm9kZT00MDI5MDg4Jmk9MSIgdGFyZ2V0PSJfdG9wIiBy ZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyA8YnI+ IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlNlbnQ6PC9zcGFuPjwvYj4gV2Vk bmVzZGF5LCAyIEFwcmlsIDIwMTQsIDEzOjM2PGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWln aHQ6IGJvbGQ7Ij5TdWJqZWN0Ojwvc3Bhbj48L2I+IFJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBp biBEcm9vbHMgNi4wLjE8YnI+IDwvZm9udD4gPC9kaXY+IDxkaXYgY2xhc3M9InlfbXNnX2NvbnRh aW5lciI+PGJyPjxkaXYgaWQ9InlpdjgyOTgwMDIzOTYiPgoKCSBUaGF0IGlzIGEgM3JkIHBhcnR5 IHNlcnZpY2UsIG5vdCByZWxhdGVkIHRvIFJlZCBIYXQuIFlvdeKAmWxsIG5lZWQgdG8gY29udGFj dCB0aGVtIGRpcmVjdGx5LjxkaXY+PGJyPjwvZGl2PjxkaXY+TWFyazxicj48ZGl2PjxkaXY+T24g MiBBcHIgMjAxNCwgYXQgMTI6NTgsIGtlbGx5YWpwICZsdDs8YSByZWw9Im5vZm9sbG93IiBocmVm PSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsg d3JvdGU6PC9kaXY+PGJyIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtaW50ZXJjaGFuZ2UtbmV3 bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3Bh ZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5n OjAgMWVtOyIgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1 NSwgMjU1LCAyNTUpOyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVl JywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNp emU6IDhwdDsiPjxkaXY+PHNwYW4+QWZ0ZXJub29uLDwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJm b250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5l dWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+ PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhl bHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEg R3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQt c3R5bGU6IG5vcm1hbDsiPjxzcGFuPmp1c3Qgc2VlbiB0aGF0IHRoZSBhdHRhY2htZW50IHRoYXQg SQogc2VudCB5b3UgaGFzIGJlZW4gbWFkZSBhdmFpbGFibGUgdmlhIHRoZSBkcm9vbHMgdXNlciBm b3J1bS4gUGxlYXNlIGNhbiB0aGlzIGJlIHJlbW92ZWQgQVNBUC4gVGhpcyBpcyBjbGllbnQgaW5m b3JtYXRpb24gdGhhdCBpcyBub3QgdG8gYmUgbWFkZSBwdWJsaWMuPC9zcGFuPjwvZGl2PjxkaXYg c3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2 ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJp ZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxz cGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZh bWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwg J0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+VGhhbmtzPC9zcGFuPjwvZGl2PjxkaXY+PGJy PjwvZGl2PiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRp Y2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiA4cHQ7Ij4gPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUs ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyI+IDxkaXYgZGlyPSJsdHIiPiA8aHIgc2l6ZT0iMSI+ ICA8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo dDpib2xkOyI+RnJvbTo8L3NwYW4+PC9iPiBNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdCiAmbHQ7 Jmx0O2EgaHJlZj0ieC1tc2c6Ly80Ny91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7bm9kZT00MDI5MDg0JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ci IGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDs8YnI+IDxiPjxzcGFuIHN0eWxl PSJmb250LXdlaWdodDpib2xkOyI+VG86PC9zcGFuPjwvYj4ga2VsbHlhanAgJmx0OyZsdDthIGhy ZWY9IngtbXNnOi8vNDcvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9 NDAyOTA4NCZhbXA7YW1wO2k9MSIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJl eHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQt d2VpZ2h0OmJvbGQ7Ij5TZW50Ojwvc3Bhbj48L2I+IFdlZG5lc2RheSwgMiBBcHJpbCAyMDE0LCAx Mjo0MTxicj4gPGI+PHNwYW4gc3R5bGU9Igpmb250LXdlaWdodDpib2xkOyI+U3ViamVjdDo8L3Nw YW4+PC9iPiBSZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPiA8L2Zv bnQ+IDwvZGl2PiA8ZGl2IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2eV9tc2dfY29udGFpbmVyIj48YnI+ PGRpdiBpZD0ieWl2ODI5ODAwMjM5NiI+CgoJIG5vdCBzdXJlIHdoeSB0aGlzIHdvdWxkIGhhdmUg YSBtZW1vcnkgbGVhaywgaXQgYWxsIGxvb2tzIHF1aXRlIHN0cmFpZ2h0IGZvcndhcmQgam9pbnMu PGRpdj48YnI+PC9kaXY+PGRpdj5JIGFzc3VtZSB5b3UgYXJlIHVzaW5nIHN0YXRlbGVzcyBzZXNz aW9ucyBhbmQgaW5zZXJ0aW5nIGp1c3QgYSBzaW5nbGUgUG9zaXRpb24gaW5zdGFuY2U/IElzIHRo ZXJlIGEgZGlmZmVyZW50IG51bWJlciBvZiBSVOKAmXMgYWZ0ZXIgYSBzaW5nbGUgUG9zaXRpb24g aW5zZXJ0PzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QSBzbWFsbCB0aXAsIHlvdSBkb27igJl0 IG5lZWQgc28gbWFueSBwYXR0ZXJucy4gQWxsIHRob3NlIGNvbnN0cmFpbnRzIGNhbiBnbyBpbiBh IHNpbmdsZSBQYXR0ZXJuLiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TWFyazxicj48 ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48ZGl2PjxkaXY+T24gMiBBcHIgMjAxNCwgYXQgMTE6MjAs IGtlbGx5YWpwICZsdDs8YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGlu az0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsYXNz PSJ5aXY4Mjk4MDAyMzk2QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5 bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJi b3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyBmb250LWZh bWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwg J0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPjxkaXY+PHNwYW4+ TW9ybmluZyBNYXJrLDwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZv bnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLAogSGVsdmV0aWNhLCBB cmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2 IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVs dmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2Vy aWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48 c3Bhbj5UaGF0IHdhcyBhIHVzZWZ1bCBleGVyY2lzZSEhLCBmcm9tIGEgc2FtcGxlZCBzZXQgaXQg bG9va3MgbGlrZSB0aGUgUmlnaHRUdXBsZSBpbnN0YW5jZXMgYXJlIGNvbWluZyBmcm9tIGEgc2lu Z2xlIHJ1bGUgcGFja2FnZSAobmNjZikuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6 ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhl bHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+ PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNh TmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUn LCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTog bm9ybWFsOyI+PHNwYW4+VGhpcyBydWxlIHBhY2thZ2UgY29tZXMgZnJvbSBhIGxhcmdlIGRlY2lz aW9uIHRhYmxlIG9mIHRoYXQgaXMgbWFpbnRhaW5lZCBieSBvdXIgYnVzaW5lc3MgdXNlcnMuIFRo aXMgcmVzdWx0cyBpbiBhIGxhcmdlIERSTCBmaWxlIGJlaW5nCiBnZW5lcmF0ZWQgY29udGFpbmlu ZyAyMzcxIHJ1bGVzLiZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDEx cHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRp Y2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2 PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUs ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fu cy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1h bDsiPjxzcGFuPkJlbG93IEkgaGF2ZSBpbmNsdWRlZCBzb21lIG9mIHRoZSBydWxlcyB0aGF0IHdl cmUgcmVmZXJlbmNlZCBpbiB0aGUgZGF0YSBzdHJ1Y3R1cmVzLCBJIGhhdmUgYWxzbyBhdHRhY2hl ZCB0aGUgZ2VuZXJhdGVkIERSTAogZmlsZS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1z aXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywg SGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bh bj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp Y2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5k ZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxl OiBub3JtYWw7Ij48c3Bhbj5UaGUgZXhhY3Qgc2FtZSBmaWxlIHByb2Nlc3NlcyBpbiBEcm9vbHMg NSBidXQgZmFpbHMgaW4gRHJvb2xzIDYuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6 ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhl bHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+ PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjMxdXNkX2xu Z19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzI8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MCwgaGVh ZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+cnVsZQogIjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzIi PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgc2FsaWVuY2UgNjQ4ODY8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3Np dGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVh dGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVl ICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1 Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVy YXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwu cmlza0J1c2luZXNzRGF0ZSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7CiBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2 ODAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1 YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRp b25DdXJyZW5jeSA9PSAiVVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQubWFya2V0U2VjdG9yRGVzY3JpcHRpb24gPT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsg cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUn LCdjb3ZlcmVkJyAsJ2p1bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7CiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgn VmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1w bCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZp Y2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwNTc5Iik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFz c2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZh dGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcg QWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZh bHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCku Z2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsKICZuYnNwOyAmbmJz cDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdp YmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChh PW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZh bHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0 YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOwogYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0 LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4zMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXIxMHlfMjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBh dCBBNjUyLCBoZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij5ydWxlICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlf dW5kZXIxMHlfMiI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDg4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsKICZu YnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9u RGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0 aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls LnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAm YW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9z aXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRh aWwucmlza0J1c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25E ZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PQogIlVTRCIpPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09 ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9m Qm9uZCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZC b25kIG5vdCBpbiAoJ2NvbnZlcnRpYmxlJywnY292ZXJlZCcgLCdqdW1ibyBwZmFuZGJyaWVmZScp KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENyZWRp dFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dO Jyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyB0aGVuPC9kaXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlv bj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDU4MSIpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0 YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnko cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRp dHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsKICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQ YXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVW YWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZh bHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5j eSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJl bmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292 ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOwog Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNl bGluZVRpbWVCdWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSgg J01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwo KS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlv bkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJp dHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExv bmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBM b25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rf b3ZlcjV5X3VuZGVyMTB5XzE8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MSwgaGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMzF1c2RfbG5nX2Nv cnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjV5X3VuZGVyMTB5XzEiPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjQ4ODU8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9 bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFt cDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAm YW1wOyZhbXA7CiBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFz cyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3 NjgwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5z dHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1 cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAw KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVu Y3kgPT0gIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1h cmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9u RGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScsJ2NvdmVy ZWQnICwnanVtYm8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLm92ZXJhbGxDcmVkaXRRdWFsaXR5U3RlcCA9PSAyKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlv bicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJp c2tQcm9kdWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg cmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2Vs aW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNl dExpbmVJZCgiTkNDRjAxMDA1ODEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0 aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRp b24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCku Z2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRo KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBh cmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2CiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAu Z2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1 YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1l bnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9y dCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQo J1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0 aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsKICZuYnNwOwogJm5ic3A7ICZu YnNwOwogYS5zZXRDYXNoZmxvd1R5cGUoICdTRVRUTEVNRU5ULCBTZXR0bGVtZW50Jyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hGbG93 cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0 ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJh c2VsaW5lVHlwZSggJ0NCJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSgg J1ByaW5jaXBhbCwgSW50ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdl dFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFz c2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVC dWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1 YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3ko cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5n ZXRJbnN0cnVtZW50KCkuZ2V0TWF0dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1l bnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZQogU2hvcnQsRnVuZ2libGUgU2hv cnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0 KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij5lbmQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJy PjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjA4ZXVyX2xhX2xu Z19xdWFsX21rdF9zZWNfYWduY3lfZGJ0Xzd5X1VuZGVyXzEwWV81PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE5NTQsIGhl YWRlciBhdCBBOTIxPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPnJ1bGUgIjA4ZXVyX2xhX2xuZ19xdWFsX210a19zZWNfYWduY3lfZGJ0XzdZX3VuZGVyXzEw WV81IjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7IHNhbGllbmNlIDY0NTgyPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDog UG9zaXRpb24ocG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52 YWx1YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1W YWx1ZSAmZ3Q7PTApPC9kaXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu cHJvZHVjdEhpZXJhcmNoeSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVj dEhpZXJhcmNoeS5yYmNQcm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlv bicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291 bnRyeU9mRG9taWNpbGUgaW4gKCdBVCcsJ0JFJywnQkcnLCdDWScsJ0NaJywnREUnLCdESycsJ0VF JywnRVMnLCdGSScsJ0ZSJyAsJ0dCJywnR1InICwnSFUnICwnSUUnICwnSVMnICwnSVQnICwnTEkn ICwnTFQnICwnTFUnICwnTFYnICwnTVQnICwnTkwnICwnTk8nICwnUEwnICwnUFQnICwnUk8nICwn U0UnICwnU0knICwnU0snKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQuY291bnRyeU9mSW5jb3Jwb3JhdGlvbiBpbiAoJ0FUJyAsJ0JFJyAsJ0JHJyAsICdDWScgLCdD WicgLCdERScgJm5ic3A7LCAnREsnICwnRUUnICwnRVMnLCAnRkknICwnRlInICwnR0InICwgJ0dS JyAsJ0hVJyAsJ0lFJyAsCiAnSVMnICwnSVQnICwnTEknICwgJ0xUJyAsJ0xVJyAsJ0xWJyAsICdN VCcgLCdOTCcgLCdOTycgLCAnUEwnICwnUFQnICwnUk8nLCdTRScgLCdTSScgLCdTSycpKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAm YW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0g IkVVUiIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LmNvbGxhdGVy YWxUeXBlIGluICgnZ292dCBsaXF1aWQgZ3RkJywndXMgZ292dCBndWFyYW50JywndS5zLiBnb3Zl cm5tZW50IGd1YXJhbnRlZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudC5tYXR1cml0eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzIy MDc1MjAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0 dXJpdHlEYXRlCiAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSszMTUzNjAwMDAw MDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25U eXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlICE9ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJh bWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwNDA1Iik7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogY2xhc3Np ZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRl dGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3Rvcnku Z2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5h ZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRt VmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNo b3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1NFVFRMRU1FTlQsIFNldHRs ZW1lbnQnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWls KCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1Rv Q2FzaEZsb3cKICgxKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5l dyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ0NCJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dENhc2hmbG93VHlwZSggJ1ByaW5jaXBhbCwgSW50ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgg J0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVU eXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25E ZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZh bHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9z aXRpb25EZXRhaWwoKS5nZXRJbnN0cnVtZW50KCkuZ2V0TWF0dXJpdHlEYXRlKCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9y dCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4xOGNhZF9sbmdfc2VjX2lzc19wcm92X292ZXIxMFlfdW5kZXIzNVlfMjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBh dCBBMTUyLCBoZWFkZXIgYXQgQTEzODwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij5ydWxlICIxOGNhZF9sbmdfc2VjX2lzc19wcm92X292ZXIxMHlfdW5kZXIz NXlfMiI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyBzYWxpZW5jZSA2NTM4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6 IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwu dmFsdWF0aW9uICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRt VmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu cHJvZHVjdEhpZXJhcmNoeSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVj dEhpZXJhcmNoeS5yYmNQcm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsKIFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0KIG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9u RGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg UG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJp c2tCdXNpbmVzc0RhdGUrMTEwMzc2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9u KHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQuaXNzdWVyVGlja2VyIGluICgnQlJDT0wnLCdCY3BJUEInLCdBTFRBJywn U0NEQSc8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdN UCcsJ01BTlBBQycsJ01QVEInLCdPTlRXJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4sJ09OVCcsJ09OVEInLCdPTlRQQUMnLCdRJzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4sJ1FUQicsJ1FVRVBBQycsJ1FXJywn TkJSTlMnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiwn TlMnLCdQUklOQ0UnLCdORicsJ05GVEInKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLlZhbHVhdGlvbiE9IG51bGwKICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwu IFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiQ0FEIik8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQuaXNzdWVySW5kdXN0cnkgPT0gImdvdnQgcmVnaW9uYWwi KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JE ZXNjcmlwdGlvbiA9PSAiZ292dCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktO T1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0 aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8 L2Rpdj48ZGl2CiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDM0MSIp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0 RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50 cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxF bnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVs ZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OwogY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxp bmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJy ZW5jeSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1 cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHkn KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcg Y292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25n Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldwogQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdC YXNlbGluZVRpbWVCdWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlw ZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRh aWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVh dGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2Vj dXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxl IExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJs ZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2CiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj4g IDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUn LCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogOHB0OyI+IDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0 aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZTogMTJwdDsiPiA8ZGl2IGRpcj0ibHRyIj4gPGhyIHNpemU9IjEiPiAgPGZvbnQg c2l6ZT0iMiIgZmFjZT0iQXJpYWwiPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsi PkZyb206PC9zcGFuPjwvYj4gTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSAmbHQ7Jmx0O2EgaHJl Zj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly80My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vNDMvdXNl ci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2k9 MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRl biBlbWFpbF0mZ3Q7PGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlRvOjwv c3Bhbj48L2I+IGtlbGx5YWpwICZsdDsmbHQ7YSBocmVmPSImbHQ7YQogaHJlZj0ieC1tc2c6Ly80 My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTA3OCZh bXA7YW1wO2FtcDtpPTEiJmd0O3gtbXNnOi8vNDMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2k9MSIgdGFyZ2V0PSJfdG9wIiByZWw9Im5v Zm9sbG93IgogbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyA8YnI+IDxiPjxz cGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+U2VudDo8L3NwYW4+PC9iPiBUdWVzZGF5LCAx IEFwcmlsIDIwMTQsIDE0OjEwPGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsi PlN1YmplY3Q6PC9zcGFuPjwvYj4gUmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2 LjAuMTxicj4gPC9mb250PiA8L2Rpdj4gPGRpdiBjbGFzcz0ieWl2ODI5ODAwMjM5NnlfbXNnX2Nv bnRhaW5lciI+PGJyPjxkaXYgaWQ9InlpdjgyOTgwMDIzOTYiPjxkaXY+YW55IG5ld3M/PGRpdj48 YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+TWFyazxiciBjbGVhcj0ibm9uZSI+PGRpdiBzdHls ZT0iIj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAxMzozOCwgTWFyayBQcm9jdG9yICZsdDs8YSBy ZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4 dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9u ZSIgY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2tx dW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScg c3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBl PSJjaXRlIj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj48ZGl2IHN0eWxlPSJ3 b3JkLXdyYXA6YnJlYWstd29yZDsiPjxiciBjbGVhcj0ibm9uZSI+PGRpdj48ZGl2Pk9uIDMwIE1h ciAyMDE0LCBhdCAxMzoyNiwga2VsbHlhanAgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJy ZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxd PC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsZWFyPSJub25lIiBjbGFzcz0ieWl2ODI5ODAwMjM5 NkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVm dDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4 CiBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48L2Jsb2NrcXVvdGU+ PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj48ZGl2PkknbGwgZ2V0IHRoYXQgdG8geW91IG9uIE1vbmRh eSZuYnNwOzwvZGl2PjxkaXY+PGJyIGNsZWFyPSJub25lIj5PbiAzMCBNYXIgMjAxNCwgYXQgMTI6 NTksICJNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdIiAmbHQ7Jmx0O2EKIGhyZWY9IiZsdDthIGhy ZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2FtcDthbXA7aT0wIiZndDt4LW1z ZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAy OTAyNyZhbXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2Vu ZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI3JmFtcDthbXA7YW1w O2k9MCImZ3Q7eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O25vZGU9NDAyOTAyNyZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBs aW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxiciBjbGVhcj0ibm9u ZSI+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6 MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBz b2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj4KCgk8L2Jsb2NrcXVvdGU+ PC9kaXY+PGRpdj5BcmUgeW91IGFibGUgdG8gaXNvbGF0ZSB3aGF0IHRoZSBGSOKAmXMgYXJlIHJl ZmVyZW5jaW5nLCBTb3JyeSB0aGF0IHNob3VsZCBiZSBSVCwgbm90IEZILiBSVCA9PSBSaWdodFR1 cGxlLCBGSCA9PSBGYWN0SGFuZGxlLjxiciBjbGVhcj0ibm9uZSI+PGJsb2NrcXVvdGUgc3R5bGU9 J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3Jk ZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PGJs b2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAx ZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIg dHlwZT0iY2l0ZSI+dGhhdCBtaWdodCBnaXZlIHVzIGFuIGlkZWEgb2Ygd2hlcmUgdG8gbG9vay4g SWYgeW91IGxvb2sgUmlnaHRUdXBsZeKAmXMgdGhleSB3aWxsIGhhdmUgYSDigJhzaW5rJyByZWZl cmVuY2UgKG5ldHdvcmsgbm9kZSkgYW5kIHRoYXQgc2luayB3aWxsIGhhdmUgYW4g4oCYYXNzb2Np YXRlc+KAmSBtYXAuIFRoYXQgbWFwIGlzIHRoZSBydWxlcyB0aGF0IG5vZGUgaXMgcGFydCBvZi4g WW91IGNhbiB1c2UgdGhpcyB0byBpZGVudGlmeSB0aGUgb2ZmZW5kaW5nIHJ1bGUocyksIGFuZCBt YXliZSBwYXN0ZSB0aG9zZSBydWxlcyBoZXJlPzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48 ZGl2Pk1hcms8YnIgY2xlYXI9Im5vbmUiPjxkaXY+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMDk6 MDMsIGtlbGx5YWpwICZsdDsmbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1z ZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2Rl PTQwMjkwMjYmYW1wO2FtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1h aWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0w IiZndDsmbHQ7YQogaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEz My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDth bXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtb aGlkZGVuCiBlbWFpbF0mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9Inlp djgyOTgwMDIzOTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0n Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRl ci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48ZGl2 IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5 bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxl dHRlci1zcGFjaW5nOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRleHQtaW5kZW50OiAw cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNp bmc6IDBweDsiPjxkaXY+VGhhbmtzPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2Pjxk aXY+SSdsbCBnZXQgc29tZW9uZSBmcm9tIHRoZSB0ZWFtIHRvIHdvcmsgb24gdGhpcyBvbiBNb25k YXkuIE5vdCBzdXJlIGhvdyBlYXN5IGl0IHdpbGwgYmUgdG8gaXNvbGF0ZSBidXQgd2lsbCBrZWVw IHlvdSBpbmZvcm1lZC48L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5BbmR5 PGJyIGNsZWFyPSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQgMjM6NTIsICJNYXJrIFByb2N0b3Ig W3ZpYSBEcm9vbHNdIiAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0 O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDthbXA7YW1wO2k9MCImZ3Q7eC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9k ZT00MDI5MDI1JmFtcDthbXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthCiBocmVmPSJ4LW1zZzovLzEz MS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkw MjUmYW1wO2FtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7aT0wIiZndDsm bHQ7YQogaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2FtcDtpPTAi Jmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7 bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9MCImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1w O2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9m b2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PGJyIGNs ZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSdib3Jk ZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxl ZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPkNhbiB5b3Ug Z2V0IHVzIGEgdW5pdCB0ZXN0IGRlbW9uc3RyYXRpbmcgdGhpcywgYW5kIHdl4oCZbGwgbG9vayBp bnRvIGl0IGFzIGEgcHJpb3JpdHkuPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9u ZSI+TWFyazxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQgMTU6NDAsIGtl bGx5YWpwICZsdDsmbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YQogaHJl Zj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDth bXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8x MzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5 MDE4JmFtcDthbXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7 YW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthCiBo cmVmPSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MCImZ3Q7eC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQw MjkwMTgmYW1wO2FtcDthbXA7aT0wIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1Nl bmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2Ft cDtpPTAiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIg bGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8c3BhbiBjbGFzcz0i eWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVh cj0ibm9uZSI+PGRpdiBjbGFzcz0ieWl2ODI5ODAwMjM5NnNocmlua2FibGUtcXVvdGUiPjxkaXYg Y2xhc3M9InlpdjgyOTgwMDIzOTZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY4Mjk4 MDAyMzk2c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2ODI5ODAwMjM5NnNocmlua2Fi bGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjgyOTgwMDIzOTZzaHJpbmthYmxlLXF1b3RlIj48ZGl2 IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2ODI5 ODAwMjM5NnNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjgyOTgwMDIzOTZzaHJpbmth YmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2c2hyaW5rYWJsZS1xdW90ZSI+PGRp diBjbGFzcz0nc2hyaW5rYWJsZS1xdW90ZSc+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFdlIGhhdmUg dXBncmFkZWQgZnJvbSBEcm9vbHMgNQogLSZndDsgRHJvb2xzIDYuMDEgYW5kIHdoZW4gcmVwZWF0 aW5nIHRoZTxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IHByb2Nlc3NpbmcgaW4gZWFjaCBlbnZp cm9ubWVudCB3ZSBoYXZlIHZlcnkgZGlmZmVyZW50IG9iamVjdCBjb3VudHMgdGhhdCBpczxzcGFu IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7IGNhdXNpbmcKIG1lbW9yeSB0byBydW4gb3V0IG9uIERyb29s cyA2OjxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsg QmVsb3cgaXMgYW4gZXh0cmFjdCBmcm9tIGEgaGVhcCBkdW1wPHNwYW4gY2xhc3M9InlpdjgyOTgw MDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUi PiZndDs8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBJbiBEcm9vbHMgNiB0aGUgbWFpbiBvYmpl Y3RzIGluIHRoZSBoZWFwIGFyZTxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IDE6ICZuYnNwOyAm bmJzcDsgJm5ic3A7IDQzNzgwMDYgJm5ic3A7ICZuYnNwOyAmbmJzcDs3MDA0ODA5NjAgJm5ic3A7 b3JnLmRyb29scy5jb3JlLnJldGVvby5SaWdodFR1cGxlPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIz OTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZn dDs8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBXaGVyZSBhcyBpbiBEcm9vbHMgNSB0aGVyZSBh cmUgd2F5IGxlc3Mgb2JqZWN0czxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IDkyOiAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgMTkwMjIKICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzE4 MjYxMTIgJm5ic3A7b3JnLmRyb29scy5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY4 Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgSGFzIGFueW9uZSBlbHNlIGhhZCBh bnkgZXhwZXJpZW5jZSBvZiB0aGlzIGlzc3VlPzxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNw YW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDsgVGhhbmtzPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8 c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9z cGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4g Y2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDsgLS08c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBWaWV3IHRo aXMgbWVzc2FnZSBpbiBjb250ZXh0OjxzcGFuCiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0 IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbCIgbGlu az0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1t ZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwLmh0bWw8L2E+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7IFNlbnQgZnJvbSB0aGUgRHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFp bGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlIGF0PHNwYW4gY2xhc3M9InlpdjgyOTgwMDIz OTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGlu az0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9 InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xl YXI9Im5vbmUiPiZndDsgcnVsZXMtZGV2CiBtYWlsaW5nIGxpc3Q8c3BhbiBjbGFzcz0ieWl2ODI5 ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9u ZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJl Zj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDth bXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7YW1wO2k9MSImZ3Q7eC1tc2c6Ly8x MzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5 MDE4JmFtcDthbXA7YW1wO2FtcDtpPTEiJmd0OyZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7 YW1wO2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTEiJmd0OyZsdDthIGhy ZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0xIiZndDt4LW1z ZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAy OTAxOCZhbXA7YW1wO2FtcDtpPTEiJmd0OyZsdDthCiBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1Nl bmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2Ft cDtpPTEiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIg bGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIz OTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZn dDs8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJl Zj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxp bms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1 bGVzLWRldjwvYT48L2Rpdj48L2Rpdj48L2Rpdj5fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXzxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxzcGFu IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PC9kaXY+Jmx0O2EgaHJlZj0iJmx0O2EKIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO2Ft cDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2FtcDtpPTIiJmd0O3gtbXNnOi8vMTMxL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZh bXA7YW1wO2FtcDthbXA7aT0yIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDth bXA7YW1wO2k9MiImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0yIiZndDsmbHQ7YSBocmVmPSIm bHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MiImZ3Q7eC1tc2c6Ly8x MzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgm YW1wO2FtcDthbXA7aT0yIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTIi Jmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2Rl PTQwMjkwMTgmYW1wO2FtcDtpPTIiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0i ZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj48YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIKIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlz dHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvZGl2Pjwv ZGl2PjxociBub3NoYWRlPSIiIHNpemU9IjEiPjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4 LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2Vp Z2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1m YW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+PGRp diBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0bwogdGhpcyBlbWFpbCwg eW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Npb24gYmVsb3c6PC9kaXY+ PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRw Oi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJv b2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDE4Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8v ZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xz LTYtMC0xLXRwNDAyOTAxMHA0MDI5MDE4Lmh0bWw8L2E+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6 IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5v cm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTog dGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6 IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij5UbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxl IG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSw8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFw cGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBl PSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhlcmU8 L2E+LjwvZGl2PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIK IGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2Vy dmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUl M0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3Bh Y2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53 ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmli ZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWls Lm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZv bnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3Jt YWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogc2Vy aWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT48L2Rpdj48L2Jsb2NrcXVvdGU+PGJyIGNsZWFy PSJub25lIj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPlZpZXcgdGhpcyBtZXNzYWdlIGlu IGNvbnRleHQ6PHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1v cnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjUuaHRtbCIgbGluaz0iZXh0 ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyIGNs ZWFyPSJub25lIj5TZW50IGZyb20gdGhlPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVj dCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNv bS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxp bms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3Qg bWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+PHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj5hdDxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2 QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9 ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyIGNsZWFyPSJub25lIj5ydWxlcy1k ZXYgbWFpbGluZyBsaXN0PGJyIGNsZWFyPSJub25lIj4mbHQ7YSBocmVmPSImbHQ7YSBocmVmPSIm bHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7YW1wO2k9MSImZ3Q7eC1tc2c6Ly8x MzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYm YW1wO2FtcDthbXA7aT0xIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTEi Jmd0O3gtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2Rl PTQwMjkwMjYmYW1wO2FtcDtpPTEiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIKIGxpbms9 ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2Pjwv YmxvY2txdW90ZT48L2Rpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxiciBjbGVhcj0ibm9uZSI+ X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPGJyIGNsZWFy PSJub25lIj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0CjxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJl Zj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2FtcDtp PTIiJmd0O3gtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDth bXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MiImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8x MzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYm YW1wO2FtcDthbXA7aT0yIiZndDt4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0yIiB0YXJnZXQ9Il90b3AiIHJlbD0i bm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXQo8YnIgY2xlYXI9Im5v bmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9 ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVz LWRldjwvYT4KCgkKCQoJCgk8YnIgY2xlYXI9Im5vbmUiPgoJPGJyIGNsZWFyPSJub25lIj4KCTxo ciBub3NoYWRlPSIiIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4 KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWls eTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2 IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlv dXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJ CTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0 cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURy b29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNi5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDov L2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29s cy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNi5odG1sPC9hPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJj b2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFu dDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFt aWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2lu LXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZy b20gUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGlj ayBoZXJlPC9hPi48YnIgY2xlYXI9Im5vbmUiPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJy ZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUu Y29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWlu c3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFt ZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFt ZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNy dW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1h aWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0Fl bWFpbC5uYW1sIiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1h bDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3Jt YWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+ PC9ibG9ja3F1b3RlPgoKCQoJCgkKPGJyIGNsZWFyPSJub25lIj48aHIgYWxpZ249ImxlZnQiIHdp ZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiA8YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5 MDEwcDQwMjkwMjcuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVh ayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyIGNsZWFyPSJub25lIj4KU2VudCBmcm9tIHRoZSA8YSBy ZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9k cm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWls aW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAo Y29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0IDxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25h YmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25l Ij5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciBjbGVh cj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5h bCI+W2hpZGRlbiBlbWFpbF08L2E+PGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0 cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9ibG9ja3F1b3RlPjxi ciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCjxiciBjbGVhcj0ibm9uZSI+ cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ci IHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRk ZW4gZW1haWxdPC9hPgo8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJy ZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1h bi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3Nz Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnIgY2xlYXI9Im5v bmUiPgoJPGJyIGNsZWFyPSJub25lIj4KCTxociBub3NoYWRlPSIiIHNpemU9IjEiPgoJPGRpdiBz dHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZh cmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5l LWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwg YXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYg eW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRo ZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0 IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA1Mi5o dG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bv c3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA1Mi5odG1s PC9hPgoJPC9kaXY+PGRpdiBjbGFzcz0ieWl2ODI5ODAwMjM5NnlxdDExOTQxNTE1NTAiIGlkPSJ5 aXY4Mjk4MDAyMzk2eXF0ZmQ5NDA1MCI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAy LCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdl aWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2 YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUt aGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5 IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJl Zj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnIgY2xl YXI9Im5vbmUiPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFu ayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRlL05hbWxT ZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUyMW5hYmJs ZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNpY05hbWVz cGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3 LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlfc3Vic2Ny aWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxlJTNBZW1h aWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiBzdHlsZT0i Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5v cm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBz ZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+ PGJyPjxicj48L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+PGRpdiBjbGFzcz0ieWl2ODI5ODAw MjM5NnNtYWxsIj48YnI+PGltZz4gPGI+TkNDRl9CQVNFTElORS54bHMuZHJsPC9iPiAoOU0pIDxh IHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5 Lm4zLm5hYmJsZS5jb20vYXR0YWNobWVudC80MDI5MDc4LzAvTkNDRl9CQVNFTElORS54bHMuZHJs IiBsaW5rPSJleHRlcm5hbCI+RG93bmxvYWQgQXR0YWNobWVudDwvYT48L2Rpdj4KCgkKCQoJCjxi cj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250 ZXh0OiA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAt MS10cDQwMjkwMTBwNDAyOTA3OC5odG1sIiBsaW5rPSJleHRlcm5hbCI+UmU6IFBvc3NpYmxlIG1l bW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnI+ClNlbnQgZnJvbSB0aGUgPGEgcmVsPSJu b2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0 bWwiIGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5n IGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0IDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdl dD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9ImV4dGVybmFsIj5OYWJi bGUuY29tPC9hPi48YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX188YnI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxicj48YSByZWw9Im5vZm9sbG93IiBocmVm PSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxicj48 YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczov L2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Jsb2NrcXVv dGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo8YnI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8YnI+PGEgcmVs PSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVu IGVtYWlsXTwvYT4KPGJyPjxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0i ZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMt ZGV2PC9hPgoKCQoJCgkKCTxicj4KCTxicj4KCTxociBub3NoYWRlPSIiIHNpemU9IjEiPgoJPGRp diBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250 LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBs aW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGlj YSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+ SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRv IHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0i X2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUt bWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDgxLmh0bWwiIGxpbms9 ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVt b3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDgxLmh0bWw8L2E+Cgk8L2Rp dj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5v cm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6 ZTogMTFweDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBz YW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRlbTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+CgkJCgkJ VG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEs IDxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+ Y2xpY2sgaGVyZTwvYT4uPGJyPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBo cmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUvTmFtbFNlcnZs ZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIxbmFiYmxlJTNB ZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2ljTmFtZXNwYWNl LW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2Vi LnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9zdWJzY3JpYmVy cyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUlM0FlbWFpbC5u YW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIHN0eWxlPSJmb250 LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFs OyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHNlcmlm OyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8L2Rpdj48L2Rpdj48YnI+PGJyPjwvZGl2PiA8 L2Rpdj4gPC9kaXY+ICA8L2Rpdj4KCgkKCQoJCjxicj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIz MDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiA8YSByZWw9Im5vZm9sbG93IiB0YXJn ZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3Np YmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA4NC5odG1sIiBs aW5rPSJleHRlcm5hbCI+UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwv YT48YnI+ClNlbnQgZnJvbSB0aGUgPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhy ZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNv bW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6 IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8 L2E+IGF0IDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFi YmxlLmNvbS8iIGxpbms9ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48YnI+X19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+cnVsZXMtZGV2IG1haWxpbmcg bGlzdDxicj48YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0 ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxicj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PGJyPl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCjxicj5ydWxlcy1k ZXYgbWFpbGluZyBsaXN0Cjxicj48YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3Rv cCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPgo8YnI+PGEgcmVsPSJub2ZvbGxv dyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4v bGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5v cmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyPgoJPGJyPgoJPGhy IG5vc2hhZGU9IiIgc2l6ZT0iMSIgY29sb3I9IiNjY2NjY2MiPgoJPGRpdiBzdHlsZT0iY29sb3I6 IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1h bDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9y bWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMt c2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRv IHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9u IGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4t RHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDg3Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRw Oi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJv b2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDg3Lmh0bWw8L2E+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9 ImNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJp YW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1m YW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJn aW4tdG9wOiAwLjRlbTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+CgkJCgkJVG8gdW5zdWJzY3JpYmUg ZnJvbSBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsIDxhIHJlbD0ibm9mb2xs b3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSIiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9h Pi48YnI+CgkJPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9k cm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89 bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFt cDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcu d2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9k ZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNB ZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0 YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1h bDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTog OXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRl cm5hbCI+TkFNTDwvYT4KCTwvZGl2PjwvZGl2Pjxicj48YnI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4g IDwvZGl2PgoKCQoJCgkKPGJyLz48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiIC8+ClZpZXcg dGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IDxhIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMu bmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEw cDQwMjkwODguaHRtbCI+UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwv YT48YnIvPgpTZW50IGZyb20gdGhlIDxhIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0 bWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21taXR0ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxp c3QgYXJjaGl2ZTwvYT4gYXQgTmFiYmxlLmNvbS48YnIvPg== --===============2520340138004209409==-- From mproctor at codehaus.org Wed Apr 2 09:05:50 2014 Content-Type: multipart/mixed; boundary="===============9125660944335896603==" MIME-Version: 1.0 From: Mark Proctor To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 02 Apr 2014 14:05:37 +0100 Message-ID: <8D4B3A6F-4BDC-4F00-A4D7-D197788090A2@codehaus.org> In-Reply-To: 1396442857.35989.YahooMailNeo@web171803.mail.ir2.yahoo.com --===============9125660944335896603== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I don=E2=80=99t think it was emailed out to everyone, the RHT list server b= locks attachments over a certain size. Can you send it directly to Mario Fusco . Mark On 2 Apr 2014, at 13:48, kellyajp wrote: > Thanks = > = > I've had to remove the entries from the following link, please could you = do the same. > = > http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-td= 4029010.html > = > From: Mark Proctor [via Drools] <[hidden email]> > To: kellyajp <[hidden email]> = > Sent: Wednesday, 2 April 2014, 13:36 > Subject: Re: Possible memory leak in Drools 6.0.1 > = > That is a 3rd party service, not related to Red Hat. You=E2=80=99ll need = to contact them directly. > = > Mark > On 2 Apr 2014, at 12:58, kellyajp <[hidden email]> wrote: > = >> Afternoon, >> = >> just seen that the attachment that I sent you has been made available vi= a the drools user forum. Please can this be removed ASAP. This is client in= formation that is not to be made public. >> = >> Thanks >> = >> From: Mark Proctor [via Drools] <[hidden email]> >> To: kellyajp <[hidden email]> = >> Sent: Wednesday, 2 April 2014, 12:41 >> Subject: Re: Possible memory leak in Drools 6.0.1 >> = >> not sure why this would have a memory leak, it all looks quite straight = forward joins. >> = >> I assume you are using stateless sessions and inserting just a single Po= sition instance? Is there a different number of RT=E2=80=99s after a single= Position insert? >> = >> A small tip, you don=E2=80=99t need so many patterns. All those constrai= nts can go in a single Pattern. = >> = >> Mark >> = >> = >> On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: >> = >>> Morning Mark, >>> = >>> That was a useful exercise!!, from a sampled set it looks like the Righ= tTuple instances are coming from a single rule package (nccf). >>> = >>> This rule package comes from a large decision table of that is maintain= ed by our business users. This results in a large DRL file being generated = containing 2371 rules. = >>> = >>> Below I have included some of the rules that were referenced in the dat= a structures, I have also attached the generated DRL file. >>> = >>> The exact same file processes in Drools 5 but fails in Drools 6. >>> = >>> 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >>> // rule values at A650, header at A644 >>> rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >>> salience 64886 >>> when >>> p: Position(positionDetail!=3Dnull && positionDetail.valuation = !=3D null && positionDetail.valuation.mtmValue >=3D0) >>> Position(positionDetail.productHierarchy !=3D null && positionD= etail.productHierarchy.rbcProductClass =3D=3D "securities") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >=3DpositionDetail.riskBusinessDate) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >> Position(positionDetail.Valuation!=3D null && positionDetail. V= aluation.ValuationCurrency =3D=3D "USD") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.marketSectorDescription =3D=3D "corp") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not= in ('convertible','covered' ,'jumbo pfandbriefe')) >>> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >>> Position(positionDetail.valuationType in ('Valuation','Both')) >>> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >>> then >>> result.add(classification=3Dnew ActionParametersImpl('BaselineC= lassification')); >>> classification.setBaseline('NCCF'); >>> classification.setLineId("NCCF0100579"); >>> classification.setObject(p); >>> classification.setPositionId(p.getPositionId()); >>> classification.setDataStatus(p.getDataStatus()); >>> classification.setCountry(p.getPositionDetail().getBook().getTr= ansit().getLegalEntityCountry()); >>> classification.setRulePath(ruleHistory.getActivationPath()); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue= ')); >>> a.setValueName( 'Balance'); >>> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency( p.getPositionDetail().getValuation().getValuatio= nCurrency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeB= ucket')); >>> a.setBaselineType( 'MB'); >>> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency(p.getPositionDetail().getValuation().getValuation= Currency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> end >>> = >>> = >>> 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >>> // rule values at A652, header at A644 >>> rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >>> salience 64884 >>> when >>> p: Position(positionDetail!=3Dnull && positionDetail.valuation = !=3D null && positionDetail.valuation.mtmValue >=3D0) >>> Position(positionDetail.productHierarchy !=3D null && positionD= etail.productHierarchy.rbcProductClass =3D=3D "securities") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >> Position(positionDetail.Valuation!=3D null && positionDetail. V= aluation.ValuationCurrency =3D=3D "USD") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.marketSectorDescription =3D=3D "corp") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not= in ('convertible','covered' ,'jumbo pfandbriefe')) >>> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >>> Position(positionDetail.valuationType in ('Valuation','Both')) >>> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >>> then >>> result.add(classification=3Dnew ActionParametersImpl('BaselineC= lassification')); >>> classification.setBaseline('NCCF'); >>> classification.setLineId("NCCF0100581"); >>> classification.setObject(p); >>> classification.setPositionId(p.getPositionId()); >>> classification.setDataStatus(p.getDataStatus()); >>> classification.setCountry(p.getPositionDetail().getBook().getTr= ansit().getLegalEntityCountry()); >>> classification.setRulePath(ruleHistory.getActivationPath()); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue= ')); >>> a.setValueName( 'Balance'); >>> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency( p.getPositionDetail().getValuation().getValuatio= nCurrency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeB= ucket')); >>> a.setBaselineType( 'MB'); >>> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency(p.getPositionDetail().getValuation().getValuation= Currency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> end >>> = >>> = >>> 31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >>> // rule values at A651, header at A644 >>> rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >>> salience 64885 >>> when >>> p: Position(positionDetail!=3Dnull && positionDetail.valuation = !=3D null && positionDetail.valuation.mtmValue >=3D0) >>> Position(positionDetail.productHierarchy !=3D null && positionD= etail.productHierarchy.rbcProductClass =3D=3D "securities") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >> Position(positionDetail.Valuation!=3D null && positionDetail. V= aluation.ValuationCurrency =3D=3D "USD") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.marketSectorDescription =3D=3D "corp") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not= in ('convertible','covered' ,'jumbo pfandbriefe')) >>> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >>> Position(positionDetail.valuationType in ('Valuation','Both')) >>> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >>> then >>> result.add(classification=3Dnew ActionParametersImpl('BaselineC= lassification')); >>> classification.setBaseline('NCCF'); >>> classification.setLineId("NCCF0100581"); >>> classification.setObject(p); >>> classification.setPositionId(p.getPositionId()); >>> classification.setDataStatus(p.getDataStatus()); >>> classification.setCountry(p.getPositionDetail().getBook().getTr= ansit().getLegalEntityCountry()); >>> classification.setRulePath(ruleHistory.getActivationPath()); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue= ')); >>> a.setValueName( 'Balance'); >>> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency( p.getPositionDetail().getValuation().getValuatio= nCurrency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashf= low')); >>> a.setCashflowType( 'SETTLEMENT, Settlement'); >>> a.setList(p.getPositionDetail().getCashFlows()); >>> a.setDefaultDaysToCashFlow (1); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashf= low')); >>> a.setBaselineType( 'CB'); >>> a.setCashflowType( 'Principal, Interest'); >>> a.setList(p.getPositionDetail().getCashFlows()); >>> a.setDefaultDaysToCashFlow (15000); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeB= ucket')); >>> a.setBaselineType( 'MB'); >>> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency(p.getPositionDetail().getValuation().getValuation= Currency()); >>> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate= ()); >>> a.setDefaultDaysToCashFlow (15000); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> end >>> = >>> = >>> 08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >>> // rule values at A954, header at A921 >>> rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >>> salience 64582 >>> when >>> p: Position(positionDetail!=3Dnull && positionDetail.valuation = !=3D null && positionDetail.valuation.mtmValue >=3D0) >>> Position(positionDetail.productHierarchy !=3D null && positionD= etail.productHierarchy.rbcProductClass =3D=3D "securities") >>> Position(positionDetail.valuationType in ('Valuation','Both')) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ','DE','DK','EE','E= S','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT' ,'LU' ,'LV' ,'M= T' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , 'CY' ,'CZ' ,'DE' = , 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'IE' , 'IS' ,'IT' ,'LI' = , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'RO','SE' ,'SI' ,'SK')) >>> Position(positionDetail.Valuation!=3D null && positionDetail. V= aluation.ValuationCurrency =3D=3D "EUR") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.collateralType in ('govt liquid gtd','us govt guarant','u.s. gov= ernment guarantee')) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >=3DpositionDetail.riskBusinessDate+220752000000) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >> Position(positionDetail.valuationType in ('Valuation','Both')) >>> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >>> then >>> result.add(classification=3Dnew ActionParametersImpl('BaselineC= lassification')); >>> classification.setBaseline('NCCF'); >>> classification.setLineId("NCCF0100405"); >>> classification.setObject(p); >>> classification.setPositionId(p.getPositionId()); >>> classification.setDataStatus(p.getDataStatus()); >>> classification.setCountry(p.getPositionDetail().getBook().getTr= ansit().getLegalEntityCountry()); >>> classification.setRulePath(ruleHistory.getActivationPath()); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue= ')); >>> a.setValueName( 'Balance'); >>> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency( p.getPositionDetail().getValuation().getValuatio= nCurrency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashf= low')); >>> a.setCashflowType( 'SETTLEMENT, Settlement'); >>> a.setList(p.getPositionDetail().getCashFlows()); >>> a.setDefaultDaysToCashFlow (1); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashf= low')); >>> a.setBaselineType( 'CB'); >>> a.setCashflowType( 'Principal, Interest'); >>> a.setList(p.getPositionDetail().getCashFlows()); >>> a.setDefaultDaysToCashFlow (15000); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeB= ucket')); >>> a.setBaselineType( 'MB'); >>> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency(p.getPositionDetail().getValuation().getValuation= Currency()); >>> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate= ()); >>> a.setDefaultDaysToCashFlow (15000); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> end >>> = >>> 18cad_lng_sec_iss_prov_over10Y_under35Y_2 >>> // rule values at A152, header at A138 >>> rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >>> salience 65384 >>> when >>> p: Position(positionDetail!=3Dnull && positionDetail.valuation = !=3D null && positionDetail.valuation.mtmValue >=3D0) >>> Position(positionDetail.productHierarchy !=3D null && positionD= etail.productHierarchy.rbcProductClass =3D=3D "securities") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >=3DpositionDetail.riskBusinessDate+315360000000) >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.maturityDate >> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >>> ,'MP','MANPAC','MPTB','ONTW' >>> ,'ONT','ONTB','ONTPAC','Q' >>> ,'QTB','QUEPAC','QW','NBRNS' >>> ,'NS','PRINCE','NF','NFTB')) >>> Position(positionDetail.Valuation!=3D null && positionDetail. V= aluation.ValuationCurrency =3D=3D "CAD") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.issuerIndustry =3D=3D "govt regional") >>> Position(positionDetail.instrument !=3D null && positionDetail.= instrument.marketSectorDescription =3D=3D "govt") >>> Position(positionDetail.valuationType in ('Valuation','Both')) >>> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >>> then >>> result.add(classification=3Dnew ActionParametersImpl('BaselineC= lassification')); >>> classification.setBaseline('NCCF'); >>> classification.setLineId("NCCF0100341"); >>> classification.setObject(p); >>> classification.setPositionId(p.getPositionId()); >>> classification.setDataStatus(p.getDataStatus()); >>> classification.setCountry(p.getPositionDetail().getBook().getTr= ansit().getLegalEntityCountry()); >>> classification.setRulePath(ruleHistory.getActivationPath()); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue= ')); >>> a.setValueName( 'Balance'); >>> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency( p.getPositionDetail().getValuation().getValuatio= nCurrency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeB= ucket')); >>> a.setBaselineType( 'MB'); >>> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >>> a.setCurrency(p.getPositionDetail().getValuation().getValuation= Currency()); >>> a.setNettingType('Security'); >>> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungib= le Short covers Fungible Long'); >>> a.setBucket('Total'); >>> end >>> = >>> = >>> = >>> = >>> = >>> From: Mark Proctor [via Drools] <x-msg://43/= user/SendEmail.jtp?type=3Dnode&node=3D4029078&i=3D0" target=3D"_top= " rel=3D"nofollow" link=3D"external">[hidden email]> >>> To: kellyajp <x-msg://43/user/SendEmail.jtp= ?type=3Dnode&node=3D4029078&i=3D1" target=3D"_top" rel=3D"nofollow"= link=3D"external">[hidden email]> = >>> Sent: Tuesday, 1 April 2014, 14:10 >>> Subject: Re: Possible memory leak in Drools 6.0.1 >>> = >>> any news? >>> = >>> Mark >>> On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: >>> = >>> = >>> = >>> On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: >>> = >>> = >>> I'll get that to you on Monday = >>> = >>> On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp?type=3Dnode&a= mp;amp;node=3D4029027&amp;i=3D0">x-msg://133/user/Send= Email.jtp?type=3Dnode&node=3D4029027&i=3D0" target=3D"_top" rel=3D"= nofollow" link=3D"external">[hidden email]> wrote: >>> = >>> = >>> Are you able to isolate what the FH=E2=80=99s are referencing, Sorry th= at should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. >>>>> that might give us an idea of where to look. If you look RightTuple= =E2=80=99s they will have a =E2=80=98sink' reference (network node) and tha= t sink will have an =E2=80=98associates=E2=80=99 map. That map is the rules= that node is part of. You can use this to identify the offending rule(s), = and maybe paste those rules here? >>>>> = >>>>> Mark >>>>> On 30 Mar 2014, at 09:03, kellyajp <x-msg://133/user/SendEmail.jtp?type=3Dnode&amp;node=3D402= 9026&amp;i=3D0">x-msg://133/user/SendEmail.jtp?type=3D= node&node=3D4029026&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D= "external">[hidden email]> wrote: >>>>> = >>>>>> Thanks >>>>>> = >>>>>> I'll get someone from the team to work on this on Monday. Not sure h= ow easy it will be to isolate but will keep you informed. >>>>>> = >>>>>> Andy >>>>>> On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendE= mail.jtp?type=3Dnode&amp;amp;node=3D4029025&amp;amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node= =3D4029025&amp;i=3D0">x-msg://131/u= ser/SendEmail.jtp?type=3Dnode&amp;node=3D4029025&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029025&= ;i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> = wrote: >>>>>> = >>>>>>> Can you get us a unit test demonstrating this, and we=E2=80=99ll lo= ok into it as a priority. = >>>>>>> = >>>>>>> Mark = >>>>>>> On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3D= node&amp;amp;node=3D4029018&amp;amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;= i=3D0">x-msg://131/user/SendEmail.jtp?t= ype=3Dnode&amp;node=3D4029018&amp;i=3D0">x-msg://1= 31/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D0" target=3D"_= top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: = >>>>>>> = >>>>>>> > We have upgraded from Drools 5 -> Drools 6.01 and when repeating = the = >>>>>>> > processing in each environment we have very different object coun= ts that is = >>>>>>> > causing memory to run out on Drools 6: = >>>>>>> > = >>>>>>> > Below is an extract from a heap dump = >>>>>>> > = >>>>>>> > In Drools 6 the main objects in the heap are = >>>>>>> > 1: 4378006 700480960 org.drools.core.reteoo.RightTupl= e = >>>>>>> > = >>>>>>> > Where as in Drools 5 there are way less objects = >>>>>>> > 92: 19022 1826112 org.drools.reteoo.RightTuple = >>>>>>> > = >>>>>>> > Has anyone else had any experience of this issue? = >>>>>>> > = >>>>>>> > Thanks = >>>>>>> > = >>>>>>> > = >>>>>>> > = >>>>>>> > -- = >>>>>>> > View this message in context: http://drools.46999.n3.nabble.com/P= ossible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>>> > Sent from the Drools: Developer (committer) mailing list mailing = list archive at Nabble.com. = >>>>>>> > _______________________________________________ = >>>>>>> > rules-dev mailing list = >>>>>>> > x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node=3D4029018&= amp;amp;i=3D1">x-msg://131/user/SendEmail.jtp?type= =3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018&am= p;amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;node=3D4029018&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"extern= al">[hidden email] = >>>>>>> > https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>>> _______________________________________________ = >>>>>>> rules-dev mailing list = >>>>>>> x= -msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node=3D4029018&am= p;amp;i=3D2">x-msg://131/user/SendEmail.jtp?type= =3Dnode&amp;node=3D4029018&amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018&am= p;amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;node=3D4029018&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"extern= al">[hidden email] = >>>>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>>> If you reply to this email, your message will be added to the discu= ssion below: >>>>>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-= 0-1-tp4029010p4029018.html >>>>>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click her= e. >>>>>>> NAML >>>>>> = >>>>>> View this message in context: Re: Possible memory leak in Drools 6.0= .1 >>>>>> Sent from the Drools: Developer (committer) mailing list mailing lis= t archive at Nabble.com. >>>>>> _______________________________________________ >>>>>> rules-dev mailing list >>>>>> x-msg://133/user/Send= Email.jtp?type=3Dnode&amp;node=3D4029026&amp;i=3D1">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D1" = target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] >>>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>>> = >>>>> = >>>>> _______________________________________________ = >>>>> rules-dev mailing list = >>>>> x-msg://133/user/Send= Email.jtp?type=3Dnode&amp;node=3D4029026&amp;i=3D2">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D2" = target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] = >>>>> https://lists.jboss.org/mailman/listinfo/rules-dev = >>>>> = >>>>> If you reply to this email, your message will be added to the discuss= ion below: >>>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-= 1-tp4029010p4029026.html >>>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>> NAML >>>> = >>>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>> Sent from the Drools: Developer (committer) mailing list mailing list = archive at Nabble.com. >>>> _______________________________________________ >>>> rules-dev mailing list >>>> [hidden email] >>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>> = >>> = >>> = >>> _______________________________________________ = >>> rules-dev mailing list = >>> [hidden email] = >>> https://lists.jboss.org/mailman/listinfo/rules-dev = >>> = >>> If you reply to this email, your message will be added to the discussio= n below: >>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029052.html >>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>> NAML >>> = >>> = >>> = >>> NCCF_BASELINE.xls.drl (9M) Download Attachment >>> = >>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>> Sent from the Drools: Developer (committer) mailing list mailing list a= rchive at Nabble.com. >>> _______________________________________________ >>> rules-dev mailing list >>> [hidden email] >>> https://lists.jboss.org/mailman/listinfo/rules-dev >> = >> = >> _______________________________________________ = >> rules-dev mailing list = >> [hidden email] = >> https://lists.jboss.org/mailman/listinfo/rules-dev = >> = >> If you reply to this email, your message will be added to the discussion= below: >> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-t= p4029010p4029081.html >> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >> NAML >> = >> = >> = >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >> Sent from the Drools: Developer (committer) mailing list mailing list ar= chive at Nabble.com. >> _______________________________________________ >> rules-dev mailing list >> [hidden email] >> https://lists.jboss.org/mailman/listinfo/rules-dev > = > = > _______________________________________________ = > rules-dev mailing list = > [hidden email] = > https://lists.jboss.org/mailman/listinfo/rules-dev = > = > If you reply to this email, your message will be added to the discussion = below: > http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-tp= 4029010p4029087.html > To unsubscribe from Possible memory leak in Drools 6.0.1, click here. > NAML > = > = > = > View this message in context: Re: Possible memory leak in Drools 6.0.1 > Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. > _______________________________________________ > rules-dev mailing list > rules-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-dev --===============9125660944335896603== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWwgY2hhcnNldD13aW5kb3dzLTEyNTIiPjwvaGVhZD48Ym9keSBzdHlsZT0id29yZC13cmFw OiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVh azogYWZ0ZXItd2hpdGUtc3BhY2U7Ij5JIGRvbpJ0IHRoaW5rIGl0IHdhcyBlbWFpbGVkIG91dCB0 byBldmVyeW9uZSwgdGhlIFJIVCBsaXN0IHNlcnZlciBibG9ja3MgYXR0YWNobWVudHMgb3ZlciBh IGNlcnRhaW4gc2l6ZS48ZGl2Pjxicj48L2Rpdj48ZGl2PkNhbiB5b3Ugc2VuZCBpdCBkaXJlY3Rs eSB0byZuYnNwO01hcmlvIEZ1c2NvICZsdDs8YSBocmVmPSJtYWlsdG86bWFyaW8uZnVzY29AZ21h aWwuY29tIj5tYXJpby5mdXNjb0BnbWFpbC5jb208L2E+Jmd0Oy48L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2Pk1hcms8YnI+PGRpdj48ZGl2Pk9uIDIgQXByIDIwMTQsIGF0IDEzOjQ4LCBrZWxseWFq cCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmtlbGx5YWpwQHlhaG9vLmNvLnVrIj5rZWxseWFqcEB5YWhv by5jby51azwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2Ut bmV3bGluZSI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy aWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs OyBsaW5lLWhlaWdodDogbm9ybWFsOyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFydDsg dGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3Jt YWw7IHdpZG93czogYXV0bzsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IDBweDsiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwg MjU1KTsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZl dGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7 Ij48ZGl2PjxzcGFuPlRoYW5rcyZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNp emU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBI ZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFu PjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGlj YU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRl Jywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6 IG5vcm1hbDsiPjxzcGFuPkkndmUgaGFkIHRvIHJlbW92ZSB0aGUgZW50cmllcyBmcm9tIHRoZSBm b2xsb3dpbmcgbGluaywgcGxlYXNlIGNvdWxkIHlvdSBkbyB0aGUgc2FtZS48L3NwYW4+PC9kaXY+ PGRpdiBzdHlsZT0iZm9udC1zaXplOiA4cHQ7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAn SGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMt c2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7 Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA4cHQ7Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PHNwYW4+PGEgaHJlZj0iaHR0cDov L2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29s cy02LTAtMS10ZDQwMjkwMTAuaHRtbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10ZDQwMjkwMTAuaHRtbDwvYT48 YnI+PC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBI ZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRh IEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyI+PGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyI+PGRpdiBkaXI9 Imx0ciI+PGhyIHNpemU9IjEiPjxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsIj48Yj48c3BhbiBz dHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9IkFw cGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPk1hcmsgUHJvY3RvciBbdmlhIERyb29s c10gJmx0OzxhIGhyZWY9IngtbXNnOi8vNTEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7bm9kZT00MDI5MDg4JmFtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGlu az0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDs8YnI+PGI+PHNwYW4gc3R5bGU9ImZv bnQtd2VpZ2h0OiBib2xkOyI+VG86PC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+a2VsbHlhanAgJmx0OzxhIGhyZWY9IngtbXNnOi8vNTEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7bm9kZT00MDI5MDg4JmFtcDtpPTEiIHRh cmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxd PC9hPiZndDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyPjxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlNlbnQ6PC9zcGFuPjwvYj48 c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+V2VkbmVzZGF5 LCAyIEFwcmlsIDIwMTQsIDEzOjM2PGJyPjxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9s ZDsiPlN1YmplY3Q6PC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxi cj48L2ZvbnQ+PC9kaXY+PGRpdiBjbGFzcz0ieV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0i eWl2ODI5ODAwMjM5NiI+VGhhdCBpcyBhIDNyZCBwYXJ0eSBzZXJ2aWNlLCBub3QgcmVsYXRlZCB0 byBSZWQgSGF0LiBZb3WSbGwgbmVlZCB0byBjb250YWN0IHRoZW0gZGlyZWN0bHkuPGRpdj48YnI+ PC9kaXY+PGRpdj5NYXJrPGJyPjxkaXY+PGRpdj5PbiAyIEFwciAyMDE0LCBhdCAxMjo1OCwga2Vs bHlhanAgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJl eHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xhc3M9Inlp djgyOTgwMDIzOTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSB0eXBlPSJj aXRlIiBzdHlsZT0iYm9yZGVyLWxlZnQtd2lkdGg6IDJweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNv bGlkOyBib3JkZXItbGVmdC1jb2xvcjogcmdiKDIwNCwgMjA0LCAyMDQpOyBwYWRkaW5nOiAwcHgg MWVtOyI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyBm b250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBB cmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPjxkaXY+ PHNwYW4+QWZ0ZXJub29uLDwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7 IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2Es IEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2Pjxk aXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdI ZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1z ZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsi PjxzcGFuPmp1c3Qgc2VlbiB0aGF0IHRoZSBhdHRhY2htZW50IHRoYXQgSSBzZW50IHlvdSBoYXMg YmVlbiBtYWRlIGF2YWlsYWJsZSB2aWEgdGhlIGRyb29scyB1c2VyIGZvcnVtLiBQbGVhc2UgY2Fu IHRoaXMgYmUgcmVtb3ZlZCBBU0FQLiBUaGlzIGlzIGNsaWVudCBpbmZvcm1hdGlvbiB0aGF0IGlz IG5vdCB0byBiZSBtYWRlIHB1YmxpYy48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXpl OiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVs dmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48 L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FO ZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScs IHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBu b3JtYWw7Ij48c3Bhbj5UaGFua3M8L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGlj YSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij48 ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywg SGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDEycHQ7Ij48ZGl2IGRpcj0ibHRyIj48aHIgc2l6ZT0iMSI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0i QXJpYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkZyb206PC9zcGFuPjwv Yj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+TWFyayBQ cm9jdG9yIFt2aWEgRHJvb2xzXSAmbHQ7Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly80Ny91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDg0JmFtcDthbXA7 aT0wIj54LW1zZzovLzQ3L3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2Rl PTQwMjkwODQmYW1wO2FtcDtpPTA8L2E+IiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxp bms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDs8YnI+PGI+PHNwYW4gc3R5bGU9ImZv bnQtd2VpZ2h0OiBib2xkOyI+VG86PC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+a2VsbHlhanAgJmx0OyZsdDthIGhyZWY9IjxhIGhyZWY9 IngtbXNnOi8vNDcvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAy OTA4NCZhbXA7YW1wO2k9MSI+eC1tc2c6Ly80Ny91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDg0JmFtcDthbXA7aT0xPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9 Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7PHNwYW4gY2xh c3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxicj48Yj48c3BhbiBzdHls ZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5TZW50Ojwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9IkFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPldlZG5lc2RheSwgMiBBcHJpbCAyMDE0LCAx Mjo0MTxicj48Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5TdWJqZWN0Ojwvc3Bh bj48L2I+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPlJl OiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8YnI+PC9mb250PjwvZGl2Pjxk aXYgY2xhc3M9InlpdjgyOTgwMDIzOTZ5X21zZ19jb250YWluZXIiPjxicj48ZGl2IGlkPSJ5aXY4 Mjk4MDAyMzk2Ij5ub3Qgc3VyZSB3aHkgdGhpcyB3b3VsZCBoYXZlIGEgbWVtb3J5IGxlYWssIGl0 IGFsbCBsb29rcyBxdWl0ZSBzdHJhaWdodCBmb3J3YXJkIGpvaW5zLjxkaXY+PGJyPjwvZGl2Pjxk aXY+SSBhc3N1bWUgeW91IGFyZSB1c2luZyBzdGF0ZWxlc3Mgc2Vzc2lvbnMgYW5kIGluc2VydGlu ZyBqdXN0IGEgc2luZ2xlIFBvc2l0aW9uIGluc3RhbmNlPyBJcyB0aGVyZSBhIGRpZmZlcmVudCBu dW1iZXIgb2YgUlSScyBhZnRlciBhIHNpbmdsZSBQb3NpdGlvbiBpbnNlcnQ/PC9kaXY+PGRpdj48 YnI+PC9kaXY+PGRpdj5BIHNtYWxsIHRpcCwgeW91IGRvbpJ0IG5lZWQgc28gbWFueSBwYXR0ZXJu cy4gQWxsIHRob3NlIGNvbnN0cmFpbnRzIGNhbiBnbyBpbiBhIHNpbmdsZSBQYXR0ZXJuLiZuYnNw OzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TWFyazxicj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxi cj48ZGl2PjxkaXY+T24gMiBBcHIgMjAxNCwgYXQgMTE6MjAsIGtlbGx5YWpwICZsdDs8YSByZWw9 Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4g ZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUt aW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgc3R5bGU9ImJvcmRl ci1sZWZ0LXdpZHRoOiAycHg7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLWxlZnQt Y29sb3I6IHJnYigyMDQsIDIwNCwgMjA0KTsgcGFkZGluZzogMHB4IDFlbTsiPjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgZm9udC1mYW1pbHk6IEhlbHZl dGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3Jh bmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij48ZGl2PjxzcGFuPk1vcm5pbmcgTWFy ayw8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTog SGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lk YSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9u dC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250 LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUn LCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGF0IHdh cyBhIHVzZWZ1bCBleGVyY2lzZSEhLCBmcm9tIGEgc2FtcGxlZCBzZXQgaXQgbG9va3MgbGlrZSB0 aGUgUmlnaHRUdXBsZSBpbnN0YW5jZXMgYXJlIGNvbWluZyBmcm9tIGEgc2luZ2xlIHJ1bGUgcGFj a2FnZSAobmNjZikuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9u dC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJp YWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBz dHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZl dGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlm OyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNw YW4+VGhpcyBydWxlIHBhY2thZ2UgY29tZXMgZnJvbSBhIGxhcmdlIGRlY2lzaW9uIHRhYmxlIG9m IHRoYXQgaXMgbWFpbnRhaW5lZCBieSBvdXIgYnVzaW5lc3MgdXNlcnMuIFRoaXMgcmVzdWx0cyBp biBhIGxhcmdlIERSTCBmaWxlIGJlaW5nIGdlbmVyYXRlZCBjb250YWluaW5nIDIzNzEgcnVsZXMu Jm5ic3A7PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1p bHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdM dWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0i Zm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBO ZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+QmVs b3cgSSBoYXZlIGluY2x1ZGVkIHNvbWUgb2YgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZWZlcmVuY2Vk IGluIHRoZSBkYXRhIHN0cnVjdHVyZXMsIEkgaGF2ZSBhbHNvIGF0dGFjaGVkIHRoZSBnZW5lcmF0 ZWQgRFJMIGZpbGUuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9u dC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJp YWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBz dHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZl dGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlm OyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNw YW4+VGhlIGV4YWN0IHNhbWUgZmlsZSBwcm9jZXNzZXMgaW4gRHJvb2xzIDUgYnV0IGZhaWxzIGlu IERyb29scyA2Ljwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQt ZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFs LCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2Ny X2JiYl91c2Rfb3ZlcjB5X3VuZGVyNXlfMjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MCwgaGVhZGVyIGF0IEE2NDQ8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPnJ1bGUgIjMx dXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzIiPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGll bmNlIDY0ODg2PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3Np dGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBu dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFy Y2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJi Y1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVz aW5lc3NEYXRlKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0 dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzE1NzY4MDAwMDAw MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24h PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJy ZW5jeSA9PSAiVVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScsJ2Nv dmVyZWQnICwnanVtYm8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFs dWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1w bCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZp Y2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA1NzkiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRp b24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWls KCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0 QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRk KGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRt VmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUg U2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNr ZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVh dGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3ko cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3Zl cnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3Zl cjB5X3VuZGVyMTB5XzI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE2NTIsIGhlYWRlciBhdCBBNjQ0PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij5ydWxlICIzMXVzZF9sbmdfY29y cF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIxMHlfMiI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjQ4ODQ8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWls IT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENs YXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUr MTU3NjgwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWls Lmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQu bWF0dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAw MDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRp b24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25D dXJyZW5jeSA9PSAiVVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScs J2NvdmVyZWQnICwnanVtYm8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgn VmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJz SW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA1ODEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0 YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3Rvcnku Z2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u YWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0 TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2li bGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVC dWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZh bHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVu Y3kocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJl bmN5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBj b3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcn KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rf b3ZlcjV5X3VuZGVyMTB5XzE8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE2NTEsIGhlYWRlciBhdCBBNjQ0PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij5ydWxlICIzMXVzZF9sbmdf Y29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIxMHlfMSI8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjQ4 ODU8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFt cDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVj dENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0Rh dGUrMTU3NjgwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQubWF0dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2 MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1 YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRp b25DdXJyZW5jeSA9PSAiVVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7 IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJs ZScsJ2NvdmVyZWQnICwnanVtYm8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGlu ICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0 ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA1ODEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3Rv cnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRp b24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCku Z2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQ b3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVu Z2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNh c2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnU0VUVExF TUVOVCwgU2V0dGxlbWVudCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdldFBv c2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93Jykp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnQ0InKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1ByaW5jaXBhbCwgSW50ZXJlc3QnKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hG bG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdyAo MTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rp b25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRW YWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWlsKCku Z2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRJbnN0cnVtZW50KCkuZ2V0TWF0 dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hG bG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJp dHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBM b25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUg TG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4wOGV1cl9sYV9sbmdfcXVhbF9ta3Rfc2Vj X2FnbmN5X2RidF83eV9VbmRlcl8xMFlfNTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTk1NCwgaGVhZGVyIGF0IEE5MjE8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPnJ1bGUgIjA4 ZXVyX2xhX2xuZ19xdWFsX210a19zZWNfYWduY3lfZGJ0XzdZX3VuZGVyXzEwWV81IjwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBz YWxpZW5jZSA2NDU4MjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24o cG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24g IT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7 PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhp ZXJhcmNoeSAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNo eS5yYmNQcm9kdWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBv c2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3Ro JykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVu dCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb3VudHJ5T2ZE b21pY2lsZSBpbiAoJ0FUJywnQkUnLCdCRycsJ0NZJywnQ1onLCdERScsJ0RLJywnRUUnLCdFUycs J0ZJJywnRlInICwnR0InLCdHUicgLCdIVScgLCdJRScgLCdJUycgLCdJVCcgLCdMSScgLCdMVCcg LCdMVScgLCdMVicgLCdNVCcgLCdOTCcgLCdOTycgLCdQTCcgLCdQVCcgLCdSTycgLCdTRScgLCdT SScgLCdTSycpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY291 bnRyeU9mSW5jb3Jwb3JhdGlvbiBpbiAoJ0FUJyAsJ0JFJyAsJ0JHJyAsICdDWScgLCdDWicgLCdE RScgJm5ic3A7LCAnREsnICwnRUUnICwnRVMnLCAnRkknICwnRlInICwnR0InICwgJ0dSJyAsJ0hV JyAsJ0lFJyAsICdJUycgLCdJVCcgLCdMSScgLCAnTFQnICwnTFUnICwnTFYnICwgJ01UJyAsJ05M JyAsJ05PJyAsICdQTCcgLCdQVCcgLCdSTycsJ1NFJyAsJ1NJJyAsJ1NLJykpPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZh bXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIkVVUiIp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb2xsYXRlcmFsVHlw ZSBpbiAoJ2dvdnQgbGlxdWlkIGd0ZCcsJ3VzIGdvdnQgZ3VhcmFudCcsJ3Uucy4gZ292ZXJubWVu dCBndWFyYW50ZWUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMjIwNzUy MDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJp dHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBl IGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJh bWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA0MDUiKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xh c3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnko KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhp c3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9u KCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5n ZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMg RnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGlu ZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnU0VU VExFTUVOVCwgU2V0dGxlbWVudCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdl dFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93 JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnQ0InKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1ByaW5jaXBhbCwgSW50ZXJlc3QnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENh c2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxv dyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBB Y3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5z ZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWls KCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRJbnN0cnVtZW50KCkuZ2V0 TWF0dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nh c2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2Vj dXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJs ZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2li bGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4xOGNhZF9sbmdfc2VjX2lzc19w cm92X292ZXIxMFlfdW5kZXIzNVlfMjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTE1MiwgaGVhZGVyIGF0IEExMzg8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPnJ1bGUgIjE4Y2Fk X2xuZ19zZWNfaXNzX3Byb3Zfb3ZlcjEweV91bmRlcjM1eV8yIjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NTM4 NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRpb25EZXRh aWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeSAhPSBu dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5yYmNQcm9kdWN0 Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0 ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVu dC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTEwMzc2 MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lmlzc3Vl clRpY2tlciBpbiAoJ0JSQ09MJywnQmNwSVBCJywnQUxUQScsJ1NDREEnPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4sJ01QJywnTUFOUEFDJywnTVBUQics J09OVFcnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4s J09OVCcsJ09OVEInLCdPTlRQQUMnLCdRJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyI+LCdRVEInLCdRVUVQQUMnLCdRVycsJ05CUk5TJzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+LCdOUycsJ1BSSU5DRScsJ05G JywnTkZUQicpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZh bHVhdGlvbiE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVh dGlvbkN1cnJlbmN5ID09ICJDQUQiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQuaXNzdWVySW5kdXN0cnkgPT0gImdvdnQgcmVnaW9uYWwiKTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZh bXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWFya2V0U2VjdG9yRGVzY3JpcHRpb24gPT0g ImdvdnQiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVh dGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg dGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFj dGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDM0MSIpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0 YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAu Z2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5 Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0 aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZh bHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRW YWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJl bmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3Vy cmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHkn KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25n IGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9u ZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgg J0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5l VHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0 VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlw ZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdG dW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMg RnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyI+ZW5kPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48c3Bhbj48L3NwYW4+PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2 ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJp ZjsgZm9udC1zaXplOiA4cHQ7Ij48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1 ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7Ij48ZGl2IGRpcj0ibHRyIj48aHIgc2l6ZT0iMSI+ PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog Ym9sZDsiPkZyb206PC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+TWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSAmbHQ7Jmx0O2EgaHJlZj0i Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly80My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vNDMv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwNzgmYW1w O2FtcDthbXA7aT0wPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly80My91c2VyL1NlbmRFbWFpbC5q dHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDc4JmFtcDthbXA7aT0wIj54LW1zZzovLzQz L3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwNzgmYW1wO2Ft cDtpPTA8L2E+IiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZn dDtbaGlkZGVuIGVtYWlsXSZndDs8YnI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xk OyI+VG86PC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+a2VsbHlhanAgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9Ingt bXNnOi8vNDMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQw MjkwNzgmYW1wO2FtcDthbXA7aT0xIj54LW1zZzovLzQzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDc4JmFtcDthbXA7YW1wO2k9MTwvYT4iJmd0Ozxh IGhyZWY9IngtbXNnOi8vNDMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25v ZGU9NDAyOTA3OCZhbXA7YW1wO2k9MSI+eC1tc2c6Ly80My91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDc4JmFtcDthbXA7aT0xPC9hPiIgdGFyZ2V0PSJfdG9w IiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7PHNw YW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxicj48Yj48c3Bh biBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5TZW50Ojwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9 IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPlR1ZXNkYXksIDEgQXByaWwgMjAx NCwgMTQ6MTA8YnI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+U3ViamVjdDo8 L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPjwvZm9udD48L2Rp dj48ZGl2IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2eV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0i eWl2ODI5ODAwMjM5NiI+PGRpdj5hbnkgbmV3cz88ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+ PGRpdj5NYXJrPGJyIGNsZWFyPSJub25lIj48ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEz OjM4LCBNYXJrIFByb2N0b3IgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVm PSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsg d3JvdGU6PC9kaXY+PGJyIGNsZWFyPSJub25lIiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWlu dGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIHN0eWxlPSJib3JkZXIt bGVmdC13aWR0aDogMnB4OyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LWNv bG9yOiByZ2IoMjA0LCAyMDQsIDIwNCk7IHBhZGRpbmc6IDBweCAxZW07Ij48L2Jsb2NrcXVvdGU+ PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj48ZGl2IHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7 Ij48YnIgY2xlYXI9Im5vbmUiPjxkaXY+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMTM6MjYsIGtl bGx5YWpwICZsdDs8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9 Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjwvZGl2 PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1pbnRlcmNoYW5nZS1u ZXdsaW5lIj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBzdHlsZT0iYm9yZGVyLWxlZnQtd2lkdGg6 IDJweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItbGVmdC1jb2xvcjogcmdiKDIw NCwgMjA0LCAyMDQpOyBwYWRkaW5nOiAwcHggMWVtOyI+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2 PjwvZGl2PjxkaXY+PGRpdj5JJ2xsIGdldCB0aGF0IHRvIHlvdSBvbiBNb25kYXkmbmJzcDs8L2Rp dj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+T24gMzAgTWFyIDIwMTQsIGF0IDEyOjU5LCAiTWFyayBQ cm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhy ZWY9IjxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEz My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkw MjcmYW1wO2FtcDthbXA7YW1wO2k9MDwvYT4iJmd0OzxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI3JmFtcDthbXA7 YW1wO2k9MCI+eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7Jmx0O2EgaHJlZj0iPGEg aHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2Ft cDtub2RlPTQwMjkwMjcmYW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2FtcDtpPTA8 L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDI3JmFtcDthbXA7aT0wIj54LW1zZzovLzEzMy91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI3JmFtcDthbXA7aT0wPC9hPiIg dGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBl bWFpbF0mZ3Q7IHdyb3RlOjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48 YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBzdHlsZT0iYm9yZGVyLWxlZnQtd2lkdGg6IDJweDsgYm9y ZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItbGVmdC1jb2xvcjogcmdiKDIwNCwgMjA0LCAy MDQpOyBwYWRkaW5nOiAwcHggMWVtOyI+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+QXJlIHlvdSBh YmxlIHRvIGlzb2xhdGUgd2hhdCB0aGUgRkiScyBhcmUgcmVmZXJlbmNpbmcsIFNvcnJ5IHRoYXQg c2hvdWxkIGJlIFJULCBub3QgRkguIFJUID09IFJpZ2h0VHVwbGUsIEZIID09IEZhY3RIYW5kbGUu PGJyIGNsZWFyPSJub25lIj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBzdHlsZT0iYm9yZGVyLWxl ZnQtd2lkdGg6IDJweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItbGVmdC1jb2xv cjogcmdiKDIwNCwgMjA0LCAyMDQpOyBwYWRkaW5nOiAwcHggMWVtOyI+PGJsb2NrcXVvdGUgdHlw ZT0iY2l0ZSIgc3R5bGU9ImJvcmRlci1sZWZ0LXdpZHRoOiAycHg7IGJvcmRlci1sZWZ0LXN0eWxl OiBzb2xpZDsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYigyMDQsIDIwNCwgMjA0KTsgcGFkZGluZzog MHB4IDFlbTsiPnRoYXQgbWlnaHQgZ2l2ZSB1cyBhbiBpZGVhIG9mIHdoZXJlIHRvIGxvb2suIElm IHlvdSBsb29rIFJpZ2h0VHVwbGWScyB0aGV5IHdpbGwgaGF2ZSBhIJFzaW5rJyByZWZlcmVuY2Ug KG5ldHdvcmsgbm9kZSkgYW5kIHRoYXQgc2luayB3aWxsIGhhdmUgYW4gkWFzc29jaWF0ZXOSIG1h cC4gVGhhdCBtYXAgaXMgdGhlIHJ1bGVzIHRoYXQgbm9kZSBpcyBwYXJ0IG9mLiBZb3UgY2FuIHVz ZSB0aGlzIHRvIGlkZW50aWZ5IHRoZSBvZmZlbmRpbmcgcnVsZShzKSwgYW5kIG1heWJlIHBhc3Rl IHRob3NlIHJ1bGVzIGhlcmU/PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+TWFyazxi ciBjbGVhcj0ibm9uZSI+PGRpdj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAwOTowMywga2VsbHlh anAgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9IngtbXNn Oi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9 NDAyOTAyNiZhbXA7YW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5q dHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7YW1w O2k9MDwvYT4iJmd0OzxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MCI+eC1tc2c6Ly8x MzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYm YW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzMv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1w O2FtcDthbXA7aT0wIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVmPSJ4 LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5 MDI2JmFtcDthbXA7aT0wIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0wPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9 Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjwv ZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1pbnRlcmNoYW5n ZS1uZXdsaW5lIj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBzdHlsZT0iYm9yZGVyLWxlZnQtd2lk dGg6IDJweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItbGVmdC1jb2xvcjogcmdi KDIwNCwgMjA0LCAyMDQpOyBwYWRkaW5nOiAwcHggMWVtOyI+PGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt dmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9y bWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9y bTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7Ij48ZGl2PlRo YW5rczwvZGl2PjxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2PkknbGwgZ2V0IHNvbWVv bmUgZnJvbSB0aGUgdGVhbSB0byB3b3JrIG9uIHRoaXMgb24gTW9uZGF5LiBOb3Qgc3VyZSBob3cg ZWFzeSBpdCB3aWxsIGJlIHRvIGlzb2xhdGUgYnV0IHdpbGwga2VlcCB5b3UgaW5mb3JtZWQuPC9k aXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+QW5keTxiciBjbGVhcj0ibm9uZSI+ T24gMjggTWFyIDIwMTQsIGF0IDIzOjUyLCAiTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0 OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9 IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1w O2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkw MjUmYW1wO2FtcDthbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUm YW1wO2FtcDthbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2FtcDtpPTA8L2E+ IiZndDsmbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/ dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7YW1wO2k9 MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDth bXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVmPSJ4LW1z ZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAy OTAyNSZhbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9MDwvYT4iJmd0OyZs dDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDth bXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7 YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7YW1wO2k9MDwvYT4iJmd0OzxhIGhyZWY9 IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9k ZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7aT0wPC9hPiIm Z3Q7Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7aT0wIj54LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAy NSZhbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7aT0wIj54LW1z ZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI1 JmFtcDthbXA7aT0wPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRl cm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxiciBjbGVhcj0ibm9uZSI+PGJyIGNs ZWFyPSJub25lIj48L2Rpdj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBzdHlsZT0iYm9yZGVyLWxl ZnQtd2lkdGg6IDJweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItbGVmdC1jb2xv cjogcmdiKDIwNCwgMjA0LCAyMDQpOyBwYWRkaW5nOiAwcHggMWVtOyI+Q2FuIHlvdSBnZXQgdXMg YSB1bml0IHRlc3QgZGVtb25zdHJhdGluZyB0aGlzLCBhbmQgd2WSbGwgbG9vayBpbnRvIGl0IGFz IGEgcHJpb3JpdHkuPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+TWFyazxz cGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3Nw YW4+PGJyIGNsZWFyPSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQgMTU6NDAsIGtlbGx5YWpwICZs dDsmbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSI8YSBocmVm PSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2Ft cDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMS91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5 MDE4JmFtcDthbXA7YW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4 JmFtcDthbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0wPC9h PiImZ3Q7Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtp PTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7 YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7PGEgaHJlZj0ieC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQw MjkwMTgmYW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTA8L2E+IiZndDsm bHQ7YSBocmVmPSImbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7 YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVm PSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25v ZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MDwvYT4i Jmd0OyZsdDthIGhyZWY9IjxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MCI+eC1tc2c6 Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkw MTgmYW1wO2FtcDthbXA7aT0wPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MCI+eC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2k9MDwvYT4iIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0 ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8c3BhbiBjbGFzcz0ieWl2ODI5ODAw MjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+ PGRpdiBjbGFzcz0ieWl2ODI5ODAwMjM5NnNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9Inlp djgyOTgwMDIzOTZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2c2hy aW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2ODI5ODAwMjM5NnNocmlua2FibGUtcXVvdGUi PjxkaXYgY2xhc3M9InlpdjgyOTgwMDIzOTZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5 aXY4Mjk4MDAyMzk2c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2ODI5ODAwMjM5NnNo cmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjgyOTgwMDIzOTZzaHJpbmthYmxlLXF1b3Rl Ij48ZGl2IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0i c2hyaW5rYWJsZS1xdW90ZSI+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFdlIGhhdmUgdXBncmFkZWQg ZnJvbSBEcm9vbHMgNSAtJmd0OyBEcm9vbHMgNi4wMSBhbmQgd2hlbiByZXBlYXRpbmcgdGhlPHNw YW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDsgcHJvY2Vzc2luZyBpbiBlYWNoIGVudmlyb25tZW50IHdl IGhhdmUgdmVyeSBkaWZmZXJlbnQgb2JqZWN0IGNvdW50cyB0aGF0IGlzPHNwYW4gY2xhc3M9Inlp djgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9 Im5vbmUiPiZndDsgY2F1c2luZyBtZW1vcnkgdG8gcnVuIG91dCBvbiBEcm9vbHMgNjo8c3BhbiBj bGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxi ciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVy dGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEJlbG93IGlzIGFu IGV4dHJhY3QgZnJvbSBhIGhlYXAgZHVtcDxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4g Y2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDsgSW4gRHJvb2xzIDYgdGhlIG1haW4gb2JqZWN0cyBpbiB0aGUg aGVhcCBhcmU8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyAxOiAmbmJzcDsgJm5ic3A7ICZuYnNw OyA0Mzc4MDA2ICZuYnNwOyAmbmJzcDsgJm5ic3A7NzAwNDgwOTYwICZuYnNwO29yZy5kcm9vbHMu Y29yZS5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xh c3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIg Y2xlYXI9Im5vbmUiPiZndDsgV2hlcmUgYXMgaW4gRHJvb2xzIDUgdGhlcmUgYXJlIHdheSBsZXNz IG9iamVjdHM8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyA5MjogJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IDE5MDIyICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzE4MjYxMTIgJm5ic3A7 b3JnLmRyb29scy5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNw YW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDsgSGFzIGFueW9uZSBlbHNlIGhhZCBhbnkgZXhwZXJpZW5j ZSBvZiB0aGlzIGlzc3VlPzxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlp djgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9 Im5vbmUiPiZndDsgVGhhbmtzPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0i eWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVh cj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlpdjgy OTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5v bmUiPiZndDsgLS08c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBWaWV3IHRoaXMgbWVzc2FnZSBp biBjb250ZXh0OjxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2Js YW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVt b3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMC5odG1sIiBsaW5rPSJleHRlcm5hbCI+ aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWlu LURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbDwvYT48YnIgY2xlYXI9Im5vbmUiPiZndDsgU2Vu dCBmcm9tIHRoZSBEcm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFp bGluZyBsaXN0IGFyY2hpdmUgYXQ8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0 YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+ TmFiYmxlLmNvbTwvYT4uPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5 NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0 OyBydWxlcy1kZXYgbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBj bGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPiZs dDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO2Ft cDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2FtcDtpPTEiPngtbXNnOi8vMTMxL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgm YW1wO2FtcDthbXA7YW1wO2FtcDtpPTE8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2Vy L1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1w O2FtcDthbXA7YW1wO2k9MSI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTE8L2E+IiZn dDsmbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MSI+ eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7 bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTE8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2FtcDtpPTEiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5v ZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MTwvYT4iJmd0OyZsdDth IGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7 aT0xIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1w O2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MTwvYT4iJmd0OzxhIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDE4JmFtcDthbXA7YW1wO2k9MSI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xPC9hPiImZ3Q7 Jmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIj54LW1zZzovLzEz MS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZh bXA7YW1wO2FtcDtpPTE8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0xIj54LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFt cDthbXA7aT0xPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5h bCImZ3Q7W2hpZGRlbiBlbWFpbF08c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNz PSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVs PSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwi Pmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwv ZGl2PjwvZGl2PjwvZGl2Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48L2Rpdj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9Inlpdjgy OTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj4mbHQ7YSBo cmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDthbXA7bm9k ZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDthbXA7aT0yIj54LW1zZzovLzEzMS91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDth bXA7YW1wO2FtcDthbXA7aT0yPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7 YW1wO2FtcDtpPTIiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0yPC9hPiImZ3Q7Jmx0 O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTIiPngtbXNn Oi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9 NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0yPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1w O2FtcDthbXA7aT0yIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTI8L2E+IiZndDsmbHQ7YSBocmVm PSImbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MiI+ eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7 bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTI8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAx OCZhbXA7YW1wO2FtcDtpPTIiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5v ZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MjwvYT4iJmd0OyZsdDth IGhyZWY9IjxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MiI+eC1tc2c6Ly8xMzEvdXNl ci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2Ft cDthbXA7aT0yPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MiI+eC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1w O2k9MjwvYT4iIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0 O1toaWRkZW4gZW1haWxdPHNwYW4gY2xhc3M9InlpdjgyOTgwMDIzOTZBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg dGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlz dGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PGhyIG5vc2hh ZGU9IiIgc2l6ZT0iMSI+PGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1z dHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsg Zm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21h LCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij48ZGl2IHN0eWxlPSJmb250 LXdlaWdodDogYm9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ug d2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj48YSByZWw9Im5vZm9s bG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5 OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0 MDI5MDEwcDQwMjkwMTguaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5 MDEwcDQwMjkwMTguaHRtbDwvYT48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAy LCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdl aWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2 YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUt aGVpZ2h0OiAxLjVlbTsiPlRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsg aW4gRHJvb2xzIDYuMC4xLDxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9 IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4uPC9kaXY+PGEg cmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8v ZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3Jv PW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZh bXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3 LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5v ZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUz QWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5z dGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIGxpbms9ImV4dGVybmFsIiBzdHlsZT0i Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5v cm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBz ZXJpZjsiPk5BTUw8L2E+PC9kaXY+PC9ibG9ja3F1b3RlPjxiciBjbGVhcj0ibm9uZSI+PGhyIGFs aWduPSJsZWZ0IiB3aWR0aD0iMzAwIj5WaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OjxzcGFu IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRw Oi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJv b2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI1Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9z c2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+U2Vu dCBmcm9tIHRoZTxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2Js YW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVs b3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+ RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBh cmNoaXZlPC9hPjxzcGFuIGNsYXNzPSJ5aXY4Mjk4MDAyMzk2QXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+YXQ8c3BhbiBjbGFzcz0ieWl2ODI5ODAwMjM5NkFwcGxlLWNvbnZlcnRl ZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJn ZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFi YmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25lIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXzxiciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlz dDxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iPGEg aHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2Ft cDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2FtcDtpPTEiPngtbXNnOi8vMTMzL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7 YW1wO2FtcDthbXA7aT0xPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1h aWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0x Ij54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25v ZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTE8L2E+IiZndDsmbHQ7YSBocmVmPSI8YSBocmVmPSJ4 LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9 NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTEiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MTwvYT4iJmd0 OzxhIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTEiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTE8L2E+IiB0YXJnZXQ9 Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxi ciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2Js YW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVz LWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlz dGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnIgY2xlYXI9Im5v bmUiPjwvZGl2PjxiciBjbGVhcj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PHNwYW4gY2xh c3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+ Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzMv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDI2 JmFtcDthbXA7YW1wO2FtcDtpPTIiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDthbXA7aT0yPC9h PiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0yIj54LW1zZzovLzEzMy91c2Vy L1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1w O2FtcDtpPTI8L2E+IiZndDsmbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1Nl bmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2Ft cDtpPTIiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDth bXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MjwvYT4iJmd0OzxhIGhyZWY9IngtbXNnOi8v MTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjYmYW1w O2FtcDtpPTIiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTI8L2E+IiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xs b3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxzcGFuIGNsYXNzPSJBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9m b2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5q Ym9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRw czovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48c3BhbiBj bGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25l Ij48YnIgY2xlYXI9Im5vbmUiPjxociBub3NoYWRlPSIiIHNpemU9IjEiPjxkaXYgc3R5bGU9ImNv bG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBu b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6 IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBz YW5zLXNlcmlmOyI+PGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5JZiB5b3UgcmVwbHkg dG8gdGhpcyBlbWFpbCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRpc2N1c3Np b24gYmVsb3c6PC9kaXY+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2Js YW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVt b3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI2Lmh0bWwiIGxpbms9ImV4 dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5 LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI2Lmh0bWw8L2E+PC9kaXY+PGRp diBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4 OyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2Vy aWY7IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij5UbyB1bnN1YnNjcmli ZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSw8c3BhbiBjbGFzcz0i QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVy ZTwvYT4uPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFy Z2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1w bGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0 bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMu QmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1u YWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90 aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5h YmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFt bCIgbGluaz0iZXh0ZXJuYWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFu dDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWln aHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHNlcmlmOyI+TkFNTDwvYT48L2Rpdj48L2Jsb2NrcXVv dGU+PGJyIGNsZWFyPSJub25lIj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPlZpZXcgdGhp cyBtZXNzYWdlIGluIGNvbnRleHQ6PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFu ayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9y eS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNy5odG1sIiBsaW5rPSJleHRl cm5hbCI+UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnIgY2xl YXI9Im5vbmUiPlNlbnQgZnJvbSB0aGU8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNl Ij4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2Js YW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVs b3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+ RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBh cmNoaXZlPC9hPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj5hdDxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSBy ZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9u YWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxiciBjbGVhcj0ibm9u ZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnIgY2xl YXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0i bm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJu YWwiPltoaWRkZW4gZW1haWxdPC9hPjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIg c2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlz dHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxvY2txdW90ZT48 YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxzcGFuIGNsYXNzPSJBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRl diBtYWlsaW5nIGxpc3Q8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+PGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJl Zj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT48c3Bh biBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5r PSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxl cy1kZXY8L2E+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFu PjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48aHIgbm9zaGFkZT0iIiBzaXplPSIx Ij48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBmb250LXN0eWxlOiBub3JtYWw7 IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEy cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPjxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xk OyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVk IHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJy ZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUu Y29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA1 Mi5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29t L1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA1Mi5o dG1sPC9hPjwvZGl2PjxkaXYgY2xhc3M9InlpdjgyOTgwMDIzOTZ5cXQxMTk0MTUxNTUwIiBpZD0i eWl2ODI5ODAwMjM5NnlxdGZkOTQwNTAiPjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTAyLCAxMDIs IDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2Vp Z2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZh LCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRlbTsgbGluZS1o ZWlnaHQ6IDEuNWVtOyI+VG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJsZSBtZW1vcnkgbGVhayBp biBEcm9vbHMgNi4wLjEsPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3Rv cCIgbGluaz0iZXh0ZXJuYWwiPmNsaWNrIGhlcmU8L2E+LjxiciBjbGVhcj0ibm9uZSI+PGEgcmVs PSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJv b2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1h Y3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7 YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3Lndl Yi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVO YW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVt YWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFu dF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIGxpbms9ImV4dGVybmFsIiBzdHlsZT0iZm9u dC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1h bDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJp ZjsiPk5BTUw8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGJyPjxicj48L2Rpdj48L2Rpdj48 L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ5aXY4Mjk4MDAyMzk2c21hbGwiPjxicj48aW1nPjxzcGFu IGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48Yj5OQ0NGX0JBU0VM SU5FLnhscy5kcmw8L2I+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPig5TSk8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3Nw YW4+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMu NDY5OTkubjMubmFiYmxlLmNvbS9hdHRhY2htZW50LzQwMjkwNzgvMC9OQ0NGX0JBU0VMSU5FLnhs cy5kcmwiIGxpbms9ImV4dGVybmFsIj5Eb3dubG9hZCBBdHRhY2htZW50PC9hPjwvZGl2Pjxicj48 aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPlZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6 PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0i bm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5h YmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0 MDI5MDc4Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4g RHJvb2xzIDYuMC4xPC9hPjxicj5TZW50IGZyb20gdGhlPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5r IiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Bl ci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJv b2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNo aXZlPC9hPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj5h dDxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9 Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5r PSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fPGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnI+PGEgcmVs PSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVu IGVtYWlsXTwvYT48YnI+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJl eHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1k ZXY8L2E+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj48YnI+X19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0iQXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8c3Bh biBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPjxhIHJlbD0i bm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBl bWFpbF08L2E+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFu Pjxicj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0 cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5o dHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48c3Bh biBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPjxicj48aHIg bm9zaGFkZT0iIiBzaXplPSIxIj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y bWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0 YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPjxkaXYgc3R5bGU9 ImZvbnQtd2VpZ2h0OiBib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVz c2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PjxhIHJlbD0i bm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5h YmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0 MDI5MDgxLmh0bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJs ZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5 MDgxLmh0bWw8L2E+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5v cm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZl dGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDog MS41ZW07Ij5UbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29s cyA2LjAuMSw8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5j bGljayBoZXJlPC9hPi48YnI+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5q dHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFp bC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFi YmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVt cGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIx bmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwt c2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIgbGluaz0iZXh0ZXJuYWwi IHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdl aWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1m YW1pbHk6IHNlcmlmOyI+TkFNTDwvYT48L2Rpdj48L2Rpdj48YnI+PGJyPjwvZGl2PjwvZGl2Pjwv ZGl2PjwvZGl2Pjxicj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPlZpZXcgdGhpcyBtZXNz YWdlIGluIGNvbnRleHQ6PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJv b2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYt MC0xLXRwNDAyOTAxMHA0MDI5MDg0Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxicj5TZW50IGZyb20gdGhlPHNwYW4gY2xh c3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ci IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v RHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5r PSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1h aWxpbmcgbGlzdCBhcmNoaXZlPC9hPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj5hdDxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNw Ozwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25h YmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyPl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPnJ1bGVzLWRldiBtYWlsaW5n IGxpc3Q8YnI+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4 dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT48YnI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9k aXY+PGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHNw YW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxicj5ydWxlcy1k ZXYgbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxicj48YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0i ZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2 IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9ydWxlcy1kZXY8L2E+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxicj48YnI+PGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSI+PGRpdiBzdHlsZT0iY29sb3I6 IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1h bDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9y bWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMt c2VyaWY7Ij48ZGl2IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPklmIHlvdSByZXBseSB0byB0 aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBi ZWxvdzo8L2Rpdj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDov L2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29s cy02LTAtMS10cDQwMjkwMTBwNDAyOTA4Ny5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ry b29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02 LTAtMS10cDQwMjkwMTBwNDAyOTA4Ny5odG1sPC9hPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiBy Z2IoMTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3Jt YWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IHRh aG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAw LjRlbTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+VG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJsZSBt ZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVm PSIiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnI+PGEgcmVsPSJub2ZvbGxvdyIg dGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90 ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50 X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFj ZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFj ZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9 bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUy MW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwu bmFtbCIgbGluaz0iZXh0ZXJuYWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy aWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1o ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHNlcmlmOyI+TkFNTDwvYT48L2Rpdj48L2Rpdj48 YnI+PGJyPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjxicj48aHIgYWxpZ249ImxlZnQiIHdpZHRo PSIzMDAiPlZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6PHNwYW4gY2xhc3M9IkFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5 MDEwcDQwMjkwODguaHRtbCI+UmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAu MTwvYT48YnI+U2VudCBmcm9tIHRoZTxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v RHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIj5Ecm9v bHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hp dmU8L2E+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPmF0 IDxhIGhyZWY9Imh0dHA6Ly9OYWJibGUuY29tIj5OYWJibGUuY29tPC9hPi48YnI+X19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+cnVsZXMtZGV2IG1haWxp bmcgbGlzdDxicj48YSBocmVmPSJtYWlsdG86cnVsZXMtZGV2QGxpc3RzLmpib3NzLm9yZyI+cnVs ZXMtZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2 PjwvYm9keT48L2h0bWw+ --===============9125660944335896603==-- From Joe.White at recondotech.com Fri Apr 4 11:57:05 2014 Content-Type: multipart/mixed; boundary="===============3697348672294594086==" MIME-Version: 1.0 From: Joe White To: rules-dev at lists.jboss.org Subject: [rules-dev] Deploy doc pull Date: Fri, 04 Apr 2014 15:57:01 +0000 Message-ID: --===============3697348672294594086== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Mike, I created the pull request that added a little detail on where the Workbenc= h will attempt to deploy an asset. Ended up putting it in the Build and Dep= loy section of the Workbench documentation. https://github.com/droolsjbpm/droolsjbpm-knowledge/pull/65 XMLMind did some automated changes to the xml. If those are a problem let m= e know and I'll re-do the pull with more targeted changes. Thanks Joe --===============3697348672294594086== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPgo8c3R5bGU+ PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseToiQ2Ft YnJpYSBNYXRoIjsKCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQpAZm9udC1mYWNlCgl7 Zm9udC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30KLyog U3R5bGUgRGVmaW5pdGlvbnMgKi8KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05v cm1hbAoJe21hcmdpbjowaW47CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTEu MHB0OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9CmE6bGluaywgc3Bhbi5N c29IeXBlcmxpbmsKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjojMDU2M0MxOwoJdGV4 dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xs b3dlZAoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNvbG9yOiM5NTRGNzI7Cgl0ZXh0LWRlY29y YXRpb246dW5kZXJsaW5lO30Kc3Bhbi5FbWFpbFN0eWxlMTcKCXttc28tc3R5bGUtdHlwZTpwZXJz b25hbC1jb21wb3NlOwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsKCWNvbG9y OndpbmRvd3RleHQ7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5 OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9CkBwYWdlIFdvcmRTZWN0aW9u MQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30K ZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48IS0tW2lm IGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0i MTAyNiIgLz4KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNo YXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+ CjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4KPC9oZWFkPgo8Ym9keSBsYW5nPSJF Ti1VUyIgbGluaz0iIzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiPgo8ZGl2IGNsYXNzPSJXb3JkU2Vj dGlvbjEiPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5NaWtlLDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ SSBjcmVhdGVkIHRoZSBwdWxsIHJlcXVlc3QgdGhhdCBhZGRlZCBhIGxpdHRsZSBkZXRhaWwgb24g d2hlcmUgdGhlIFdvcmtiZW5jaCB3aWxsIGF0dGVtcHQgdG8gZGVwbG95IGFuIGFzc2V0LiBFbmRl ZCB1cCBwdXR0aW5nIGl0IGluIHRoZSBCdWlsZCBhbmQgRGVwbG95IHNlY3Rpb24gb2YgdGhlIFdv cmtiZW5jaCBkb2N1bWVudGF0aW9uLgo8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0 LWluZGVudDouNWluIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZHJvb2xzamJwbS9kcm9v bHNqYnBtLWtub3dsZWRnZS9wdWxsLzY1Ij5odHRwczovL2dpdGh1Yi5jb20vZHJvb2xzamJwbS9k cm9vbHNqYnBtLWtub3dsZWRnZS9wdWxsLzY1PC9hPjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0i TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+WE1M TWluZCBkaWQgc29tZSBhdXRvbWF0ZWQgY2hhbmdlcyB0byB0aGUgeG1sLiBJZiB0aG9zZSBhcmUg YSBwcm9ibGVtIGxldCBtZSBrbm93IGFuZCBJJiM4MjE3O2xsIHJlLWRvIHRoZSBwdWxsIHdpdGgg bW9yZSB0YXJnZXRlZCBjaGFuZ2VzLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhhbmtzPG86cD48 L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkpvZSA8bzpwPjwvbzpwPjwvcD4KPC9kaXY+ CjwvYm9keT4KPC9odG1sPgo= --===============3697348672294594086==-- From wolfgang.laun at gmail.com Sat Apr 5 05:46:50 2014 Content-Type: multipart/mixed; boundary="===============1192134403198102492==" MIME-Version: 1.0 From: Wolfgang Laun To: rules-dev at lists.jboss.org Subject: [rules-dev] Empty modify blocks in Expert Date: Sat, 05 Apr 2014 11:46:49 +0200 Message-ID: --===============1192134403198102492== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable http://docs.jboss.org/drools/release/6.1.0.Beta2/drools-docs/html_single/ Search for "modify" after "7.8.3.7.2. Conditional Element from", where examples contain lines such as modify ($p) {} // Assign person to sales region 1 in a modify block which is bound to cause confusion. These omissions continue until "7.8.3.7.3. Conditional Element collect". -W --===============1192134403198102492==-- From mproctor at codehaus.org Mon Apr 7 20:39:41 2014 Content-Type: multipart/mixed; boundary="===============4636483897588750213==" MIME-Version: 1.0 From: Mark Proctor To: rules-dev at lists.jboss.org Subject: [rules-dev] Drools - Bayesian Belief Network Integration P2 Date: Tue, 08 Apr 2014 01:39:20 +0100 Message-ID: --===============4636483897588750213== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable http://blog.athico.com/2014/04/drools-bayesian-belief-network.html --===============4636483897588750213==-- From kellyajp at yahoo.co.uk Wed Apr 9 08:44:37 2014 Content-Type: multipart/mixed; boundary="===============4036032975910109314==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 09 Apr 2014 05:44:36 -0700 Message-ID: <1397047448.71525.YahooMailNeo@web171806.mail.ir2.yahoo.com> In-Reply-To: 8C93DF12-A1AB-40DB-B4DA-FCE0B0EB9273@codehaus.org --===============4036032975910109314== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Afternoon Mark, Looks like making the change you suggested ie not needing so many patterns.= All those constraints can go in a single Pattern. =C2=A0has significantly = reduced the GC's. We are making the changes to all our rule templates and w= ill rerun. Is there a difference in Drools 6 that would make using separate Patterns s= uch an overhead? Thanks ________________________________ From: Mark Proctor [via Drools] To: kellyajp = Sent: Wednesday, 2 April 2014, 12:41 Subject: Re: Possible memory leak in Drools 6.0.1 = not sure why this would have a memory leak, it all looks quite straight for= ward joins. I assume you are using stateless sessions and inserting just a single Posit= ion instance? Is there a different number of RT=E2=80=99s after a single Po= sition insert? A small tip, you don=E2=80=99t need so many patterns. All those constraints= can go in a single Pattern.=C2=A0 Mark On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: Morning Mark, > > >That was a useful exercise!!, from a sampled set it looks like the RightTu= ple instances are coming from a single rule package (nccf). > > >This rule package comes from a large decision table of that is maintained = by our business users. This results in a large DRL file being generated con= taining 2371 rules.=C2=A0 > > >Below I have included some of the rules that were referenced in the data s= tructures, I have also attached the generated DRL file. > > >The exact same file processes in Drools 5 but fails in Drools 6. > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >// rule values at A650, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >=C2=A0 =C2=A0 salience 64886 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100579"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >// rule values at A652, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >=C2=A0 =C2=A0 salience 64884 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >// rule values at A651, header at A644 >rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >=C2=A0 =C2=A0 salience 64885 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+157680000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "corp") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrume= nt.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualitySt= ep =3D=3D 2) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > >08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >// rule values at A954, header at A921 >rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >=C2=A0 =C2=A0 salience 64582 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ',= 'DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT= ' ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , '= CY' ,'CZ' ,'DE' =C2=A0, 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'I= E' , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'= RO','SE' ,'SI' ,'SK')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "EUR") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.collateralType in ('govt liquid gtd','us govt g= uarant','u.s. government guarantee')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+220752000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D '= UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100405"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineCashflow')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument(= ).getMaturityDate()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > >18cad_lng_sec_iss_prov_over10Y_under35Y_2 >// rule values at A152, header at A138 >rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >=C2=A0 =C2=A0 salience 65384 >=C2=A0 =C2=A0 when >=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && position= Detail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D = null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDat= e+315360000000) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.maturityDate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >,'MP','MANPAC','MPTB','ONTW' >,'ONT','ONTB','ONTPAC','Q' >,'QTB','QUEPAC','QW','NBRNS' >,'NS','PRINCE','NF','NFTB')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null && = positionDetail. Valuation.ValuationCurrency =3D=3D "CAD") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.issuerIndustry =3D=3D "govt regional") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null &= & positionDetail.instrument.marketSectorDescription =3D=3D "govt") >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Val= uation','Both')) >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D=3D= 'UNKNOWN') >=C2=A0 =C2=A0 then >=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamete= rsImpl('BaselineClassification')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100341"); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus()= ); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail(= ).getBook().getTransit().getLegalEntityCountry()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getActi= vationPath()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineValue')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuation= ().getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValuat= ion().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersImp= l( 'BaselineTimeBucket')); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation(= ).getMtmValue()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuati= on().getValuationCurrency()); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fung= ible Short,Fungible Short covers Fungible Long'); >=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >end > > > > > > > > > > > >________________________________ > From: Mark Proctor [via Drools] <[hidden email]> >To: kellyajp <[= hidden email]> = >Sent: Tuesday, 1 April 2014, 14:10 >Subject: Re: Possible memory leak in Drools 6.0.1 > = > > >any news? > > >Mark > >On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: > > > >On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: > >I'll get that to you on Monday=C2=A0 > >On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp?type=3Dnode&no= de=3D4029027&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">= [hidden email]> wrote: > > >Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that = should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. > >that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >>> >>> >>>Mark >>> >>>On 30 Mar 2014, at 09:03, kellyajp <x-msg://= 133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D0" target=3D"= _top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >>> >>>Thanks >>>> >>>> >>>>I'll get someone from the team to work on this on Monday. Not sure how = easy it will be to isolate but will keep you informed. >>>> >>>> >>>>Andy >>>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode&a= mp;amp;node=3D4029025&amp;i=3D0">x-msg://131/user/Send= Email.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel=3D"= nofollow" link=3D"external">[hidden email]> wrote: >>>> >>>> >>>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look i= nto it as a priority.=C2=A0 >>>>> >>>>>Mark=C2=A0 >>>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029= 018&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dn= ode&node=3D4029018&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"= external">[hidden email]> wrote:=C2=A0 >>>>> >>>>> >>>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating the= =C2=A0 >>>>>> processing in each environment we have very different object counts = that is=C2=A0 >>>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>>=C2=A0 >>>>>> Below is an extract from a heap dump=C2=A0 >>>>>>=C2=A0 >>>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2=A0= org.drools.core.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A0182= 6112 =C2=A0org.drools.reteoo.RightTuple=C2=A0 >>>>>>=C2=A0 >>>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>>=C2=A0 >>>>>> Thanks=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>>=C2=A0 >>>>>> --=C2=A0 >>>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.com= /Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>> Sent from the Drools: Developer (committer) mailing list mailing lis= t archive at=C2=A0Nabble.com.=C2=A0 >>>>>> _______________________________________________=C2=A0 >>>>>> rules-dev mailing list=C2=A0 >>>>>>=C2=A0x-msg://131/user= /SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i= =3D1" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]=C2= =A0 >>>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev_____________= __________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/user/SendEmail.jtp?type= =3Dnode&amp;node=3D4029018&amp;i=3D2">x-msg://131/= user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D2" target=3D"_top= " rel=3D"nofollow" link=3D"external">[hidden email]=C2=A0https://lists.jbos= s.org/mailman/listinfo/rules-dev >>>>> >>>>>>>>>>________________________________ >>>>> >>>>>If you reply to this email, your message will be added to the discussi= on below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6= -0-1-tp4029010p4029018.html >>>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click h= ere. >>>>>NAML >>>>>>>>________________________________ >>>>View this message in context:=C2=A0Re: Possible memory leak in Drools 6= .0.1 >>>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing l= ist archive=C2=A0at=C2=A0Nabble.com. >>>>_______________________________________________ >>>>rules-dev mailing list >>>>x-msg://133/user/SendEmail.jtp?type=3Dnode&= amp;node=3D4029026&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"exte= rnal">[hidden email] >>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>> >>>_______________________________________________ = >>>rules-dev mailing list = >>>x-msg://133/user/SendEmail.jtp?type=3Dnode&a= mp;node=3D4029026&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"exter= nal">[hidden email] = >>>https://lists.jboss.org/mailman/listinfo/rules-dev = >>> >>>>>>________________________________ >>> = >>>If you reply to this email, your message will be added to the discussion= below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0= -1-tp4029010p4029026.html = >>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>NAML = >>>>________________________________ >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev > > >_______________________________________________ = >rules-dev mailing list = >[hidden email] = >https://lists.jboss.org/mailman/listinfo/rules-dev = > >>________________________________ > = >If you reply to this email, your message will be added to the discussion b= elow:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029052.html = >To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >NAML = > > > > NCCF_BASELINE.xls.drl (9M) Download Attachment >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029081.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029180.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============4036032975910109314== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PjxzcGFuPkFmdGVybm9vbiBN YXJrLDwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNp emU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBI ZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFu PjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsg Zm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwg QXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPkxvb2tzIGxpa2UgbWFraW5nIHRo ZSBjaGFuZ2UgeW91IHN1Z2dlc3RlZCBpZSBub3QgbmVlZGluZyBzbyBtYW55IHBhdHRlcm5zLiBB bGwgdGhvc2UgY29uc3RyYWludHMgY2FuIGdvIGluIGEgc2luZ2xlIFBhdHRlcm4uICZuYnNwO2hh cyBzaWduaWZpY2FudGx5IHJlZHVjZWQgdGhlIEdDJ3MuIFdlIGFyZSBtYWtpbmcgdGhlIGNoYW5n ZXMgdG8gYWxsIG91ciBydWxlIHRlbXBsYXRlcyBhbmQgd2lsbCByZXJ1bi48L3NwYW4+PC9kaXY+ PGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxMXB4OyBmb250LWZh bWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywKIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHls ZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVs dmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBH cmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1z dHlsZTogbm9ybWFsOyI+PHNwYW4+SXMgdGhlcmUgYSBkaWZmZXJlbmNlIGluIERyb29scyA2IHRo YXQgd291bGQgbWFrZSB1c2luZyBzZXBhcmF0ZSBQYXR0ZXJucyBzdWNoIGFuIG92ZXJoZWFkPzwv c3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDEx cHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRp Y2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6 IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2 PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1m YW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWws ICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl bnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPlRoYW5rczwvc3Bhbj48L2Rpdj48ZGl2Pjxi cj48L2Rpdj4gIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0 aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhCiBHcmFuZGUnLCBzYW5zLXNlcmlm OyBmb250LXNpemU6IDhwdDsiPiA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1 ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7Ij4gPGRpdiBkaXI9Imx0ciI+IDxociBzaXplPSIx Ij4gIDxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsIj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp Z2h0OmJvbGQ7Ij5Gcm9tOjwvc3Bhbj48L2I+IE1hcmsgUHJvY3RvciBbdmlhIERyb29sc10gJmx0 OzxhIGhyZWY9Ii91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJm5vZGU9NDAyOTE4MCZpPTAi IHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1h aWxdPC9hPiZndDs8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlRvOjwv c3Bhbj48L2I+IGtlbGx5YWpwICZsdDs8YSBocmVmPSIvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZub2RlPTQwMjkxODAmaT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9 ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZv bnQtd2VpZ2h0OiBib2xkOyI+U2VudDo8L3NwYW4+PC9iPiBXZWRuZXNkYXksIDIgQXByaWwgMjAx NCwgMTI6NDE8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlN1YmplY3Q6 PC9zcGFuPjwvYj4gUmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxicj4g PC9mb250PiA8L2Rpdj4gPGRpdiBjbGFzcz0ieV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0i eWl2OTczOTA2OTc3NiI+CgoJIG5vdCBzdXJlIHdoeSB0aGlzIHdvdWxkIGhhdmUgYSBtZW1vcnkg bGVhaywgaXQgYWxsIGxvb2tzIHF1aXRlIHN0cmFpZ2h0IGZvcndhcmQgam9pbnMuPGRpdj48YnI+ PC9kaXY+PGRpdj5JIGFzc3VtZSB5b3UgYXJlIHVzaW5nIHN0YXRlbGVzcyBzZXNzaW9ucyBhbmQg aW5zZXJ0aW5nIGp1c3QgYSBzaW5nbGUgUG9zaXRpb24gaW5zdGFuY2U/IElzIHRoZXJlIGEgZGlm ZmVyZW50IG51bWJlciBvZiBSVOKAmXMgYWZ0ZXIgYSBzaW5nbGUgUG9zaXRpb24gaW5zZXJ0Pzwv ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QSBzbWFsbCB0aXAsIHlvdSBkb27igJl0IG5lZWQgc28g bWFueSBwYXR0ZXJucy4gQWxsIHRob3NlIGNvbnN0cmFpbnRzIGNhbiBnbyBpbiBhIHNpbmdsZSBQ YXR0ZXJuLiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TWFyazxicj48ZGl2Pjxicj48 L2Rpdj48ZGl2Pjxicj48ZGl2PjxkaXY+T24gMiBBcHIgMjAxNCwgYXQgMTE6MjAsIGtlbGx5YWpw ICZsdDs8YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJu YWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsYXNzPSJ5aXY5NzM5 MDY5Nzc2QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRl ci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVm dDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyBmb250LWZhbWlseTogSGVs dmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBH cmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPjxkaXY+PHNwYW4+TW9ybmluZyBN YXJrLDwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5 OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLAogSGVsdmV0aWNhLCBBcmlhbCwgJ0x1 Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsg Zm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJm b250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5l dWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGF0 IHdhcyBhIHVzZWZ1bCBleGVyY2lzZSEhLCBmcm9tIGEgc2FtcGxlZCBzZXQgaXQgbG9va3MgbGlr ZSB0aGUgUmlnaHRUdXBsZSBpbnN0YW5jZXMgYXJlIGNvbWluZyBmcm9tIGEgc2luZ2xlIHJ1bGUg cGFja2FnZSAobmNjZikuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsg Zm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwg QXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRp diBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hl bHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNl cmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+ PHNwYW4+VGhpcyBydWxlIHBhY2thZ2UgY29tZXMgZnJvbSBhIGxhcmdlIGRlY2lzaW9uIHRhYmxl IG9mIHRoYXQgaXMgbWFpbnRhaW5lZCBieSBvdXIgYnVzaW5lc3MgdXNlcnMuIFRoaXMgcmVzdWx0 cyBpbiBhIGxhcmdlIERSTCBmaWxlIGJlaW5nCiBnZW5lcmF0ZWQgY29udGFpbmluZyAyMzcxIHJ1 bGVzLiZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQt ZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFs LCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5 bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRp Y2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsg YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFu PkJlbG93IEkgaGF2ZSBpbmNsdWRlZCBzb21lIG9mIHRoZSBydWxlcyB0aGF0IHdlcmUgcmVmZXJl bmNlZCBpbiB0aGUgZGF0YSBzdHJ1Y3R1cmVzLCBJIGhhdmUgYWxzbyBhdHRhY2hlZCB0aGUgZ2Vu ZXJhdGVkIERSTAogZmlsZS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4 OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNh LCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48 ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAn SGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMt c2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7 Ij48c3Bhbj5UaGUgZXhhY3Qgc2FtZSBmaWxlIHByb2Nlc3NlcyBpbiBEcm9vbHMgNSBidXQgZmFp bHMgaW4gRHJvb2xzIDYuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsg Zm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwg QXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJh bnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjMxdXNkX2xuZ19jb3JwX2Ju ZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MCwgaGVhZGVyIGF0IEE2 NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZQog IjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzIiPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2Fs aWVuY2UgNjQ4ODY8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3Np dGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBu dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJj aHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJj UHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9u KHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2lu ZXNzRGF0ZSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7CiBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVy aXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDAp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBu dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5j eSA9PSAiVVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWFy a2V0U2VjdG9yRGVzY3JpcHRpb24gPT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVk JyAsJ2p1bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3Np dGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7CiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9u JywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlz a1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBy ZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxp bmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNl dEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRM aW5lSWQoIk5DQ0YwMTAwNTc5Iik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlv bklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlv bi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNs YXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5n ZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFy YW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRW YWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdl dFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0 aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsKICZuYnNwOyAmbmJzcDsgYS5zZXRO ZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVu dFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0 IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgn VG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rp b25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFs dWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0 VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwog YS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRq dXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxl IFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1 Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi Pjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJy PjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4zMXVzZF9s bmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXIxMHlfMjwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBNjUyLCBo ZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij5ydWxlICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIxMHlf MiI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyBzYWxpZW5jZSA2NDg4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsKICZuYnNwOyBwOiBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZh bHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZh bHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnBy b2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RI aWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7 IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRh aWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1 c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3Np dGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZh bHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PQogIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCAhPSBu dWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kIG5vdCBp biAoJ2NvbnZlcnRpYmxlJywnY292ZXJlZCcgLCdqdW1ibyBwZmFuZGJyaWVmZScpKTwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlT dGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1 YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0 aGVuPC9kaXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0 aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDU4MSIpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygp KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRUcmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsKICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVI aXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigp LmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQ b3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdp YmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOwogJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVC dWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1 YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3ko cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5 KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJz IEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOwogYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjV5X3Vu ZGVyMTB5XzE8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MSwgaGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMzF1c2RfbG5nX2NvcnBfYm5kX2Ny X2JiYl91c2Rfb3ZlcjV5X3VuZGVyMTB5XzEiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjQ4ODU8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVu PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBv c2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7 CiBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2Vj dXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVy aXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAw KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUg Jmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIlVT RCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3Rv ckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBQb3NpdGlvbihwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmlu c3RydW1lbnQudHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScsJ2NvdmVyZWQnICwnanVt Ym8gcGZhbmRicmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLm92ZXJhbGxDcmVkaXRRdWFsaXR5U3RlcCA9PSAyKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9z aXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgn KSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0 VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFk ZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3Np ZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGlu ZSgnTkNDRicpOzwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgi TkNDRjAxMDA1ODEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVj dChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5n ZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0 YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNp dCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZp Y2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJ bXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2IHN0eWxlPSIKYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFt ZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRp b25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5n ZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5 cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdG dW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMg RnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1l dGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7CiAmbmJzcDsgJm5ic3A7CiBhLnNl dENhc2hmbG93VHlwZSggJ1NFVFRMRU1FTlQsIFNldHRsZW1lbnQnKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1RvQ2FzaEZsb3cgKDEpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAn QmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBl KCAnQ0InKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnUHJpbmNpcGFs LCBJbnRlcmVzdCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25E ZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHRE YXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9u LmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdl dE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldERhdGUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEluc3RydW1l bnQoKS5nZXRNYXR1cml0eURhdGUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHRE YXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0aW5nVHlw ZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5cGUoJ0Z1 bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlCiBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMg RnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+MDhldXJfbGFfbG5nX3F1YWxfbWt0 X3NlY19hZ25jeV9kYnRfN3lfVW5kZXJfMTBZXzU8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTk1NCwgaGVhZGVyIGF0IEE5 MjE8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAi MDhldXJfbGFfbG5nX3F1YWxfbXRrX3NlY19hZ25jeV9kYnRfN1lfdW5kZXJfMTBZXzUiPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg c2FsaWVuY2UgNjQ1ODI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihw b3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9 MCk8L2Rpdj48ZGl2CiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGll cmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcp KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb3VudHJ5T2ZEb21p Y2lsZSBpbiAoJ0FUJywnQkUnLCdCRycsJ0NZJywnQ1onLCdERScsJ0RLJywnRUUnLCdFUycsJ0ZJ JywnRlInICwnR0InLCdHUicgLCdIVScgLCdJRScgLCdJUycgLCdJVCcgLCdMSScgLCdMVCcgLCdM VScgLCdMVicgLCdNVCcgLCdOTCcgLCdOTycgLCdQTCcgLCdQVCcgLCdSTycgLCdTRScgLCdTSScg LCdTSycpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb3VudHJ5 T2ZJbmNvcnBvcmF0aW9uIGluICgnQVQnICwnQkUnICwnQkcnICwgJ0NZJyAsJ0NaJyAsJ0RFJyAm bmJzcDssICdESycgLCdFRScgLCdFUycsICdGSScgLCdGUicgLCdHQicgLCAnR1InICwnSFUnICwn SUUnICwKICdJUycgLCdJVCcgLCdMSScgLCAnTFQnICwnTFUnICwnTFYnICwgJ01UJyAsJ05MJyAs J05PJyAsICdQTCcgLCdQVCcgLCdSTycsJ1NFJyAsJ1NJJyAsJ1NLJykpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsg cG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiRVVSIik8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY29sbGF0ZXJhbFR5cGUgaW4g KCdnb3Z0IGxpcXVpZCBndGQnLCd1cyBnb3Z0IGd1YXJhbnQnLCd1LnMuIGdvdmVybm1lbnQgZ3Vh cmFudGVlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVy aXR5RGF0ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMjIwNzUyMDAwMDAw KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUK ICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdW YWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5yaXNrUHJvZHVjdFR5cGUgIT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBs KCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uc2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLnNldExpbmVJZCgiTkNDRjAxMDA0MDUiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZp Y2F0aW9uLnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlvbi5z ZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0 Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0 aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBB Y3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFs dWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7CiBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCku Z2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRB ZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2li bGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9 bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnU0VUVExFTUVOVCwgU2V0dGxlbWVudCcpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNo Rmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdwog KDEpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBh cmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0QmFzZWxpbmVUeXBlKCAnQ0InKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dU eXBlKCAnUHJpbmNpcGFsLCBJbnRlcmVzdCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0 KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVU aW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsKIGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJy ZW5jeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3Vy cmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERhdGUocC5nZXRQb3NpdGlvbkRldGFp bCgpLmdldEluc3RydW1lbnQoKS5nZXRNYXR1cml0eURhdGUoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRq dXN0bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxl IFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1 Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iCmJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjE4 Y2FkX2xuZ19zZWNfaXNzX3Byb3Zfb3ZlcjEwWV91bmRlcjM1WV8yPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEExNTIsIGhl YWRlciBhdCBBMTM4PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPnJ1bGUgIjE4Y2FkX2xuZ19zZWNfaXNzX3Byb3Zfb3ZlcjEweV91bmRlcjM1eV8yIjwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 IHNhbGllbmNlIDY1Mzg0PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24o cG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24g IT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7 PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGll cmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogUG9z aXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPQogbnVsbCAmYW1wOyZhbXA7IHBvc2l0 aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlz a0J1c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNz RGF0ZSsxMTAzNzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudC5pc3N1ZXJUaWNrZXIgaW4gKCdCUkNPTCcsJ0JjcElQQicsJ0FMVEEnLCdTQ0RBJzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4sJ01QJywnTUFOUEFD JywnTVBUQicsJ09OVFcnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiwnT05UJywnT05UQicsJ09OVFBBQycsJ1EnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiwnUVRCJywnUVVFUEFDJywnUVcnLCdOQlJOUyc8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdOUycsJ1BSSU5D RScsJ05GJywnTkZUQicpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRh aWwuVmFsdWF0aW9uIT0gbnVsbAogJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9u LlZhbHVhdGlvbkN1cnJlbmN5ID09ICJDQUQiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudC5pc3N1ZXJJbmR1c3RyeSA9PSAiZ292dCByZWdpb25hbCIpPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFt cDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9u ID09ICJnb3Z0Iik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZh bHVhdGlvblR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5yaXNrUHJvZHVjdFR5cGUgPT0gJ1VOS05PV04nKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 IHRoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFj dGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYK IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwMzQxIik7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVz KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBv c2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50 cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxl SGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lm aWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9u KCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdl dFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVu Z2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xh c3NpZmljYXRpb24uYWRkKGE9bmV3CiBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGlt ZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZh bHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5j eShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVu Y3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3Zl cnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9IgpiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PiAgPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGlj YSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij4g PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScs IEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXpl OiAxMnB0OyI+IDxkaXYgZGlyPSJsdHIiPiA8aHIgc2l6ZT0iMSI+ICA8Zm9udCBzaXplPSIyIiBm YWNlPSJBcmlhbCI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+RnJvbTo8L3Nw YW4+PC9iPiBNYXJrIFByb2N0b3IgW3ZpYSBEcm9vbHNdICZsdDsmbHQ7YSBocmVmPSJ4LW1zZzov LzQzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwNzgmYW1w O2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0 O1toaWRkZW4gZW1haWxdJmd0Ozxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7 Ij5Ubzo8L3NwYW4+PC9iPiBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0ieC1tc2c6Ly80My91c2Vy L1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDc4JmFtcDthbXA7aT0x IiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciCiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRl biBlbWFpbF0mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5TZW50 Ojwvc3Bhbj48L2I+IFR1ZXNkYXksIDEgQXByaWwgMjAxNCwgMTQ6MTA8YnI+IDxiPjxzcGFuIHN0 eWxlPSJmb250LXdlaWdodDpib2xkOyI+U3ViamVjdDo8L3NwYW4+PC9iPiBSZTogUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPGJyPiA8L2ZvbnQ+IDwvZGl2PiA8ZGl2IGNsYXNz PSJ5aXY5NzM5MDY5Nzc2eV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0ieWl2OTczOTA2OTc3 NiI+PGRpdj5hbnkgbmV3cz88ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5NYXJrPGJy IGNsZWFyPSJub25lIj48ZGl2IHN0eWxlPSIiPjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjM4 LCBNYXJrIFByb2N0b3IgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIi IHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDsgd3Jv dGU6PC9kaXY+PGJyIGNsZWFyPSJub25lIiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWludGVy Y2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQg I0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0ND Q0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48 L2Rpdj48ZGl2PjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkOyI+PGJyIGNsZWFyPSJu b25lIj48ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjI2LCBrZWxseWFqcCAmbHQ7PGEg cmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJl eHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5v bmUiIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2Nr cXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0n IHN0eWxlPSJib3JkZXItbGVmdDoycHgKIHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5 cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjxkaXY+SSdsbCBn ZXQgdGhhdCB0byB5b3Ugb24gTW9uZGF5Jm5ic3A7PC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUi Pk9uIDMwIE1hciAyMDE0LCBhdCAxMjo1OSwgIk1hcmsgUHJvY3RvciBbdmlhIERyb29sc10iICZs dDsmbHQ7YQogaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDthbXA7aT0wIiZndDt4 LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5 MDI3JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVy bmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PGJyIGNsZWFyPSJub25lIj48YnIgY2xl YXI9Im5vbmUiPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQg I0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0ND Q0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNpdGUiPgoKCTwvYmxvY2txdW90ZT48L2Rpdj48ZGl2 PkFyZSB5b3UgYWJsZSB0byBpc29sYXRlIHdoYXQgdGhlIEZI4oCZcyBhcmUgcmVmZXJlbmNpbmcs IFNvcnJ5IHRoYXQgc2hvdWxkIGJlIFJULCBub3QgRkguIFJUID09IFJpZ2h0VHVwbGUsIEZIID09 IEZhY3RIYW5kbGUuPGJyIGNsZWFyPSJub25lIj48YmxvY2txdW90ZSBzdHlsZT0nYm9yZGVyLWxl ZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1sZWZ0OjJw eCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj48YmxvY2txdW90ZSBz dHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9 ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRl Ij50aGF0IG1pZ2h0IGdpdmUgdXMgYW4gaWRlYSBvZiB3aGVyZSB0byBsb29rLiBJZiB5b3UgbG9v ayBSaWdodFR1cGxl4oCZcyB0aGV5IHdpbGwgaGF2ZSBhIOKAmHNpbmsnIHJlZmVyZW5jZSAobmV0 d29yayBub2RlKSBhbmQgdGhhdCBzaW5rIHdpbGwgaGF2ZSBhbiDigJhhc3NvY2lhdGVz4oCZIG1h cC4gVGhhdCBtYXAgaXMgdGhlIHJ1bGVzIHRoYXQgbm9kZSBpcyBwYXJ0IG9mLiBZb3UgY2FuIHVz ZSB0aGlzIHRvIGlkZW50aWZ5IHRoZSBvZmZlbmRpbmcgcnVsZShzKSwgYW5kIG1heWJlIHBhc3Rl IHRob3NlIHJ1bGVzIGhlcmU/PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+TWFyazxi ciBjbGVhcj0ibm9uZSI+PGRpdj48ZGl2Pk9uIDMwIE1hciAyMDE0LCBhdCAwOTowMywga2VsbHlh anAgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MCIm Z3Q7eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9 NDAyOTAyNiZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJl eHRlcm5hbCImZ3Q7W2hpZGRlbgogZW1haWxdJmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5v bmUiIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2Nr cXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0n IHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlw ZT0iY2l0ZSI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo dDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0 ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h bDsgd29yZC1zcGFjaW5nOiAwcHg7Ij48ZGl2PlRoYW5rczwvZGl2PjxkaXY+PGJyIGNsZWFyPSJu b25lIj48L2Rpdj48ZGl2PkknbGwgZ2V0IHNvbWVvbmUgZnJvbSB0aGUgdGVhbSB0byB3b3JrIG9u IHRoaXMgb24gTW9uZGF5LiBOb3Qgc3VyZSBob3cgZWFzeSBpdCB3aWxsIGJlIHRvIGlzb2xhdGUg YnV0IHdpbGwga2VlcCB5b3UgaW5mb3JtZWQuPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwv ZGl2PjxkaXY+QW5keTxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQsIGF0IDIzOjUyLCAi TWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZs dDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEz MS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZh bXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthCiBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDtpPTAi Jmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2Rl PTQwMjkwMjUmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0i ZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8YnIgY2xlYXI9Im5vbmUiPjxi ciBjbGVhcj0ibm9uZSI+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBz b2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQg I0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+Q2FuIHlvdSBnZXQgdXMgYSB1bml0 IHRlc3QgZGVtb25zdHJhdGluZyB0aGlzLCBhbmQgd2XigJlsbCBsb29rIGludG8gaXQgYXMgYSBw cmlvcml0eS48c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+ Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5NYXJrPHNwYW4g Y2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPk9uIDI4IE1hciAyMDE0LCBhdCAxNTo0MCwga2VsbHlhanAgJmx0OyZs dDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVt YWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2Ft cDthbXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthCiBocmVmPSJ4 LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9 NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3Rv cCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3 cm90ZTo8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+PGRpdiBjbGFzcz0ieWl2OTczOTA2OTc3NnNocmlu a2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9Inlpdjk3MzkwNjk3NzZzaHJpbmthYmxlLXF1b3RlIj48 ZGl2IGNsYXNzPSJ5aXY5NzM5MDY5Nzc2c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2 OTczOTA2OTc3NnNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9Inlpdjk3MzkwNjk3NzZzaHJp bmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY5NzM5MDY5Nzc2c2hyaW5rYWJsZS1xdW90ZSI+ PGRpdiBjbGFzcz0ieWl2OTczOTA2OTc3NnNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9J3No cmlua2FibGUtcXVvdGUnPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBXZSBoYXZlIHVwZ3JhZGVkIGZy b20gRHJvb2xzIDUgLSZndDsgRHJvb2xzIDYuMDEgYW5kIHdoZW4gcmVwZWF0aW5nIHRoZTxzcGFu IGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7IHByb2Nlc3NpbmcgaW4gZWFjaCBlbnZpcm9ubWVudCB3ZSBo YXZlIHZlcnkgZGlmZmVyZW50IG9iamVjdCBjb3VudHMgdGhhdCBpczxzcGFuIGNsYXNzPSJ5aXY5 NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7IGNhdXNpbmcKIG1lbW9yeSB0byBydW4gb3V0IG9uIERyb29scyA2OjxzcGFuIGNs YXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJy IGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgQmVsb3cgaXMgYW4g ZXh0cmFjdCBmcm9tIGEgaGVhcCBkdW1wPHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1j b252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBj bGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxi ciBjbGVhcj0ibm9uZSI+Jmd0OyBJbiBEcm9vbHMgNiB0aGUgbWFpbiBvYmplY3RzIGluIHRoZSBo ZWFwIGFyZTxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IDE6ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IDQzNzgwMDYgJm5ic3A7ICZuYnNwOyAmbmJzcDs3MDA0ODA5NjAgJm5ic3A7b3JnLmRyb29scy5j b3JlLnJldGVvby5SaWdodFR1cGxlPHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFz cz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBj bGVhcj0ibm9uZSI+Jmd0OyBXaGVyZSBhcyBpbiBEcm9vbHMgNSB0aGVyZSBhcmUgd2F5IGxlc3Mg b2JqZWN0czxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IDkyOiAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgMTkwMjIKICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzE4MjYxMTIgJm5ic3A7 b3JnLmRyb29scy5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNw YW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDsgSGFzIGFueW9uZSBlbHNlIGhhZCBhbnkgZXhwZXJpZW5j ZSBvZiB0aGlzIGlzc3VlPzxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlp djk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9 Im5vbmUiPiZndDsgVGhhbmtzPHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0i eWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVh cj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlpdjk3 MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5v bmUiPiZndDsgLS08c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBWaWV3IHRoaXMgbWVzc2FnZSBp biBjb250ZXh0OjxzcGFuCiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9i bGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1l bW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbCIgbGluaz0iZXh0ZXJuYWwi Pmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1p bi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwLmh0bWw8L2E+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFNl bnQgZnJvbSB0aGUgRHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1h aWxpbmcgbGlzdCBhcmNoaXZlIGF0PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg dGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwi Pk5hYmJsZS5jb208L2E+LjxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3 NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZn dDsgcnVsZXMtZGV2CiBtYWlsaW5nIGxpc3Q8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFu IGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5k RW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7 YW1wO2FtcDtpPTEiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MSImZ3Q7Jmx0O2EgaHJlZj0i eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2Rl PTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5q dHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0xIiB0YXJnZXQ9Il90 b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxzcGFu IGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg dGFyZ2V0PSJfYmxhbmsiCiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvZGl2PjwvZGl2Pl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9Inlpdjk3 MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj5ydWxlcy1k ZXYgbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48L2Rpdj4mbHQ7YSBocmVmPSImbHQ7YQogaHJlZj0iJmx0O2Eg aHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2Ft cDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTIiJmd0O3gtbXNnOi8vMTMxL3Vz ZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDth bXA7YW1wO2k9MiImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0yIiZndDt4 LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5 MDE4JmFtcDthbXA7aT0yIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVy bmFsIiZndDtbaGlkZGVuIGVtYWlsXTxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9 InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJv c3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvZGl2PjwvZGl2PjxiciBjbGVh cj0ibm9uZSI+PGhyIG5vc2hhZGU9IiIgc2l6ZT0iMSI+PGRpdiBzdHlsZT0iY29sb3I6IHJnYig2 OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9u dC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBm b250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7 Ij48ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvCiB0aGlzIGVt YWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8 L2Rpdj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1p bi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMTguaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0 dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1E cm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMTguaHRtbDwvYT48L2Rpdj48ZGl2IHN0eWxlPSJj b2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFu dDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFt aWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2lu LXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPlRvIHVuc3Vic2NyaWJlIGZyb20gUG9z c2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLDxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5 Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIg c2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sg aGVyZTwvYT4uPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg dGFyZ2V0PSJfYmxhbmsiCiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v dGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFu dF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3Bh Y2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3Bh Y2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJz PW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMl MjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWls Lm5hbWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBm b250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+PC9kaXY+PC9ibG9j a3F1b3RlPjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIj5WaWV3 IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OjxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJl Y3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5j b20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI1 Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xz IDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+U2VudCBmcm9tIHRoZTxzcGFuIGNsYXNzPSJ5aXY5 NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2 OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0 LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRl cikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPjxzcGFuIGNsYXNzPSJ5aXY5 NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+YXQ8c3BhbiBjbGFz cz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25h YmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25l Ij5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciBjbGVh cj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJl Zj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZh bXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzEzMy91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7 aT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlk ZGVuIGVtYWlsXTxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3Qi IHRhcmdldD0iX2JsYW5rIgogaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9s aXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+ PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YnIgY2xlYXI9Im5vbmUiPl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCjxiciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2 IG1haWxpbmcgbGlzdAo8YnIgY2xlYXI9Im5vbmUiPiZsdDthIGhyZWY9IiZsdDthIGhyZWY9Ingt bXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDI2JmFtcDthbXA7YW1wO2k9MiImZ3Q7eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MiIgdGFyZ2V0PSJfdG9w IiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0KPGJyIGNs ZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2 IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNsZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9u ZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgs IDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9u dC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+ CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVt YWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8 L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhy ZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVh ay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbCIgbGluaz0iZXh0ZXJuYWwi Pmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1p bi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbDwvYT4KCTwvZGl2PgoJPGRpdiBz dHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250 LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBm b250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7 IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNj cmliZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5h bCI+Y2xpY2sgaGVyZTwvYT4uPGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMu bmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFt cDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5u YW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5h YmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7 YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0 YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFi YmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50 OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdo dDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4K CTwvZGl2PjwvYmxvY2txdW90ZT4KCgkKCQoJCjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJs ZWZ0IiB3aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xz LjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0x LXRwNDAyOTAxMHA0MDI5MDI3Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVt b3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+ClNlbnQgZnJvbSB0 aGUgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0 ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZl bG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBh dCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxiciBjbGVh cj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xlYXI9Im5vbmUiPjxh IHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0i ZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxvY2tx dW90ZT48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9 Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5v Zm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFs Ij5baGlkZGVuIGVtYWlsXTwvYT4KPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0 cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNs ZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9uZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4K CTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsg Zm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJw eDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2 ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9s ZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRl ZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFw ZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQw MjkwNTIuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxl LmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkw NTIuaHRtbDwvYT4KCTwvZGl2PjxkaXYgY2xhc3M9Inlpdjk3MzkwNjk3NzZ5cXQxMTk0MTUxNTUw IiBpZD0ieWl2OTczOTA2OTc3NnlxdGZkOTQwNTAiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYigx MDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsg Zm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21h LCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVt OyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxl IG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJl Y3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4u PGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0 PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0 ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwl MjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFz aWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJi bGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5 X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJs ZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIg c3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2Vp Z2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZh bWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4KCTwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2Pjxicj48YnI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gIDwvZGl2PjxkaXYgY2xhc3M9Inlp djk3MzkwNjk3NzZzbWFsbCI+PGJyPjxpbWc+IDxiPk5DQ0ZfQkFTRUxJTkUueGxzLmRybDwvYj4g KDlNKSA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL2F0dGFjaG1lbnQvNDAyOTA3OC8wL05DQ0ZfQkFTRUxJTkUu eGxzLmRybCIgbGluaz0iZXh0ZXJuYWwiPkRvd25sb2FkIEF0dGFjaG1lbnQ8L2E+PC9kaXY+CgoJ CgkKCQo8YnI+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2Ug aW4gY29udGV4dDogPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6 Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9v bHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwNzguaHRtbCIgbGluaz0iZXh0ZXJuYWwiPlJlOiBQb3Nz aWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyPgpTZW50IGZyb20gdGhlIDxh IHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5 Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2 MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikg bWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBhdCA8YSByZWw9Im5vZm9sbG93 IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5h bCI+TmFiYmxlLmNvbTwvYT4uPGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fPGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnI+PGEgcmVsPSJub2ZvbGxv dyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwv YT48YnI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8 L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8 YnI+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFs Ij5baGlkZGVuIGVtYWlsXTwvYT4KPGJyPjxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5r IiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRl diIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGlu Zm8vcnVsZXMtZGV2PC9hPgoKCQoJCgkKCTxicj4KCTxicj4KCTxociBub3NoYWRlPSIiIHNpemU9 IjEiIGNvbG9yPSIjY2NjY2NjIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7 IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBu b3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6 IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBz dHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3Vy IG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8 YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5 OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQw MjkwMTBwNDAyOTA4MS5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5u My5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkw MTBwNDAyOTA4MS5odG1sPC9hPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwg MTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250 LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdl bmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxp bmUtaGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVt b3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFu ayIgaHJlZj0iIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4uPGJyPgoJCTxhIHJlbD0i bm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5h YmJsZS5jb20vdGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7 aWQ9aW5zdGFudF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFt bC5uYW1lc3BhY2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJi bGVOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2Jy ZWFkY3J1bWJzPW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFu dF9lbWFpbHMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJs ZSUzQWVtYWlsLm5hbWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDog bm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6 IG5vcm1hbDsgZm9udC1mYW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8 L2Rpdj48L2Rpdj48YnI+PGJyPjwvZGl2PiA8L2Rpdj4gPC9kaXY+ICA8L2Rpdj4KCgkKCQoJCjxi ci8+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIiAvPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBj b250ZXh0OiA8YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2li bGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MTgwLmh0bWwiPlJl OiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyLz4KU2VudCBmcm9t IHRoZSA8YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURl dmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIj5Ecm9vbHM6IERldmVs b3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0 IE5hYmJsZS5jb20uPGJyLz4= --===============4036032975910109314==-- From mproctor at codehaus.org Wed Apr 9 09:47:41 2014 Content-Type: multipart/mixed; boundary="===============7283890000573246051==" MIME-Version: 1.0 From: Mark Proctor To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 09 Apr 2014 14:47:13 +0100 Message-ID: <5B7976DD-B22B-42D3-A519-94D46D47FE47@codehaus.org> In-Reply-To: 1397047448.71525.YahooMailNeo@web171806.mail.ir2.yahoo.com --===============7283890000573246051== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Not that I=E2=80=99m aware of. Even if this resolve your issue, it would be really nice if you could provi= de us a sample project that demonstrates this problem. You can email myself= or mario directly with the project. Mark On 9 Apr 2014, at 13:44, kellyajp wrote: > Afternoon Mark, > = > Looks like making the change you suggested ie not needing so many pattern= s. All those constraints can go in a single Pattern. has significantly red= uced the GC's. We are making the changes to all our rule templates and will= rerun. > = > Is there a difference in Drools 6 that would make using separate Patterns= such an overhead? > = > Thanks > = > From: Mark Proctor [via Drools] <[hidden email]> > To: kellyajp <[hidden email]> = > Sent: Wednesday, 2 April 2014, 12:41 > Subject: Re: Possible memory leak in Drools 6.0.1 > = > not sure why this would have a memory leak, it all looks quite straight f= orward joins. > = > I assume you are using stateless sessions and inserting just a single Pos= ition instance? Is there a different number of RT=E2=80=99s after a single = Position insert? > = > A small tip, you don=E2=80=99t need so many patterns. All those constrain= ts can go in a single Pattern. = > = > Mark > = > = > On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: > = >> Morning Mark, >> = >> That was a useful exercise!!, from a sampled set it looks like the Right= Tuple instances are coming from a single rule package (nccf). >> = >> This rule package comes from a large decision table of that is maintaine= d by our business users. This results in a large DRL file being generated c= ontaining 2371 rules. = >> = >> Below I have included some of the rules that were referenced in the data= structures, I have also attached the generated DRL file. >> = >> The exact same file processes in Drools 5 but fails in Drools 6. >> = >> 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >> // rule values at A650, header at A644 >> rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >> salience 64886 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not = in ('convertible','covered' ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100579"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> 31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >> // rule values at A652, header at A644 >> rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >> salience 64884 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not = in ('convertible','covered' ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100581"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> 31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >> // rule values at A651, header at A644 >> rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >> salience 64885 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+157680000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "USD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "corp") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.typeOfBond !=3D null && positionDetail.instrument.typeOfBond not = in ('convertible','covered' ,'jumbo pfandbriefe')) >> Position(positionDetail.overallCreditQualityStep =3D=3D 2) >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100581"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setCashflowType( 'SETTLEMENT, Settlement'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (1); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setBaselineType( 'CB'); >> a.setCashflowType( 'Principal, Interest'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (15000); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate(= )); >> a.setDefaultDaysToCashFlow (15000); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> 08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >> // rule values at A954, header at A921 >> rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >> salience 64582 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.countryOfDomicile in ('AT','BE','BG','CY','CZ','DE','DK','EE','ES= ','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'LT' ,'LU' ,'LV' ,'MT= ' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , 'CY' ,'CZ' ,'DE' ,= 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'IE' , 'IS' ,'IT' ,'LI' ,= 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,'RO','SE' ,'SI' ,'SK')) >> Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "EUR") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.collateralType in ('govt liquid gtd','us govt guarant','u.s. gove= rnment guarantee')) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+220752000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType !=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100405"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setCashflowType( 'SETTLEMENT, Settlement'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (1); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineCashfl= ow')); >> a.setBaselineType( 'CB'); >> a.setCashflowType( 'Principal, Interest'); >> a.setList(p.getPositionDetail().getCashFlows()); >> a.setDefaultDaysToCashFlow (15000); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setDate(p.getPositionDetail().getInstrument().getMaturityDate(= )); >> a.setDefaultDaysToCashFlow (15000); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> 18cad_lng_sec_iss_prov_over10Y_under35Y_2 >> // rule values at A152, header at A138 >> rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >> salience 65384 >> when >> p: Position(positionDetail!=3Dnull && positionDetail.valuation != =3D null && positionDetail.valuation.mtmValue >=3D0) >> Position(positionDetail.productHierarchy !=3D null && positionDe= tail.productHierarchy.rbcProductClass =3D=3D "securities") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate >=3DpositionDetail.riskBusinessDate+315360000000) >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.maturityDate > Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >> ,'MP','MANPAC','MPTB','ONTW' >> ,'ONT','ONTB','ONTPAC','Q' >> ,'QTB','QUEPAC','QW','NBRNS' >> ,'NS','PRINCE','NF','NFTB')) >> Position(positionDetail.Valuation!=3D null && positionDetail. Va= luation.ValuationCurrency =3D=3D "CAD") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.issuerIndustry =3D=3D "govt regional") >> Position(positionDetail.instrument !=3D null && positionDetail.i= nstrument.marketSectorDescription =3D=3D "govt") >> Position(positionDetail.valuationType in ('Valuation','Both')) >> Position(positionDetail.riskProductType =3D=3D 'UNKNOWN') >> then >> result.add(classification=3Dnew ActionParametersImpl('BaselineCl= assification')); >> classification.setBaseline('NCCF'); >> classification.setLineId("NCCF0100341"); >> classification.setObject(p); >> classification.setPositionId(p.getPositionId()); >> classification.setDataStatus(p.getDataStatus()); >> classification.setCountry(p.getPositionDetail().getBook().getTra= nsit().getLegalEntityCountry()); >> classification.setRulePath(ruleHistory.getActivationPath()); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineValue'= )); >> a.setValueName( 'Balance'); >> a.setValue( p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency( p.getPositionDetail().getValuation().getValuation= Currency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> classification.add(a=3Dnew ActionParametersImpl( 'BaselineTimeBu= cket')); >> a.setBaselineType( 'MB'); >> a.setValue(p.getPositionDetail().getValuation().getMtmValue()); >> a.setCurrency(p.getPositionDetail().getValuation().getValuationC= urrency()); >> a.setNettingType('Security'); >> a.setAdjustmentType('Fungible Long covers Fungible Short,Fungibl= e Short covers Fungible Long'); >> a.setBucket('Total'); >> end >> = >> = >> = >> = >> = >> From: Mark Proctor [via Drools] <[hidden email]> >> To: kellyajp <[hidden email]> = >> Sent: Tuesday, 1 April 2014, 14:10 >> Subject: Re: Possible memory leak in Drools 6.0.1 >> = >> any news? >> = >> Mark >> On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: >> = >> = >> = >> On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: >> = >> = >> I'll get that to you on Monday = >> = >> On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029027&am= p;i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]>= wrote: >> = >> = >> Are you able to isolate what the FH=E2=80=99s are referencing, Sorry tha= t should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. >>>> that might give us an idea of where to look. If you look RightTuple=E2= =80=99s they will have a =E2=80=98sink' reference (network node) and that s= ink will have an =E2=80=98associates=E2=80=99 map. That map is the rules th= at node is part of. You can use this to identify the offending rule(s), and= maybe paste those rules here? >>>> = >>>> Mark >>>> On 30 Mar 2014, at 09:03, kellyajp <x-msg:= //133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D0" target= =3D"_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >>>> = >>>>> Thanks >>>>> = >>>>> I'll get someone from the team to work on this on Monday. Not sure ho= w easy it will be to isolate but will keep you informed. >>>>> = >>>>> Andy >>>>> On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEmail.jtp?type=3Dnode= &amp;node=3D4029025&amp;i=3D0">x-msg://131/user/Se= ndEmail.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel= =3D"nofollow" link=3D"external">[hidden email]> wrote: >>>>> = >>>>>> Can you get us a unit test demonstrating this, and we=E2=80=99ll loo= k into it as a priority. = >>>>>> = >>>>>> Mark = >>>>>> On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D40= 29018&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type= =3Dnode&node=3D4029018&i=3D0" target=3D"_top" rel=3D"nofollow" link= =3D"external">[hidden email]> wrote: = >>>>>> = >>>>>> > We have upgraded from Drools 5 -> Drools 6.01 and when repeating t= he = >>>>>> > processing in each environment we have very different object count= s that is = >>>>>> > causing memory to run out on Drools 6: = >>>>>> > = >>>>>> > Below is an extract from a heap dump = >>>>>> > = >>>>>> > In Drools 6 the main objects in the heap are = >>>>>> > 1: 4378006 700480960 org.drools.core.reteoo.RightTuple = >>>>>> > = >>>>>> > Where as in Drools 5 there are way less objects = >>>>>> > 92: 19022 1826112 org.drools.reteoo.RightTuple = >>>>>> > = >>>>>> > Has anyone else had any experience of this issue? = >>>>>> > = >>>>>> > Thanks = >>>>>> > = >>>>>> > = >>>>>> > = >>>>>> > -- = >>>>>> > View this message in context: http://drools.46999.n3.nabble.com/Po= ssible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>> > Sent from the Drools: Developer (committer) mailing list mailing l= ist archive at Nabble.com. = >>>>>> > _______________________________________________ = >>>>>> > rules-dev mailing list = >>>>>> > x-msg://131/user/Se= ndEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i= =3D1" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] = >>>>>> > https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>> _______________________________________________ = >>>>>> rules-dev mailing list = >>>>>> x-msg://131/user/Send= Email.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D4029018&i=3D2" = target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] = >>>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>> = >>>>>> If you reply to this email, your message will be added to the discus= sion below: >>>>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0= -1-tp4029010p4029018.html >>>>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>>> NAML >>>>> = >>>>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>>> Sent from the Drools: Developer (committer) mailing list mailing list= archive at Nabble.com. >>>>> _______________________________________________ >>>>> rules-dev mailing list >>>>> x-msg://133/user/SendEmail.jtp?type=3Dnod= e&node=3D4029026&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"ex= ternal">[hidden email] >>>>> https://lists.jboss.org/mailman/listinfo/rules-dev >>>> = >>>> = >>>> _______________________________________________ = >>>> rules-dev mailing list = >>>> x-msg://133/user/SendEmail.jtp?type=3Dnode= &node=3D4029026&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"ext= ernal">[hidden email] = >>>> https://lists.jboss.org/mailman/listinfo/rules-dev = >>>> = >>>> If you reply to this email, your message will be added to the discussi= on below: >>>> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029026.html >>>> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>> NAML >>> = >>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>> Sent from the Drools: Developer (committer) mailing list mailing list a= rchive at Nabble.com. >>> _______________________________________________ >>> rules-dev mailing list >>> [hidden email] >>> https://lists.jboss.org/mailman/listinfo/rules-dev >> = >> = >> = >> _______________________________________________ = >> rules-dev mailing list = >> [hidden email] = >> https://lists.jboss.org/mailman/listinfo/rules-dev = >> = >> If you reply to this email, your message will be added to the discussion= below: >> http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-t= p4029010p4029052.html >> To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >> NAML >> = >> = >> = >> NCCF_BASELINE.xls.drl (9M) Download Attachment >> = >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >> Sent from the Drools: Developer (committer) mailing list mailing list ar= chive at Nabble.com. >> _______________________________________________ >> rules-dev mailing list >> [hidden email] >> https://lists.jboss.org/mailman/listinfo/rules-dev > = > = > _______________________________________________ = > rules-dev mailing list = > [hidden email] = > https://lists.jboss.org/mailman/listinfo/rules-dev = > = > If you reply to this email, your message will be added to the discussion = below: > http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-tp= 4029010p4029081.html > To unsubscribe from Possible memory leak in Drools 6.0.1, click here. > NAML > = > = > = > View this message in context: Re: Possible memory leak in Drools 6.0.1 > Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. > _______________________________________________ > rules-dev mailing list > rules-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-dev --===============7283890000573246051== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWwgY2hhcnNldD13aW5kb3dzLTEyNTIiPjwvaGVhZD48Ym9keSBzdHlsZT0id29yZC13cmFw OiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVh azogYWZ0ZXItd2hpdGUtc3BhY2U7Ij5Ob3QgdGhhdCBJkm0gYXdhcmUgb2YuPGRpdj48YnI+PC9k aXY+PGRpdj5FdmVuIGlmIHRoaXMgcmVzb2x2ZSB5b3VyIGlzc3VlLCBpdCB3b3VsZCBiZSByZWFs bHkgbmljZSBpZiB5b3UgY291bGQgcHJvdmlkZSB1cyBhIHNhbXBsZSBwcm9qZWN0IHRoYXQgZGVt b25zdHJhdGVzIHRoaXMgcHJvYmxlbS4gWW91IGNhbiBlbWFpbCBteXNlbGYgb3IgbWFyaW8gZGly ZWN0bHkgd2l0aCB0aGUgcHJvamVjdC48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk1hcms8YnI+ PGRpdj48ZGl2Pk9uIDkgQXByIDIwMTQsIGF0IDEzOjQ0LCBrZWxseWFqcCAmbHQ7PGEgaHJlZj0i bWFpbHRvOmtlbGx5YWpwQHlhaG9vLmNvLnVrIj5rZWxseWFqcEB5YWhvby5jby51azwvYT4mZ3Q7 IHdyb3RlOjwvZGl2PjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2Nr cXVvdGUgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwg MjU1LCAyNTUpOyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywg SGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDhwdDsiPjxkaXY+PHNwYW4+QWZ0ZXJub29uIE1hcmssPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9 ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2Eg TmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxi cj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTog SGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lk YSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9u dC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+TG9va3MgbGlrZSBtYWtpbmcgdGhlIGNoYW5nZSB5b3Ug c3VnZ2VzdGVkIGllIG5vdCBuZWVkaW5nIHNvIG1hbnkgcGF0dGVybnMuIEFsbCB0aG9zZSBjb25z dHJhaW50cyBjYW4gZ28gaW4gYSBzaW5nbGUgUGF0dGVybi4gJm5ic3A7aGFzIHNpZ25pZmljYW50 bHkgcmVkdWNlZCB0aGUgR0Mncy4gV2UgYXJlIG1ha2luZyB0aGUgY2hhbmdlcyB0byBhbGwgb3Vy IHJ1bGUgdGVtcGxhdGVzIGFuZCB3aWxsIHJlcnVuLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJm b250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5l dWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+ PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhl bHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEg R3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQt c3R5bGU6IG5vcm1hbDsiPjxzcGFuPklzIHRoZXJlIGEgZGlmZmVyZW5jZSBpbiBEcm9vbHMgNiB0 aGF0IHdvdWxkIG1ha2UgdXNpbmcgc2VwYXJhdGUgUGF0dGVybnMgc3VjaCBhbiBvdmVyaGVhZD88 L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVs dmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBH cmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1z dHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNp emU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBI ZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQt Y29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGFua3M8L3Nw YW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+ICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0 aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYQogR3Jh bmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij4gPGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdM dWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyI+IDxkaXYgZGlyPSJs dHIiPiA8aHIgc2l6ZT0iMSI+ICA8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCI+IDxiPjxzcGFu IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+RnJvbTo8L3NwYW4+PC9iPiBNYXJrIFByb2N0b3Ig W3ZpYSBEcm9vbHNdICZsdDs8YSBocmVmPSJ4LW1zZzovLzI0MC91c2VyL1NlbmRFbWFpbC5qdHA/ dHlwZT1ub2RlJmFtcDtub2RlPTQwMjkxODAmYW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5v Zm9sbG93IiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0Ozxicj4gPGI+PHNw YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+VG86PC9zcGFuPjwvYj4ga2VsbHlhanAgJmx0 OzxhIGhyZWY9IngtbXNnOi8vMjQwL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO25v ZGU9NDAyOTE4MCZhbXA7aT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4 dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQt d2VpZ2h0OiBib2xkOyI+U2VudDo8L3NwYW4+PC9iPiBXZWRuZXNkYXksIDIgQXByaWwgMjAxNCwg MTI6NDE8YnI+IDxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlN1YmplY3Q6PC9z cGFuPjwvYj4gUmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxicj4gPC9m b250PiA8L2Rpdj4gPGRpdiBjbGFzcz0ieV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0ieWl2 OTczOTA2OTc3NiI+CgoJIG5vdCBzdXJlIHdoeSB0aGlzIHdvdWxkIGhhdmUgYSBtZW1vcnkgbGVh aywgaXQgYWxsIGxvb2tzIHF1aXRlIHN0cmFpZ2h0IGZvcndhcmQgam9pbnMuPGRpdj48YnI+PC9k aXY+PGRpdj5JIGFzc3VtZSB5b3UgYXJlIHVzaW5nIHN0YXRlbGVzcyBzZXNzaW9ucyBhbmQgaW5z ZXJ0aW5nIGp1c3QgYSBzaW5nbGUgUG9zaXRpb24gaW5zdGFuY2U/IElzIHRoZXJlIGEgZGlmZmVy ZW50IG51bWJlciBvZiBSVJJzIGFmdGVyIGEgc2luZ2xlIFBvc2l0aW9uIGluc2VydD88L2Rpdj48 ZGl2Pjxicj48L2Rpdj48ZGl2PkEgc21hbGwgdGlwLCB5b3UgZG9uknQgbmVlZCBzbyBtYW55IHBh dHRlcm5zLiBBbGwgdGhvc2UgY29uc3RyYWludHMgY2FuIGdvIGluIGEgc2luZ2xlIFBhdHRlcm4u Jm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5NYXJrPGJyPjxkaXY+PGJyPjwvZGl2Pjxk aXY+PGJyPjxkaXY+PGRpdj5PbiAyIEFwciAyMDE0LCBhdCAxMToyMCwga2VsbHlhanAgJmx0Ozxh IHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hp ZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xhc3M9Inlpdjk3MzkwNjk3NzZB cHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6 MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbSIgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyBmb250LWZhbWlseTogSGVsdmV0 aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFu ZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPjxkaXY+PHNwYW4+TW9ybmluZyBNYXJr LDwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBI ZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLAogSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lk YSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9u dC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250 LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUn LCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91 bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj5UaGF0IHdh cyBhIHVzZWZ1bCBleGVyY2lzZSEhLCBmcm9tIGEgc2FtcGxlZCBzZXQgaXQgbG9va3MgbGlrZSB0 aGUgUmlnaHRUdXBsZSBpbnN0YW5jZXMgYXJlIGNvbWluZyBmcm9tIGEgc2luZ2xlIHJ1bGUgcGFj a2FnZSAobmNjZikuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9u dC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJp YWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBz dHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZl dGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlm OyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNw YW4+VGhpcyBydWxlIHBhY2thZ2UgY29tZXMgZnJvbSBhIGxhcmdlIGRlY2lzaW9uIHRhYmxlIG9m IHRoYXQgaXMgbWFpbnRhaW5lZCBieSBvdXIgYnVzaW5lc3MgdXNlcnMuIFRoaXMgcmVzdWx0cyBp biBhIGxhcmdlIERSTCBmaWxlIGJlaW5nCiBnZW5lcmF0ZWQgY29udGFpbmluZyAyMzcxIHJ1bGVz LiZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFt aWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAn THVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50 OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9 ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2Eg TmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPkJl bG93IEkgaGF2ZSBpbmNsdWRlZCBzb21lIG9mIHRoZSBydWxlcyB0aGF0IHdlcmUgcmVmZXJlbmNl ZCBpbiB0aGUgZGF0YSBzdHJ1Y3R1cmVzLCBJIGhhdmUgYWxzbyBhdHRhY2hlZCB0aGUgZ2VuZXJh dGVkIERSTAogZmlsZS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBm b250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBB cmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFu c3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2 IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVs dmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2Vy aWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48 c3Bhbj5UaGUgZXhhY3Qgc2FtZSBmaWxlIHByb2Nlc3NlcyBpbiBEcm9vbHMgNSBidXQgZmFpbHMg aW4gRHJvb2xzIDYuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9u dC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJp YWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjMxdXNkX2xuZ19jb3JwX2JuZF9j cl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2YWx1ZXMgYXQgQTY1MCwgaGVhZGVyIGF0IEE2NDQ8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZQogIjMx dXNkX2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXIweV91bmRlcjV5XzIiPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVu Y2UgNjQ4ODY8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwOiBQb3NpdGlvbihwb3NpdGlv bkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbiAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVlICZndDs9MCk8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkg IT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJv ZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls Lmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNz RGF0ZSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQgIT0gbnVsbCAmYW1wOyZhbXA7CiBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5 RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9 PSAiVVNEIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWFya2V0 U2VjdG9yRGVzY3JpcHRpb24gPT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRh aWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUnLCdjb3ZlcmVkJyAs J2p1bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 CiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywn Qm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1By b2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1 bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVD bGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJh c2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5l SWQoIk5DQ0YwMTAwNTc5Iik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRP YmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklk KHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlvbi5z ZXREYXRhU3RhdHVzKHAuZ2V0RGF0YVN0YXR1cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldENvdW50cnkocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldEJvb2soKS5nZXRU cmFuc2l0KCkuZ2V0TGVnYWxFbnRpdHlDb3VudHJ5KCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xh c3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3RvcnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1l dGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1 ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBv c2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9u KCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsKICZuYnNwOyAmbmJzcDsgYS5zZXROZXR0 aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVudFR5 cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0IGNv dmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90 YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25Q YXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tldCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUo cC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFs dWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogYS5z ZXROZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0 bWVudFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNo b3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tl dCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxi cj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4zMXVzZF9sbmdf Y29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXIxMHlfMjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBBNjUyLCBoZWFk ZXIgYXQgQTY0NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij5ydWxlICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIxMHlfMiI8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyBzYWxpZW5jZSA2NDg4NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsKICZuYnNwOyBwOiBQb3Np dGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVh dGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uLm10bVZhbHVl ICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnByb2R1 Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVy YXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwu cmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2lu ZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuIFZhbHVh dGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PQogIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kIG5vdCBpbiAo J2NvbnZlcnRpYmxlJywnY292ZXJlZCcgLCdqdW1ibyBwZmFuZGJyaWVmZScpKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVw ID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC52YWx1YXRp b25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBlID09ICdVTktOT1dOJyk8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVu PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNsYXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25Q YXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNhdGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdOQ0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwNTgxIik7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOwog Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0UnVsZVBhdGgocnVsZUhpc3Rv cnkuZ2V0QWN0aXZhdGlvblBhdGgoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVZhbHVlJykpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0 TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUg U2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7CiAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZp Y2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVGltZUJ1Y2tl dCcpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFzZWxpbmVUeXBlKCAnTUInKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlv bigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShwLmdl dFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVu Z2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7CiBhLnNldEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4zMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyNXlfdW5kZXIx MHlfMTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBy dWxlIHZhbHVlcyBhdCBBNjUxLCBoZWFkZXIgYXQgQTY0NDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5ydWxlICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJi X3VzZF9vdmVyNXlfdW5kZXIxMHlfMSI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDg4NTwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFt cDsgcG9zaXRpb25EZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRl dGFpbC52YWx1YXRpb24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRp b24ocG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeSAhPSBudWxsICZhbXA7JmFtcDsKIHBv c2l0aW9uRGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0 aWVzIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlE YXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsxNTc2ODAwMDAwMDApPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51 bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7 cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFt cDsgcG9zaXRpb25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiVVNEIik8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0g bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWFya2V0U2VjdG9yRGVz Y3JpcHRpb24gPT0gImNvcnAiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQudHlwZU9mQm9uZCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudC50eXBlT2ZCb25kIG5vdCBpbiAoJ2NvbnZlcnRpYmxlJywnY292ZXJlZCcgLCdqdW1ibyBw ZmFuZGJyaWVmZScpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu b3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09IDIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwucmlza1Byb2R1Y3RUeXBl ICE9ICdVTktOT1dOJyk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyB0aGVuPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHQuYWRkKGNs YXNzaWZpY2F0aW9uPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgnQmFzZWxpbmVDbGFzc2lmaWNh dGlvbicpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldEJhc2VsaW5lKCdO Q0NGJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRMaW5lSWQoIk5DQ0Yw MTAwNTgxIik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRPYmplY3QocCk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRQb3NpdGlvbklkKHAuZ2V0UG9z aXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldERhdGFTdGF0 dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u c2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygpLmdldFRyYW5zaXQoKS5n ZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgg J0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iCmJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZU5hbWUoICdC YWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlKCBwLmdldFBvc2l0aW9uRGV0 YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBh LnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFs dWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdT ZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2li bGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdp YmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJ bXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOwogJm5ic3A7ICZuYnNwOwogYS5zZXRDYXNo Zmxvd1R5cGUoICdTRVRUTEVNRU5ULCBTZXR0bGVtZW50Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBh LnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2Vs aW5lQ2FzaGZsb3cnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ0NC Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldENhc2hmbG93VHlwZSggJ1ByaW5jaXBhbCwgSW50 ZXJlc3QnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TGlzdChwLmdldFBvc2l0aW9uRGV0YWls KCkuZ2V0Q2FzaEZsb3dzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1Rv Q2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlvbi5hZGQo YT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQnKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1W YWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQb3NpdGlvbkRl dGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXREYXRlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRJbnN0cnVtZW50KCku Z2V0TWF0dXJpdHlEYXRlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXREZWZhdWx0RGF5c1Rv Q2FzaEZsb3cgKDE1MDAwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1Nl Y3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJs ZSBMb25nIGNvdmVycyBGdW5naWJsZQogU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdp YmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjA4ZXVyX2xhX2xuZ19xdWFsX21rdF9zZWNf YWduY3lfZGJ0Xzd5X1VuZGVyXzEwWV81PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE5NTQsIGhlYWRlciBhdCBBOTIxPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1bGUgIjA4ZXVy X2xhX2xuZ19xdWFsX210a19zZWNfYWduY3lfZGJ0XzdZX3VuZGVyXzEwWV81IjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGll bmNlIDY0NTgyPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRp b25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1By b2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihw b3NpdGlvbkRldGFpbC52YWx1YXRpb25UeXBlIGluICgnVmFsdWF0aW9uJywnQm90aCcpKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb3VudHJ5T2ZEb21pY2lsZSBp biAoJ0FUJywnQkUnLCdCRycsJ0NZJywnQ1onLCdERScsJ0RLJywnRUUnLCdFUycsJ0ZJJywnRlIn ICwnR0InLCdHUicgLCdIVScgLCdJRScgLCdJUycgLCdJVCcgLCdMSScgLCdMVCcgLCdMVScgLCdM VicgLCdNVCcgLCdOTCcgLCdOTycgLCdQTCcgLCdQVCcgLCdSTycgLCdTRScgLCdTSScgLCdTSycp KTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAh PSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5jb3VudHJ5T2ZJbmNv cnBvcmF0aW9uIGluICgnQVQnICwnQkUnICwnQkcnICwgJ0NZJyAsJ0NaJyAsJ0RFJyAmbmJzcDss ICdESycgLCdFRScgLCdFUycsICdGSScgLCdGUicgLCdHQicgLCAnR1InICwnSFUnICwnSUUnICwK ICdJUycgLCdJVCcgLCdMSScgLCAnTFQnICwnTFUnICwnTFYnICwgJ01UJyAsJ05MJyAsJ05PJyAs ICdQTCcgLCdQVCcgLCdSTycsJ1NFJyAsJ1NJJyAsJ1NLJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsICZhbXA7JmFtcDsgcG9zaXRp b25EZXRhaWwuIFZhbHVhdGlvbi5WYWx1YXRpb25DdXJyZW5jeSA9PSAiRVVSIik8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQuY29sbGF0ZXJhbFR5cGUgaW4gKCdnb3Z0 IGxpcXVpZCBndGQnLCd1cyBnb3Z0IGd1YXJhbnQnLCd1LnMuIGdvdmVybm1lbnQgZ3VhcmFudGVl JykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0 ZSAmZ3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMjIwNzUyMDAwMDAwKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUKICZsdDtw b3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdWYWx1YXRp b24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5y aXNrUHJvZHVjdFR5cGUgIT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNl bGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24u c2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNl dExpbmVJZCgiTkNDRjAxMDA0MDUiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiBjbGFzc2lmaWNhdGlvbi5zZXRQb3Np dGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0 aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0Qm9vaygp LmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0 aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25Q YXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAu Z2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7CiBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFs dWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRBZGp1c3Rt ZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2libGUgU2hv cnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0 KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFj dGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAnU0VUVExFTUVOVCwgU2V0dGxlbWVudCcpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3Mo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxvdwogKDEpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRl cnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QmFz ZWxpbmVUeXBlKCAnQ0InKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q2FzaGZsb3dUeXBlKCAn UHJpbmNpcGFsLCBJbnRlcmVzdCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0 UG9zaXRpb25EZXRhaWwoKS5nZXRDYXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3Np ZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVj a2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsKIGEuc2V0VmFsdWUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVh dGlvbigpLmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeShw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3ko KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERhdGUocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdl dEluc3RydW1lbnQoKS5nZXRNYXR1cml0eURhdGUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dERlZmF1bHREYXlzVG9DYXNoRmxvdyAoMTUwMDApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRO ZXR0aW5nVHlwZSgnU2VjdXJpdHknKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QWRqdXN0bWVu dFR5cGUoJ0Z1bmdpYmxlIExvbmcgY292ZXJzIEZ1bmdpYmxlIFNob3J0LEZ1bmdpYmxlIFNob3J0 IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJ1Y2tldCgn VG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ ZW5kPC9kaXY+PGRpdiBzdHlsZT0iCmJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+ PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjE4Y2FkX2xu Z19zZWNfaXNzX3Byb3Zfb3ZlcjEwWV91bmRlcjM1WV8yPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEExNTIsIGhlYWRlciBh dCBBMTM4PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1 bGUgIjE4Y2FkX2xuZ19zZWNfaXNzX3Byb3Zfb3ZlcjEweV91bmRlcjM1eV8yIjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGll bmNlIDY1Mzg0PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRp b25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVs bCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5 ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1By b2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogUG9zaXRpb24o cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPQogbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2lu ZXNzRGF0ZSszMTUzNjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlv bkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0 cnVtZW50Lm1hdHVyaXR5RGF0ZSAmbHQ7cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNzRGF0ZSsx MTAzNzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5p c3N1ZXJUaWNrZXIgaW4gKCdCUkNPTCcsJ0JjcElQQicsJ0FMVEEnLCdTQ0RBJzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4sJ01QJywnTUFOUEFDJywnTVBU QicsJ09OVFcnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiwnT05UJywnT05UQicsJ09OVFBBQycsJ1EnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiwnUVRCJywnUVVFUEFDJywnUVcnLCdOQlJOUyc8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdOUycsJ1BSSU5DRScsJ05G JywnTkZUQicpKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFs dWF0aW9uIT0gbnVsbAogJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVh dGlvbkN1cnJlbmN5ID09ICJDQUQiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRp b25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5z dHJ1bWVudC5pc3N1ZXJJbmR1c3RyeSA9PSAiZ292dCByZWdpb25hbCIpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1w OyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJn b3Z0Iik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlv blR5cGUgaW4gKCdWYWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlv bihwb3NpdGlvbkRldGFpbC5yaXNrUHJvZHVjdFR5cGUgPT0gJ1VOS05PV04nKTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBh cmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDAzNDEiKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25E ZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5 LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9u LmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRN dG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRp b25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBT aG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5hZGQoYT1uZXcKIEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0 JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdNQicpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9u KCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0 UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5n aWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iCmJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+ICA8ZGl2IHN0eWxlPSJmb250 LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlh bCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsiPiA8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0 aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7 Ij4gPGRpdiBkaXI9Imx0ciI+IDxociBzaXplPSIxIj4gIDxmb250IHNpemU9IjIiIGZhY2U9IkFy aWFsIj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5Gcm9tOjwvc3Bhbj48L2I+ IE1hcmsgUHJvY3RvciBbdmlhIERyb29sc10gJmx0OyZsdDthIGhyZWY9IjxhIGhyZWY9IngtbXNn Oi8vNDMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTA3OCZh bXA7YW1wO2k9MCI+eC1tc2c6Ly80My91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7bm9kZT00MDI5MDc4JmFtcDthbXA7aT0wPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9s bG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7PGJyPiA8Yj48c3BhbiBz dHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlRvOjwvc3Bhbj48L2I+IGtlbGx5YWpwICZsdDsmbHQ7 YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzQzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDtub2RlPTQwMjkwNzgmYW1wO2FtcDtpPTEiPngtbXNnOi8vNDMvdXNlci9TZW5kRW1h aWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTA3OCZhbXA7YW1wO2k9MTwvYT4iIHRh cmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIKIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVt YWlsXSZndDsgPGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlNlbnQ6PC9z cGFuPjwvYj4gVHVlc2RheSwgMSBBcHJpbCAyMDE0LCAxNDoxMDxicj4gPGI+PHNwYW4gc3R5bGU9 ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5TdWJqZWN0Ojwvc3Bhbj48L2I+IFJlOiBQb3NzaWJsZSBtZW1v cnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8YnI+IDwvZm9udD4gPC9kaXY+IDxkaXYgY2xhc3M9Inlp djk3MzkwNjk3NzZ5X21zZ19jb250YWluZXIiPjxicj48ZGl2IGlkPSJ5aXY5NzM5MDY5Nzc2Ij48 ZGl2PmFueSBuZXdzPzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2Pk1hcms8YnIgY2xl YXI9Im5vbmUiPjxkaXYgc3R5bGU9IiI+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMTM6MzgsIE1h cmsgUHJvY3RvciAmbHQ7PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFy Z2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8 L2Rpdj48YnIgY2xlYXI9Im5vbmUiIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtaW50ZXJjaGFu Z2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0ND Q0NDO3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48 L2Rpdj48ZGl2PjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkOyI+PGJyIGNsZWFyPSJu b25lIj48ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQsIGF0IDEzOjI2LCBrZWxseWFqcCAmbHQ7PGEg cmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJl eHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5v bmUiIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2Nr cXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0i IHR5cGU9ImNpdGUiPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjxkaXY+SSds bCBnZXQgdGhhdCB0byB5b3Ugb24gTW9uZGF5Jm5ic3A7PC9kaXY+PGRpdj48YnIgY2xlYXI9Im5v bmUiPk9uIDMwIE1hciAyMDE0LCBhdCAxMjo1OSwgIk1hcmsgUHJvY3RvciBbdmlhIERyb29sc10i ICZsdDsmbHQ7YQogaHJlZj0iJmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDth bXA7aT0wIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7 YW1wO25vZGU9NDAyOTAyNyZhbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzov LzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00MDI5MDI3JmFt cDthbXA7aT0wIj54LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7bm9kZT00MDI5MDI3JmFtcDthbXA7aT0wPC9hPiIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9s bG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3RlOjxiciBjbGVh cj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVy LWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbSIgdHlwZT0iY2l0ZSI+CgoJPC9i bG9ja3F1b3RlPjwvZGl2PjxkaXY+QXJlIHlvdSBhYmxlIHRvIGlzb2xhdGUgd2hhdCB0aGUgRkiS cyBhcmUgcmVmZXJlbmNpbmcsIFNvcnJ5IHRoYXQgc2hvdWxkIGJlIFJULCBub3QgRkguIFJUID09 IFJpZ2h0VHVwbGUsIEZIID09IEZhY3RIYW5kbGUuPGJyIGNsZWFyPSJub25lIj48YmxvY2txdW90 ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbSIgdHlw ZT0iY2l0ZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0ND O3BhZGRpbmc6MCAxZW0iIHR5cGU9ImNpdGUiPnRoYXQgbWlnaHQgZ2l2ZSB1cyBhbiBpZGVhIG9m IHdoZXJlIHRvIGxvb2suIElmIHlvdSBsb29rIFJpZ2h0VHVwbGWScyB0aGV5IHdpbGwgaGF2ZSBh IJFzaW5rJyByZWZlcmVuY2UgKG5ldHdvcmsgbm9kZSkgYW5kIHRoYXQgc2luayB3aWxsIGhhdmUg YW4gkWFzc29jaWF0ZXOSIG1hcC4gVGhhdCBtYXAgaXMgdGhlIHJ1bGVzIHRoYXQgbm9kZSBpcyBw YXJ0IG9mLiBZb3UgY2FuIHVzZSB0aGlzIHRvIGlkZW50aWZ5IHRoZSBvZmZlbmRpbmcgcnVsZShz KSwgYW5kIG1heWJlIHBhc3RlIHRob3NlIHJ1bGVzIGhlcmU/PGRpdj48YnIgY2xlYXI9Im5vbmUi PjwvZGl2PjxkaXY+TWFyazxiciBjbGVhcj0ibm9uZSI+PGRpdj48ZGl2Pk9uIDMwIE1hciAyMDE0 LCBhdCAwOTowMywga2VsbHlhanAgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9 IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9k ZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0wPC9hPiIm Z3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7 YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwu anRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MDwvYT4iIHRhcmdl dD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4KIGVtYWls XSZndDsgd3JvdGU6PC9kaXY+PGJyIGNsZWFyPSJub25lIiBjbGFzcz0ieWl2OTczOTA2OTc3NkFw cGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoy cHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtIiB0eXBlPSJjaXRlIj48ZGl2IHN0eWxlPSJm b250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1h bDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFj aW5nOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRleHQtaW5kZW50OiAwcHg7IHRleHQt dHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsi PjxkaXY+VGhhbmtzPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2PjxkaXY+SSdsbCBn ZXQgc29tZW9uZSBmcm9tIHRoZSB0ZWFtIHRvIHdvcmsgb24gdGhpcyBvbiBNb25kYXkuIE5vdCBz dXJlIGhvdyBlYXN5IGl0IHdpbGwgYmUgdG8gaXNvbGF0ZSBidXQgd2lsbCBrZWVwIHlvdSBpbmZv cm1lZC48L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGRpdj5BbmR5PGJyIGNsZWFy PSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQgMjM6NTIsICJNYXJrIFByb2N0b3IgW3ZpYSBEcm9v bHNdIiAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9k ZT00MDI5MDI1JmFtcDthbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDth bXA7aT0wPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7aT0wIj54LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAy NSZhbXA7YW1wO2FtcDtpPTA8L2E+IiZndDsmbHQ7YQogaHJlZj0iPGEgaHJlZj0ieC1tc2c6Ly8x MzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUm YW1wO2FtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVm PSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7bm9kZT00 MDI5MDI1JmFtcDthbXA7aT0wIj54LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1u b2RlJmFtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7aT0wPC9hPiIgdGFyZ2V0PSJfdG9wIiBy ZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3Rl OjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YmxvY2txdW90ZSBzdHls ZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbSIgdHlwZT0iY2l0 ZSI+Q2FuIHlvdSBnZXQgdXMgYSB1bml0IHRlc3QgZGVtb25zdHJhdGluZyB0aGlzLCBhbmQgd2WS bGwgbG9vayBpbnRvIGl0IGFzIGEgcHJpb3JpdHkuPHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPjxiciBj bGVhcj0ibm9uZSI+TWFyazxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj5PbiAyOCBNYXIgMjAxNCwgYXQg MTU6NDAsIGtlbGx5YWpwICZsdDsmbHQ7YSBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBocmVmPSI8 YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7 YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MCI+eC1tc2c6Ly8xMzEvdXNl ci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFt cDthbXA7YW1wO2FtcDtpPTA8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRF bWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtp PTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7 bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MDwvYT4iJmd0OyZsdDthCiBocmVmPSI8YSBocmVm PSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25v ZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MDwvYT4i Jmd0OzxhIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTAiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTA8L2E+IiB0YXJn ZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWls XSZndDsgd3JvdGU6PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPjxkaXYgY2xhc3M9Inlpdjk3MzkwNjk3 NzZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY5NzM5MDY5Nzc2c2hyaW5rYWJsZS1x dW90ZSI+PGRpdiBjbGFzcz0ieWl2OTczOTA2OTc3NnNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xh c3M9Inlpdjk3MzkwNjk3NzZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY5NzM5MDY5 Nzc2c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2OTczOTA2OTc3NnNocmlua2FibGUt cXVvdGUiPjxkaXYgY2xhc3M9Inlpdjk3MzkwNjk3NzZzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNs YXNzPSJzaHJpbmthYmxlLXF1b3RlIj48YnIgY2xlYXI9Im5vbmUiPiZndDsgV2UgaGF2ZSB1cGdy YWRlZCBmcm9tIERyb29scyA1IC0mZ3Q7IERyb29scyA2LjAxIGFuZCB3aGVuIHJlcGVhdGluZyB0 aGU8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBwcm9jZXNzaW5nIGluIGVhY2ggZW52aXJvbm1l bnQgd2UgaGF2ZSB2ZXJ5IGRpZmZlcmVudCBvYmplY3QgY291bnRzIHRoYXQgaXM8c3BhbiBjbGFz cz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBj bGVhcj0ibm9uZSI+Jmd0OyBjYXVzaW5nCiBtZW1vcnkgdG8gcnVuIG91dCBvbiBEcm9vbHMgNjo8 c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9z cGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEJlbG93 IGlzIGFuIGV4dHJhY3QgZnJvbSBhIGhlYXAgZHVtcDxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2 QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7 PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwv c3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgSW4gRHJvb2xzIDYgdGhlIG1haW4gb2JqZWN0cyBp biB0aGUgaGVhcCBhcmU8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyAxOiAmbmJzcDsgJm5ic3A7 ICZuYnNwOyA0Mzc4MDA2ICZuYnNwOyAmbmJzcDsgJm5ic3A7NzAwNDgwOTYwICZuYnNwO29yZy5k cm9vbHMuY29yZS5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNw YW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48YnIgY2xlYXI9Im5vbmUiPiZndDsgV2hlcmUgYXMgaW4gRHJvb2xzIDUgdGhlcmUgYXJlIHdh eSBsZXNzIG9iamVjdHM8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyA5MjogJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IDE5MDIyCiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsxODI2MTEy ICZuYnNwO29yZy5kcm9vbHMucmV0ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFzcz0ieWl2OTczOTA2 OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+ Jmd0OzxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEhhcyBhbnlvbmUgZWxzZSBoYWQgYW55IGV4 cGVyaWVuY2Ugb2YgdGhpcyBpc3N1ZT88c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNs YXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJy IGNsZWFyPSJub25lIj4mZ3Q7IFRoYW5rczxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7PHNwYW4g Y2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNz PSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNs ZWFyPSJub25lIj4mZ3Q7IC0tPHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgVmlldyB0aGlzIG1l c3NhZ2UgaW4gY29udGV4dDo8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRl ZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJn ZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3Np YmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTAuaHRtbCIgbGluaz0iZXh0 ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnkt bGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwLmh0bWw8L2E+PGJyIGNsZWFyPSJub25lIj4m Z3Q7IFNlbnQgZnJvbSB0aGUgRHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBs aXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlIGF0PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBs ZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0i cmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0 ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29u dmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHNwYW4gY2xhc3M9Inlpdjk3 MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5v bmUiPiZndDsgcnVsZXMtZGV2CiBtYWlsaW5nIGxpc3Q8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3 NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0 OzxzcGFuIGNsYXNzPSJ5aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iPGEgaHJlZj0ieC1tc2c6 Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00 MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTEiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0 cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7 aT0xPC9hPiImZ3Q7PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIj54LW1zZzovLzEz MS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZh bXA7YW1wO2FtcDtpPTE8L2E+IiZndDsmbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzovLzEzMS91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7 YW1wO2FtcDtpPTEiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1w O2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MTwvYT4iJmd0OzxhIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkw MTgmYW1wO2FtcDtpPTEiPngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDtpPTE8L2E+IiB0YXJnZXQ9Il90b3AiIHJlbD0i bm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxzcGFuIGNsYXNzPSJ5 aXY5NzM5MDY5Nzc2QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFy PSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJf YmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVs ZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9s aXN0aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9kaXY+PC9kaXY+X19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFw cGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PnJ1bGVzLWRldiBtYWlsaW5n IGxpc3Q8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPjwvZGl2PiZsdDthIGhyZWY9IiZsdDthCiBocmVmPSImbHQ7YSBocmVmPSI8YSBo cmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1w O2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MiI+eC1tc2c6Ly8xMzEvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDth bXA7YW1wO2FtcDtpPTI8L2E+IiZndDs8YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDtpPTIi PngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9k ZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MjwvYT4iJmd0OyZsdDthIGhyZWY9IjxhIGhyZWY9Ingt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDE4JmFtcDthbXA7YW1wO2k9MiI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0yPC9hPiImZ3Q7 PGEgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MiI+eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAxOCZhbXA7YW1wO2k9MjwvYT4iIHRhcmdldD0i X3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPHNw YW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh bj48L2Rpdj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhy ZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBs aW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9y dWxlcy1kZXY8L2E+PC9kaXY+PC9kaXY+PGJyIGNsZWFyPSJub25lIj48aHIgbm9zaGFkZT0iIiBz aXplPSIxIj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpOyBmb250LXN0eWxlOiBu b3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNp emU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2 YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsiPjxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0 OmJvbGQ7Ij5JZiB5b3UgcmVwbHkgdG8KIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJl IGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PjxhIHJlbD0ibm9mb2xsb3ciIHNo YXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5u YWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBw NDAyOTAxOC5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJi bGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAy OTAxOC5odG1sPC9hPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7 IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBu b3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2 ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW4tdG9wOiAwLjRlbTsgbGluZS1oZWlnaHQ6 IDEuNWVtOyI+VG8gdW5zdWJzY3JpYmUgZnJvbSBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9v bHMgNi4wLjEsPHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJn ZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48YnIgY2xlYXI9Im5vbmUi PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0 cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0cD9t YWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWlsLm5h bWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJibGUu dmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0 ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFuYWJi bGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1zZW5k X2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiBzdHlsZT0iZm9udC1zdHlsZTog bm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1z aXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiIGxpbms9 ImV4dGVybmFsIj5OQU1MPC9hPjwvZGl2PjwvYmxvY2txdW90ZT48YnIgY2xlYXI9Im5vbmUiPjxo ciBhbGlnbj0ibGVmdCIgd2lkdGg9IjMwMCI+VmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDo8 c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9z cGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWlu LURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNS5odG1sIiBsaW5rPSJleHRlcm5hbCI+UmU6 IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnIgY2xlYXI9Im5vbmUi PlNlbnQgZnJvbSB0aGU8c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9 Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL0Ryb29scy1E ZXZlbG9wZXItY29tbWl0dGVyLW1haWxpbmctbGlzdC1mNjIyNjAuaHRtbCIgbGluaz0iZXh0ZXJu YWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21taXR0ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxp c3QgYXJjaGl2ZTwvYT48c3BhbiBjbGFzcz0ieWl2OTczOTA2OTc3NkFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPmF0PHNwYW4gY2xhc3M9Inlpdjk3MzkwNjk3NzZBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIg dGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwi Pk5hYmJsZS5jb208L2E+LjxiciBjbGVhcj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX188YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5n IGxpc3Q8YnIgY2xlYXI9Im5vbmUiPiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IjxhIGhyZWY9Ingt bXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDI2JmFtcDthbXA7YW1wO2k9MSI+eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDthbXA7aT0xPC9hPiImZ3Q7 PGEgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1w O25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MSI+eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MTwvYT4iIHRhcmdldD0i X3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdPGJy IGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMt ZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxiciBjbGVhcj0ibm9u ZSI+PC9kaXY+PGJyIGNsZWFyPSJub25lIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QK PGJyIGNsZWFyPSJub25lIj4mbHQ7YSBocmVmPSImbHQ7YSBocmVmPSI8YSBocmVmPSJ4LW1zZzov LzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAy NiZhbXA7YW1wO2FtcDtpPTIiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5v ZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MjwvYT4iJmd0OzxhIGhy ZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2Rl PTQwMjkwMjYmYW1wO2FtcDtpPTIiPngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDtpPTI8L2E+IiB0YXJnZXQ9Il90b3Ai IHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXQo8YnIgY2xl YXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIg aHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYi IGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnIgY2xlYXI9Im5vbmUiPgoJPGJyIGNsZWFyPSJub25l Ij4KCTxociBub3NoYWRlPSIiIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwg NjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13 ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250 LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4K CQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1h aWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93Ojwv ZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJl Zj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFr LWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNi5odG1sIiBsaW5rPSJleHRlcm5hbCI+ aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWlu LURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAyNi5odG1sPC9hPgoJPC9kaXY+Cgk8ZGl2IHN0 eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt dmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZv bnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsg bWFyZ2luLXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2Ny aWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5v Zm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFs Ij5jbGljayBoZXJlPC9hPi48YnIgY2xlYXI9Im5vbmUiPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNo YXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5u YWJibGUuY29tL3RlbXBsYXRlL05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1w O2lkPWluc3RhbnRfaHRtbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5h bWwubmFtZXNwYWNlcy5CYXNpY05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFi YmxlTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDti cmVhZGNydW1icz1ub3RpZnlfc3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3Rh bnRfZW1haWxzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJi bGUlM0FlbWFpbC5uYW1sIiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0 OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJ PC9kaXY+PC9ibG9ja3F1b3RlPgoKCQoJCgkKPGJyIGNsZWFyPSJub25lIj48aHIgYWxpZ249Imxl ZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiA8YSByZWw9Im5v Zm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMu NDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEt dHA0MDI5MDEwcDQwMjkwMjcuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1v cnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyIGNsZWFyPSJub25lIj4KU2VudCBmcm9tIHRo ZSA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRl ci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiIGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVs b3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0 IDxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0 cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFy PSJub25lIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxi ciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBjbGVhcj0ibm9uZSI+PGEg cmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJl eHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+PGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9s bG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJv c3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9ibG9ja3F1 b3RlPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48YnIgY2xlYXI9Im5vbmUiPl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCjxiciBjbGVhcj0i bm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9m b2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwi PltoaWRkZW4gZW1haWxdPC9hPgo8YnIgY2xlYXI9Im5vbmUiPjxhIHJlbD0ibm9mb2xsb3ciIHNo YXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3Rz Lmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnIgY2xl YXI9Im5vbmUiPgoJPGJyIGNsZWFyPSJub25lIj4KCTxociBub3NoYWRlPSIiIHNpemU9IjEiPgoJ PGRpdiBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KTsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4 OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZl dGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7Ij4KCQk8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xk OyI+SWYgeW91IHJlcGx5IHRvIHRoaXMgZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVk IHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93OjwvZGl2PgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBl PSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJi bGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAy OTA1Mi5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUu Y29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA1 Mi5odG1sPC9hPgoJPC9kaXY+PGRpdiBjbGFzcz0ieWl2OTczOTA2OTc3NnlxdDExOTQxNTE1NTAi IGlkPSJ5aXY5NzM5MDY5Nzc2eXF0ZmQ5NDA1MCI+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEw MiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBm b250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEs IGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07 IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUg bWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVj dCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGljayBoZXJlPC9hPi48 YnIgY2xlYXI9Im5vbmUiPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9 Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRl L05hbWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUy MW5hYmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNp Y05hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJs ZS52aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlf c3Vic2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxl JTNBZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiBz dHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWln aHQ6IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFt aWx5OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9kaXY+PC9kaXY+ PC9kaXY+PGJyPjxicj48L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+PGRpdiBjbGFzcz0ieWl2 OTczOTA2OTc3NnNtYWxsIj48YnI+PGltZz4gPGI+TkNDRl9CQVNFTElORS54bHMuZHJsPC9iPiAo OU0pIDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xz LjQ2OTk5Lm4zLm5hYmJsZS5jb20vYXR0YWNobWVudC80MDI5MDc4LzAvTkNDRl9CQVNFTElORS54 bHMuZHJsIiBsaW5rPSJleHRlcm5hbCI+RG93bmxvYWQgQXR0YWNobWVudDwvYT48L2Rpdj4KCgkK CQoJCjxicj48aHIgYWxpZ249ImxlZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBp biBjb250ZXh0OiA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDov L2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29s cy02LTAtMS10cDQwMjkwMTBwNDAyOTA3OC5odG1sIiBsaW5rPSJleHRlcm5hbCI+UmU6IFBvc3Np YmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTwvYT48YnI+ClNlbnQgZnJvbSB0aGUgPGEg cmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTku bjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1pdHRlci1tYWlsaW5nLWxpc3QtZjYy MjYwLmh0bWwiIGxpbms9ImV4dGVybmFsIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBt YWlsaW5nIGxpc3QgbWFpbGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0IDxhIHJlbD0ibm9mb2xsb3ci IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNvbS8iIGxpbms9ImV4dGVybmFs Ij5OYWJibGUuY29tPC9hPi48YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX188YnI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxicj48YSByZWw9Im5vZm9sbG93 IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9h Pjxicj48YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1 bGVzLWRldiI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1k ZXY8L2E+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj48YnI+X19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPGJyPnJ1bGVzLWRldiBtYWlsaW5n IGxpc3QKPGJyPjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJl eHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Cjxicj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9 Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9y dWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnI+Cgk8YnI+Cgk8aHIgbm9zaGFkZT0i IiBzaXplPSIxIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5 bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZv bnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwg Z2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9u dC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ug d2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5v Zm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJi bGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAy OTA4MS5odG1sIiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUu Y29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA4 MS5odG1sPC9hPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIp OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDog bm9ybWFsOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0 OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsg aW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i IiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4uPGJyPgoJCTxhIHJlbD0ibm9mb2xsb3ci IHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20v dGVtcGxhdGUvTmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFu dF9odG1sJTIxbmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3Bh Y2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3Bh Y2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJz PW5vdGlmeV9zdWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMl MjFuYWJibGUlM0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWls Lm5hbWwiIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBm b250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8L2Rpdj48L2Rp dj48YnI+PGJyPjwvZGl2PiA8L2Rpdj4gPC9kaXY+ICA8L2Rpdj4KCgkKCQoJCjxicj48aHIgYWxp Z249ImxlZnQiIHdpZHRoPSIzMDAiPgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiA8YSBo cmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxl YWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MTgwLmh0bWwiPlJlOiBQb3NzaWJsZSBt ZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyPgpTZW50IGZyb20gdGhlIDxhIGhyZWY9 Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Ecm9vbHMtRGV2ZWxvcGVyLWNvbW1p dHRlci1tYWlsaW5nLWxpc3QtZjYyMjYwLmh0bWwiPkRyb29sczogRGV2ZWxvcGVyIChjb21taXR0 ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZTwvYT4gYXQgPGEgaHJlZj0iaHR0 cDovL05hYmJsZS5jb20iPk5hYmJsZS5jb208L2E+Ljxicj5fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXzxicj5ydWxlcy1kZXYgbWFpbGluZyBsaXN0PGJyPjxh IGhyZWY9Im1haWx0bzpydWxlcy1kZXZAbGlzdHMuamJvc3Mub3JnIj5ydWxlcy1kZXZAbGlzdHMu amJvc3Mub3JnPC9hPjxicj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3J1bGVzLWRldjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9ib2R5PjwvaHRtbD4= --===============7283890000573246051==-- From kellyajp at yahoo.co.uk Wed Apr 9 10:30:42 2014 Content-Type: multipart/mixed; boundary="===============8807921366724197733==" MIME-Version: 1.0 From: kellyajp To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Possible memory leak in Drools 6.0.1 Date: Wed, 09 Apr 2014 07:30:41 -0700 Message-ID: <1397053818.87736.YahooMailNeo@web171806.mail.ir2.yahoo.com> In-Reply-To: 5B7976DD-B22B-42D3-A519-94D46D47FE47@codehaus.org --===============8807921366724197733== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Thats fine, I will put something together. Thanks ________________________________ From: Mark Proctor [via Drools] To: kellyajp = Sent: Wednesday, 9 April 2014, 14:48 Subject: Re: Possible memory leak in Drools 6.0.1 = Not that I=E2=80=99m aware of. Even if this resolve your issue, it would be really nice if you could provi= de us a sample project that demonstrates this problem. You can email myself= or mario directly with the project. Mark On 9 Apr 2014, at 13:44, kellyajp <[hidden email]> wrote: Afternoon Mark, > > >Looks like making the change you suggested ie not needing so many patterns= . All those constraints can go in a single Pattern. =C2=A0has significantly= reduced the GC's. We are making the changes to all our rule templates and = will rerun. > > >Is there a difference in Drools 6 that would make using separate Patterns = such an overhead? > > >Thanks > > > >________________________________ > From: Mark Proctor [via Drools] <[hidden email]> >To: kellyajp <= [hidden email]> = >Sent: Wednesday, 2 April 2014, 12:41 >Subject: Re: Possible memory leak in Drools 6.0.1 > = > > >not sure why this would have a memory leak, it all looks quite straight fo= rward joins. > > >I assume you are using stateless sessions and inserting just a single Posi= tion instance? Is there a different number of RT=E2=80=99s after a single P= osition insert? > > >A small tip, you don=E2=80=99t need so many patterns. All those constraint= s can go in a single Pattern.=C2=A0 > > >Mark > > > > > >On 2 Apr 2014, at 11:20, kellyajp <[hidden email]> wrote: > >Morning Mark, >> >> >>That was a useful exercise!!, from a sampled set it looks like the RightT= uple instances are coming from a single rule package (nccf). >> >> >>This rule package comes from a large decision table of that is maintained= by our business users. This results in a large DRL file being generated co= ntaining 2371 rules.=C2=A0 >> >> >>Below I have included some of the rules that were referenced in the data = structures, I have also attached the generated DRL file. >> >> >>The exact same file processes in Drools 5 but fails in Drools 6. >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2 >>// rule values at A650, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over0y_under5y_2" >>=C2=A0 =C2=A0 salience 64886 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "corp") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrum= ent.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualityS= tep =3D=3D 2) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D= =3D 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100579"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over0y_under10y_2 >>// rule values at A652, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_2" >>=C2=A0 =C2=A0 salience 64884 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+157680000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "corp") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrum= ent.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualityS= tep =3D=3D 2) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D= =3D 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >>31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1 >>// rule values at A651, header at A644 >>rule "31usd_lng_corp_bnd_cr_bbb_usd_over5y_under10y_1" >>=C2=A0 =C2=A0 salience 64885 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+157680000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "USD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "corp") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.typeOfBond !=3D null && positionDetail.instrum= ent.typeOfBond not in ('convertible','covered' ,'jumbo pfandbriefe')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.overallCreditQualityS= tep =3D=3D 2) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D = 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100581"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument= ().getMaturityDate()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >>08eur_la_lng_qual_mkt_sec_agncy_dbt_7y_Under_10Y_5 >>// rule values at A954, header at A921 >>rule "08eur_la_lng_qual_mtk_sec_agncy_dbt_7Y_under_10Y_5" >>=C2=A0 =C2=A0 salience 64582 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.countryOfDomicile in ('AT','BE','BG','CY','CZ'= ,'DE','DK','EE','ES','FI','FR' ,'GB','GR' ,'HU' ,'IE' ,'IS' ,'IT' ,'LI' ,'L= T' ,'LU' ,'LV' ,'MT' ,'NL' ,'NO' ,'PL' ,'PT' ,'RO' ,'SE' ,'SI' ,'SK')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.countryOfIncorporation in ('AT' ,'BE' ,'BG' , = 'CY' ,'CZ' ,'DE' =C2=A0, 'DK' ,'EE' ,'ES', 'FI' ,'FR' ,'GB' , 'GR' ,'HU' ,'= IE' , 'IS' ,'IT' ,'LI' , 'LT' ,'LU' ,'LV' , 'MT' ,'NL' ,'NO' , 'PL' ,'PT' ,= 'RO','SE' ,'SI' ,'SK')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "EUR") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.collateralType in ('govt liquid gtd','us govt = guarant','u.s. government guarantee')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+220752000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType !=3D = 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100405"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'SETTLEMENT, Settlement'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (1); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineCashflow')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'CB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCashflowType( 'Principal, Interest'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setList(p.getPositionDetail().getCashFlows(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDate(p.getPositionDetail().getInstrument= ().getMaturityDate()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setDefaultDaysToCashFlow (15000); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >>18cad_lng_sec_iss_prov_over10Y_under35Y_2 >>// rule values at A152, header at A138 >>rule "18cad_lng_sec_iss_prov_over10y_under35y_2" >>=C2=A0 =C2=A0 salience 65384 >>=C2=A0 =C2=A0 when >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 p: Position(positionDetail!=3Dnull && positio= nDetail.valuation !=3D null && positionDetail.valuation.mtmValue >=3D0) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.productHierarchy !=3D= null && positionDetail.productHierarchy.rbcProductClass =3D=3D "securities= ") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=3DpositionDetail.riskBusinessDa= te+315360000000) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.maturityDate >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.issuerTicker in ('BRCOL','BcpIPB','ALTA','SCDA' >>,'MP','MANPAC','MPTB','ONTW' >>,'ONT','ONTB','ONTPAC','Q' >>,'QTB','QUEPAC','QW','NBRNS' >>,'NS','PRINCE','NF','NFTB')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.Valuation!=3D null &&= positionDetail. Valuation.ValuationCurrency =3D=3D "CAD") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.issuerIndustry =3D=3D "govt regional") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.instrument !=3D null = && positionDetail.instrument.marketSectorDescription =3D=3D "govt") >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.valuationType in ('Va= luation','Both')) >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 Position(positionDetail.riskProductType =3D= =3D 'UNKNOWN') >>=C2=A0 =C2=A0 then >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 result.add(classification=3Dnew ActionParamet= ersImpl('BaselineClassification')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setBaseline('NCCF'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setLineId("NCCF0100341"); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setObject(p); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setPositionId(p.getPositionId(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setDataStatus(p.getDataStatus(= )); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setCountry(p.getPositionDetail= ().getBook().getTransit().getLegalEntityCountry()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.setRulePath(ruleHistory.getAct= ivationPath()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineValue')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValueName( 'Balance'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue( p.getPositionDetail().getValuatio= n().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency( p.getPositionDetail().getValua= tion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 classification.add(a=3Dnew ActionParametersIm= pl( 'BaselineTimeBucket')); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBaselineType( 'MB'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setValue(p.getPositionDetail().getValuation= ().getMtmValue()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setCurrency(p.getPositionDetail().getValuat= ion().getValuationCurrency()); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setNettingType('Security'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setAdjustmentType('Fungible Long covers Fun= gible Short,Fungible Short covers Fungible Long'); >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 a.setBucket('Total'); >>end >> >> >> >> >> >> >> >> >> >> >> >>________________________________ >> From: Mark Proctor [via Drools] <x-msg://43/u= ser/SendEmail.jtp?type=3Dnode&node=3D4029078&i=3D0" target=3D"_top"= rel=3D"nofollow" link=3D"external">[hidden email]> >>To: kellyajp <x-msg://43/user/SendEmail.jtp?ty= pe=3Dnode&node=3D4029078&i=3D1" target=3D"_top" rel=3D"nofollow" li= nk=3D"external">[hidden email]> = >>Sent: Tuesday, 1 April 2014, 14:10 >>Subject: Re: Possible memory leak in Drools 6.0.1 >> = >> >> >>any news? >> >> >>Mark >> >>On 30 Mar 2014, at 13:38, Mark Proctor <[hidden email]> wrote: >> >> >> >>On 30 Mar 2014, at 13:26, kellyajp <[hidden email]> wrote: >> >>I'll get that to you on Monday=C2=A0 >> >>On 30 Mar 2014, at 12:59, "Mark Proctor [via Drools]" <x-msg://133/user/SendEmail.jtp= ?type=3Dnode&amp;node=3D4029027&amp;i=3D0">x-msg:/= /133/user/SendEmail.jtp?type=3Dnode&node=3D4029027&i=3D0" target=3D= "_top" rel=3D"nofollow" link=3D"external">[hidden email]> wrote: >> >> >>Are you able to isolate what the FH=E2=80=99s are referencing, Sorry that= should be RT, not FH. RT =3D=3D RightTuple, FH =3D=3D FactHandle. >> >>that might give us an idea of where to look. If you look RightTuple=E2=80= =99s they will have a =E2=80=98sink' reference (network node) and that sink= will have an =E2=80=98associates=E2=80=99 map. That map is the rules that = node is part of. You can use this to identify the offending rule(s), and ma= ybe paste those rules here? >>>> >>>> >>>>Mark >>>> >>>>On 30 Mar 2014, at 09:03, kellyajp <x-msg://133/user/SendEmail.jtp?type=3Dnode&amp;node=3D40290= 26&amp;i=3D0">x-msg://133/user/SendEmail.jtp?type=3Dno= de&node=3D4029026&i=3D0" target=3D"_top" rel=3D"nofollow" link=3D"e= xternal">[hidden email]> wrote: >>>> >>>>Thanks >>>>> >>>>> >>>>>I'll get someone from the team to work on this on Monday. Not sure how= easy it will be to isolate but will keep you informed. >>>>> >>>>> >>>>>Andy >>>>>On 28 Mar 2014, at 23:52, "Mark Proctor [via Drools]" <x-msg://131/user/SendEma= il.jtp?type=3Dnode&amp;amp;node=3D4029025&amp;amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D40= 29025&amp;i=3D0">x-msg://131/user/SendEmail.jtp?type=3Dnod= e&amp;node=3D4029025&amp;i=3D0">x-msg://131/user/S= endEmail.jtp?type=3Dnode&node=3D4029025&i=3D0" target=3D"_top" rel= =3D"nofollow" link=3D"external">[hidden email]> wrote: >>>>> >>>>> >>>>>Can you get us a unit test demonstrating this, and we=E2=80=99ll look = into it as a priority.=C2=A0 >>>>>> >>>>>>Mark=C2=A0 >>>>>>On 28 Mar 2014, at 15:40, kellyajp <x-msg://131/user/SendEmail.jtp?type=3Dnod= e&amp;amp;node=3D4029018&amp;amp;i=3D0">x-= msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i= =3D0">x-msg://131/user/SendEmail.jtp?type=3Dnod= e&amp;node=3D4029018&amp;i=3D0">x-msg://131/user/S= endEmail.jtp?type=3Dnode&node=3D4029018&i=3D0" target=3D"_top" rel= =3D"nofollow" link=3D"external">[hidden email]> wrote:=C2=A0 >>>>>> >>>>>> >>>>>>> We have upgraded from Drools 5 -> Drools 6.01 and when repeating th= e=C2=A0 >>>>>>> processing in each environment we have very different object counts= that is=C2=A0 >>>>>>> causing memory to run out on Drools 6:=C2=A0 >>>>>>>=C2=A0 >>>>>>> Below is an extract from a heap dump=C2=A0 >>>>>>>=C2=A0 >>>>>>> In Drools 6 the main objects in the heap are=C2=A0 >>>>>>> 1: =C2=A0 =C2=A0 =C2=A0 4378006 =C2=A0 =C2=A0 =C2=A0700480960 =C2= =A0org.drools.core.reteoo.RightTuple=C2=A0 >>>>>>>=C2=A0 >>>>>>> Where as in Drools 5 there are way less objects=C2=A0 >>>>>>> 92: =C2=A0 =C2=A0 =C2=A0 =C2=A0 19022 =C2=A0 =C2=A0 =C2=A0 =C2=A01826112 =C2=A0org.drools.reteoo.RightTuple=C2= =A0 >>>>>>>=C2=A0 >>>>>>> Has anyone else had any experience of this issue?=C2=A0 >>>>>>>=C2=A0 >>>>>>> Thanks=C2=A0 >>>>>>>=C2=A0 >>>>>>>=C2=A0 >>>>>>>=C2=A0 >>>>>>> --=C2=A0 >>>>>>> View this message in context:=C2=A0http://drools.46999.n3.nabble.co= m/Possible-memory-leak-in-Drools-6-0-1-tp4029010.html >>>>>>> Sent from the Drools: Developer (committer) mailing list mailing li= st archive at=C2=A0Nabble.com.=C2=A0 >>>>>>> _______________________________________________=C2=A0 >>>>>>> rules-dev mailing list=C2=A0 >>>>>>>=C2=A0x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;amp;node=3D4029018= &amp;amp;i=3D1">x-msg://131/user/SendEmail.jtp= ?type=3Dnode&amp;node=3D4029018&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D40290= 18&amp;i=3D1">x-msg://131/user/SendEmail.jtp?type=3Dno= de&node=3D4029018&i=3D1" target=3D"_top" rel=3D"nofollow" link=3D"e= xternal">[hidden email]=C2=A0 >>>>>>>=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev____________= ___________________________________=C2=A0rules-dev mailing list=C2=A0x-msg://131/u= ser/SendEmail.jtp?type=3Dnode&amp;amp;node=3D4029018&amp;amp;i=3D2"= >x-msg://131/user/SendEmail.jtp?type=3Dnode&am= p;node=3D4029018&amp;i=3D2">x-msg:/= /131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018&amp;i=3D2"><= a href=3D"x-msg://131/user/SendEmail.jtp?type=3Dnode&amp;node=3D4029018= &amp;i=3D2">x-msg://131/user/SendEmail.jtp?type=3Dnode&node=3D40290= 18&i=3D2" target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden em= ail]=C2=A0https://lists.jboss.org/mailman/listinfo/rules-dev >>>>>>________________________________ >>>>>> >>>>>>If you reply to this email, your message will be added to the discuss= ion below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-= 6-0-1-tp4029010p4029018.html >>>>>>To unsubscribe from Possible memory leak in Drools 6.0.1,=C2=A0click = here. >>>>>>NAML >>>>>>>>>>________________________________ >>>>>View this message in context:=C2=A0Re: Possible memory leak in Drools = 6.0.1 >>>>>Sent from the=C2=A0Drools: Developer (committer) mailing list mailing = list archive=C2=A0at=C2=A0Nabble.com. >>>>>_______________________________________________ >>>>>rules-dev mailing list >>>>>x-msg://133/user/Send= Email.jtp?type=3Dnode&amp;node=3D4029026&amp;i=3D1">x-msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D1" = target=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] >>>>>https://lists.jboss.org/mailman/listinfo/rules-dev >>>> >>>>_______________________________________________ = >>>>rules-dev mailing list = >>>>x-msg://133/user/SendEma= il.jtp?type=3Dnode&amp;node=3D4029026&amp;i=3D2">x= -msg://133/user/SendEmail.jtp?type=3Dnode&node=3D4029026&i=3D2" tar= get=3D"_top" rel=3D"nofollow" link=3D"external">[hidden email] = >>>>https://lists.jboss.org/mailman/listinfo/rules-dev = >>>> >>>>>>>>________________________________ >>>> = >>>>If you reply to this email, your message will be added to the discussio= n below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-= 0-1-tp4029010p4029026.html = >>>>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>>>NAML = >>>>>>________________________________ >>> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>>Sent from the Drools: Developer (committer) mailing list mailing list ar= chive at Nabble.com. >>>_______________________________________________ >>>rules-dev mailing list >>>[hidden email] >>>https://lists.jboss.org/mailman/listinfo/rules-dev >> >> >>_______________________________________________ = >>rules-dev mailing list = >>[hidden email] = >>https://lists.jboss.org/mailman/listinfo/rules-dev = >> >>>>________________________________ >> = >>If you reply to this email, your message will be added to the discussion = below:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-= 1-tp4029010p4029052.html = >>To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >>NAML = >> >> >> >> NCCF_BASELINE.xls.drl (9M) Download Attachment >>>>________________________________ >> View this message in context: Re: Possible memory leak in Drools 6.0.1 >>Sent from the Drools: Developer (committer) mailing list mailing list arc= hive at Nabble.com. >>_______________________________________________ >>rules-dev mailing list >>[hidden email] >>https://lists.jboss.org/mailman/listinfo/rules-dev > >_______________________________________________ = >rules-dev mailing list = >[hidden email] = >https://lists.jboss.org/mailman/listinfo/rules-dev = > >>________________________________ > = >If you reply to this email, your message will be added to the discussion b= elow:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1= -tp4029010p4029081.html = >To unsubscribe from Possible memory leak in Drools 6.0.1, click here. >NAML = > > >>________________________________ > View this message in context: Re: Possible memory leak in Drools 6.0.1 >Sent from the Drools: Developer (committer) mailing list mailing list arch= ive at Nabble.com. >_______________________________________________ >rules-dev mailing list >[hidden email] >https://lists.jboss.org/mailman/listinfo/rules-dev _______________________________________________ = rules-dev mailing list = [hidden email] = https://lists.jboss.org/mailman/listinfo/rules-dev = ________________________________ = If you reply to this email, your message will be added to the discussion be= low:http://drools.46999.n3.nabble.com/Possible-memory-leak-in-Drools-6-0-1-= tp4029010p4029183.html = To unsubscribe from Possible memory leak in Drools 6.0.1, click here. NAML -- View this message in context: http://drools.46999.n3.nabble.com/Possible-me= mory-leak-in-Drools-6-0-1-tp4029010p4029186.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============8807921366724197733== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBmb250LWZhbWls eTpIZWx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRh IEdyYW5kZSwgU2Fucy1TZXJpZjtmb250LXNpemU6OHB0Ij48ZGl2PjxzcGFuPlRoYXRzIGZpbmUs IEkgd2lsbCBwdXQgc29tZXRoaW5nIHRvZ2V0aGVyLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJj b2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp Y2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5k ZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxl OiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2Io MCwgMCwgMCk7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdI ZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1z ZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsi PjxzcGFuPlRoYW5rczwvc3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rpdj4gIDxkaXYgc3R5bGU9ImZv bnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFy aWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyI+IDxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2 ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJw dDsiPiA8ZGl2IGRpcj0ibHRyIj4gPGhyIHNpemU9IjEiPiAgPGZvbnQKIHNpemU9IjIiIGZhY2U9 IkFyaWFsIj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5Gcm9tOjwvc3Bhbj48 L2I+IE1hcmsgUHJvY3RvciBbdmlhIERyb29sc10gJmx0OzxhIGhyZWY9Ii91c2VyL1NlbmRFbWFp bC5qdHA/dHlwZT1ub2RlJm5vZGU9NDAyOTE4NiZpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2Zv bGxvdyIgbGluaz0iZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPiZndDs8YnI+IDxiPjxzcGFu IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlRvOjwvc3Bhbj48L2I+IGtlbGx5YWpwICZsdDs8 YSBocmVmPSIvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZub2RlPTQwMjkxODYmaT0xIiB0 YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ciIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWls XTwvYT4mZ3Q7IDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+U2VudDo8 L3NwYW4+PC9iPiBXZWRuZXNkYXksIDkgQXByaWwgMjAxNCwgMTQ6NDg8YnI+IDxiPjxzcGFuIHN0 eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlN1YmplY3Q6PC9zcGFuPjwvYj4gUmU6IFBvc3NpYmxl IG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxicj4gPC9mb250PiA8L2Rpdj4gPGRpdiBjbGFz cz0ieV9tc2dfY29udGFpbmVyIj48YnI+PGRpdiBpZD0ieWl2NTE4MzEwNDE3NCI+CgoJIE5vdCB0 aGF0IEnigJltIGF3YXJlIG9mLjxkaXY+PGJyPjwvZGl2PjxkaXY+RXZlbiBpZiB0aGlzIHJlc29s dmUgeW91ciBpc3N1ZSwgaXQgd291bGQgYmUgcmVhbGx5IG5pY2UgaWYgeW91IGNvdWxkIHByb3Zp ZGUgdXMgYSBzYW1wbGUgcHJvamVjdCB0aGF0IGRlbW9uc3RyYXRlcyB0aGlzIHByb2JsZW0uIFlv dSBjYW4gZW1haWwgbXlzZWxmIG9yIG1hcmlvIGRpcmVjdGx5IHdpdGggdGhlIHByb2plY3QuPC9k aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5NYXJrPGJyPjxkaXY+PGRpdj5PbiA5IEFwciAyMDE0LCBh dCAxMzo0NCwga2VsbHlhanAgJmx0OzxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJf dG9wIiBsaW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48 YnIgY2xhc3M9InlpdjUxODMxMDQxNzRBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2tx dW90ZSBzdHlsZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScg c3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBl PSJjaXRlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7 IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2Es IEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyI+PGRp dj48c3Bhbj5BZnRlcm5vb24gTWFyayw8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXpl OiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVs dmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bhbj48 L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FO ZXVlLCAnSGVsdmV0aWNhCiBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUn LCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTog bm9ybWFsOyI+PHNwYW4+TG9va3MgbGlrZSBtYWtpbmcgdGhlIGNoYW5nZSB5b3Ugc3VnZ2VzdGVk IGllIG5vdCBuZWVkaW5nIHNvIG1hbnkgcGF0dGVybnMuIEFsbCB0aG9zZSBjb25zdHJhaW50cyBj YW4gZ28gaW4gYSBzaW5nbGUgUGF0dGVybi4gJm5ic3A7aGFzIHNpZ25pZmljYW50bHkgcmVkdWNl ZCB0aGUgR0Mncy4gV2UgYXJlIG1ha2luZyB0aGUgY2hhbmdlcyB0byBhbGwgb3VyIHJ1bGUgdGVt cGxhdGVzIGFuZCB3aWxsIHJlcnVuLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6 IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2 ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29s b3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+PC9zcGFuPjwv ZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5l dWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywg c2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5v cm1hbDsiPjxzcGFuPklzIHRoZXJlIGEgZGlmZmVyZW5jZSBpbiBEcm9vbHMgNiB0aGF0IHdvdWxk IG1ha2UgdXNpbmcgc2VwYXJhdGUgUGF0dGVybnMgc3VjaCBhbiBvdmVyaGVhZD88L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1 ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBz YW5zLXNlcmlmOwogYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5v cm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4 OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNh LCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0 cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+VGhhbmtzPC9zcGFuPjwvZGl2 PjxkaXY+PGJyPjwvZGl2PiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6SGVsdmV0aWNhTmV1ZSwg J0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYQogR3JhbmRlJywgc2Fu cy1zZXJpZjtmb250LXNpemU6OHB0OyI+IDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRp Y2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5k ZScsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsiPiA8ZGl2IGRpcj0ibHRyIj4gPGhyIHNp emU9IjEiPiAgPGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwiPiA8Yj48c3BhbiBzdHlsZT0iZm9u dC13ZWlnaHQ6Ym9sZDsiPkZyb206PC9zcGFuPjwvYj4gTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xz XSAmbHQ7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8yNDAvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO25vZGU9NDAyOTE4MCZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5v Zm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7PGJyPiA8Yj48c3Bh biBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlRvOjwvc3Bhbj48L2I+IGtlbGx5YWpwICZsdDsm bHQ7YSBocmVmPSJ4LW1zZzovLzI0MC91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7bm9kZT00MDI5MTgwJmFtcDthbXA7aT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ci IGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgPGJyPiA8Yj48c3BhbiBzdHls ZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlNlbnQ6PC9zcGFuPjwvYj4gV2VkbmVzZGF5LCAyIEFwcmls IDIwMTQsIDEyOjQxPGJyPiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlN1Ympl Y3Q6PC9zcGFuPjwvYj4gUmU6IFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMTxi cj4gPC9mb250PiA8L2Rpdj4gPGRpdiBjbGFzcz0ieWl2NTE4MzEwNDE3NHlfbXNnX2NvbnRhaW5l ciI+PGJyPjxkaXYgaWQ9InlpdjUxODMxMDQxNzQiPgoKCSBub3Qgc3VyZSB3aHkgdGhpcyB3b3Vs ZCBoYXZlIGEgbWVtb3J5IGxlYWssIGl0IGFsbCBsb29rcyBxdWl0ZSBzdHJhaWdodCBmb3J3YXJk IGpvaW5zLjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBhc3N1bWUgeW91IGFyZSB1c2luZyBzdGF0ZWxl c3Mgc2Vzc2lvbnMgYW5kIGluc2VydGluZyBqdXN0IGEgc2luZ2xlIFBvc2l0aW9uIGluc3RhbmNl PyBJcyB0aGVyZSBhIGRpZmZlcmVudCBudW1iZXIgb2YgUlTigJlzIGFmdGVyIGEgc2luZ2xlIFBv c2l0aW9uIGluc2VydD88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkEgc21hbGwgdGlwLCB5b3Ug ZG9u4oCZdCBuZWVkIHNvIG1hbnkgcGF0dGVybnMuIEFsbCB0aG9zZSBjb25zdHJhaW50cyBjYW4g Z28gaW4gYSBzaW5nbGUgUGF0dGVybi4mbmJzcDs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk1h cms8YnI+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PGRpdj48ZGl2Pk9uIDIgQXByIDIwMTQsIGF0 IDExOjIwLCBrZWxseWFqcCAmbHQ7PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90 b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjwvZGl2Pjxi ciBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1 b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBz dHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9 ImNpdGUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsg Zm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwg QXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7Ij48ZGl2 PjxzcGFuPk1vcm5pbmcgTWFyayw8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAx MXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywKIEhlbHZl dGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xv cjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxicj48L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1 ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBz YW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9y bWFsOyI+PHNwYW4+VGhhdCB3YXMgYSB1c2VmdWwgZXhlcmNpc2UhISwgZnJvbSBhIHNhbXBsZWQg c2V0IGl0IGxvb2tzIGxpa2UgdGhlIFJpZ2h0VHVwbGUgaW5zdGFuY2VzIGFyZSBjb21pbmcgZnJv bSBhIHNpbmdsZSBydWxlIHBhY2thZ2UgKG5jY2YpLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJm b250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5l dWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+ PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhl bHZldGljYU5ldWUsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEg R3JhbmRlJywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQt c3R5bGU6IG5vcm1hbDsiPjxzcGFuPlRoaXMgcnVsZSBwYWNrYWdlIGNvbWVzIGZyb20gYSBsYXJn ZSBkZWNpc2lvbiB0YWJsZSBvZiB0aGF0IGlzIG1haW50YWluZWQgYnkgb3VyIGJ1c2luZXNzIHVz ZXJzLiBUaGlzIHJlc3VsdHMgaW4gYSBsYXJnZSBEUkwgZmlsZSBiZWluZwogZ2VuZXJhdGVkIGNv bnRhaW5pbmcgMjM3MSBydWxlcy4mbmJzcDs8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1z aXplOiAxMXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywg SGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+PGJyPjwvc3Bh bj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp Y2FOZXVlLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5k ZScsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxl OiBub3JtYWw7Ij48c3Bhbj5CZWxvdyBJIGhhdmUgaW5jbHVkZWQgc29tZSBvZiB0aGUgcnVsZXMg dGhhdCB3ZXJlIHJlZmVyZW5jZWQgaW4gdGhlIGRhdGEgc3RydWN0dXJlcywgSSBoYXZlIGFsc28g YXR0YWNoZWQgdGhlIGdlbmVyYXRlZCBEUkwKIGZpbGUuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9 ImZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsICdIZWx2ZXRpY2Eg TmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjsgYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsiPjxzcGFuPjxi cj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTog SGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lk YSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9u dC1zdHlsZTogbm9ybWFsOyI+PHNwYW4+VGhlIGV4YWN0IHNhbWUgZmlsZSBwcm9jZXNzZXMgaW4g RHJvb2xzIDUgYnV0IGZhaWxzIGluIERyb29scyA2Ljwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJm b250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLCAnSGVsdmV0aWNhIE5l dWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7IGJhY2tn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij48c3Bhbj48YnI+ PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4z MXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5kZXI1eV8yPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE2 NTAsIGhlYWRlciBhdCBBNjQ0PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPnJ1bGUKICIzMXVzZF9sbmdfY29ycF9ibmRfY3JfYmJiX3VzZF9vdmVyMHlfdW5k ZXI1eV8yIjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7IHNhbGllbmNlIDY0ODg2PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg cDogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC52YWx1YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5t dG1WYWx1ZSAmZ3Q7PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5wcm9kdWN0SGllcmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5wcm9k dWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIpPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAmZ3Q7PXBvc2l0aW9u RGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOwogcG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0Rh dGUrMTU3NjgwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRh aWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLiBWYWx1YXRpb24u VmFsdWF0aW9uQ3VycmVuY3kgPT0gIlVTRCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50Lm1hcmtldFNlY3RvckRlc2NyaXB0aW9uID09ICJjb3JwIik8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1w OyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQudHlwZU9mQm9uZCAhPSBudWxsICZhbXA7 JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kIG5vdCBpbiAoJ2NvbnZl cnRpYmxlJywnY292ZXJlZCcgLCdqdW1ibyBwZmFuZGJyaWVmZScpKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwub3ZlcmFsbENyZWRpdFF1YWxpdHlTdGVwID09IDIp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOwogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlw ZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1l dGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBj bGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xh c3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDU3OSIpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Y2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uc2V0UG9zaXRpb25JZChwLmdldFBvc2l0aW9uSWQoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OwogY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRh aWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5Lmdl dEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRk KGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldE10bVZh bHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDdXJyZW5jeSggcC5nZXRQb3NpdGlvbkRl dGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7CiAmbmJz cDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9y dCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlv bi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQnKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJhc2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldFZhbHVlKHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5n ZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0Q3VycmVuY3kocC5nZXRQb3Np dGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigpLmdldFZhbHVhdGlvbkN1cnJlbmN5KCkpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsKIGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJs ZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+MzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rfb3ZlcjB5X3VuZGVyMTB5XzI8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2 YWx1ZXMgYXQgQTY1MiwgaGVhZGVyIGF0IEE2NDQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMzF1c2RfbG5nX2NvcnBfYm5kX2NyX2JiYl91c2Rf b3ZlcjV5X3VuZGVyMTB5XzIiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjQ4ODQ8L2Rpdj48ZGl2IHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7CiAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBw b3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls LnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihw b3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlv bkRldGFpbC5wcm9kdWN0SGllcmFyY2h5LnJiY1Byb2R1Y3RDbGFzcyA9PSAic2VjdXJpdGllcyIp PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lm1hdHVyaXR5RGF0ZSAm Z3Q7PXBvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMTU3NjgwMDAwMDAwKTwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZh bXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmx0O3Bvc2l0 aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuVmFsdWF0aW9uIT0gbnVsbCAmYW1wOyZhbXA7IHBv c2l0aW9uRGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0KICJVU0QiKTwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlw dGlvbiA9PSAiY29ycCIpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFp bC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50 LnR5cGVPZkJvbmQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQu dHlwZU9mQm9uZCBub3QgaW4gKCdjb252ZXJ0aWJsZScsJ2NvdmVyZWQnICwnanVtYm8gcGZhbmRi cmllZmUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLm92ZXJh bGxDcmVkaXRRdWFsaXR5U3RlcCA9PSAyKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9PSAn VU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJlc3VsdC5hZGQoY2xhc3Np ZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCdCYXNlbGluZUNsYXNzaWZpY2F0aW9u JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxpbmUoJ05DQ0Yn KTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAxMDA1 ODEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlv bklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhw LmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRD b3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdldExl Z2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7CiAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jh c2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0JhbGFu Y2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRhaWwo KS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRp b25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3Vy aXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBM b25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUg TG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsKICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBs KCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGlu ZVR5cGUoICdNQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9u RGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRW YWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUo J1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5n aWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVu Z2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGEuc2V0QnVja2V0KCdUb3RhbCcpOzwv ZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjMxdXNkX2xuZ19jb3JwX2JuZF9jcl9i YmJfdXNkX292ZXI1eV91bmRlcjEweV8xPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPi8vIHJ1bGUgdmFsdWVzIGF0IEE2NTEsIGhlYWRlciBhdCBBNjQ0PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPnJ1bGUgIjMxdXNk X2xuZ19jb3JwX2JuZF9jcl9iYmJfdXNkX292ZXI1eV91bmRlcjEweV8xIjwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHNhbGllbmNl IDY0ODg1PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgd2hlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcDogUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwhPW51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRpb24gIT0gbnVsbCAm YW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvbi5tdG1WYWx1ZSAmZ3Q7PTApPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5wcm9kdWN0SGllcmFyY2h5ICE9 IG51bGwgJmFtcDsmYW1wOwogcG9zaXRpb25EZXRhaWwucHJvZHVjdEhpZXJhcmNoeS5yYmNQcm9k dWN0Q2xhc3MgPT0gInNlY3VyaXRpZXMiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9z aXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmd0Oz1wb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NE YXRlKzE1NzY4MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0 YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1l bnQubWF0dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2 MDAwMDAwMCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZhbHVh dGlvbiE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVhdGlv bkN1cnJlbmN5ID09ICJVU0QiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25E ZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1 bWVudC5tYXJrZXRTZWN0b3JEZXNjcmlwdGlvbiA9PSAiY29ycCIpPC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OwogUG9zaXRpb24ocG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsg cG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC50eXBlT2ZCb25kICE9IG51bGwgJmFtcDsmYW1wOyBw b3NpdGlvbkRldGFpbC5pbnN0cnVtZW50LnR5cGVPZkJvbmQgbm90IGluICgnY29udmVydGlibGUn LCdjb3ZlcmVkJyAsJ2p1bWJvIHBmYW5kYnJpZWZlJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5vdmVyYWxsQ3JlZGl0UXVhbGl0eVN0ZXAgPT0gMik8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdW YWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5yaXNrUHJvZHVjdFR5cGUgIT0gJ1VOS05PV04nKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHRoZW48L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IHJlc3VsdC5hZGQoY2xhc3NpZmljYXRpb249bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBs KCdCYXNlbGluZUNsYXNzaWZpY2F0aW9uJykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uc2V0QmFzZWxpbmUoJ05DQ0YnKTs8L2Rpdj48ZGl2CiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNh dGlvbi5zZXRMaW5lSWQoIk5DQ0YwMTAwNTgxIik7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lm aWNhdGlvbi5zZXRPYmplY3QocCk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRQb3NpdGlvbklkKHAuZ2V0UG9zaXRpb25JZCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNz aWZpY2F0aW9uLnNldERhdGFTdGF0dXMocC5nZXREYXRhU3RhdHVzKCkpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0Q291bnRyeShwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0 Qm9vaygpLmdldFRyYW5zaXQoKS5nZXRMZWdhbEVudGl0eUNvdW50cnkoKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRSdWxlUGF0aChydWxlSGlzdG9yeS5nZXRBY3RpdmF0 aW9uUGF0aCgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBB Y3Rpb25QYXJhbWV0ZXJzSW1wbCggJ0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdgogc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRWYWx1ZU5hbWUoICdCYWxhbmNlJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZh bHVlKCBwLmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1cnJlbmN5KCBwLmdldFBvc2l0aW9uRGV0YWlsKCku Z2V0VmFsdWF0aW9uKCkuZ2V0VmFsdWF0aW9uQ3VycmVuY3koKSk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRB ZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUgU2hvcnQsRnVuZ2li bGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0 QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uYWRkKGE9 bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVDYXNoZmxvdycpKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7CiAmbmJzcDsKICZu YnNwOyAmbmJzcDsKIGEuc2V0Q2FzaGZsb3dUeXBlKCAnU0VUVExFTUVOVCwgU2V0dGxlbWVudCcp OzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRMaXN0KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRD YXNoRmxvd3MoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldERlZmF1bHREYXlzVG9DYXNoRmxv dyAoMSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9u UGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg YS5zZXRCYXNlbGluZVR5cGUoICdDQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNoZmxv d1R5cGUoICdQcmluY2lwYWwsIEludGVyZXN0Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExp c3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OwogY2xhc3NpZmljYXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxp bmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdN QicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0aW9uRGV0YWlsKCku Z2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEN1 cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25D dXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGF0ZShwLmdldFBvc2l0aW9uRGV0 YWlsKCkuZ2V0SW5zdHJ1bWVudCgpLmdldE1hdHVyaXR5RGF0ZSgpKTs8L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9kaXY+PGRpdiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRB ZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2libGUKIFNob3J0LEZ1bmdp YmxlIFNob3J0IGNvdmVycyBGdW5naWJsZSBMb25nJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNl dEJ1Y2tldCgnVG90YWwnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+ZW5kPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4wOGV1 cl9sYV9sbmdfcXVhbF9ta3Rfc2VjX2FnbmN5X2RidF83eV9VbmRlcl8xMFlfNTwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4vLyBydWxlIHZhbHVlcyBhdCBB OTU0LCBoZWFkZXIgYXQgQTkyMTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Ij5ydWxlICIwOGV1cl9sYV9sbmdfcXVhbF9tdGtfc2VjX2FnbmN5X2RidF83WV91 bmRlcl8xMFlfNSI8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 OyI+Jm5ic3A7ICZuYnNwOyBzYWxpZW5jZSA2NDU4MjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7IHdoZW48L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IHA6IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsIT1udWxsICZhbXA7JmFtcDsgcG9zaXRpb25E ZXRhaWwudmFsdWF0aW9uICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC52YWx1YXRp b24ubXRtVmFsdWUgJmd0Oz0wKTwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls LnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnZhbHVhdGlvblR5cGUgaW4gKCdW YWx1YXRpb24nLCdCb3RoJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50LmNvdW50cnlPZkRvbWljaWxlIGluICgnQVQnLCdCRScsJ0JHJywnQ1knLCdDWicsJ0RFJywn REsnLCdFRScsJ0VTJywnRkknLCdGUicgLCdHQicsJ0dSJyAsJ0hVJyAsJ0lFJyAsJ0lTJyAsJ0lU JyAsJ0xJJyAsJ0xUJyAsJ0xVJyAsJ0xWJyAsJ01UJyAsJ05MJyAsJ05PJyAsJ1BMJyAsJ1BUJyAs J1JPJyAsJ1NFJyAsJ1NJJyAsJ1NLJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5p bnN0cnVtZW50LmNvdW50cnlPZkluY29ycG9yYXRpb24gaW4gKCdBVCcgLCdCRScgLCdCRycgLCAn Q1knICwnQ1onICwnREUnICZuYnNwOywgJ0RLJyAsJ0VFJyAsJ0VTJywgJ0ZJJyAsJ0ZSJyAsJ0dC JyAsICdHUicgLCdIVScgLCdJRScgLAogJ0lTJyAsJ0lUJyAsJ0xJJyAsICdMVCcgLCdMVScgLCdM VicgLCAnTVQnICwnTkwnICwnTk8nICwgJ1BMJyAsJ1BUJyAsJ1JPJywnU0UnICwnU0knICwnU0sn KSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLlZhbHVhdGlvbiE9 IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC4gVmFsdWF0aW9uLlZhbHVhdGlvbkN1cnJl bmN5ID09ICJFVVIiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwu aW5zdHJ1bWVudCAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5j b2xsYXRlcmFsVHlwZSBpbiAoJ2dvdnQgbGlxdWlkIGd0ZCcsJ3VzIGdvdnQgZ3VhcmFudCcsJ3Uu cy4gZ292ZXJubWVudCBndWFyYW50ZWUnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBv c2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls Lmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZndDs9cG9zaXRpb25EZXRhaWwucmlza0J1c2luZXNz RGF0ZSsyMjA3NTIwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRl dGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVt ZW50Lm1hdHVyaXR5RGF0ZQogJmx0O3Bvc2l0aW9uRGV0YWlsLnJpc2tCdXNpbmVzc0RhdGUrMzE1 MzYwMDAwMDAwKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24ocG9zaXRpb25EZXRhaWwudmFs dWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBv c2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSAhPSAnVU5LTk9XTicpPC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg dGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFzc2lmaWNhdGlvbj1uZXcgQWN0 aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRpb24nKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRCYXNlbGluZSgnTkNDRicpOzwvZGl2PjxkaXYgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgY2xhc3NpZmljYXRpb24uc2V0TGluZUlkKCJOQ0NGMDEwMDQwNSIpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0T2JqZWN0KHApOzwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsK IGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3NpdGlvbklkKCkpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1cyhwLmdldERhdGFTdGF0dXMo KSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5zZXRDb3VudHJ5KHAuZ2V0UG9z aXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdldExlZ2FsRW50aXR5Q291bnRy eSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFJ1bGVQYXRoKHJ1bGVI aXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmlj YXRpb24uYWRkKGE9bmV3IEFjdGlvblBhcmFtZXRlcnNJbXBsKCAnQmFzZWxpbmVWYWx1ZScpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWVOYW1lKCAnQmFsYW5jZScpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRWYWx1ZSggcC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldFZhbHVhdGlvbigp LmdldE10bVZhbHVlKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsKIGEuc2V0Q3VycmVuY3koIHAuZ2V0 UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRp diBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJsZSBMb25nIGNvdmVycyBGdW5n aWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2libGUgTG9uZycpOzwvZGl2Pjxk aXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFz c2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hm bG93JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRDYXNoZmxvd1R5cGUoICdTRVRUTEVNRU5U LCBTZXR0bGVtZW50Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlv bkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVs dERheXNUb0Nhc2hGbG93CiAoMSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5h ZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoICdCYXNlbGluZUNhc2hmbG93JykpOzwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNlbGluZVR5cGUoICdDQicpOzwvZGl2PjxkaXYgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgYS5zZXRDYXNoZmxvd1R5cGUoICdQcmluY2lwYWwsIEludGVyZXN0Jyk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldExpc3QocC5nZXRQb3NpdGlvbkRldGFpbCgpLmdldENhc2hGbG93cygpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcgQWN0aW9uUGFyYW1ldGVy c0ltcGwoICdCYXNlbGluZVRpbWVCdWNrZXQnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEJh c2VsaW5lVHlwZSggJ01CJyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOwogYS5zZXRWYWx1ZShwLmdldFBv c2l0aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24o KS5nZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGF0ZShw LmdldFBvc2l0aW9uRGV0YWlsKCkuZ2V0SW5zdHJ1bWVudCgpLmdldE1hdHVyaXR5RGF0ZSgpKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0RGVmYXVsdERheXNUb0Nhc2hGbG93ICgxNTAwMCk7PC9k aXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhLnNldE5ldHRpbmdUeXBlKCdTZWN1cml0eScpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgYS5zZXRBZGp1c3RtZW50VHlwZSgnRnVuZ2libGUgTG9uZyBjb3ZlcnMgRnVuZ2li bGUgU2hvcnQsRnVuZ2libGUgU2hvcnQgY292ZXJzIEZ1bmdpYmxlIExvbmcnKTs8L2Rpdj48ZGl2 IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IGEuc2V0QnVja2V0KCdUb3RhbCcpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij5lbmQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50OyI+PGJyPjwvZGl2PjxkaXYKIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+MThjYWRfbG5nX3NlY19pc3NfcHJvdl9vdmVyMTBZX3VuZGVyMzVZXzI8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Ly8gcnVsZSB2 YWx1ZXMgYXQgQTE1MiwgaGVhZGVyIGF0IEExMzg8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50OyI+cnVsZSAiMThjYWRfbG5nX3NlY19pc3NfcHJvdl9vdmVyMTB5 X3VuZGVyMzV5XzIiPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgc2FsaWVuY2UgNjUzODQ8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyB3aGVuPC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBwOiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbCE9bnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9u RGV0YWlsLnZhbHVhdGlvbiAhPSBudWxsICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwudmFsdWF0 aW9uLm10bVZhbHVlICZndDs9MCk8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9u RGV0YWlsLnByb2R1Y3RIaWVyYXJjaHkgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWls LnByb2R1Y3RIaWVyYXJjaHkucmJjUHJvZHVjdENsYXNzID09ICJzZWN1cml0aWVzIik8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7CiBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9CiBudWxs ICZhbXA7JmFtcDsgcG9zaXRpb25EZXRhaWwuaW5zdHJ1bWVudC5tYXR1cml0eURhdGUgJmd0Oz1w b3NpdGlvbkRldGFpbC5yaXNrQnVzaW5lc3NEYXRlKzMxNTM2MDAwMDAwMCk8L2Rpdj48ZGl2IHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQgIT0gbnVsbCAmYW1wOyZh bXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWF0dXJpdHlEYXRlICZsdDtwb3NpdGlvbkRl dGFpbC5yaXNrQnVzaW5lc3NEYXRlKzExMDM3NjAwMDAwMDApPC9kaXY+PGRpdiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQ b3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsmYW1wOyBwb3Np dGlvbkRldGFpbC5pbnN0cnVtZW50Lmlzc3VlclRpY2tlciBpbiAoJ0JSQ09MJywnQmNwSVBCJywn QUxUQScsJ1NDREEnPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiwnTVAnLCdNQU5QQUMnLCdNUFRCJywnT05UVyc8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdPTlQnLCdPTlRCJywnT05UUEFDJywnUSc8L2Rpdj48 ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+LCdRVEInLCdRVUVQQUMn LCdRVycsJ05CUk5TJzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Ij4sJ05TJywnUFJJTkNFJywnTkYnLCdORlRCJykpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQb3Np dGlvbihwb3NpdGlvbkRldGFpbC5WYWx1YXRpb24hPSBudWxsCiAmYW1wOyZhbXA7IHBvc2l0aW9u RGV0YWlsLiBWYWx1YXRpb24uVmFsdWF0aW9uQ3VycmVuY3kgPT0gIkNBRCIpPC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBQb3NpdGlvbihwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50ICE9IG51bGwgJmFtcDsm YW1wOyBwb3NpdGlvbkRldGFpbC5pbnN0cnVtZW50Lmlzc3VlckluZHVzdHJ5ID09ICJnb3Z0IHJl Z2lvbmFsIik8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLmluc3Ry dW1lbnQgIT0gbnVsbCAmYW1wOyZhbXA7IHBvc2l0aW9uRGV0YWlsLmluc3RydW1lbnQubWFya2V0 U2VjdG9yRGVzY3JpcHRpb24gPT0gImdvdnQiKTwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUG9zaXRpb24o cG9zaXRpb25EZXRhaWwudmFsdWF0aW9uVHlwZSBpbiAoJ1ZhbHVhdGlvbicsJ0JvdGgnKSk8L2Rp dj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBvc2l0aW9uKHBvc2l0aW9uRGV0YWlsLnJpc2tQcm9kdWN0VHlwZSA9 PSAnVU5LTk9XTicpPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDsiPiZuYnNwOyAmbmJzcDsgdGhlbjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0LmFkZChjbGFz c2lmaWNhdGlvbj1uZXcgQWN0aW9uUGFyYW1ldGVyc0ltcGwoJ0Jhc2VsaW5lQ2xhc3NpZmljYXRp b24nKSk7PC9kaXY+PGRpdgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0QmFzZWxpbmUoJ05D Q0YnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldExpbmVJZCgiTkNDRjAx MDAzNDEiKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldE9iamVjdChwKTs8 L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9uLnNldFBvc2l0aW9uSWQocC5nZXRQb3Np dGlvbklkKCkpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xhc3NpZmljYXRpb24uc2V0RGF0YVN0YXR1 cyhwLmdldERhdGFTdGF0dXMoKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5z ZXRDb3VudHJ5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRCb29rKCkuZ2V0VHJhbnNpdCgpLmdl dExlZ2FsRW50aXR5Q291bnRyeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsYXNzaWZpY2F0aW9u LnNldFJ1bGVQYXRoKHJ1bGVIaXN0b3J5LmdldEFjdGl2YXRpb25QYXRoKCkpOzwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsKIGNsYXNzaWZpY2F0aW9uLmFkZChhPW5ldyBBY3Rpb25QYXJhbWV0ZXJzSW1wbCgg J0Jhc2VsaW5lVmFsdWUnKSk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFu c3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldFZhbHVlTmFtZSggJ0Jh bGFuY2UnKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+ Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0VmFsdWUoIHAuZ2V0UG9zaXRpb25EZXRh aWwoKS5nZXRWYWx1YXRpb24oKS5nZXRNdG1WYWx1ZSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEu c2V0Q3VycmVuY3koIHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5nZXRWYWx1 YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5cGUoJ1Nl Y3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsi PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdGdW5naWJs ZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMgRnVuZ2li bGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7PC9kaXY+ PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBjbGFzc2lmaWNhdGlvbi5hZGQoYT1uZXcKIEFjdGlvblBhcmFtZXRlcnNJ bXBsKCAnQmFzZWxpbmVUaW1lQnVja2V0JykpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCYXNl bGluZVR5cGUoICdNQicpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRWYWx1ZShwLmdldFBvc2l0 aW9uRGV0YWlsKCkuZ2V0VmFsdWF0aW9uKCkuZ2V0TXRtVmFsdWUoKSk7PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBhLnNldEN1cnJlbmN5KHAuZ2V0UG9zaXRpb25EZXRhaWwoKS5nZXRWYWx1YXRpb24oKS5n ZXRWYWx1YXRpb25DdXJyZW5jeSgpKTs8L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGEuc2V0TmV0dGluZ1R5 cGUoJ1NlY3VyaXR5Jyk7PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBhLnNldEFkanVzdG1lbnRUeXBlKCdG dW5naWJsZSBMb25nIGNvdmVycyBGdW5naWJsZSBTaG9ydCxGdW5naWJsZSBTaG9ydCBjb3ZlcnMg RnVuZ2libGUgTG9uZycpOzwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYS5zZXRCdWNrZXQoJ1RvdGFsJyk7 PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPmVuZDwvZGl2 PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRp dgogc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsiPjxicj48L2Rpdj48ZGl2IHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyI+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYg c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ij48YnI+PC9kaXY+PGRpdj48YnI+ PC9kaXY+ICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgJ0hlbHZldGlj YSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDhwdDsiPiA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwg J0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5z LXNlcmlmOyBmb250LXNpemU6IDEycHQ7Ij4gPGRpdiBkaXI9Imx0ciI+IDxociBzaXplPSIxIj4g IDxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsIj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 OmJvbGQ7Ij5Gcm9tOjwvc3Bhbj48L2I+IE1hcmsgUHJvY3RvciBbdmlhIERyb29sc10gJmx0OyZs dDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vNDMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9 bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwNzgmYW1wO2FtcDthbXA7aT0wIiZndDt4LW1zZzov LzQzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwNzgmYW1w O2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2ZvbGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0 O1toaWRkZW4gZW1haWxdJmd0Ozxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7 Ij5Ubzo8L3NwYW4+PC9iPiBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EKIGhyZWY9Ingt bXNnOi8vNDMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQw MjkwNzgmYW1wO2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzQzL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDtub2RlPTQwMjkwNzgmYW1wO2FtcDtpPTEiIHRhcmdldD0iX3RvcCIg cmVsPSJub2ZvbGxvdyIKIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgPGJy PiA8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPlNlbnQ6PC9zcGFuPjwvYj4gVHVl c2RheSwgMSBBcHJpbCAyMDE0LCAxNDoxMDxicj4gPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 OmJvbGQ7Ij5TdWJqZWN0Ojwvc3Bhbj48L2I+IFJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBE cm9vbHMgNi4wLjE8YnI+IDwvZm9udD4gPC9kaXY+IDxkaXYgY2xhc3M9InlpdjUxODMxMDQxNzR5 X21zZ19jb250YWluZXIiPjxicj48ZGl2IGlkPSJ5aXY1MTgzMTA0MTc0Ij48ZGl2PmFueSBuZXdz PzxkaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48ZGl2Pk1hcms8YnIgY2xlYXI9Im5vbmUiPjxk aXYgc3R5bGU9IiI+PGRpdj5PbiAzMCBNYXIgMjAxNCwgYXQgMTM6MzgsIE1hcmsgUHJvY3RvciAm bHQ7PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBs aW5rPSJleHRlcm5hbCI+W2hpZGRlbiBlbWFpbF08L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xl YXI9Im5vbmUiIGNsYXNzPSJ5aXY1MTgzMTA0MTc0QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+ PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6 MCAxZW0nIHN0eWxlPSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVt OyIgdHlwZT0iY2l0ZSI+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRpdiBz dHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQ7Ij48YnIgY2xlYXI9Im5vbmUiPjxkaXY+PGRpdj5P biAzMCBNYXIgMjAxNCwgYXQgMTM6MjYsIGtlbGx5YWpwICZsdDs8YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVu IGVtYWlsXTwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGVhcj0ibm9uZSIgY2xhc3M9InlpdjUx ODMxMDQxNzRBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSBzdHlsZT0nYm9y ZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJvcmRlci1s ZWZ0OjJweAogc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+PC9ibG9j a3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRpdj5JJ2xsIGdldCB0aGF0IHRvIHlvdSBv biBNb25kYXkmbmJzcDs8L2Rpdj48ZGl2PjxiciBjbGVhcj0ibm9uZSI+T24gMzAgTWFyIDIwMTQs IGF0IDEyOjU5LCAiTWFyayBQcm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthCiBocmVmPSIm bHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDthbXA7YW1wO2k9MCIm Z3Q7eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtu b2RlPTQwMjkwMjcmYW1wO2FtcDthbXA7aT0wIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEzMy91 c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO25vZGU9NDAyOTAyNyZhbXA7 YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDtub2RlPTQwMjkwMjcmYW1wO2FtcDtpPTAiIHRhcmdldD0iX3RvcCIgcmVsPSJub2Zv bGxvdyIgbGluaz0iZXh0ZXJuYWwiJmd0O1toaWRkZW4gZW1haWxdJmd0OyB3cm90ZTo8YnIgY2xl YXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRl ci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxlPSJib3JkZXItbGVm dDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0ZSI+CgoJPC9ibG9j a3F1b3RlPjwvZGl2PjxkaXY+QXJlIHlvdSBhYmxlIHRvIGlzb2xhdGUgd2hhdCB0aGUgRkjigJlz IGFyZSByZWZlcmVuY2luZywgU29ycnkgdGhhdCBzaG91bGQgYmUgUlQsIG5vdCBGSC4gUlQgPT0g UmlnaHRUdXBsZSwgRkggPT0gRmFjdEhhbmRsZS48YnIgY2xlYXI9Im5vbmUiPjxibG9ja3F1b3Rl IHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtJyBzdHls ZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbTsiIHR5cGU9ImNp dGUiPjxibG9ja3F1b3RlIHN0eWxlPSdib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRk aW5nOjAgMWVtJyBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzow IDFlbTsiIHR5cGU9ImNpdGUiPnRoYXQgbWlnaHQgZ2l2ZSB1cyBhbiBpZGVhIG9mIHdoZXJlIHRv IGxvb2suIElmIHlvdSBsb29rIFJpZ2h0VHVwbGXigJlzIHRoZXkgd2lsbCBoYXZlIGEg4oCYc2lu aycgcmVmZXJlbmNlIChuZXR3b3JrIG5vZGUpIGFuZCB0aGF0IHNpbmsgd2lsbCBoYXZlIGFuIOKA mGFzc29jaWF0ZXPigJkgbWFwLiBUaGF0IG1hcCBpcyB0aGUgcnVsZXMgdGhhdCBub2RlIGlzIHBh cnQgb2YuIFlvdSBjYW4gdXNlIHRoaXMgdG8gaWRlbnRpZnkgdGhlIG9mZmVuZGluZyBydWxlKHMp LCBhbmQgbWF5YmUgcGFzdGUgdGhvc2UgcnVsZXMgaGVyZT88ZGl2PjxiciBjbGVhcj0ibm9uZSI+ PC9kaXY+PGRpdj5NYXJrPGJyIGNsZWFyPSJub25lIj48ZGl2PjxkaXY+T24gMzAgTWFyIDIwMTQs IGF0IDA5OjAzLCBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJl Zj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDth bXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vMTMzL3VzZXIv U2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7 YW1wO2k9MCImZ3Q7Jmx0O2EKIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90 eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2k9MCImZ3Q7eC1t c2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAy NiZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5h bCImZ3Q7W2hpZGRlbgogZW1haWxdJmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xlYXI9Im5vbmUiIGNs YXNzPSJ5aXY1MTgzMTA0MTc0QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUg c3R5bGU9J2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW0nIHN0eWxl PSJib3JkZXItbGVmdDoycHggc29saWQgI0NDQ0NDQztwYWRkaW5nOjAgMWVtOyIgdHlwZT0iY2l0 ZSI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBm b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9y bWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWlu ZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29y ZC1zcGFjaW5nOiAwcHg7Ij48ZGl2PlRoYW5rczwvZGl2PjxkaXY+PGJyIGNsZWFyPSJub25lIj48 L2Rpdj48ZGl2PkknbGwgZ2V0IHNvbWVvbmUgZnJvbSB0aGUgdGVhbSB0byB3b3JrIG9uIHRoaXMg b24gTW9uZGF5LiBOb3Qgc3VyZSBob3cgZWFzeSBpdCB3aWxsIGJlIHRvIGlzb2xhdGUgYnV0IHdp bGwga2VlcCB5b3UgaW5mb3JtZWQuPC9kaXY+PGRpdj48YnIgY2xlYXI9Im5vbmUiPjwvZGl2Pjxk aXY+QW5keTxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQsIGF0IDIzOjUyLCAiTWFyayBQ cm9jdG9yIFt2aWEgRHJvb2xzXSIgJmx0OyZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhy ZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUm YW1wO2FtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMjUmYW1wO2FtcDthbXA7YW1wO2FtcDtpPTAi Jmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7 YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDthbXA7aT0wIiZndDsmbHQ7YQogaHJlZj0ieC1t c2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9k ZT00MDI5MDI1JmFtcDthbXA7YW1wO2FtcDtpPTAiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVt YWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDI1JmFtcDthbXA7YW1wO2k9 MCImZ3Q7Jmx0O2EKIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWls Lmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDth bXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2FtcDtpPTAiJmd0OyZsdDthIGhyZWY9IngtbXNn Oi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5 MDI1JmFtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNSZhbXA7YW1wO2k9MCIgdGFyZ2V0PSJfdG9wIiBy ZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0mZ3Q7IHdyb3Rl OjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YmxvY2txdW90ZSBzdHls ZT0nYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNDQ0NDQ0M7cGFkZGluZzowIDFlbScgc3R5bGU9ImJv cmRlci1sZWZ0OjJweCBzb2xpZCAjQ0NDQ0NDO3BhZGRpbmc6MCAxZW07IiB0eXBlPSJjaXRlIj5D YW4geW91IGdldCB1cyBhIHVuaXQgdGVzdCBkZW1vbnN0cmF0aW5nIHRoaXMsIGFuZCB3ZeKAmWxs IGxvb2sgaW50byBpdCBhcyBhIHByaW9yaXR5LjxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0MTc0QXBw bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj48YnIgY2xl YXI9Im5vbmUiPk1hcms8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+T24gMjggTWFyIDIwMTQsIGF0IDE1 OjQwLCBrZWxseWFqcCAmbHQ7Jmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0O2EgaHJlZj0iJmx0 O2EKIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2FtcDtpPTAiJmd0O3gt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25v ZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0wIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEz MS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkw MTgmYW1wO2FtcDthbXA7YW1wO2k9MCImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0wIiZndDsm bHQ7YQogaHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5 cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTAi Jmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7 bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MCImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1w O2FtcDthbXA7aT0wIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0wIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9m b2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXSZndDsgd3JvdGU6PHNwYW4g Y2xhc3M9InlpdjUxODMxMDQxNzRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48 YnIgY2xlYXI9Im5vbmUiPjxkaXYgY2xhc3M9InlpdjUxODMxMDQxNzRzaHJpbmthYmxlLXF1b3Rl Ij48ZGl2IGNsYXNzPSJ5aXY1MTgzMTA0MTc0c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0i eWl2NTE4MzEwNDE3NHNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9InlpdjUxODMxMDQxNzRz aHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY1MTgzMTA0MTc0c2hyaW5rYWJsZS1xdW90 ZSI+PGRpdiBjbGFzcz0ieWl2NTE4MzEwNDE3NHNocmlua2FibGUtcXVvdGUiPjxkaXYgY2xhc3M9 InlpdjUxODMxMDQxNzRzaHJpbmthYmxlLXF1b3RlIj48ZGl2IGNsYXNzPSJ5aXY1MTgzMTA0MTc0 c2hyaW5rYWJsZS1xdW90ZSI+PGRpdiBjbGFzcz0ieWl2NTE4MzEwNDE3NHNocmlua2FibGUtcXVv dGUiPjxkaXYgY2xhc3M9J3Nocmlua2FibGUtcXVvdGUnPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBX ZSBoYXZlIHVwZ3JhZGVkIGZyb20gRHJvb2xzIDUKIC0mZ3Q7IERyb29scyA2LjAxIGFuZCB3aGVu IHJlcGVhdGluZyB0aGU8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBwcm9jZXNzaW5nIGluIGVh Y2ggZW52aXJvbm1lbnQgd2UgaGF2ZSB2ZXJ5IGRpZmZlcmVudCBvYmplY3QgY291bnRzIHRoYXQg aXM8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyBjYXVzaW5nCiBtZW1vcnkgdG8gcnVuIG91dCBv biBEcm9vbHMgNjo8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1zcGFj ZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY1MTgz MTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25l Ij4mZ3Q7IEJlbG93IGlzIGFuIGV4dHJhY3QgZnJvbSBhIGhlYXAgZHVtcDxzcGFuIGNsYXNzPSJ5 aXY1MTgzMTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFy PSJub25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUxODMxMDQxNzRBcHBsZS1jb252ZXJ0ZWQtc3Bh Y2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgSW4gRHJvb2xzIDYgdGhlIG1h aW4gb2JqZWN0cyBpbiB0aGUgaGVhcCBhcmU8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyAxOiAm bmJzcDsgJm5ic3A7ICZuYnNwOyA0Mzc4MDA2ICZuYnNwOyAmbmJzcDsgJm5ic3A7NzAwNDgwOTYw ICZuYnNwO29yZy5kcm9vbHMuY29yZS5yZXRlb28uUmlnaHRUdXBsZTxzcGFuIGNsYXNzPSJ5aXY1 MTgzMTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUxODMxMDQxNzRBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsgV2hlcmUgYXMgaW4gRHJvb2xzIDUg dGhlcmUgYXJlIHdheSBsZXNzIG9iamVjdHM8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0OyA5Mjog Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDE5MDIyCiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsxODI2MTEyICZuYnNwO29yZy5kcm9vbHMucmV0ZW9vLlJpZ2h0VHVwbGU8c3BhbiBjbGFz cz0ieWl2NTE4MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBj bGVhcj0ibm9uZSI+Jmd0OzxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0MTc0QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IEhhcyBhbnlvbmUgZWxz ZSBoYWQgYW55IGV4cGVyaWVuY2Ugb2YgdGhpcyBpc3N1ZT88c3BhbiBjbGFzcz0ieWl2NTE4MzEw NDE3NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+ Jmd0OzxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJz cDs8L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IFRoYW5rczxzcGFuIGNsYXNzPSJ5aXY1MTgz MTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJub25l Ij4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUxODMxMDQxNzRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3 NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+Jmd0 OzxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8 L3NwYW4+PGJyIGNsZWFyPSJub25lIj4mZ3Q7IC0tPHNwYW4gY2xhc3M9InlpdjUxODMxMDQxNzRB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xlYXI9Im5vbmUiPiZndDsg VmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDo8c3BhbgogY2xhc3M9InlpdjUxODMxMDQxNzRB cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFw ZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwLmh0 bWwiIGxpbms9ImV4dGVybmFsIj5odHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9z c2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMC5odG1sPC9hPjxiciBj bGVhcj0ibm9uZSI+Jmd0OyBTZW50IGZyb20gdGhlIERyb29sczogRGV2ZWxvcGVyIChjb21taXR0 ZXIpIG1haWxpbmcgbGlzdCBtYWlsaW5nIGxpc3QgYXJjaGl2ZSBhdDxzcGFuIGNsYXNzPSJ5aXY1 MTgzMTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbmFiYmxlLmNv bS8iIGxpbms9ImV4dGVybmFsIj5OYWJibGUuY29tPC9hPi48c3BhbiBjbGFzcz0ieWl2NTE4MzEw NDE3NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGVhcj0ibm9uZSI+ Jmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxzcGFu IGNsYXNzPSJ5aXY1MTgzMTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsZWFyPSJub25lIj4mZ3Q7IHJ1bGVzLWRldgogbWFpbGluZyBsaXN0PHNwYW4gY2xhc3M9 InlpdjUxODMxMDQxNzRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xl YXI9Im5vbmUiPiZndDs8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1z cGFjZSI+Jm5ic3A7PC9zcGFuPiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IiZs dDthIGhyZWY9IngtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2Ft cDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2FtcDtpPTEiJmd0O3gt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25v ZGU9NDAyOTAxOCZhbXA7YW1wO2FtcDthbXA7aT0xIiZndDsmbHQ7YSBocmVmPSJ4LW1zZzovLzEz MS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkw MTgmYW1wO2FtcDthbXA7YW1wO2k9MSImZ3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIiZndDsm bHQ7YSBocmVmPSImbHQ7YSBocmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlw ZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MSIm Z3Q7eC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtu b2RlPTQwMjkwMTgmYW1wO2FtcDthbXA7aT0xIiZndDsmbHQ7YQogaHJlZj0ieC1tc2c6Ly8xMzEv dXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1w O2FtcDthbXA7aT0xIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2Rl JmFtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9m b2xsb3ciIGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxzcGFuIGNsYXNzPSJ5aXY1 MTgzMTA0MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyIGNsZWFyPSJu b25lIj4mZ3Q7PHNwYW4gY2xhc3M9InlpdjUxODMxMDQxNzRBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui PiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMt ZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9ydWxlcy1kZXY8L2E+PC9kaXY+PC9kaXY+PC9kaXY+X19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX188c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxl LWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvZGl2PnJ1bGVzLWRldiBtYWlsaW5nIGxp c3Q8c3BhbiBjbGFzcz0ieWl2NTE4MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjwvZGl2PiZsdDthIGhyZWY9IiZsdDthCiBocmVmPSImbHQ7YSBocmVmPSImbHQ7YSBo cmVmPSJ4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1w O2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDthbXA7aT0yIiZndDt4LW1zZzov LzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDthbXA7YW1wO2FtcDtub2RlPTQw MjkwMTgmYW1wO2FtcDthbXA7YW1wO2k9MiImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNl ci9TZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFt cDthbXA7YW1wO2FtcDtpPTIiJmd0O3gtbXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBl PW5vZGUmYW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2k9MiImZ3Q7Jmx0O2Eg aHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDE4JmFtcDthbXA7YW1wO2FtcDtpPTIiJmd0O3gt bXNnOi8vMTMxL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDE4JmFtcDthbXA7YW1wO2k9MiImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzEvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMTgmYW1wO2FtcDth bXA7aT0yIiZndDt4LW1zZzovLzEzMS91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7bm9kZT00MDI5MDE4JmFtcDthbXA7aT0yIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ci IGxpbms9ImV4dGVybmFsIiZndDtbaGlkZGVuIGVtYWlsXTxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0 MTc0QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9kaXY+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiCiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9saXN0cy5q Ym9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFsIj5odHRw czovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48L2Rpdj48 L2Rpdj48L2Rpdj48aHIgbm9zaGFkZT0iIiBzaXplPSIxIj48ZGl2IHN0eWxlPSJjb2xvcjogcmdi KDY4LCA2OCwgNjgpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBm b250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7 IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJp ZjsiPjxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5JZiB5b3UgcmVwbHkgdG8KIHRoaXMg ZW1haWwsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBkaXNjdXNzaW9uIGJlbG93 OjwvZGl2PjxhIHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJl Zj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFr LWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAxOC5odG1sIiBsaW5rPSJleHRlcm5hbCI+ aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFrLWlu LURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTAxOC5odG1sPC9hPjwvZGl2PjxkaXYgc3R5bGU9 ImNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJp YW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1m YW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyBtYXJn aW4tdG9wOiAwLjRlbTsgbGluZS1oZWlnaHQ6IDEuNWVtOyI+VG8gdW5zdWJzY3JpYmUgZnJvbSBQ b3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjEsPHNwYW4gY2xhc3M9InlpdjUxODMx MDQxNzRBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSByZWw9Im5vZm9sbG93 IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5jbGlj ayBoZXJlPC9hPi48L2Rpdj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJf YmxhbmsiCiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUv TmFtbFNlcnZsZXQuanRwP21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIx bmFiYmxlJTNBZW1haWwubmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2lj TmFtZXNwYWNlLW5hYmJsZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxl LnZpZXcud2ViLnRlbXBsYXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9z dWJzY3JpYmVycyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUl M0FlbWFpbC5uYW1sLXNlbmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIHN0 eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo dDogbm9ybWFsOyBmb250LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p bHk6IHNlcmlmOyIgbGluaz0iZXh0ZXJuYWwiPk5BTUw8L2E+PC9kaXY+PC9ibG9ja3F1b3RlPjxi ciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIj5WaWV3IHRoaXMgbWVz c2FnZSBpbiBjb250ZXh0OjxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0MTc0QXBwbGUtY29udmVydGVk LXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdl dD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2li bGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRwNDAyOTAxMHA0MDI5MDI1Lmh0bWwiIGxp bms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9h PjxiciBjbGVhcj0ibm9uZSI+U2VudCBmcm9tIHRoZTxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0MTc0 QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgc2hh cGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5h YmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5o dG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGlu ZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPjxzcGFuIGNsYXNzPSJ5aXY1MTgzMTA0MTc0 QXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+YXQ8c3BhbiBjbGFzcz0ieWl2NTE4 MzEwNDE3NEFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIHJlbD0ibm9mb2xs b3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20v IiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyIGNsZWFyPSJub25lIj5fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciBjbGVhcj0ibm9uZSI+ cnVsZXMtZGV2IG1haWxpbmcgbGlzdDxiciBjbGVhcj0ibm9uZSI+Jmx0O2EgaHJlZj0iJmx0O2Eg aHJlZj0iJmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRwP3R5cGU9bm9k ZSZhbXA7YW1wO2FtcDthbXA7bm9kZT00MDI5MDI2JmFtcDthbXA7YW1wO2FtcDtpPTEiJmd0O3gt bXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDI2JmFtcDthbXA7YW1wO2k9MSImZ3Q7Jmx0O2EgaHJlZj0ieC1tc2c6Ly8xMzMvdXNlci9T ZW5kRW1haWwuanRwP3R5cGU9bm9kZSZhbXA7YW1wO2FtcDtub2RlPTQwMjkwMjYmYW1wO2FtcDth bXA7aT0xIiZndDt4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFtcDth bXA7bm9kZT00MDI5MDI2JmFtcDthbXA7aT0xIiB0YXJnZXQ9Il90b3AiIHJlbD0ibm9mb2xsb3ci CiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF08YnIgY2xlYXI9Im5vbmUiPjxhIHJl bD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9s aXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYiIGxpbms9ImV4dGVybmFs Ij5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldjwvYT48 L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyIGNsZWFyPSJub25lIj48L2Rpdj48YnIgY2xlYXI9 Im5vbmUiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCjxi ciBjbGVhcj0ibm9uZSI+cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8YnIgY2xlYXI9Im5vbmUiPiZs dDthIGhyZWY9IiZsdDthIGhyZWY9IiZsdDthIGhyZWY9IngtbXNnOi8vMTMzL3VzZXIvU2VuZEVt YWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2Ft cDthbXA7aT0yIiZndDt4LW1zZzovLzEzMy91c2VyL1NlbmRFbWFpbC5qdHA/dHlwZT1ub2RlJmFt cDthbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2FtcDtpPTIiJmd0OyZsdDthIGhyZWY9Ingt bXNnOi8vMTMzL3VzZXIvU2VuZEVtYWlsLmp0cD90eXBlPW5vZGUmYW1wO2FtcDthbXA7bm9kZT00 MDI5MDI2JmFtcDthbXA7YW1wO2k9MiImZ3Q7eC1tc2c6Ly8xMzMvdXNlci9TZW5kRW1haWwuanRw P3R5cGU9bm9kZSZhbXA7YW1wO25vZGU9NDAyOTAyNiZhbXA7YW1wO2k9MiIgdGFyZ2V0PSJfdG9w IiByZWw9Im5vZm9sbG93IiBsaW5rPSJleHRlcm5hbCImZ3Q7W2hpZGRlbiBlbWFpbF0KPGJyIGNs ZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2 IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNsZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9u ZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgs IDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9u dC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+ CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVt YWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8 L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhy ZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVh ay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbCIgbGluaz0iZXh0ZXJuYWwi Pmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1p bi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwMjYuaHRtbDwvYT4KCTwvZGl2PgoJPGRpdiBz dHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250 LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBm b250LWZhbWlseTogdGFob21hLCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7 IG1hcmdpbi10b3A6IDAuNGVtOyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNj cmliZSBmcm9tIFBvc3NpYmxlIG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5h bCI+Y2xpY2sgaGVyZTwvYT4uPGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMu bmFiYmxlLmNvbS90ZW1wbGF0ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFt cDtpZD1pbnN0YW50X2h0bWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5u YW1sLm5hbWVzcGFjZXMuQmFzaWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5h YmJsZU5hbWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7 YnJlYWRjcnVtYnM9bm90aWZ5X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0 YW50X2VtYWlscyUyMW5hYmJsZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFi YmxlJTNBZW1haWwubmFtbCIgc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50 OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdo dDogbm9ybWFsOyBmb250LWZhbWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4K CTwvZGl2PjwvYmxvY2txdW90ZT4KCgkKCQoJCjxiciBjbGVhcj0ibm9uZSI+PGhyIGFsaWduPSJs ZWZ0IiB3aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgcmVsPSJu b2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xz LjQ2OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0x LXRwNDAyOTAxMHA0MDI5MDI3Lmh0bWwiIGxpbms9ImV4dGVybmFsIj5SZTogUG9zc2libGUgbWVt b3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xPC9hPjxiciBjbGVhcj0ibm9uZSI+ClNlbnQgZnJvbSB0 aGUgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0 ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZl bG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBh dCA8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0 dHA6Ly9uYWJibGUuY29tLyIgbGluaz0iZXh0ZXJuYWwiPk5hYmJsZS5jb208L2E+LjxiciBjbGVh cj0ibm9uZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnIgY2xlYXI9Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xlYXI9Im5vbmUiPjxh IHJlbD0ibm9mb2xsb3ciIHNoYXBlPSJyZWN0IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0i ZXh0ZXJuYWwiPltoaWRkZW4gZW1haWxdPC9hPjxiciBjbGVhcj0ibm9uZSI+PGEgcmVsPSJub2Zv bGxvdyIgc2hhcGU9InJlY3QiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPjwvYmxvY2tx dW90ZT48YnIgY2xlYXI9Im5vbmUiPjxiciBjbGVhcj0ibm9uZSI+PGJyIGNsZWFyPSJub25lIj5f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnIgY2xlYXI9 Im5vbmUiPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5v Zm9sbG93IiBzaGFwZT0icmVjdCIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFs Ij5baGlkZGVuIGVtYWlsXTwvYT4KPGJyIGNsZWFyPSJub25lIj48YSByZWw9Im5vZm9sbG93IiBz aGFwZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+aHR0cHM6Ly9saXN0 cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+CgoJCgkKCQoJPGJyIGNs ZWFyPSJub25lIj4KCTxiciBjbGVhcj0ibm9uZSI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIxIj4K CTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsg Zm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJw eDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2 ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9s ZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRl ZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFw ZT0icmVjdCIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFi YmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQw MjkwNTIuaHRtbCIgbGluaz0iZXh0ZXJuYWwiPmh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxl LmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkw NTIuaHRtbDwvYT4KCTwvZGl2PjxkaXYgY2xhc3M9InlpdjUxODMxMDQxNzR5cXQxMTk0MTUxNTUw IiBpZD0ieWl2NTE4MzEwNDE3NHlxdGZkOTQwNTAiPgoJPGRpdiBzdHlsZT0iY29sb3I6IHJnYigx MDIsIDEwMiwgMTAyKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsg Zm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMXB4OyBmb250LWZhbWlseTogdGFob21h LCBnZW5ldmEsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbi10b3A6IDAuNGVt OyBsaW5lLWhlaWdodDogMS41ZW07Ij4KCQkKCQlUbyB1bnN1YnNjcmliZSBmcm9tIFBvc3NpYmxl IG1lbW9yeSBsZWFrIGluIERyb29scyA2LjAuMSwgPGEgcmVsPSJub2ZvbGxvdyIgc2hhcGU9InJl Y3QiIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sgaGVyZTwvYT4u PGJyIGNsZWFyPSJub25lIj4KCQk8YSByZWw9Im5vZm9sbG93IiBzaGFwZT0icmVjdCIgdGFyZ2V0 PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS90ZW1wbGF0 ZS9OYW1sU2VydmxldC5qdHA/bWFjcm89bWFjcm9fdmlld2VyJmFtcDtpZD1pbnN0YW50X2h0bWwl MjFuYWJibGUlM0FlbWFpbC5uYW1sJmFtcDtiYXNlPW5hYmJsZS5uYW1sLm5hbWVzcGFjZXMuQmFz aWNOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBsYXRlLk5hYmJsZU5hbWVzcGFjZS1uYWJi bGUudmlldy53ZWIudGVtcGxhdGUuTm9kZU5hbWVzcGFjZSZhbXA7YnJlYWRjcnVtYnM9bm90aWZ5 X3N1YnNjcmliZXJzJTIxbmFiYmxlJTNBZW1haWwubmFtbC1pbnN0YW50X2VtYWlscyUyMW5hYmJs ZSUzQWVtYWlsLm5hbWwtc2VuZF9pbnN0YW50X2VtYWlsJTIxbmFiYmxlJTNBZW1haWwubmFtbCIg c3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2Vp Z2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZh bWlseTogc2VyaWY7IiBsaW5rPSJleHRlcm5hbCI+TkFNTDwvYT4KCTwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2Pjxicj48YnI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gIDwvZGl2PjxkaXYgY2xhc3M9Inlp djUxODMxMDQxNzRzbWFsbCI+PGJyPjxpbWc+IDxiPk5DQ0ZfQkFTRUxJTkUueGxzLmRybDwvYj4g KDlNKSA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29s cy40Njk5OS5uMy5uYWJibGUuY29tL2F0dGFjaG1lbnQvNDAyOTA3OC8wL05DQ0ZfQkFTRUxJTkUu eGxzLmRybCIgbGluaz0iZXh0ZXJuYWwiPkRvd25sb2FkIEF0dGFjaG1lbnQ8L2E+PC9kaXY+CgoJ CgkKCQo8YnI+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2Ug aW4gY29udGV4dDogPGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6 Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNvbS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9v bHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkwNzguaHRtbCIgbGluaz0iZXh0ZXJuYWwiPlJlOiBQb3Nz aWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMgNi4wLjE8L2E+PGJyPgpTZW50IGZyb20gdGhlIDxh IHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5 Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2 MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikg bWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBhcmNoaXZlPC9hPiBhdCA8YSByZWw9Im5vZm9sbG93 IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5h bCI+TmFiYmxlLmNvbTwvYT4uPGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fPGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3Q8YnI+PGEgcmVsPSJub2ZvbGxv dyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwv YT48YnI+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vbGlz dHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2IiBsaW5rPSJleHRlcm5hbCI+ aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2E+PC9i bG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj48YnI+X19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPGJyPnJ1bGVzLWRldiBtYWlsaW5nIGxpc3QKPGJy PjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiIgdGFyZ2V0PSJfdG9wIiBsaW5rPSJleHRlcm5hbCI+ W2hpZGRlbiBlbWFpbF08L2E+Cjxicj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIg aHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXYi IGxpbms9ImV4dGVybmFsIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3J1bGVzLWRldjwvYT4KCgkKCQoJCgk8YnI+Cgk8YnI+Cgk8aHIgbm9zaGFkZT0iIiBzaXplPSIx Ij4KCTxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1h bDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTog MTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBo ZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6 Ym9sZDsiPklmIHlvdSByZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBh ZGRlZCB0byB0aGUgZGlzY3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiB0 YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bv c3NpYmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA4MS5odG1s IiBsaW5rPSJleHRlcm5hbCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3Np YmxlLW1lbW9yeS1sZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTA4MS5odG1sPC9h PgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0 eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBm b250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBh cmlhbCwgc2Fucy1zZXJpZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsi PgoJCQoJCVRvIHVuc3Vic2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xz IDYuMC4xLCA8YSByZWw9Im5vZm9sbG93IiBocmVmPSIiIHRhcmdldD0iX3RvcCIgbGluaz0iZXh0 ZXJuYWwiPmNsaWNrIGhlcmU8L2E+Ljxicj4KCQk8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9i bGFuayIgaHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL3RlbXBsYXRlL05h bWxTZXJ2bGV0Lmp0cD9tYWNybz1tYWNyb192aWV3ZXImYW1wO2lkPWluc3RhbnRfaHRtbCUyMW5h YmJsZSUzQWVtYWlsLm5hbWwmYW1wO2Jhc2U9bmFiYmxlLm5hbWwubmFtZXNwYWNlcy5CYXNpY05h bWVzcGFjZS1uYWJibGUudmlldy53ZWIudGVtcGxhdGUuTmFiYmxlTmFtZXNwYWNlLW5hYmJsZS52 aWV3LndlYi50ZW1wbGF0ZS5Ob2RlTmFtZXNwYWNlJmFtcDticmVhZGNydW1icz1ub3RpZnlfc3Vi c2NyaWJlcnMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLWluc3RhbnRfZW1haWxzJTIxbmFiYmxlJTNB ZW1haWwubmFtbC1zZW5kX2luc3RhbnRfZW1haWwlMjFuYWJibGUlM0FlbWFpbC5uYW1sIiBzdHls ZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IG5vcm1hbDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5 OiBzZXJpZjsiIGxpbms9ImV4dGVybmFsIj5OQU1MPC9hPgoJPC9kaXY+PC9kaXY+PGJyPjxicj48 L2Rpdj4gPC9kaXY+IDwvZGl2PiAgPC9kaXY+CgoJCgkKCQo8YnI+PGhyIGFsaWduPSJsZWZ0IiB3 aWR0aD0iMzAwIj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgcmVsPSJub2ZvbGxv dyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kcm9vbHMuNDY5OTkubjMubmFiYmxlLmNv bS9Qb3NzaWJsZS1tZW1vcnktbGVhay1pbi1Ecm9vbHMtNi0wLTEtdHA0MDI5MDEwcDQwMjkxODAu aHRtbCIgbGluaz0iZXh0ZXJuYWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMg Ni4wLjE8L2E+PGJyPgpTZW50IGZyb20gdGhlIDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2Js YW5rIiBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVs b3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2MjI2MC5odG1sIiBsaW5rPSJleHRlcm5hbCI+ RHJvb2xzOiBEZXZlbG9wZXIgKGNvbW1pdHRlcikgbWFpbGluZyBsaXN0IG1haWxpbmcgbGlzdCBh cmNoaXZlPC9hPiBhdCA8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0 cDovL25hYmJsZS5jb20vIiBsaW5rPSJleHRlcm5hbCI+TmFiYmxlLmNvbTwvYT4uPGJyPl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPnJ1bGVzLWRldiBt YWlsaW5nIGxpc3Q8YnI+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiIGxp bms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT48YnI+aHR0cHM6Ly9saXN0cy5qYm9zcy5v cmcvbWFpbG1hbi9saXN0aW5mby9ydWxlcy1kZXY8L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2 Pjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo8YnI+ cnVsZXMtZGV2IG1haWxpbmcgbGlzdAo8YnI+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iIiB0YXJn ZXQ9Il90b3AiIGxpbms9ImV4dGVybmFsIj5baGlkZGVuIGVtYWlsXTwvYT4KPGJyPjxhIHJlbD0i bm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3J1bGVzLWRldiIgbGluaz0iZXh0ZXJuYWwiPmh0dHBzOi8vbGlzdHMu amJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vcnVsZXMtZGV2PC9hPgoKCQoJCgkKCTxicj4KCTxi cj4KCTxociBub3NoYWRlPSIiIHNpemU9IjEiIGNvbG9yPSIjY2NjY2NjIj4KCTxkaXYgc3R5bGU9 ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50 OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWln aHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHRhaG9tYSwgZ2VuZXZhLCBoZWx2ZXRpY2EsIGFyaWFs LCBzYW5zLXNlcmlmOyI+CgkJPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklmIHlvdSBy ZXBseSB0byB0aGlzIGVtYWlsLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBhZGRlZCB0byB0aGUgZGlz Y3Vzc2lvbiBiZWxvdzo8L2Rpdj4KCQk8YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIg aHJlZj0iaHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1s ZWFrLWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTE4My5odG1sIiBsaW5rPSJleHRlcm5h bCI+aHR0cDovL2Ryb29scy40Njk5OS5uMy5uYWJibGUuY29tL1Bvc3NpYmxlLW1lbW9yeS1sZWFr LWluLURyb29scy02LTAtMS10cDQwMjkwMTBwNDAyOTE4My5odG1sPC9hPgoJPC9kaXY+Cgk8ZGl2 IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZv bnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDExcHg7 IGZvbnQtZmFtaWx5OiB0YWhvbWEsIGdlbmV2YSwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJp ZjsgbWFyZ2luLXRvcDogMC40ZW07IGxpbmUtaGVpZ2h0OiAxLjVlbTsiPgoJCQoJCVRvIHVuc3Vi c2NyaWJlIGZyb20gUG9zc2libGUgbWVtb3J5IGxlYWsgaW4gRHJvb2xzIDYuMC4xLCA8YSByZWw9 Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iIiBsaW5rPSJleHRlcm5hbCI+Y2xpY2sg aGVyZTwvYT4uPGJyPgoJCTxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vZHJvb2xzLjQ2OTk5Lm4zLm5hYmJsZS5jb20vdGVtcGxhdGUvTmFtbFNlcnZsZXQuanRw P21hY3JvPW1hY3JvX3ZpZXdlciZhbXA7aWQ9aW5zdGFudF9odG1sJTIxbmFiYmxlJTNBZW1haWwu bmFtbCZhbXA7YmFzZT1uYWJibGUubmFtbC5uYW1lc3BhY2VzLkJhc2ljTmFtZXNwYWNlLW5hYmJs ZS52aWV3LndlYi50ZW1wbGF0ZS5OYWJibGVOYW1lc3BhY2UtbmFiYmxlLnZpZXcud2ViLnRlbXBs YXRlLk5vZGVOYW1lc3BhY2UmYW1wO2JyZWFkY3J1bWJzPW5vdGlmeV9zdWJzY3JpYmVycyUyMW5h YmJsZSUzQWVtYWlsLm5hbWwtaW5zdGFudF9lbWFpbHMlMjFuYWJibGUlM0FlbWFpbC5uYW1sLXNl bmRfaW5zdGFudF9lbWFpbCUyMW5hYmJsZSUzQWVtYWlsLm5hbWwiIHN0eWxlPSJmb250LXN0eWxl OiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250 LXNpemU6IDlweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IHNlcmlmOyIgbGlu az0iZXh0ZXJuYWwiPk5BTUw8L2E+Cgk8L2Rpdj48L2Rpdj48YnI+PGJyPjwvZGl2PiA8L2Rpdj4g PC9kaXY+ICA8L2Rpdj4KCgkKCQoJCjxici8+PGhyIGFsaWduPSJsZWZ0IiB3aWR0aD0iMzAwIiAv PgpWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiA8YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2 OTk5Lm4zLm5hYmJsZS5jb20vUG9zc2libGUtbWVtb3J5LWxlYWstaW4tRHJvb2xzLTYtMC0xLXRw NDAyOTAxMHA0MDI5MTg2Lmh0bWwiPlJlOiBQb3NzaWJsZSBtZW1vcnkgbGVhayBpbiBEcm9vbHMg Ni4wLjE8L2E+PGJyLz4KU2VudCBmcm9tIHRoZSA8YSBocmVmPSJodHRwOi8vZHJvb2xzLjQ2OTk5 Lm4zLm5hYmJsZS5jb20vRHJvb2xzLURldmVsb3Blci1jb21taXR0ZXItbWFpbGluZy1saXN0LWY2 MjI2MC5odG1sIj5Ecm9vbHM6IERldmVsb3BlciAoY29tbWl0dGVyKSBtYWlsaW5nIGxpc3QgbWFp bGluZyBsaXN0IGFyY2hpdmU8L2E+IGF0IE5hYmJsZS5jb20uPGJyLz4= --===============8807921366724197733==-- From mario.toffia at dataductus.se Wed Apr 16 15:11:39 2014 Content-Type: multipart/mixed; boundary="===============8304661918214799999==" MIME-Version: 1.0 From: solo95 To: rules-dev at lists.jboss.org Subject: [rules-dev] Build drools-eclipse with maven 3.1 Date: Wed, 16 Apr 2014 12:11:37 -0700 Message-ID: <1397675497856-4029284.post@n3.nabble.com> --===============8304661918214799999== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi, I've tried to build drools-eclipse 6.1.0-SNAPSHOT and the tycho seems to fail - I saw it was the 0.16.0 and I've changed it to 0.19.0 since changes in maven makes it neccesary to use tycho 0.18.0 or later in order to work. Is it possible to change the drools-eclipse/pom.xml line to a later version of tycho? (I did not find any report issiue at github site so I've posted it here...) 0.19.0 Cheers, Mario -- View this message in context: http://drools.46999.n3.nabble.com/Build-drool= s-eclipse-with-maven-3-1-tp4029284.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============8304661918214799999==-- From sandeep.nambiar at onebillsoftware.com Tue Apr 22 14:07:27 2014 Content-Type: multipart/mixed; boundary="===============0811086562668384743==" MIME-Version: 1.0 From: snak To: rules-dev at lists.jboss.org Subject: Re: [rules-dev] Drools KnowledgeAgentCreation Date: Tue, 22 Apr 2014 11:07:27 -0700 Message-ID: <1398190047251-4029322.post@n3.nabble.com> In-Reply-To: 1398082092185-4029299.post@n3.nabble.com --===============0811086562668384743== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi, I think the changeset url value you have given is wrong.. It should be more like = String changeSetUrl =3D =3D "http://localhost:8080/guvnor/org.drools.guvnor.Guvnor/package/test/LATEST/= ChangeSet.xml". Please try making the above change. -- View this message in context: http://drools.46999.n3.nabble.com/Drools-Know= ledgeAgentCreation-tp4029299p4029322.html Sent from the Drools: Developer (committer) mailing list mailing list archi= ve at Nabble.com. --===============0811086562668384743==-- From mproctor at codehaus.org Tue Apr 29 22:35:33 2014 Content-Type: multipart/mixed; boundary="===============5149447792166938540==" MIME-Version: 1.0 From: Mark Proctor To: rules-dev at lists.jboss.org Subject: [rules-dev] Decision Camp 2014 : Call for Speakers : Oct 13-15, San Jose Date: Wed, 30 Apr 2014 03:35:26 +0100 Message-ID: --===============5149447792166938540== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable http://blog.athico.com/2014/04/decision-camp-2014-call-for-speakers.html --===============5149447792166938540==--