PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTUgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgTWV0aG9kR2VuZXJhdG9yDQo8L1RJVExFPg0KPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL3N0eWxlc2hlZXQuY3NzIiBUSVRMRT0iU3R5bGUiPg0KPC9IRUFEPg0KPEJPRFkgQkdDT0xPUj0id2hpdGUiPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvTWV0aG9kR2VuZXJhdG9yLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8L1RSPg0KPC9UQUJMRT4NCjwvVEQ+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4NCjwvRU0+DQo8L1REPg0KPC9UUj4NCg0KPFRSPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NYXRjaEdlbmVyYXRvci5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RUeXBlLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJNZXRob2RHZW5lcmF0b3IuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIudXRpbDwvRk9OVD4NCjxCUj4NCkNsYXNzICBNZXRob2RHZW5lcmF0b3I8L0gyPg0KPFBSRT4NCmphdmEubGFuZy5PYmplY3QNCiAgfA0KICArLS1vcmcuYXBhY2hlLmJjZWwuY2xhc3NmaWxlLkFjY2Vzc0ZsYWdzDQogICAgICAgIHwNCiAgICAgICAgKy0tb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuRmllbGRHZW5Pck1ldGhvZEdlbg0KICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICstLW9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLk1ldGhvZEdlbg0KICAgICAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICAgICstLTxCPm9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIudXRpbC5NZXRob2RHZW5lcmF0b3I8L0I+DQo8L1BSRT4NCjxETD4NCjxEVD48Qj5EaXJlY3QgS25vd24gU3ViY2xhc3Nlczo8L0I+IDxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvQXR0cmlidXRlU2V0TWV0aG9kR2VuZXJhdG9yLmh0bWwiPkF0dHJpYnV0ZVNldE1ldGhvZEdlbmVyYXRvcjwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9Db21wYXJlR2VuZXJhdG9yLmh0bWwiPkNvbXBhcmVHZW5lcmF0b3I8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWF0Y2hHZW5lcmF0b3IuaHRtbCI+TWF0Y2hHZW5lcmF0b3I8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTmFtZWRNZXRob2RHZW5lcmF0b3IuaHRtbCI+TmFtZWRNZXRob2RHZW5lcmF0b3I8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvUnRNZXRob2RHZW5lcmF0b3IuaHRtbCI+UnRNZXRob2RHZW5lcmF0b3I8L0E+LCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvVGVzdEdlbmVyYXRvci5odG1sIj5UZXN0R2VuZXJhdG9yPC9BPjwvREQ+DQo8L0RMPg0KPEhSPg0KPERMPg0KPERUPnB1YmxpYyBjbGFzcyA8Qj5NZXRob2RHZW5lcmF0b3I8L0I+PERUPmV4dGVuZHMgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuTWV0aG9kR2VuPERUPmltcGxlbWVudHMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9Db25zdGFudHMuaHRtbCI+Q29uc3RhbnRzPC9BPjwvREw+DQoNCjxQPg0KPEhSPg0KDQo8UD4NCjwhLS0gPT09PT09PT0gSU5ORVIgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PSBDT05TVFJVQ1RPUiBTVU1NQVJZID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjTWV0aG9kR2VuZXJhdG9yKGludCwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZVtdLCBqYXZhLmxhbmcuU3RyaW5nW10sIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuQ29uc3RhbnRQb29sR2VuKSI+TWV0aG9kR2VuZXJhdG9yPC9BPjwvQj4oaW50Jm5ic3A7YWNjZXNzX2ZsYWdzLAogICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSZuYnNwO3JldHVybl90eXBlLAogICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZVtdJm5ic3A7YXJnX3R5cGVzLAogICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZ1tdJm5ic3A7YXJnX25hbWVzLAogICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO21ldGhvZF9uYW1lLAogICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2NsYXNzX25hbWUsCiAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbkxpc3QmbmJzcDtpbCwKICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkNvbnN0YW50UG9vbEdlbiZuYnNwO2NwZyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPCEtLSA9PT09PT09PT09IE1FVEhPRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJtZXRob2Rfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjYWRkSW5zdHJ1Y3Rpb25MaXN0KG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuUGF0dGVybiwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb25MaXN0KSI+YWRkSW5zdHJ1Y3Rpb25MaXN0PC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9QYXR0ZXJuLmh0bWwiPlBhdHRlcm48L0E+Jm5ic3A7cGF0dGVybiwKICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCZuYnNwO2lsaXN0KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWRkIGEgcHJlLWNvbXBpbGVkIHBhdHRlcm4gdG8gdGhpcyBtb2RlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5Mb2NhbFZhcmlhYmxlR2VuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNhZGRMb2NhbFZhcmlhYmxlKGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGUsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlLCBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbkhhbmRsZSkiPmFkZExvY2FsVmFyaWFibGU8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5UeXBlJm5ic3A7dHlwZSwKICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbkhhbmRsZSZuYnNwO3N0YXJ0LAogICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlJm5ic3A7ZW5kKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWxsb2NhdGVzIGEgbG9jYWwgdmFyaWFibGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkxvY2FsVmFyaWFibGVHZW48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2FkZExvY2FsVmFyaWFibGUyKGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGUsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlKSI+YWRkTG9jYWxWYXJpYWJsZTI8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSZuYnNwO3R5cGUsCiAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlJm5ic3A7c3RhcnQpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2F0dHJpYnV0ZSgpIj5hdHRyaWJ1dGU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI2VuZERvY3VtZW50KCkiPmVuZERvY3VtZW50PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNlbmRFbGVtZW50KCkiPmVuZEVsZW1lbnQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb25MaXN0PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNnZXRJbnN0cnVjdGlvbkxpc3Qob3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci5QYXR0ZXJuKSI+Z2V0SW5zdHJ1Y3Rpb25MaXN0PC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9QYXR0ZXJuLmh0bWwiPlBhdHRlcm48L0E+Jm5ic3A7cGF0dGVybik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgaW5zdHJ1Y3Rpb24gbGlzdCBmb3IgYSBwcmUtY29tcGlsZWQgcGF0dGVybi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNnZXRMb2NhbEluZGV4KGphdmEubGFuZy5TdHJpbmcpIj5nZXRMb2NhbEluZGV4PC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuTG9jYWxWYXJpYWJsZUdlbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjZ2V0TG9jYWxWYXJpYWJsZShqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0TG9jYWxWYXJpYWJsZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNsb2FkQ29udGV4dE5vZGUoKSI+bG9hZENvbnRleHROb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7YnkgZGVmYXVsdCBjb250ZXh0IG5vZGUgaXMgdGhlIHNhbWUgYXMgY3VycmVudCBub2RlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjbG9hZEN1cnJlbnROb2RlKCkiPmxvYWRDdXJyZW50Tm9kZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjbG9hZERPTSgpIj5sb2FkRE9NPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNsb2FkSGFuZGxlcigpIj5sb2FkSGFuZGxlcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjbG9hZEl0ZXJhdG9yKCkiPmxvYWRJdGVyYXRvcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNtYXJrQ2h1bmtFbmQoKSI+bWFya0NodW5rRW5kPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TWFyayB0aGUgZW5kIG9mIGFuIG91dGxpbmVhYmxlIGNodW5rIG9mIGNvZGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI21hcmtDaHVua1N0YXJ0KCkiPm1hcmtDaHVua1N0YXJ0PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TWFyayB0aGUgZW5kIG9mIHRoZSBtZXRob2QncwogPENPREU+SW5zdHJ1Y3Rpb25MaXN0PC9DT0RFPiBhcyB0aGUgc3RhcnQgb2YgYW4gb3V0bGluZWFibGUgY2h1bmsgb2YgY29kZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI25hbWVzcGFjZSgpIj5uYW1lc3BhY2U8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI25leHROb2RlKCkiPm5leHROb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5jbGFzc2ZpbGUuTWV0aG9kW108L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI291dGxpbmVDaHVua3Mob3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci51dGlsLkNsYXNzR2VuZXJhdG9yLCBpbnQpIj5vdXRsaW5lQ2h1bmtzPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0NsYXNzR2VuZXJhdG9yLmh0bWwiPkNsYXNzR2VuZXJhdG9yPC9BPiZuYnNwO2NsYXNzR2VuLAogICAgICAgICAgICAgIGludCZuYnNwO29yaWdpbmFsTWV0aG9kU2l6ZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0JyZWFrcyB1cCB0aGUgSUwgZm9yIHRoaXMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sIj48Q09ERT5NZXRob2RHZW5lcmF0b3I8L0NPREU+PC9BPiBpbnRvIHNlcGFyYXRlCiBvdXRsaW5lZCBtZXRob2RzIHNvIHRoYXQgbm8gbWV0aG9kIGV4Y2VlZHMgdGhlIDY0S0IgbGltaXQgb24gdGhlIGxlbmd0aAogb2YgdGhlIGJ5dGUgY29kZSBhc3NvY2lhdGVkIHdpdGggYSBtZXRob2QuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI3JlbW92ZUxvY2FsVmFyaWFibGUob3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuTG9jYWxWYXJpYWJsZUdlbikiPnJlbW92ZUxvY2FsVmFyaWFibGU8L0E+PC9CPihvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5Mb2NhbFZhcmlhYmxlR2VuJm5ic3A7bHZnKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNyZXNldCgpIj5yZXNldDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzZXRNYXhMb2NhbHMoKSI+c2V0TWF4TG9jYWxzPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzZXRTdGFydE5vZGUoKSI+c2V0U3RhcnROb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzdGFydERvY3VtZW50KCkiPnN0YXJ0RG9jdW1lbnQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI3N0YXJ0RWxlbWVudCgpIj5zdGFydEVsZW1lbnQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb248L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sI3N0b3JlQ29udGV4dE5vZGUoKSI+c3RvcmVDb250ZXh0Tm9kZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjc3RvcmVDdXJyZW50Tm9kZSgpIj5zdG9yZUN1cnJlbnROb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCNzdG9yZURPTSgpIj5zdG9yZURPTTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjc3RvcmVIYW5kbGVyKCkiPnN0b3JlSGFuZGxlcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvTWV0aG9kR2VuZXJhdG9yLmh0bWwjc3RvcmVJdGVyYXRvcigpIj5zdG9yZUl0ZXJhdG9yPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9NZXRob2RHZW5lcmF0b3IuaHRtbCN1bmlxdWVBdHRyaWJ1dGUoKSI+dW5pcXVlQXR0cmlidXRlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5NZXRob2RHZW4iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuTWV0aG9kR2VuPC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+YWRkQ29kZUF0dHJpYnV0ZSwgDQphZGRFeGNlcHRpb24sIA0KYWRkRXhjZXB0aW9uSGFuZGxlciwgDQphZGRMaW5lTnVtYmVyLCANCmFkZExvY2FsVmFyaWFibGUsIA0KYWRkT2JzZXJ2ZXIsIA0KY29weSwgDQpnZXRBcmd1bWVudE5hbWUsIA0KZ2V0QXJndW1lbnROYW1lcywgDQpnZXRBcmd1bWVudFR5cGUsIA0KZ2V0QXJndW1lbnRUeXBlcywgDQpnZXRDbGFzc05hbWUsIA0KZ2V0Q29kZUF0dHJpYnV0ZXMsIA0KZ2V0RXhjZXB0aW9uSGFuZGxlcnMsIA0KZ2V0RXhjZXB0aW9ucywgDQpnZXRJbnN0cnVjdGlvbkxpc3QsIA0KZ2V0TGluZU51bWJlcnMsIA0KZ2V0TGluZU51bWJlclRhYmxlLCANCmdldExvY2FsVmFyaWFibGVzLCANCmdldExvY2FsVmFyaWFibGVUYWJsZSwgDQpnZXRNYXhMb2NhbHMsIA0KZ2V0TWF4U3RhY2ssIA0KZ2V0TWF4U3RhY2ssIA0KZ2V0TWV0aG9kLCANCmdldFJldHVyblR5cGUsIA0KZ2V0U2lnbmF0dXJlLCANCnJlbW92ZUNvZGVBdHRyaWJ1dGUsIA0KcmVtb3ZlQ29kZUF0dHJpYnV0ZXMsIA0KcmVtb3ZlRXhjZXB0aW9uLCANCnJlbW92ZUV4Y2VwdGlvbkhhbmRsZXIsIA0KcmVtb3ZlRXhjZXB0aW9uSGFuZGxlcnMsIA0KcmVtb3ZlRXhjZXB0aW9ucywgDQpyZW1vdmVMaW5lTnVtYmVyLCANCnJlbW92ZUxpbmVOdW1iZXJzLCANCnJlbW92ZUxvY2FsVmFyaWFibGVzLCANCnJlbW92ZU5PUHMsIA0KcmVtb3ZlT2JzZXJ2ZXIsIA0Kc2V0QXJndW1lbnROYW1lLCANCnNldEFyZ3VtZW50TmFtZXMsIA0Kc2V0QXJndW1lbnRUeXBlLCANCnNldEFyZ3VtZW50VHlwZXMsIA0Kc2V0Q2xhc3NOYW1lLCANCnNldEluc3RydWN0aW9uTGlzdCwgDQpzZXRNYXhMb2NhbHMsIA0Kc2V0TWF4U3RhY2ssIA0Kc2V0TWF4U3RhY2ssIA0Kc2V0UmV0dXJuVHlwZSwgDQpzdHJpcEF0dHJpYnV0ZXMsIA0KdG9TdHJpbmcsIA0KdXBkYXRlPC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuRmllbGRHZW5Pck1ldGhvZEdlbiI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5GaWVsZEdlbk9yTWV0aG9kR2VuPC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+YWRkQXR0cmlidXRlLCANCmNsb25lLCANCmdldEF0dHJpYnV0ZXMsIA0KZ2V0Q29uc3RhbnRQb29sLCANCmdldE5hbWUsIA0KZ2V0VHlwZSwgDQpyZW1vdmVBdHRyaWJ1dGUsIA0KcmVtb3ZlQXR0cmlidXRlcywgDQpzZXRDb25zdGFudFBvb2wsIA0Kc2V0TmFtZSwgDQpzZXRUeXBlPC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS5iY2VsLmNsYXNzZmlsZS5BY2Nlc3NGbGFncyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBvcmcuYXBhY2hlLmJjZWwuY2xhc3NmaWxlLkFjY2Vzc0ZsYWdzPC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+Z2V0QWNjZXNzRmxhZ3MsIA0KaXNBYnN0cmFjdCwgDQppc0Fic3RyYWN0LCANCmlzRmluYWwsIA0KaXNGaW5hbCwgDQppc0ludGVyZmFjZSwgDQppc0ludGVyZmFjZSwgDQppc05hdGl2ZSwgDQppc05hdGl2ZSwgDQppc1ByaXZhdGUsIA0KaXNQcml2YXRlLCANCmlzUHJvdGVjdGVkLCANCmlzUHJvdGVjdGVkLCANCmlzUHVibGljLCANCmlzUHVibGljLCANCmlzU3RhdGljLCANCmlzU3RhdGljLCANCmlzU3RyaWN0ZnAsIA0KaXNTdHJpY3RmcCwgDQppc1N5bmNocm9uaXplZCwgDQppc1N5bmNocm9uaXplZCwgDQppc1RyYW5zaWVudCwgDQppc1RyYW5zaWVudCwgDQppc1ZvbGF0aWxlLCANCmlzVm9sYXRpbGUsIA0Kc2V0QWNjZXNzRmxhZ3M8L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZhLmxhbmcuT2JqZWN0Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIGphdmEubGFuZy5PYmplY3Q8L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT5lcXVhbHMsIA0KZ2V0Q2xhc3MsIA0KaGFzaENvZGUsIA0Kbm90aWZ5LCANCm5vdGlmeUFsbCwgDQp3YWl0LCANCndhaXQsIA0Kd2FpdDwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjxQPg0KDQo8IS0tID09PT09PT09PT09PSBGSUVMRCBERVRBSUwgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT0gQ09OU1RSVUNUT1IgREVUQUlMID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5Db25zdHJ1Y3RvciBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0iTWV0aG9kR2VuZXJhdG9yKGludCwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZVtdLCBqYXZhLmxhbmcuU3RyaW5nW10sIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuQ29uc3RhbnRQb29sR2VuKSI+PCEtLSAtLT48L0E+PEgzPg0KTWV0aG9kR2VuZXJhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEI+TWV0aG9kR2VuZXJhdG9yPC9CPihpbnQmbmJzcDthY2Nlc3NfZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSZuYnNwO3JldHVybl90eXBlLAogICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGVbXSZuYnNwO2FyZ190eXBlcywKICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nW10mbmJzcDthcmdfbmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO21ldGhvZF9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtjbGFzc19uYW1lLAogICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCZuYnNwO2lsLAogICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkNvbnN0YW50UG9vbEdlbiZuYnNwO2NwZyk8L1BSRT4NCjxETD4NCjwvREw+DQoNCjwhLS0gPT09PT09PT09PT09IE1FVEhPRCBERVRBSUwgPT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0iYWRkTG9jYWxWYXJpYWJsZShqYXZhLmxhbmcuU3RyaW5nLCBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5UeXBlLCBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbkhhbmRsZSwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb25IYW5kbGUpIj48IS0tIC0tPjwvQT48SDM+DQphZGRMb2NhbFZhcmlhYmxlPC9IMz4NCjxQUkU+DQpwdWJsaWMgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuTG9jYWxWYXJpYWJsZUdlbiA8Qj5hZGRMb2NhbFZhcmlhYmxlPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5UeXBlJm5ic3A7dHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbkhhbmRsZSZuYnNwO3N0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlJm5ic3A7ZW5kKTwvUFJFPg0KPERMPg0KPEREPkFsbG9jYXRlcyBhIGxvY2FsIHZhcmlhYmxlLiBJZiB0aGUgc2xvdCBhbGxvY2F0b3IgaGFzIGFscmVhZHkgYmVlbgogaW5pdGlhbGl6ZWQsIHRoZW4gY2FsbCBhZGRMb2NhbFZhcmlhYmxlMigpIHNvIHRoYXQgdGhlIG5ldyB2YXJpYWJsZQogaXMga25vd24gdG8gdGhlIGFsbG9jYXRvci4gRmFpbGluZyB0byBkbyB0aGlzIG1heSBjYXVzZSB0aGUgYWxsb2NhdG9yIAogdG8gcmV0dXJuIGEgc2xvdCB0aGF0IGlzIGFscmVhZHkgaW4gdXNlLjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+YWRkTG9jYWxWYXJpYWJsZSBpbiBjbGFzcyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5NZXRob2RHZW48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImFkZExvY2FsVmFyaWFibGUyKGphdmEubGFuZy5TdHJpbmcsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLlR5cGUsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlKSI+PCEtLSAtLT48L0E+PEgzPg0KYWRkTG9jYWxWYXJpYWJsZTI8L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5Mb2NhbFZhcmlhYmxlR2VuIDxCPmFkZExvY2FsVmFyaWFibGUyPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuVHlwZSZuYnNwO3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uSGFuZGxlJm5ic3A7c3RhcnQpPC9QUkU+DQo8REw+DQo8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJyZW1vdmVMb2NhbFZhcmlhYmxlKG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkxvY2FsVmFyaWFibGVHZW4pIj48IS0tIC0tPjwvQT48SDM+DQpyZW1vdmVMb2NhbFZhcmlhYmxlPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5yZW1vdmVMb2NhbFZhcmlhYmxlPC9CPihvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5Mb2NhbFZhcmlhYmxlR2VuJm5ic3A7bHZnKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD5yZW1vdmVMb2NhbFZhcmlhYmxlIGluIGNsYXNzIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLk1ldGhvZEdlbjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibG9hZERPTSgpIj48IS0tIC0tPjwvQT48SDM+DQpsb2FkRE9NPC9IMz4NCjxQUkU+DQpwdWJsaWMgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb24gPEI+bG9hZERPTTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RvcmVET00oKSI+PCEtLSAtLT48L0E+PEgzPg0Kc3RvcmVET008L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5zdG9yZURPTTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RvcmVIYW5kbGVyKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnN0b3JlSGFuZGxlcjwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPnN0b3JlSGFuZGxlcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibG9hZEhhbmRsZXIoKSI+PCEtLSAtLT48L0E+PEgzPg0KbG9hZEhhbmRsZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5sb2FkSGFuZGxlcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RvcmVJdGVyYXRvcigpIj48IS0tIC0tPjwvQT48SDM+DQpzdG9yZUl0ZXJhdG9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb24gPEI+c3RvcmVJdGVyYXRvcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibG9hZEl0ZXJhdG9yKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmxvYWRJdGVyYXRvcjwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPmxvYWRJdGVyYXRvcjwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0U3RhcnROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnNldFN0YXJ0Tm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPnNldFN0YXJ0Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icmVzZXQoKSI+PCEtLSAtLT48L0E+PEgzPg0KcmVzZXQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5yZXNldDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibmV4dE5vZGUoKSI+PCEtLSAtLT48L0E+PEgzPg0KbmV4dE5vZGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5uZXh0Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RhcnRFbGVtZW50KCkiPjwhLS0gLS0+PC9BPjxIMz4NCnN0YXJ0RWxlbWVudDwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPnN0YXJ0RWxlbWVudDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZW5kRWxlbWVudCgpIj48IS0tIC0tPjwvQT48SDM+DQplbmRFbGVtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb24gPEI+ZW5kRWxlbWVudDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RhcnREb2N1bWVudCgpIj48IS0tIC0tPjwvQT48SDM+DQpzdGFydERvY3VtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgZmluYWwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb24gPEI+c3RhcnREb2N1bWVudDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZW5kRG9jdW1lbnQoKSI+PCEtLSAtLT48L0E+PEgzPg0KZW5kRG9jdW1lbnQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBmaW5hbCBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5lbmREb2N1bWVudDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iYXR0cmlidXRlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmF0dHJpYnV0ZTwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPmF0dHJpYnV0ZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0idW5pcXVlQXR0cmlidXRlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnVuaXF1ZUF0dHJpYnV0ZTwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPnVuaXF1ZUF0dHJpYnV0ZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibmFtZXNwYWNlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCm5hbWVzcGFjZTwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPm5hbWVzcGFjZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibG9hZEN1cnJlbnROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmxvYWRDdXJyZW50Tm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPmxvYWRDdXJyZW50Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RvcmVDdXJyZW50Tm9kZSgpIj48IS0tIC0tPjwvQT48SDM+DQpzdG9yZUN1cnJlbnROb2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb24gPEI+c3RvcmVDdXJyZW50Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ibG9hZENvbnRleHROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmxvYWRDb250ZXh0Tm9kZTwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uIDxCPmxvYWRDb250ZXh0Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPmJ5IGRlZmF1bHQgY29udGV4dCBub2RlIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnQgbm9kZS4gTUs0Mzc8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzdG9yZUNvbnRleHROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnN0b3JlQ29udGV4dE5vZGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbiA8Qj5zdG9yZUNvbnRleHROb2RlPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRMb2NhbEluZGV4KGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRMb2NhbEluZGV4PC9IMz4NCjxQUkU+DQpwdWJsaWMgaW50IDxCPmdldExvY2FsSW5kZXg8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lKTwvUFJFPg0KPERMPg0KPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TG9jYWxWYXJpYWJsZShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TG9jYWxWYXJpYWJsZTwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkxvY2FsVmFyaWFibGVHZW4gPEI+Z2V0TG9jYWxWYXJpYWJsZTwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO25hbWUpPC9QUkU+DQo8REw+DQo8REQ+PERMPg0KPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRNYXhMb2NhbHMoKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0TWF4TG9jYWxzPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRNYXhMb2NhbHM8L0I+KCk8L1BSRT4NCjxETD4NCjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+c2V0TWF4TG9jYWxzIGluIGNsYXNzIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLk1ldGhvZEdlbjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iYWRkSW5zdHJ1Y3Rpb25MaXN0KG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuUGF0dGVybiwgb3JnLmFwYWNoZS5iY2VsLmdlbmVyaWMuSW5zdHJ1Y3Rpb25MaXN0KSI+PCEtLSAtLT48L0E+PEgzPg0KYWRkSW5zdHJ1Y3Rpb25MaXN0PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5hZGRJbnN0cnVjdGlvbkxpc3Q8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvUGF0dGVybi5odG1sIj5QYXR0ZXJuPC9BPiZuYnNwO3BhdHRlcm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmJjZWwuZ2VuZXJpYy5JbnN0cnVjdGlvbkxpc3QmbmJzcDtpbGlzdCk8L1BSRT4NCjxETD4NCjxERD5BZGQgYSBwcmUtY29tcGlsZWQgcGF0dGVybiB0byB0aGlzIG1vZGUuPEREPjxETD4NCjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0SW5zdHJ1Y3Rpb25MaXN0KG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuUGF0dGVybikiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEluc3RydWN0aW9uTGlzdDwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUuYmNlbC5nZW5lcmljLkluc3RydWN0aW9uTGlzdCA8Qj5nZXRJbnN0cnVjdGlvbkxpc3Q8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvUGF0dGVybi5odG1sIj5QYXR0ZXJuPC9BPiZuYnNwO3BhdHRlcm4pPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBpbnN0cnVjdGlvbiBsaXN0IGZvciBhIHByZS1jb21waWxlZCBwYXR0ZXJuLiBVc2VkIGJ5IAogdGVzdCBzZXF1ZW5jZXMgdG8gYXZvaWQgY29tcGlsaW5nIHBhdHRlcm5zIG1vcmUgdGhhbiBvbmNlLjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9Im91dGxpbmVDaHVua3Mob3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci51dGlsLkNsYXNzR2VuZXJhdG9yLCBpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpvdXRsaW5lQ2h1bmtzPC9IMz4NCjxQUkU+DQpwdWJsaWMgb3JnLmFwYWNoZS5iY2VsLmNsYXNzZmlsZS5NZXRob2RbXSA8Qj5vdXRsaW5lQ2h1bmtzPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL3V0aWwvQ2xhc3NHZW5lcmF0b3IuaHRtbCI+Q2xhc3NHZW5lcmF0b3I8L0E+Jm5ic3A7Y2xhc3NHZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7b3JpZ2luYWxNZXRob2RTaXplKTwvUFJFPg0KPERMPg0KPEREPkJyZWFrcyB1cCB0aGUgSUwgZm9yIHRoaXMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZEdlbmVyYXRvci5odG1sIj48Q09ERT5NZXRob2RHZW5lcmF0b3I8L0NPREU+PC9BPiBpbnRvIHNlcGFyYXRlCiBvdXRsaW5lZCBtZXRob2RzIHNvIHRoYXQgbm8gbWV0aG9kIGV4Y2VlZHMgdGhlIDY0S0IgbGltaXQgb24gdGhlIGxlbmd0aAogb2YgdGhlIGJ5dGUgY29kZSBhc3NvY2lhdGVkIHdpdGggYSBtZXRob2QuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+Y2xhc3NHZW48L0NPREU+IC0gVGhlIDxDT0RFPkNsYXNzR2VuPC9DT0RFPiB3aXRoIHdoaWNoIHRoZSBnZW5lcmF0ZWQgbWV0aG9kcwogICAgICAgICAgICAgICAgIHdpbGwgYmUgYXNzb2NpYXRlZDxERD48Q09ERT5vcmlnaW5hbE1ldGhvZFNpemU8L0NPREU+IC0gVGhlIG51bWJlciBvZiBieXRlcyBvZiBieXRlY29kZSByZXByZXNlbnRlZCBieQogICAgICAgICAgICAgICAgIHRoZSA8Q09ERT5JbnN0cnVjdGlvbkxpc3Q8L0NPREU+IG9mIHRoaXMgbWV0aG9kPERUPjxCPlJldHVybnM6PC9CPjxERD5hbiBhcnJheSBvZiB0aGUgb3V0bGluZWQgPGNvZGU+TWV0aG9kPC9jb2RlPnMgYW5kIHRoZSBvcmlnaW5hbAogICAgICAgICBtZXRob2QgaXRzZWxmPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJtYXJrQ2h1bmtTdGFydCgpIj48IS0tIC0tPjwvQT48SDM+DQptYXJrQ2h1bmtTdGFydDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+bWFya0NodW5rU3RhcnQ8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5NYXJrIHRoZSBlbmQgb2YgdGhlIG1ldGhvZCdzCiA8Q09ERT5JbnN0cnVjdGlvbkxpc3Q8L0NPREU+IGFzIHRoZSBzdGFydCBvZiBhbiBvdXRsaW5lYWJsZSBjaHVuayBvZiBjb2RlLgogVGhlIG91dGxpbmVhYmxlIGNodW5rIGJlZ2lucyBhZnRlciB0aGUgPENPREU+SW5zdHJ1Y3Rpb25IYW5kbGU8L0NPREU+IHRoYXQgaXMKIGF0IHRoZSBlbmQgb2YgdGhlIG1ldGhvZCdzIDxDT0RFPkluc3RydWN0aW9uTGlzdDwvQ09ERT4sIG9yIGF0IHRoZSBzdGFydCBvZgogdGhlIG1ldGhvZCBpZiB0aGUgPGNvZGU+SW5zdHJ1Y3Rpb25MaXN0PC9jb2RlPiBpcyBlbXB0eS4KIFNlZSA8Q09ERT5PdXRsaW5lYWJsZUNodW5rU3RhcnQ8L0NPREU+IGZvciBtb3JlIGluZm9ybWF0aW9uLjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9Im1hcmtDaHVua0VuZCgpIj48IS0tIC0tPjwvQT48SDM+DQptYXJrQ2h1bmtFbmQ8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPm1hcmtDaHVua0VuZDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPk1hcmsgdGhlIGVuZCBvZiBhbiBvdXRsaW5lYWJsZSBjaHVuayBvZiBjb2RlLiAgU2VlCiA8Q09ERT5PdXRsaW5lYWJsZUNodW5rU3RhcnQ8L0NPREU+IGZvciBtb3JlIGluZm9ybWF0aW9uLjxERD48REw+DQo8L0RMPg0KPC9ERD4NCjwvREw+DQo8IS0tID09PT09PT09PSBFTkQgT0YgQ0xBU1MgREFUQSA9PT09PT09PT0gLS0+DQo8SFI+DQoNCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4NCjxBIE5BTUU9Im5hdmJhcl9ib3R0b20iPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4NCjxUUj4NCjxURCBDT0xTUEFOPTIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4NCjxBIE5BTUU9Im5hdmJhcl9ib3R0b21fZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPg0KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9NZXRob2RHZW5lcmF0b3IuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01hdGNoR2VuZXJhdG9yLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL01ldGhvZFR5cGUuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ik1ldGhvZEdlbmVyYXRvci5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KQ29weXJpZ2h0IKkgMjAwNiBBcGFjaGUgWE1MIFByb2plY3QuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQo8L0JPRFk+DQo8L0hUTUw+DQo=