PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CjwhLS1OZXdQYWdlLS0+CjxIVE1MPgo8SEVBRD4KPCEtLSBHZW5lcmF0ZWQgYnkgamF2YWRvYyBvbiBGcmkgQXVnIDIyIDAzOjQ0OjA3IEVEVCAyMDAzIC0tPgo8VElUTEU+ClJhZGlvVGFnIChBcGFjaGUgU3RydXRzIEFQSSBEb2N1bWVudGF0aW9uKQo8L1RJVExFPgo8TUVUQSBOQU1FPSJrZXl3b3JkcyIgQ09OVEVOVD0ib3JnLmFwYWNoZS5zdHJ1dHMudGFnbGliLmh0bWwuUmFkaW9UYWcsUmFkaW9UYWcgY2xhc3MiPgo8TElOSyBSRUwgPSJzdHlsZXNoZWV0IiBUWVBFPSJ0ZXh0L2NzcyIgSFJFRj0iLi4vLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MiIFRJVExFPSJTdHlsZSI+CjwvSEVBRD4KPFNDUklQVD4KZnVuY3Rpb24gYXNkKCkKewpwYXJlbnQuZG9jdW1lbnQudGl0bGU9IlJhZGlvVGFnIChBcGFjaGUgU3RydXRzIEFQSSBEb2N1bWVudGF0aW9uKSI7Cn0KPC9TQ1JJUFQ+CjxCT0RZIEJHQ09MT1I9IndoaXRlIiBvbmxvYWQ9ImFzZCgpOyI+Cgo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+CjxBIE5BTUU9Im5hdmJhcl90b3AiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4KPFRSPgo8VEQgQ09MU1BBTj0zIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+CjxBIE5BTUU9Im5hdmJhcl90b3BfZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPgogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvUmFkaW9UYWcuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8L1RSPgo8L1RBQkxFPgo8L1REPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4KPC9FTT4KPC9URD4KPC9UUj4KCjxUUj4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvUGFzc3dvcmRUYWcuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7CiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1Jlc2V0VGFnLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJSYWRpb1RhZy5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+ICAmbmJzcDsKJm5ic3A7CjxTQ1JJUFQ+CiAgPCEtLQogIGlmKHdpbmRvdz09dG9wKSB7CiAgICBkb2N1bWVudC53cml0ZWxuKCc8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9hbGxjbGFzc2VzLW5vZnJhbWUuaHRtbCIgVEFSR0VUPSIiPjxCPkFsbCBDbGFzc2VzPC9CPjwvQT4nKTsKICB9CiAgLy8tLT4KPC9TQ1JJUFQ+CjxOT1NDUklQVD4KPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vYWxsY2xhc3Nlcy1ub2ZyYW1lLmh0bWwiIFRBUkdFVD0iIj48Qj5BbGwgQ2xhc3NlczwvQj48L0E+CjwvTk9TQ1JJUFQ+CjwvRk9OVD48L1REPgo8L1RSPgo8VFI+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CiAgU1VNTUFSWTombmJzcDtORVNURUQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4KREVUQUlMOiZuYnNwOzxBIEhSRUY9IiNmaWVsZF9kZXRhaWwiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4KCjxIUj4KPCEtLSA9PT09PT09PSBTVEFSVCBPRiBDTEFTUyBEQVRBID09PT09PT09IC0tPgo8SDI+CjxGT05UIFNJWkU9Ii0xIj4Kb3JnLmFwYWNoZS5zdHJ1dHMudGFnbGliLmh0bWw8L0ZPTlQ+CjxCUj4KQ2xhc3MgUmFkaW9UYWc8L0gyPgo8UFJFPgpqYXZhLmxhbmcuT2JqZWN0CiAgfAogICstLWphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5UYWdTdXBwb3J0CiAgICAgICAgfAogICAgICAgICstLWphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5Cb2R5VGFnU3VwcG9ydAogICAgICAgICAgICAgIHwKICAgICAgICAgICAgICArLS08QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy50YWdsaWIuaHRtbC5CYXNlSGFuZGxlclRhZzwvQT4KICAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgICAgICAgKy0tPEI+b3JnLmFwYWNoZS5zdHJ1dHMudGFnbGliLmh0bWwuUmFkaW9UYWc8L0I+CjwvUFJFPgo8REw+CjxEVD48Qj5BbGwgSW1wbGVtZW50ZWQgSW50ZXJmYWNlczo8L0I+IDxERD5qYXZheC5zZXJ2bGV0LmpzcC50YWdleHQuQm9keVRhZywgamF2YS5pby5TZXJpYWxpemFibGUsIGphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5UYWc8L0REPgo8L0RMPgo8REw+CjxEVD48Qj5EaXJlY3QgS25vd24gU3ViY2xhc3Nlczo8L0I+IDxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvbmVzdGVkL2h0bWwvTmVzdGVkUmFkaW9UYWcuaHRtbCI+TmVzdGVkUmFkaW9UYWc8L0E+PC9ERD4KPC9ETD4KPEhSPgo8REw+CjxEVD5wdWJsaWMgY2xhc3MgPEI+UmFkaW9UYWc8L0I+PERUPmV4dGVuZHMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCI+QmFzZUhhbmRsZXJUYWc8L0E+PC9ETD4KCjxQPgpUYWcgZm9yIGlucHV0IGZpZWxkcyBvZiB0eXBlICJyYWRpbyIuCjxQPgoKPFA+CjxETD4KPERUPjxCPlZlcnNpb246PC9CPjwvRFQ+CiAgPEREPiRSZXZpc2lvbjogMS4xICQgJERhdGUkPC9ERD4KPERUPjxCPkF1dGhvcjo8L0I+PC9EVD4KICA8REQ+Q3JhaWcgUi4gTWNDbGFuYWhhbiwgVGVkIEh1c3RlZCwgRGF2aWQgR3JhaGFtPC9ERD4KPERUPjxCPlNlZSBBbHNvOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vc2VyaWFsaXplZC1mb3JtLmh0bWwiIFRBUkdFVD0ib3JnLmFwYWNoZS5zdHJ1dHMudGFnbGliLmh0bWwuUmFkaW9UYWciPlNlcmlhbGl6ZWQgRm9ybTwvQT48L0RMPgo8SFI+Cgo8UD4KPCEtLSA9PT09PT09PSBORVNURUQgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4KCgo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJmaWVsZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4KPEI+RmllbGQgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9SYWRpb1RhZy5odG1sI2lkTmFtZSI+aWROYW1lPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO05hbWUgb2YgdGhlIGJlYW4gKGluIHNvbWUgc2NvcGUpIHRoYXQgd2lsbCByZXR1cm4gdGhlCiB2YWx1ZSBvZiB0aGUgcmFkaW8gdGFnLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCBzdGF0aWMmbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy91dGlsL01lc3NhZ2VSZXNvdXJjZXMuaHRtbCI+TWVzc2FnZVJlc291cmNlczwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9SYWRpb1RhZy5odG1sI21lc3NhZ2VzIj5tZXNzYWdlczwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgbWVzc2FnZSByZXNvdXJjZXMgZm9yIHRoaXMgcGFja2FnZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjbmFtZSI+bmFtZTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgbmFtZSBvZiB0aGUgYmVhbiBjb250YWluaW5nIG91ciB1bmRlcmx5aW5nIHByb3BlcnR5LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvUmFkaW9UYWcuaHRtbCNwcm9wZXJ0eSI+cHJvcGVydHk8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhlIHByb3BlcnR5IG5hbWUgZm9yIHRoaXMgZmllbGQuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9SYWRpb1RhZy5odG1sI3RleHQiPnRleHQ8L0E+PC9CPjwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhlIGJvZHkgY29udGVudCBvZiB0aGlzIHRhZyAoaWYgYW55KS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjdmFsdWUiPnZhbHVlPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoZSBzZXJ2ZXIgdmFsdWUgZm9yIHRoaXMgb3B0aW9uLjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9ImZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnN0cnV0cy50YWdsaWIuaHRtbC5CYXNlSGFuZGxlclRhZyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREPjxCPkZpZWxkcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLnN0cnV0cy50YWdsaWIuaHRtbC48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sIj5CYXNlSGFuZGxlclRhZzwvQT48L0I+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2FjY2Vzc2tleSI+YWNjZXNza2V5PC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNkZWZhdWx0TG9jYWxlIj5kZWZhdWx0TG9jYWxlPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNpbmRleGVkIj5pbmRleGVkPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCN0YWJpbmRleCI+dGFiaW5kZXg8L0E+PC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9ImZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZheC5zZXJ2bGV0LmpzcC50YWdleHQuQm9keVRhZ1N1cHBvcnQiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+CjxURD48Qj5GaWVsZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YXguc2VydmxldC5qc3AudGFnZXh0LkJvZHlUYWdTdXBwb3J0PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+Ym9keUNvbnRlbnQ8L0NPREU+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7PEEgTkFNRT0iZmllbGRzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5UYWdTdXBwb3J0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGNsYXNzIGphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5UYWdTdXBwb3J0PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+aWQsIHBhZ2VDb250ZXh0PC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9ImZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZheC5zZXJ2bGV0LmpzcC50YWdleHQuQm9keVRhZyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREPjxCPkZpZWxkcyBpbmhlcml0ZWQgZnJvbSBpbnRlcmZhY2UgamF2YXguc2VydmxldC5qc3AudGFnZXh0LkJvZHlUYWc8L0I+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT5FVkFMX0JPRFlfVEFHPC9DT0RFPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9ImZpZWxkc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZheC5zZXJ2bGV0LmpzcC50YWdleHQuVGFnIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+RmllbGRzIGluaGVyaXRlZCBmcm9tIGludGVyZmFjZSBqYXZheC5zZXJ2bGV0LmpzcC50YWdleHQuVGFnPC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+RVZBTF9CT0RZX0lOQ0xVREUsIEVWQUxfUEFHRSwgU0tJUF9CT0RZLCBTS0lQX1BBR0U8L0NPREU+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjwhLS0gPT09PT09PT0gQ09OU1RSVUNUT1IgU1VNTUFSWSA9PT09PT09PSAtLT4KCjxBIE5BTUU9ImNvbnN0cnVjdG9yX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5Db25zdHJ1Y3RvciBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjUmFkaW9UYWcoKSI+UmFkaW9UYWc8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPCEtLSA9PT09PT09PT09IE1FVEhPRCBTVU1NQVJZID09PT09PT09PT09IC0tPgoKPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJpdmF0ZSAmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvUmFkaW9UYWcuaHRtbCNjdXJyZW50VmFsdWUoKSI+Y3VycmVudFZhbHVlPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWNxdWlyZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgYmVhbiBzcGVjaWZpZWQgYnkgdGhlIDxjb2RlPm5hbWU8L2NvZGU+IAogYXR0cmlidXRlIGFuZCB0aGUgcHJvcGVydHkgc3BlY2lmaWVkIGJ5IHRoZSA8Y29kZT5wcm9wZXJ0eTwvY29kZT4gYXR0cmlidXRlLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjZG9BZnRlckJvZHkoKSI+ZG9BZnRlckJvZHk8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTYXZlIHRoZSBhc3NvY2lhdGVkIGxhYmVsIGZyb20gdGhlIGJvZHkgY29udGVudC48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9SYWRpb1RhZy5odG1sI2RvRW5kVGFnKCkiPmRvRW5kVGFnPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7T3B0aW9uYWxseSByZW5kZXIgdGhlIGFzc29jaWF0ZWQgbGFiZWwgZnJvbSB0aGUgYm9keSBjb250ZW50LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjZG9TdGFydFRhZygpIj5kb1N0YXJ0VGFnPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2VuZXJhdGUgdGhlIHJlcXVpcmVkIGlucHV0IHRhZy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvUmFkaW9UYWcuaHRtbCNnZXRJZE5hbWUoKSI+Z2V0SWROYW1lPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIHRoZSBpZE5hbWUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjZ2V0TmFtZSgpIj5nZXROYW1lPC9BPjwvQj4oKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjZ2V0UHJvcGVydHkoKSI+Z2V0UHJvcGVydHk8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIHByb3BlcnR5IG5hbWUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjZ2V0VmFsdWUoKSI+Z2V0VmFsdWU8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIHNlcnZlciB2YWx1ZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvUmFkaW9UYWcuaHRtbCNyZWxlYXNlKCkiPnJlbGVhc2U8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZWxlYXNlIGFueSBhY3F1aXJlZCByZXNvdXJjZXMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9SYWRpb1RhZy5odG1sI3JlbmRlclJhZGlvRWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+cmVuZGVyUmFkaW9FbGVtZW50PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3NlcnZlclZhbHVlLAogICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2NoZWNrZWRWYWx1ZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JlbmRlcnMgYW4gSFRNTCAmbHQ7aW5wdXQgdHlwZT0icmFkaW8iJmd0OyBlbGVtZW50LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByaXZhdGUgJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjc2VydmVyVmFsdWUoKSI+c2VydmVyVmFsdWU8L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIFN0cmluZyB0byBiZSB1c2VkIGluIHRoZSByYWRpbyB0YWcncyA8Y29kZT52YWx1ZTwvY29kZT4gYXR0cmlidXRlIAogdGhhdCBnZXRzIHNlbnQgdG8gdGhlIHNlcnZlciBvbiBmb3JtIHN1Ym1pc3Npb24uPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjc2V0SWROYW1lKGphdmEubGFuZy5TdHJpbmcpIj5zZXRJZE5hbWU8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7aWROYW1lKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBpZE5hbWUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjc2V0TmFtZShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0TmFtZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1JhZGlvVGFnLmh0bWwjc2V0UHJvcGVydHkoamF2YS5sYW5nLlN0cmluZykiPnNldFByb3BlcnR5PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3Byb3BlcnR5KTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBwcm9wZXJ0eSBuYW1lLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9SYWRpb1RhZy5odG1sI3NldFZhbHVlKGphdmEubGFuZy5TdHJpbmcpIj5zZXRWYWx1ZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt2YWx1ZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCB0aGUgc2VydmVyIHZhbHVlLjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS5zdHJ1dHMudGFnbGliLmh0bWwuQmFzZUhhbmRsZXJUYWciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+CjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUuc3RydXRzLnRhZ2xpYi5odG1sLjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwiPkJhc2VIYW5kbGVyVGFnPC9BPjwvQj48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0QWNjZXNza2V5KCkiPmdldEFjY2Vzc2tleTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0QWx0KCkiPmdldEFsdDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0QWx0S2V5KCkiPmdldEFsdEtleTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0QnVuZGxlKCkiPmdldEJ1bmRsZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0RGlzYWJsZWQoKSI+Z2V0RGlzYWJsZWQ8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldEVsZW1lbnRDbG9zZSgpIj5nZXRFbGVtZW50Q2xvc2U8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldEluZGV4ZWQoKSI+Z2V0SW5kZXhlZDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0TG9jYWxlKCkiPmdldExvY2FsZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0T25ibHVyKCkiPmdldE9uYmx1cjwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0T25jaGFuZ2UoKSI+Z2V0T25jaGFuZ2U8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldE9uY2xpY2soKSI+Z2V0T25jbGljazwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0T25kYmxjbGljaygpIj5nZXRPbmRibGNsaWNrPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNnZXRPbmZvY3VzKCkiPmdldE9uZm9jdXM8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldE9ua2V5ZG93bigpIj5nZXRPbmtleWRvd248L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldE9ua2V5cHJlc3MoKSI+Z2V0T25rZXlwcmVzczwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0T25rZXl1cCgpIj5nZXRPbmtleXVwPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNnZXRPbm1vdXNlZG93bigpIj5nZXRPbm1vdXNlZG93bjwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0T25tb3VzZW1vdmUoKSI+Z2V0T25tb3VzZW1vdmU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldE9ubW91c2VvdXQoKSI+Z2V0T25tb3VzZW91dDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0T25tb3VzZW92ZXIoKSI+Z2V0T25tb3VzZW92ZXI8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldE9ubW91c2V1cCgpIj5nZXRPbm1vdXNldXA8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldE9uc2VsZWN0KCkiPmdldE9uc2VsZWN0PC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNnZXRSZWFkb25seSgpIj5nZXRSZWFkb25seTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0U3R5bGUoKSI+Z2V0U3R5bGU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldFN0eWxlQ2xhc3MoKSI+Z2V0U3R5bGVDbGFzczwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0U3R5bGVJZCgpIj5nZXRTdHlsZUlkPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNnZXRUYWJpbmRleCgpIj5nZXRUYWJpbmRleDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjZ2V0VGl0bGUoKSI+Z2V0VGl0bGU8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2dldFRpdGxlS2V5KCkiPmdldFRpdGxlS2V5PC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNpc1hodG1sKCkiPmlzWGh0bWw8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI2xvb2t1cFByb3BlcnR5KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5sb29rdXBQcm9wZXJ0eTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjbWVzc2FnZShqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+bWVzc2FnZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjcHJlcGFyZUV2ZW50SGFuZGxlcnMoKSI+cHJlcGFyZUV2ZW50SGFuZGxlcnM8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3ByZXBhcmVGb2N1c0V2ZW50cyhqYXZhLmxhbmcuU3RyaW5nQnVmZmVyKSI+cHJlcGFyZUZvY3VzRXZlbnRzPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNwcmVwYXJlSW5kZXgoamF2YS5sYW5nLlN0cmluZ0J1ZmZlciwgamF2YS5sYW5nLlN0cmluZykiPnByZXBhcmVJbmRleDwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjcHJlcGFyZUtleUV2ZW50cyhqYXZhLmxhbmcuU3RyaW5nQnVmZmVyKSI+cHJlcGFyZUtleUV2ZW50czwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjcHJlcGFyZU1vdXNlRXZlbnRzKGphdmEubGFuZy5TdHJpbmdCdWZmZXIpIj5wcmVwYXJlTW91c2VFdmVudHM8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3ByZXBhcmVTdHlsZXMoKSI+cHJlcGFyZVN0eWxlczwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjcHJlcGFyZVRleHRFdmVudHMoamF2YS5sYW5nLlN0cmluZ0J1ZmZlcikiPnByZXBhcmVUZXh0RXZlbnRzPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRBY2Nlc3NrZXkoamF2YS5sYW5nLlN0cmluZykiPnNldEFjY2Vzc2tleTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0QWx0KGphdmEubGFuZy5TdHJpbmcpIj5zZXRBbHQ8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldEFsdEtleShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0QWx0S2V5PC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRCdW5kbGUoamF2YS5sYW5nLlN0cmluZykiPnNldEJ1bmRsZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0RGlzYWJsZWQoYm9vbGVhbikiPnNldERpc2FibGVkPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRJbmRleGVkKGJvb2xlYW4pIj5zZXRJbmRleGVkPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRMb2NhbGUoamF2YS5sYW5nLlN0cmluZykiPnNldExvY2FsZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0T25ibHVyKGphdmEubGFuZy5TdHJpbmcpIj5zZXRPbmJsdXI8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldE9uY2hhbmdlKGphdmEubGFuZy5TdHJpbmcpIj5zZXRPbmNoYW5nZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0T25jbGljayhqYXZhLmxhbmcuU3RyaW5nKSI+c2V0T25jbGljazwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0T25kYmxjbGljayhqYXZhLmxhbmcuU3RyaW5nKSI+c2V0T25kYmxjbGljazwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0T25mb2N1cyhqYXZhLmxhbmcuU3RyaW5nKSI+c2V0T25mb2N1czwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0T25rZXlkb3duKGphdmEubGFuZy5TdHJpbmcpIj5zZXRPbmtleWRvd248L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldE9ua2V5cHJlc3MoamF2YS5sYW5nLlN0cmluZykiPnNldE9ua2V5cHJlc3M8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldE9ua2V5dXAoamF2YS5sYW5nLlN0cmluZykiPnNldE9ua2V5dXA8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldE9ubW91c2Vkb3duKGphdmEubGFuZy5TdHJpbmcpIj5zZXRPbm1vdXNlZG93bjwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0T25tb3VzZW1vdmUoamF2YS5sYW5nLlN0cmluZykiPnNldE9ubW91c2Vtb3ZlPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRPbm1vdXNlb3V0KGphdmEubGFuZy5TdHJpbmcpIj5zZXRPbm1vdXNlb3V0PC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRPbm1vdXNlb3ZlcihqYXZhLmxhbmcuU3RyaW5nKSI+c2V0T25tb3VzZW92ZXI8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldE9ubW91c2V1cChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0T25tb3VzZXVwPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRPbnNlbGVjdChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0T25zZWxlY3Q8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldFJlYWRvbmx5KGJvb2xlYW4pIj5zZXRSZWFkb25seTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0U3R5bGUoamF2YS5sYW5nLlN0cmluZykiPnNldFN0eWxlPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRTdHlsZUNsYXNzKGphdmEubGFuZy5TdHJpbmcpIj5zZXRTdHlsZUNsYXNzPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRTdHlsZUlkKGphdmEubGFuZy5TdHJpbmcpIj5zZXRTdHlsZUlkPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCNzZXRUYWJpbmRleChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0VGFiaW5kZXg8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9CYXNlSGFuZGxlclRhZy5odG1sI3NldFRpdGxlKGphdmEubGFuZy5TdHJpbmcpIj5zZXRUaXRsZTwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjc2V0VGl0bGVLZXkoamF2YS5sYW5nLlN0cmluZykiPnNldFRpdGxlS2V5PC9BPjwvQ09ERT48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5Cb2R5VGFnU3VwcG9ydCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YXguc2VydmxldC5qc3AudGFnZXh0LkJvZHlUYWdTdXBwb3J0PC9CPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PENPREU+ZG9Jbml0Qm9keSwgZ2V0Qm9keUNvbnRlbnQsIGdldFByZXZpb3VzT3V0LCBzZXRCb2R5Q29udGVudDwvQ09ERT48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5UYWdTdXBwb3J0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBqYXZheC5zZXJ2bGV0LmpzcC50YWdleHQuVGFnU3VwcG9ydDwvQj48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPmZpbmRBbmNlc3RvcldpdGhDbGFzcywgZ2V0SWQsIGdldFBhcmVudCwgZ2V0VmFsdWUsIGdldFZhbHVlcywgcmVtb3ZlVmFsdWUsIHNldElkLCBzZXRQYWdlQ29udGV4dCwgc2V0UGFyZW50LCBzZXRWYWx1ZTwvQ09ERT48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmEubGFuZy5PYmplY3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+CjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIGphdmEubGFuZy5PYmplY3Q8L0I+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48Q09ERT5jbG9uZSwgZXF1YWxzLCBmaW5hbGl6ZSwgZ2V0Q2xhc3MsIGhhc2hDb2RlLCBub3RpZnksIG5vdGlmeUFsbCwgdG9TdHJpbmcsIHdhaXQsIHdhaXQsIHdhaXQ8L0NPREU+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZheC5zZXJ2bGV0LmpzcC50YWdleHQuVGFnIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBpbnRlcmZhY2UgamF2YXguc2VydmxldC5qc3AudGFnZXh0LlRhZzwvQj48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxDT0RFPmdldFBhcmVudCwgc2V0UGFnZUNvbnRleHQsIHNldFBhcmVudDwvQ09ERT48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+Cgo8IS0tID09PT09PT09PT09PSBGSUVMRCBERVRBSUwgPT09PT09PT09PT0gLS0+Cgo8QSBOQU1FPSJmaWVsZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPgo8Qj5GaWVsZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJtZXNzYWdlcyI+PCEtLSAtLT48L0E+PEgzPgptZXNzYWdlczwvSDM+CjxQUkU+CnByb3RlY3RlZCBzdGF0aWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdXRpbC9NZXNzYWdlUmVzb3VyY2VzLmh0bWwiPk1lc3NhZ2VSZXNvdXJjZXM8L0E+IDxCPm1lc3NhZ2VzPC9CPjwvUFJFPgo8REw+CjxERD5UaGUgbWVzc2FnZSByZXNvdXJjZXMgZm9yIHRoaXMgcGFja2FnZS4KPFA+CjxETD4KPC9ETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ibmFtZSI+PCEtLSAtLT48L0E+PEgzPgpuYW1lPC9IMz4KPFBSRT4KcHJvdGVjdGVkIGphdmEubGFuZy5TdHJpbmcgPEI+bmFtZTwvQj48L1BSRT4KPERMPgo8REQ+VGhlIG5hbWUgb2YgdGhlIGJlYW4gY29udGFpbmluZyBvdXIgdW5kZXJseWluZyBwcm9wZXJ0eS4KPFA+CjxETD4KPC9ETD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0icHJvcGVydHkiPjwhLS0gLS0+PC9BPjxIMz4KcHJvcGVydHk8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgamF2YS5sYW5nLlN0cmluZyA8Qj5wcm9wZXJ0eTwvQj48L1BSRT4KPERMPgo8REQ+VGhlIHByb3BlcnR5IG5hbWUgZm9yIHRoaXMgZmllbGQuCjxQPgo8REw+CjwvREw+CjwvREw+CjxIUj4KCjxBIE5BTUU9InRleHQiPjwhLS0gLS0+PC9BPjxIMz4KdGV4dDwvSDM+CjxQUkU+CnByb3RlY3RlZCBqYXZhLmxhbmcuU3RyaW5nIDxCPnRleHQ8L0I+PC9QUkU+CjxETD4KPEREPlRoZSBib2R5IGNvbnRlbnQgb2YgdGhpcyB0YWcgKGlmIGFueSkuCjxQPgo8REw+CjwvREw+CjwvREw+CjxIUj4KCjxBIE5BTUU9InZhbHVlIj48IS0tIC0tPjwvQT48SDM+CnZhbHVlPC9IMz4KPFBSRT4KcHJvdGVjdGVkIGphdmEubGFuZy5TdHJpbmcgPEI+dmFsdWU8L0I+PC9QUkU+CjxETD4KPEREPlRoZSBzZXJ2ZXIgdmFsdWUgZm9yIHRoaXMgb3B0aW9uLgo8UD4KPERMPgo8L0RMPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJpZE5hbWUiPjwhLS0gLS0+PC9BPjxIMz4KaWROYW1lPC9IMz4KPFBSRT4KcHJvdGVjdGVkIGphdmEubGFuZy5TdHJpbmcgPEI+aWROYW1lPC9CPjwvUFJFPgo8REw+CjxERD5OYW1lIG9mIHRoZSBiZWFuIChpbiBzb21lIHNjb3BlKSB0aGF0IHdpbGwgcmV0dXJuIHRoZQogdmFsdWUgb2YgdGhlIHJhZGlvIHRhZy4KIDxwPgogSWYgYW4gaXRlcmF0b3IgaXMgdXNlZCB0byByZW5kZXIgYSBzZXJpZXMgb2YgcmFkaW8gdGFncywKIHRoaXMgZmllbGQgbWF5IGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgYmVhbgogZXhwb3NlZCBieSB0aGUgaXRlcmF0b3IuIEluIHRoaXMgY2FzZSwgdGhlIHZhbHVlIGF0dHJpYnV0ZSBpcwogdXNlZCBhcyB0aGUgbmFtZSBvZiBhIHByb3BlcnR5IG9uIHRoZSA8Y29kZT5pZE5hbWU8L2NvZGU+IGJlYW4KIHRoYXQgcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIHJhZGlvIHRhZyBpbiB0aGlzIGl0ZXJhdGlvbi4KPFA+CjxETD4KPC9ETD4KPC9ETD4KCjwhLS0gPT09PT09PT09IENPTlNUUlVDVE9SIERFVEFJTCA9PT09PT09PSAtLT4KCjxBIE5BTUU9ImNvbnN0cnVjdG9yX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+CjxCPkNvbnN0cnVjdG9yIERldGFpbDwvQj48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KCjxBIE5BTUU9IlJhZGlvVGFnKCkiPjwhLS0gLS0+PC9BPjxIMz4KUmFkaW9UYWc8L0gzPgo8UFJFPgpwdWJsaWMgPEI+UmFkaW9UYWc8L0I+KCk8L1BSRT4KPERMPgo8L0RMPgoKPCEtLSA9PT09PT09PT09PT0gTUVUSE9EIERFVEFJTCA9PT09PT09PT09IC0tPgoKPEEgTkFNRT0ibWV0aG9kX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+CjxCPk1ldGhvZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+Cgo8QSBOQU1FPSJnZXROYW1lKCkiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0TmFtZTwvSDM+CjxQUkU+CnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldE5hbWU8L0I+KCk8L1BSRT4KPERMPgo8REQ+PERMPgo8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJzZXROYW1lKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CnNldE5hbWU8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5zZXROYW1lPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSk8L1BSRT4KPERMPgo8REQ+PERMPgo8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJnZXRQcm9wZXJ0eSgpIj48IS0tIC0tPjwvQT48SDM+CmdldFByb3BlcnR5PC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0UHJvcGVydHk8L0I+KCk8L1BSRT4KPERMPgo8REQ+UmV0dXJuIHRoZSBwcm9wZXJ0eSBuYW1lLgo8UD4KPEREPjxETD4KPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ic2V0UHJvcGVydHkoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4Kc2V0UHJvcGVydHk8L0gzPgo8UFJFPgpwdWJsaWMgdm9pZCA8Qj5zZXRQcm9wZXJ0eTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3Byb3BlcnR5KTwvUFJFPgo8REw+CjxERD5TZXQgdGhlIHByb3BlcnR5IG5hbWUuCjxQPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnByb3BlcnR5PC9DT0RFPiAtIFRoZSBuZXcgcHJvcGVydHkgbmFtZTwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImdldFZhbHVlKCkiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0VmFsdWU8L0gzPgo8UFJFPgpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRWYWx1ZTwvQj4oKTwvUFJFPgo8REw+CjxERD5SZXR1cm4gdGhlIHNlcnZlciB2YWx1ZS4KPFA+CjxERD48REw+CjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9InNldFZhbHVlKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CnNldFZhbHVlPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+c2V0VmFsdWU8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt2YWx1ZSk8L1BSRT4KPERMPgo8REQ+U2V0IHRoZSBzZXJ2ZXIgdmFsdWUuCjxQPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnZhbHVlPC9DT0RFPiAtIFRoZSBuZXcgc2VydmVyIHZhbHVlPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZ2V0SWROYW1lKCkiPjwhLS0gLS0+PC9BPjxIMz4KZ2V0SWROYW1lPC9IMz4KPFBSRT4KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0SWROYW1lPC9CPigpPC9QUkU+CjxETD4KPEREPlJldHVybiB0aGUgaWROYW1lLgo8UD4KPEREPjxETD4KPERUPjxCPlNpbmNlOjwvQj48L0RUPgogIDxERD5TdHJ1dHMgMS4xPC9ERD4KPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0ic2V0SWROYW1lKGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+CnNldElkTmFtZTwvSDM+CjxQUkU+CnB1YmxpYyB2b2lkIDxCPnNldElkTmFtZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2lkTmFtZSk8L1BSRT4KPERMPgo8REQ+U2V0IHRoZSBpZE5hbWUuCjxQPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmlkTmFtZTwvQ09ERT4gLSBUaGUgbmV3IGlkTmFtZTxEVD48Qj5TaW5jZTo8L0I+PC9EVD4KICA8REQ+U3RydXRzIDEuMTwvREQ+CjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9ImRvU3RhcnRUYWcoKSI+PCEtLSAtLT48L0E+PEgzPgpkb1N0YXJ0VGFnPC9IMz4KPFBSRT4KcHVibGljIGludCA8Qj5kb1N0YXJ0VGFnPC9CPigpCiAgICAgICAgICAgICAgIHRocm93cyBqYXZheC5zZXJ2bGV0LmpzcC5Kc3BFeGNlcHRpb248L1BSRT4KPERMPgo8REQ+R2VuZXJhdGUgdGhlIHJlcXVpcmVkIGlucHV0IHRhZy4KIFtJbmRleGVkIHByb3BlcnR5IHNpbmNlIFN0cnV0cyAxLjFdCjxQPgo8REQ+PERMPgo8RFQ+PEI+U3BlY2lmaWVkIGJ5OjwvQj48REQ+PENPREU+ZG9TdGFydFRhZzwvQ09ERT4gaW4gaW50ZXJmYWNlIDxDT0RFPmphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5UYWc8L0NPREU+PERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxDT0RFPmRvU3RhcnRUYWc8L0NPREU+IGluIGNsYXNzIDxDT0RFPmphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5Cb2R5VGFnU3VwcG9ydDwvQ09ERT48L0RMPgo8L0REPgo8REQ+PERMPgoKPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT5qYXZheC5zZXJ2bGV0LmpzcC5Kc3BFeGNlcHRpb248L0NPREU+IC0gaWYgYSBKU1AgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZDwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9InNlcnZlclZhbHVlKCkiPjwhLS0gLS0+PC9BPjxIMz4Kc2VydmVyVmFsdWU8L0gzPgo8UFJFPgpwcml2YXRlIGphdmEubGFuZy5TdHJpbmcgPEI+c2VydmVyVmFsdWU8L0I+KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIGphdmF4LnNlcnZsZXQuanNwLkpzcEV4Y2VwdGlvbjwvUFJFPgo8REw+CjxERD5SZXR1cm4gdGhlIFN0cmluZyB0byBiZSB1c2VkIGluIHRoZSByYWRpbyB0YWcncyA8Y29kZT52YWx1ZTwvY29kZT4gYXR0cmlidXRlIAogdGhhdCBnZXRzIHNlbnQgdG8gdGhlIHNlcnZlciBvbiBmb3JtIHN1Ym1pc3Npb24uCjxQPgo8REQ+PERMPgoKPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT5qYXZheC5zZXJ2bGV0LmpzcC5Kc3BFeGNlcHRpb248L0NPREU+PC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iY3VycmVudFZhbHVlKCkiPjwhLS0gLS0+PC9BPjxIMz4KY3VycmVudFZhbHVlPC9IMz4KPFBSRT4KcHJpdmF0ZSBqYXZhLmxhbmcuU3RyaW5nIDxCPmN1cnJlbnRWYWx1ZTwvQj4oKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIGphdmF4LnNlcnZsZXQuanNwLkpzcEV4Y2VwdGlvbjwvUFJFPgo8REw+CjxERD5BY3F1aXJlIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBiZWFuIHNwZWNpZmllZCBieSB0aGUgPGNvZGU+bmFtZTwvY29kZT4gCiBhdHRyaWJ1dGUgYW5kIHRoZSBwcm9wZXJ0eSBzcGVjaWZpZWQgYnkgdGhlIDxjb2RlPnByb3BlcnR5PC9jb2RlPiBhdHRyaWJ1dGUuCiBUaGlzIHJhZGlvIGJ1dHRvbiB3aXRoIHRoaXMgdmFsdWUgd2lsbCBiZSBjaGVja2VkLgo8UD4KPEREPjxETD4KCjxEVD48Qj5UaHJvd3M6PC9CPgo8REQ+PENPREU+amF2YXguc2VydmxldC5qc3AuSnNwRXhjZXB0aW9uPC9DT0RFPjwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9InJlbmRlclJhZGlvRWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPgpyZW5kZXJSYWRpb0VsZW1lbnQ8L0gzPgo8UFJFPgpwcm90ZWN0ZWQgamF2YS5sYW5nLlN0cmluZyA8Qj5yZW5kZXJSYWRpb0VsZW1lbnQ8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtzZXJ2ZXJWYWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtjaGVja2VkVmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93cyBqYXZheC5zZXJ2bGV0LmpzcC5Kc3BFeGNlcHRpb248L1BSRT4KPERMPgo8REQ+UmVuZGVycyBhbiBIVE1MICZsdDtpbnB1dCB0eXBlPSJyYWRpbyImZ3Q7IGVsZW1lbnQuCjxQPgo8REQ+PERMPgo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnNlcnZlclZhbHVlPC9DT0RFPiAtIFRoZSBkYXRhIHRvIGJlIHVzZWQgaW4gdGhlIHRhZydzIDxjb2RlPnZhbHVlPC9jb2RlPiAKIGF0dHJpYnV0ZSBhbmQgc2VudCB0byB0aGUgc2VydmVyIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkLjxERD48Q09ERT5jaGVja2VkVmFsdWU8L0NPREU+IC0gSWYgdGhlIHNlcnZlclZhbHVlIGVxdWFscyB0aGlzIHZhbHVlIHRoZSByYWRpbyBidXR0b24gCiB3aWxsIGJlIGNoZWNrZWQuCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+QSByYWRpbyBpbnB1dCBlbGVtZW50Lgo8RFQ+PEI+VGhyb3dzOjwvQj4KPEREPjxDT0RFPmphdmF4LnNlcnZsZXQuanNwLkpzcEV4Y2VwdGlvbjwvQ09ERT48RFQ+PEI+U2luY2U6PC9CPjwvRFQ+CiAgPEREPlN0cnV0cyAxLjE8L0REPgo8L0RMPgo8L0REPgo8L0RMPgo8SFI+Cgo8QSBOQU1FPSJkb0FmdGVyQm9keSgpIj48IS0tIC0tPjwvQT48SDM+CmRvQWZ0ZXJCb2R5PC9IMz4KPFBSRT4KcHVibGljIGludCA8Qj5kb0FmdGVyQm9keTwvQj4oKQogICAgICAgICAgICAgICAgdGhyb3dzIGphdmF4LnNlcnZsZXQuanNwLkpzcEV4Y2VwdGlvbjwvUFJFPgo8REw+CjxERD5TYXZlIHRoZSBhc3NvY2lhdGVkIGxhYmVsIGZyb20gdGhlIGJvZHkgY29udGVudC4KPFA+CjxERD48REw+CjxEVD48Qj5TcGVjaWZpZWQgYnk6PC9CPjxERD48Q09ERT5kb0FmdGVyQm9keTwvQ09ERT4gaW4gaW50ZXJmYWNlIDxDT0RFPmphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5Cb2R5VGFnPC9DT0RFPjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48Q09ERT5kb0FmdGVyQm9keTwvQ09ERT4gaW4gY2xhc3MgPENPREU+amF2YXguc2VydmxldC5qc3AudGFnZXh0LkJvZHlUYWdTdXBwb3J0PC9DT0RFPjwvREw+CjwvREQ+CjxERD48REw+Cgo8RFQ+PEI+VGhyb3dzOjwvQj4KPEREPjxDT0RFPmphdmF4LnNlcnZsZXQuanNwLkpzcEV4Y2VwdGlvbjwvQ09ERT4gLSBpZiBhIEpTUCBleGNlcHRpb24gaGFzIG9jY3VycmVkPC9ETD4KPC9ERD4KPC9ETD4KPEhSPgoKPEEgTkFNRT0iZG9FbmRUYWcoKSI+PCEtLSAtLT48L0E+PEgzPgpkb0VuZFRhZzwvSDM+CjxQUkU+CnB1YmxpYyBpbnQgPEI+ZG9FbmRUYWc8L0I+KCkKICAgICAgICAgICAgIHRocm93cyBqYXZheC5zZXJ2bGV0LmpzcC5Kc3BFeGNlcHRpb248L1BSRT4KPERMPgo8REQ+T3B0aW9uYWxseSByZW5kZXIgdGhlIGFzc29jaWF0ZWQgbGFiZWwgZnJvbSB0aGUgYm9keSBjb250ZW50Lgo8UD4KPEREPjxETD4KPERUPjxCPlNwZWNpZmllZCBieTo8L0I+PEREPjxDT0RFPmRvRW5kVGFnPC9DT0RFPiBpbiBpbnRlcmZhY2UgPENPREU+amF2YXguc2VydmxldC5qc3AudGFnZXh0LlRhZzwvQ09ERT48RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PENPREU+ZG9FbmRUYWc8L0NPREU+IGluIGNsYXNzIDxDT0RFPmphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5Cb2R5VGFnU3VwcG9ydDwvQ09ERT48L0RMPgo8L0REPgo8REQ+PERMPgoKPERUPjxCPlRocm93czo8L0I+CjxERD48Q09ERT5qYXZheC5zZXJ2bGV0LmpzcC5Kc3BFeGNlcHRpb248L0NPREU+IC0gaWYgYSBKU1AgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZDwvREw+CjwvREQ+CjwvREw+CjxIUj4KCjxBIE5BTUU9InJlbGVhc2UoKSI+PCEtLSAtLT48L0E+PEgzPgpyZWxlYXNlPC9IMz4KPFBSRT4KcHVibGljIHZvaWQgPEI+cmVsZWFzZTwvQj4oKTwvUFJFPgo8REw+CjxERD5SZWxlYXNlIGFueSBhY3F1aXJlZCByZXNvdXJjZXMuCjxQPgo8REQ+PERMPgo8RFQ+PEI+U3BlY2lmaWVkIGJ5OjwvQj48REQ+PENPREU+cmVsZWFzZTwvQ09ERT4gaW4gaW50ZXJmYWNlIDxDT0RFPmphdmF4LnNlcnZsZXQuanNwLnRhZ2V4dC5UYWc8L0NPREU+PERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL0Jhc2VIYW5kbGVyVGFnLmh0bWwjcmVsZWFzZSgpIj5yZWxlYXNlPC9BPjwvQ09ERT4gaW4gY2xhc3MgPENPREU+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGFnbGliL2h0bWwvQmFzZUhhbmRsZXJUYWcuaHRtbCI+QmFzZUhhbmRsZXJUYWc8L0E+PC9DT0RFPjwvREw+CjwvREQ+CjxERD48REw+CjwvREw+CjwvREQ+CjwvREw+CjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4KPEhSPgoKPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPgo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+CjxUUj4KPFREIENPTFNQQU49MyBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPgo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1JhZGlvVGFnLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPC9UUj4KPC9UQUJMRT4KPC9URD4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+CjwvRU0+CjwvVEQ+CjwvVFI+Cgo8VFI+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RhZ2xpYi9odG1sL1Bhc3N3b3JkVGFnLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOwombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90YWdsaWIvaHRtbC9SZXNldFRhZy5odG1sIj48Qj5ORVhUIENMQVNTPC9CPjwvQT48L0ZPTlQ+PC9URD4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsKJm5ic3A7PEEgSFJFRj0iUmFkaW9UYWcuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOwo8U0NSSVBUPgogIDwhLS0KICBpZih3aW5kb3c9PXRvcCkgewogICAgZG9jdW1lbnQud3JpdGVsbignPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vYWxsY2xhc3Nlcy1ub2ZyYW1lLmh0bWwiIFRBUkdFVD0iIj48Qj5BbGwgQ2xhc3NlczwvQj48L0E+Jyk7CiAgfQogIC8vLS0+CjwvU0NSSVBUPgo8Tk9TQ1JJUFQ+CjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2FsbGNsYXNzZXMtbm9mcmFtZS5odG1sIiBUQVJHRVQ9IiI+PEI+QWxsIENsYXNzZXM8L0I+PC9BPgo8L05PU0NSSVBUPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPFRSPgo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPgogIFNVTU1BUlk6Jm5ic3A7TkVTVEVEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZF9zdW1tYXJ5Ij5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+CjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+CkRFVEFJTDombmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+Cgo8SFI+CkNvcHlyaWdodCCpIDIwMDAtMjAwMyAtIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCjwvQk9EWT4KPC9IVE1MPgo=