PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iRVVDLUtSIiA/Pgo8IURPQ1RZUEUgbWFudWFscGFnZSBTWVNURU0gIi4vc3R5bGUvbWFudWFscGFnZS5kdGQiPgo8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSIuL3N0eWxlL21hbnVhbC5rby54c2wiPz4KPCEtLSBFbmdsaXNoIFJldmlzaW9uOiAxNTE0MDg6MTY3Mzk0NSAob3V0ZGF0ZWQpIC0tPgoKPCEtLQogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCiBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAogdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0tPgoKPG1hbnVhbHBhZ2UgbWV0YWZpbGU9ImhhbmRsZXIueG1sLm1ldGEiPgoKICA8dGl0bGU+vsbGxMShv6G8rSDH2rXpt68gu+e/6zwvdGl0bGU+CgogIDxzdW1tYXJ5PgogICAgPHA+wMwgua68rbTCIL7GxsTEob+hvK0gx9q16bevuKYgu+e/68fPtMIguea5/cC7ILyzuO3H0bTZLjwvcD4KICA8L3N1bW1hcnk+CgogIDxzZWN0aW9uIGlkPSJkZWZpbml0aW9uIj4KICAgIDx0aXRsZT7H2rXpt6+woSC5q775wM6woTwvdGl0bGU+CiAgICA8cmVsYXRlZD4KICAgICAgPG1vZHVsZWxpc3Q+CiAgICAgICAgPG1vZHVsZT5tb2RfYWN0aW9uczwvbW9kdWxlPgogICAgICAgIDxtb2R1bGU+bW9kX2FzaXM8L21vZHVsZT4KICAgICAgICA8bW9kdWxlPm1vZF9jZ2k8L21vZHVsZT4KICAgICAgICA8bW9kdWxlPm1vZF9pbWFnZW1hcDwvbW9kdWxlPgogICAgICAgIDxtb2R1bGU+bW9kX2luZm88L21vZHVsZT4KICAgICAgICA8bW9kdWxlPm1vZF9taW1lPC9tb2R1bGU+CiAgICAgICAgPG1vZHVsZT5tb2RfbmVnb3RpYXRpb248L21vZHVsZT4KICAgICAgICA8bW9kdWxlPm1vZF9zdGF0dXM8L21vZHVsZT4KICAgICA8L21vZHVsZWxpc3Q+CiAgICAgIDxkaXJlY3RpdmVsaXN0PgogICAgICAgIDxkaXJlY3RpdmUgbW9kdWxlPSJtb2RfYWN0aW9ucyI+QWN0aW9uPC9kaXJlY3RpdmU+CiAgICAgICAgPGRpcmVjdGl2ZSBtb2R1bGU9Im1vZF9taW1lIj5BZGRIYW5kbGVyPC9kaXJlY3RpdmU+CiAgICAgICAgPGRpcmVjdGl2ZSBtb2R1bGU9Im1vZF9taW1lIj5SZW1vdmVIYW5kbGVyPC9kaXJlY3RpdmU+CiAgICAgICAgPGRpcmVjdGl2ZSBtb2R1bGU9ImNvcmUiPlNldEhhbmRsZXI8L2RpcmVjdGl2ZT4KICAgICAgPC9kaXJlY3RpdmVsaXN0PgogICAgPC9yZWxhdGVkPgoKCiAgICA8cD7GxMDPwLsgv+TDu8fStqcgvsbGxMShsKEgs7u6zsD7wLi3ziC89sfgx9IgwNu+98C7CiAgICAix9q16bevKGhhbmRsZXIpIrbzsO0gx9G02S4gwM+53cD7wLi3ziDGxMDPwLogxsTAzyDBvrf5v6EKICAgILX7tvMgvs+5rMD7wM4gx9q16bevuKYgsKHB9rDtIMDWtNkuILjwtecgxsTAz8C6ILq4xesgsKO03Mj3CiAgICC8rbn2sKEgvK268b26x8/B9ri4LCC+7rayIMbEwM8gwb63+bTCILX7t84gIsOzuK61yLTZKGhhbmRsZWQpIi48L3A+CgogICAgPHA+QXBhY2hlIDEuMbrOxc0gx9q16bevuKYguO29w8D7wLi3ziC757/rx9IgvPYgwNaw1CC1x776tNkuCiAgICDGxMDPIMG+t/m/zSCw/LDovvjAzCDH2rXpt6+4piDGxMDPwMcgyK7A5cDas6ogwKfEob+hILX7tvMKICAgIMH2waTH0iC89iDA1rTZLiDAzLTCILT1IMjHuKLH0SC55rn9wMyw7SDGxMDPwLsgwb63+b/NIMfatem3rwogICAgtdEguPC1zr/NIL+ssOjH0iC89iDA1rHitqe5rr+hIMHBtNkuICg8YQogICAgaHJlZj0ibW9kL21vZF9taW1lLmh0bWwjbXVsdGlwbGVleHQiPr+pt68gyK7A5cDauKYgsKHB+CDGxMDPPC9hPrW1CiAgICDC/LDtKTwvcD4KCiAgICA8cD7H2rXpt6+0wiC8rbn2s6oguPC14rfOILG4x/bHz7+pLCA8ZGlyZWN0aXZlCiAgICBtb2R1bGU9Im1vZF9hY3Rpb25zIj5BY3Rpb248L2RpcmVjdGl2ZT4gwfa9w77ut84gw9+wocfSCiAgICC89iDA1rTZLiDHpcHYILnoxve6u7+hIMDWtMIgseK6uyDH2rXpt6+0wiC02cC9sPogsLC02To8L3A+CgogICAgPHVsPgogICAgICA8bGk+PHN0cm9uZz5kZWZhdWx0LWhhbmRsZXI8L3N0cm9uZz46IMGkwPvAziCzu7/rwLsKICAgICAgw7O4rsfPseLAp8fYILHiurvA+8C4t84gu+e/68fPtMIgx9q16bevCiAgICAgIDxjb2RlPmRlZmF1bHRfaGFuZGxlcigpPC9jb2RlPrimILvnv+vHz7+pIMbEwM/AuyC6uLO9tNkuCiAgICAgIChjb3JlKTwvbGk+CgogICAgICA8bGk+PHN0cm9uZz5zZW5kLWFzLWlzPC9zdHJvbmc+OiBIVFRQIMfstPWwoSDA1rTCIMbEwM/AuwogICAgICCx17Trt84gurizvbTZLiAoPG1vZHVsZT5tb2RfYXNpczwvbW9kdWxlPik8L2xpPgoKICAgICAgPGxpPjxzdHJvbmc+Y2dpLXNjcmlwdDwvc3Ryb25nPjogxsTAz8C7IENHSbfOIMOzuK7H0bTZLgogICAgICAoPG1vZHVsZT5tb2RfY2dpPC9tb2R1bGU+KTwvbGk+CgogICAgICA8bGk+PHN0cm9uZz5pbWFwLWZpbGU8L3N0cm9uZz46IGltYWdlbWFwILHUxKIgxsTAz7fOCiAgICAgIMOzuK7H0bTZLiAoPG1vZHVsZT5tb2RfaW1hZ2VtYXA8L21vZHVsZT4pPC9saT4KCiAgICAgIDxsaT48c3Ryb25nPnNlcnZlci1pbmZvPC9zdHJvbmc+OiC8rbn2wMcgvLPBpCDBpLq4uKYKICAgICAgvsu3wcHYtNkuICg8bW9kdWxlPm1vZF9pbmZvPC9tb2R1bGU+KTwvbGk+CgogICAgICA8bGk+PHN0cm9uZz5zZXJ2ZXItc3RhdHVzPC9zdHJvbmc+OiC8rbn2wMcgu/PFwrimILq4sO3H0bTZLgogICAgICAoPG1vZHVsZT5tb2Rfc3RhdHVzPC9tb2R1bGU+KTwvbGk+CgogICAgICA8bGk+PHN0cm9uZz50eXBlLW1hcDwvc3Ryb25nPjogs7u/68f5u/O/oSC757/rx9IKICAgICAgdHlwZSBtYXDAuLfOIMOzuK7H0bTZLgogICAgICAoPG1vZHVsZT5tb2RfbmVnb3RpYXRpb248L21vZHVsZT4pPC9saT4KICAgIDwvdWw+CiAgPC9zZWN0aW9uPgogIDxzZWN0aW9uIGlkPSJleGFtcGxlcyI+CiAgICA8dGl0bGU+v7nBpjwvdGl0bGU+CgogICAgPHNlY3Rpb24gaWQ9ImV4YW1wbGUxIj4KICAgICAgPHRpdGxlPkNHSSC9usWpuLPGrrimILvnv+vHz7+pIMGkwPvAziCzu7/rILz2waTHz7HiPC90aXRsZT4KCiAgICAgIDxwPrTZwL0gwfa9w77utMIgyK7A5cDasKEgPGNvZGU+aHRtbDwvY29kZT7AziDGxMDPwLsKICAgICAgv+TDu8fSILDmv+wgPGNvZGU+Zm9vdGVyLnBsPC9jb2RlPiBDR0kgvbrFqbizxq64piC257/utNkuPC9wPgoKICAgICAgPGV4YW1wbGU+CiAgICAgICAgQWN0aW9uIGFkZC1mb290ZXIgL2NnaS1iaW4vZm9vdGVyLnBsPGJyLz4KICAgICAgICBBZGRIYW5kbGVyIGFkZC1mb290ZXIgLmh0bWwKICAgICAgPC9leGFtcGxlPgoKICAgICAgPHA+Q0dJIL26xam4s8autMIKICAgICAgKDxjb2RlPlBBVEhfVFJBTlNMQVRFRDwvY29kZT4gyK+w5rqvvPawoSDB9sSqx8+0wikgv/i3oQogICAgICC/5MO7x9Egua68rbimIMD7wP3I9yC89sGkx9EgyMQgurizvbTZLjwvcD4KIAogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gaWQ9ImV4YW1wbGUyIj4KICAgICAgPHRpdGxlPkhUVFAgx+y09bimIMb3x9THz7TCIMbEwM88L3RpdGxlPgoKICAgICAgPHA+tNnAvSDB9r3Dvu60wiBIVFRQIMfstPW4piDG98fUx8+0wiDGxMDPv6EKICAgICAgPGNvZGU+c2VuZC1hcy1pczwvY29kZT4gx9q16bevuKYgwfa9w8fRtNkuCiAgICAgIDxjb2RlPi93ZWIvaHRkb2NzL2FzaXMvPC9jb2RlPiC18Le6xeS4riC+yL+hIMDWtMIguPC15wogICAgICDGxMDPwLogyK7A5cDav80gsPyw6L74wMwgPGNvZGU+c2VuZC1hcy1pczwvY29kZT4gx9q16bevsKEKICAgICAgw7O4rsfRtNkuPC9wPgoKICAgICAgPGV4YW1wbGU+CiAgICAgICAgJmx0O0RpcmVjdG9yeSAvd2ViL2h0ZG9jcy9hc2lzJmd0Ozxici8+CiAgICAgICAgU2V0SGFuZGxlciBzZW5kLWFzLWlzPGJyLz4KICAgICAgICAmbHQ7L0RpcmVjdG9yeSZndDsKICAgICAgPC9leGFtcGxlPgoKICAgIDwvc2VjdGlvbj4KICA8L3NlY3Rpb24+CiAgPHNlY3Rpb24gaWQ9InByb2dyYW1tZXIiPgogICAgPHRpdGxlPsfBt86x17ehuNO4piDAp8fRIMGkurg8L3RpdGxlPgoKICAgIDxwPsfatem3ryCx4rTJwLsgsbjH9sfPseLAp8fYILvnv+vH1MH3x9EKICAgIDxhIGhyZWY9ImRldmVsb3Blci9BUEkuaHRtbCI+QXBhY2hlIEFQSTwvYT6woSDD37Chtce++rTZLgogICAgxq/I9yA8Y29kZT5yZXF1ZXN0X3JlYzwvY29kZT4gsbjBtsO8v6Egu/W3zr/uIMfKteWwoQogICAgw9+wobXHvvq02To8L3A+CgogICAgPGV4YW1wbGU+CiAgICAgIGNoYXIgKmhhbmRsZXIKICAgIDwvZXhhbXBsZT4KCiAgICA8cD648LXiwMwgx9q16bevuKYgu+e/68fPt8G46Swgv+TDu8DHCiAgICA8Y29kZT5pbnZva2VfaGFuZGxlcjwvY29kZT4gtNyw6CDAzMD8v6EKICAgIDxjb2RlPnItJmd0O2hhbmRsZXI8L2NvZGU+v6Egx9q16bevIMDMuKfAuyDB9sGkx9jB1rHiuLgKICAgIMfPuOkgtci02S4gx9q16bevtMIgY29udGVudCB0eXBlILTrvcUgx9q16bevIMDMuKfAuyC757/rx9EKICAgILDNwLsgwaa/3MfPsO20wiDA/LD6ILCwwMwgsbjH9rXHvvq02S4gssAgwfbFsyDHyr/ktMIgvvjB9ri4CiAgICDH2rXpt68gwMy4p7+hIL29t6G9rLimILvnv+vHz8H2IL7KsO0sILTcvu616SC758DMv6Egu6mx4gogICAgseLIo7imILvnv+vHz7TCILDNwMwgwM+53cD7wMy02S4gsde3obytIMfatem3ryDAzLinwMwKICAgIG1lZGlhIHR5cGWw+iCw48ShwfYgvsq0wrTZLjwvcD4KICA8L3NlY3Rpb24+CjwvbWFudWFscGFnZT4KCgoKCgo=