PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTUgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBJbnRlcmZhY2UgIFRyYW5zZm9ybVN0YXRlDQo8L1RJVExFPg0KPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIEhSRUY9Ii4uLy4uLy4uLy4uL3N0eWxlc2hlZXQuY3NzIiBUSVRMRT0iU3R5bGUiPg0KPC9IRUFEPg0KPEJPRFkgQkdDT0xPUj0id2hpdGUiPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvVHJhbnNmb3JtU3RhdGUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90cmFuc2Zvcm1lci9UcmFuc2Zvcm1TbmFwc2hvdC5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsNCiZuYnNwO05FWFQgQ0xBU1M8L0ZPTlQ+PC9URD4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iVHJhbnNmb3JtU3RhdGUuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwO0NPTlNUUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwO0NPTlNUUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueGFsYW4udHJhbnNmb3JtZXI8L0ZPTlQ+DQo8QlI+DQpJbnRlcmZhY2UgIFRyYW5zZm9ybVN0YXRlPC9IMj4NCjxETD4NCjxEVD48Qj5BbGwgS25vd24gSW1wbGVtZW50aW5nIENsYXNzZXM6PC9CPiA8REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90cmFuc2Zvcm1lci9YYWxhblRyYW5zZm9ybVN0YXRlLmh0bWwiPlhhbGFuVHJhbnNmb3JtU3RhdGU8L0E+PC9ERD4NCjwvREw+DQo8SFI+DQo8REw+DQo8RFQ+cHVibGljIGludGVyZmFjZSA8Qj5UcmFuc2Zvcm1TdGF0ZTwvQj48RFQ+ZXh0ZW5kcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1RyYW5zZm9ybVN0YXRlU2V0dGVyLmh0bWwiPlRyYW5zZm9ybVN0YXRlU2V0dGVyPC9BPjwvREw+DQoNCjxQPg0KVGhpcyBpbnRlcmZhY2UgaXMgbWVhbnQgdG8gYmUgdXNlZCBieSBhIGNvbnN1bWVyIG9mCiBTQVgyIGV2ZW50cyBwcm9kdWNlZCBieSBYYWxhbiwgYW5kIGVuYWJsZXMgdGhlIGNvbnN1bWVyCiB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSB0cmFuc2Zvcm0uICBJdAogaXMgcHJpbWFyaWx5IGludGVuZGVkIGFzIGEgdG9vbGluZyBpbnRlcmZhY2UuICBBIGNvbnRlbnQKIGhhbmRsZXIgY2FuIGdldCBhIHJlZmVyZW5jZSB0byBhIFRyYW5zZm9ybVN0YXRlIGJ5IGltcGxlbWVudGluZwogdGhlIFRyYW5zZm9ybWVyQ2xpZW50IGludGVyZmFjZS4gIFhhbGFuIHdpbGwgY2hlY2sgZm9yCiB0aGF0IGludGVyZmFjZSBiZWZvcmUgaXQgY2FsbHMgc3RhcnREb2N1bWVudCwgYW5kLCBpZiBpdAogaXMgaW1wbGVtZW50ZWQsIHBhc3MgaW4gYSBUcmFuc2Zvcm1TdGF0ZSByZWZlcmVuY2UgdG8gdGhlCiBzZXRUcmFuc2Zvcm1TdGF0ZSBtZXRob2QuCgogPHA+Tm90ZSB0aGF0IHRoZSBjdXJyZW50IHN0eWxlc2hlZXQgYW5kIHJvb3Qgc3R5bGVzaGVldCBjYW4KIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBFbGVtVGVtcGxhdGVFbGVtZW50IG9idGFpbmVkIGZyb20KIGVpdGhlciBnZXRDdXJyZW50RWxlbWVudCgpIG9yIGdldEN1cnJlbnRUZW1wbGF0ZSgpLjwvcD4KIAogVGhpcyBpbnRlcmZhY2UgY29udGFpbnMgb25seSBnZXR0ZXIgbWV0aG9kcywgYW55IHNldHRlcnMgYXJlIGluIHRoZSBpbnRlcmZhY2UKIFRyYW5zZm9ybVN0YXRlU2V0dGVyIHdoaWNoIHRoaXMgaW50ZXJmYWNlIGV4dGVuZHMuDQo8UD4NCjxETD4NCjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1RyYW5zZm9ybVN0YXRlU2V0dGVyLmh0bWwiPjxDT0RFPlRyYW5zZm9ybVN0YXRlU2V0dGVyPC9DT0RFPjwvQT48L0RMPg0KPEhSPg0KDQo8UD4NCjwhLS0gPT09PT09PT0gSU5ORVIgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PSBDT05TVFJVQ1RPUiBTVU1NQVJZID09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT09PSBNRVRIT0QgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy93M2MvZG9tL3RyYXZlcnNhbC9Ob2RlSXRlcmF0b3IuaHRtbCI+Tm9kZUl0ZXJhdG9yPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RyYW5zZm9ybWVyL1RyYW5zZm9ybVN0YXRlLmh0bWwjZ2V0Q29udGV4dE5vZGVMaXN0KCkiPmdldENvbnRleHROb2RlTGlzdDwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUgbGlzdC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RyYW5zZm9ybWVyL1RyYW5zZm9ybVN0YXRlLmh0bWwjZ2V0Q3VycmVudEVsZW1lbnQoKSI+Z2V0Q3VycmVudEVsZW1lbnQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXRyaWV2ZXMgdGhlIHN0eWxlc2hlZXQgZWxlbWVudCB0aGF0IHByb2R1Y2VkCiB0aGUgU0FYIGV2ZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Ob2RlLmh0bWwiPk5vZGU8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdHJhbnNmb3JtZXIvVHJhbnNmb3JtU3RhdGUuaHRtbCNnZXRDdXJyZW50Tm9kZSgpIj5nZXRDdXJyZW50Tm9kZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgbWV0aG9kIHJldHJpZXZlcyB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUKIGluIHRoZSBzb3VyY2UgdHJlZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwiPkVsZW1UZW1wbGF0ZTwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90cmFuc2Zvcm1lci9UcmFuc2Zvcm1TdGF0ZS5odG1sI2dldEN1cnJlbnRUZW1wbGF0ZSgpIj5nZXRDdXJyZW50VGVtcGxhdGU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIG1ldGhvZCByZXRyaWV2ZXMgdGhlIHhzbDp0ZW1wbGF0ZQogdGhhdCBpcyBpbiBlZmZlY3QsIHdoaWNoIG1heSBiZSBhIG1hdGNoZWQgdGVtcGxhdGUKIG9yIGEgbmFtZWQgdGVtcGxhdGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy93M2MvZG9tL05vZGUuaHRtbCI+Tm9kZTwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90cmFuc2Zvcm1lci9UcmFuc2Zvcm1TdGF0ZS5odG1sI2dldE1hdGNoZWROb2RlKCkiPmdldE1hdGNoZWROb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0cmlldmVzIHRoZSBub2RlIGluIHRoZSBzb3VyY2UgdHJlZSB0aGF0IG1hdGNoZWQKIHRoZSB0ZW1wbGF0ZSBvYnRhaW5lZCB2aWEgZ2V0TWF0Y2hlZFRlbXBsYXRlKCkuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sIj5FbGVtVGVtcGxhdGU8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdHJhbnNmb3JtZXIvVHJhbnNmb3JtU3RhdGUuaHRtbCNnZXRNYXRjaGVkVGVtcGxhdGUoKSI+Z2V0TWF0Y2hlZFRlbXBsYXRlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBtZXRob2QgcmV0cmlldmVzIHRoZSB4c2w6dGVtcGxhdGUKIHRoYXQgd2FzIG1hdGNoZWQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXIuaHRtbCI+VHJhbnNmb3JtZXI8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdHJhbnNmb3JtZXIvVHJhbnNmb3JtU3RhdGUuaHRtbCNnZXRUcmFuc2Zvcm1lcigpIj5nZXRUcmFuc2Zvcm1lcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgVHJBWCBUcmFuc2Zvcm1lciBvYmplY3QgaW4gZWZmZWN0LjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3Nfb3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci5UcmFuc2Zvcm1TdGF0ZVNldHRlciI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBpbnRlcmZhY2Ugb3JnLmFwYWNoZS54bWwuc2VyaWFsaXplci48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1RyYW5zZm9ybVN0YXRlU2V0dGVyLmh0bWwiPlRyYW5zZm9ybVN0YXRlU2V0dGVyPC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3NlcmlhbGl6ZXIvVHJhbnNmb3JtU3RhdGVTZXR0ZXIuaHRtbCNyZXNldFN0YXRlKGphdmF4LnhtbC50cmFuc2Zvcm0uVHJhbnNmb3JtZXIpIj5yZXNldFN0YXRlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC9zZXJpYWxpemVyL1RyYW5zZm9ybVN0YXRlU2V0dGVyLmh0bWwjc2V0Q3VycmVudE5vZGUob3JnLnczYy5kb20uTm9kZSkiPnNldEN1cnJlbnROb2RlPC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjxQPg0KDQo8IS0tID09PT09PT09PT09PSBGSUVMRCBERVRBSUwgPT09PT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT0gQ09OU1RSVUNUT1IgREVUQUlMID09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT09PT09IE1FVEhPRCBERVRBSUwgPT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0iZ2V0Q3VycmVudEVsZW1lbnQoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Q3VycmVudEVsZW1lbnQ8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+IDxCPmdldEN1cnJlbnRFbGVtZW50PC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UmV0cmlldmVzIHRoZSBzdHlsZXNoZWV0IGVsZW1lbnQgdGhhdCBwcm9kdWNlZAogdGhlIFNBWCBldmVudC4KCiA8cD5QbGVhc2Ugbm90ZSB0aGF0IHRoZSBFbGVtVGVtcGxhdGVFbGVtZW50IHJldHVybmVkIG1heQogYmUgaW4gYSBkZWZhdWx0IHRlbXBsYXRlLCBhbmQgdGh1cyBtYXkgbm90IGJlCiBkZWZpbmVkIGluIHRoZSBzdHlsZXNoZWV0LjwvcD48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUgc3R5bGVzaGVldCBlbGVtZW50IHRoYXQgcHJvZHVjZWQgdGhlIFNBWCBldmVudC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEN1cnJlbnROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEN1cnJlbnROb2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZS5odG1sIj5Ob2RlPC9BPiA8Qj5nZXRDdXJyZW50Tm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlRoaXMgbWV0aG9kIHJldHJpZXZlcyB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUKIGluIHRoZSBzb3VyY2UgdHJlZS48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUgY3VycmVudCBjb250ZXh0IG5vZGUgaW4gdGhlIHNvdXJjZSB0cmVlLjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Q3VycmVudFRlbXBsYXRlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldEN1cnJlbnRUZW1wbGF0ZTwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sIj5FbGVtVGVtcGxhdGU8L0E+IDxCPmdldEN1cnJlbnRUZW1wbGF0ZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlRoaXMgbWV0aG9kIHJldHJpZXZlcyB0aGUgeHNsOnRlbXBsYXRlCiB0aGF0IGlzIGluIGVmZmVjdCwgd2hpY2ggbWF5IGJlIGEgbWF0Y2hlZCB0ZW1wbGF0ZQogb3IgYSBuYW1lZCB0ZW1wbGF0ZS4KCiA8cD5QbGVhc2Ugbm90ZSB0aGF0IHRoZSBFbGVtVGVtcGxhdGUgcmV0dXJuZWQgbWF5CiBiZSBhIGRlZmF1bHQgdGVtcGxhdGUsIGFuZCB0aHVzIG1heSBub3QgaGF2ZSBhIHRlbXBsYXRlCiBkZWZpbmVkIGluIHRoZSBzdHlsZXNoZWV0LjwvcD48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUgeHNsOnRlbXBsYXRlIHRoYXQgaXMgaW4gZWZmZWN0PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRNYXRjaGVkVGVtcGxhdGUoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TWF0Y2hlZFRlbXBsYXRlPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwiPkVsZW1UZW1wbGF0ZTwvQT4gPEI+Z2V0TWF0Y2hlZFRlbXBsYXRlPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+VGhpcyBtZXRob2QgcmV0cmlldmVzIHRoZSB4c2w6dGVtcGxhdGUKIHRoYXQgd2FzIG1hdGNoZWQuICBOb3RlIHRoYXQgdGhpcyBtYXkgbm90IGJlCiB0aGUgc2FtZSB0aGluZyBhcyB0aGUgY3VycmVudCB0ZW1wbGF0ZSAod2hpY2gKIG1heSBiZSBmcm9tIGdldEN1cnJlbnRFbGVtZW50KCkpLCBzaW5jZSBhIG5hbWVkCiB0ZW1wbGF0ZSBtYXkgYmUgaW4gZWZmZWN0LgoKIDxwPlBsZWFzZSBub3RlIHRoYXQgdGhlIEVsZW1UZW1wbGF0ZSByZXR1cm5lZCBtYXkKIGJlIGEgZGVmYXVsdCB0ZW1wbGF0ZSwgYW5kIHRodXMgbWF5IG5vdCBoYXZlIGEgdGVtcGxhdGUKIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQuPC9wPjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSB4c2w6dGVtcGxhdGUgdGhhdCB3YXMgbWF0Y2hlZC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldE1hdGNoZWROb2RlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldE1hdGNoZWROb2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vTm9kZS5odG1sIj5Ob2RlPC9BPiA8Qj5nZXRNYXRjaGVkTm9kZTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHJpZXZlcyB0aGUgbm9kZSBpbiB0aGUgc291cmNlIHRyZWUgdGhhdCBtYXRjaGVkCiB0aGUgdGVtcGxhdGUgb2J0YWluZWQgdmlhIGdldE1hdGNoZWRUZW1wbGF0ZSgpLjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRoZSBub2RlIGluIHRoZSBzb3VyY2UgdHJlZSB0aGF0IG1hdGNoZWQKIHRoZSB0ZW1wbGF0ZSBvYnRhaW5lZCB2aWEgZ2V0TWF0Y2hlZFRlbXBsYXRlKCkuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRDb250ZXh0Tm9kZUxpc3QoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Q29udGV4dE5vZGVMaXN0PC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3czYy9kb20vdHJhdmVyc2FsL05vZGVJdGVyYXRvci5odG1sIj5Ob2RlSXRlcmF0b3I8L0E+IDxCPmdldENvbnRleHROb2RlTGlzdDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgY3VycmVudCBjb250ZXh0IG5vZGUgbGlzdC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUgY3VycmVudCBjb250ZXh0IG5vZGUgbGlzdC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFRyYW5zZm9ybWVyKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFRyYW5zZm9ybWVyPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lci5odG1sIj5UcmFuc2Zvcm1lcjwvQT4gPEI+Z2V0VHJhbnNmb3JtZXI8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIFRyQVggVHJhbnNmb3JtZXIgb2JqZWN0IGluIGVmZmVjdC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD50aGUgVHJBWCBUcmFuc2Zvcm1lciBvYmplY3QgaW4gZWZmZWN0LjwvREw+DQo8L0REPg0KPC9ETD4NCjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4NCjxIUj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1RyYW5zZm9ybVN0YXRlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8L1RSPg0KPC9UQUJMRT4NCjwvVEQ+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4NCjwvRU0+DQo8L1REPg0KPC9UUj4NCg0KPFRSPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdHJhbnNmb3JtZXIvVHJhbnNmb3JtU25hcHNob3QuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7DQombmJzcDtORVhUIENMQVNTPC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IlRyYW5zZm9ybVN0YXRlLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDtDT05TVFImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDtDT05TVFImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQpDb3B5cmlnaHQgqSAyMDA2IEFwYWNoZSBYTUwgUHJvamVjdC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCjwvQk9EWT4NCjwvSFRNTD4NCg==