LlwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgouXCIKLlwiIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHdpdGggcG80YS4gVHJhbnNsYXRlIHRoZSBzb3VyY2UgZmlsZS4KLlwiCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlRIIGRwa2dcLWRpdmVydCA4IDIwMTFcLTA4XC0xNCAiUHJvamV0IERlYmlhbiIgIlV0aWxpdGFpcmVzIGRlIGRwa2ciCi5TSCBOT00KZHBrZ1wtZGl2ZXJ0IFwtIHJlbXBsYWNlciBsYSB2ZXJzaW9uIGQndW4gZmljaGllciBjb250ZW51IGRhbnMgdW4gcGFxdWV0LgouCi5TSCBTWU5PUFNJUwpcZkJkcGtnXC1kaXZlcnRcZlAgW1xmSW9wdGlvblxmUC4uLl0gXGZJY29tbWFuZFxmUAouCi5TSCBERVNDUklQVElPTgpcZkJkcGtnXC1kaXZlcnRcZlAgc2VydCDgIGNy6WVyIGV0IOAgbWV0dHJlIOAgam91ciBsYSBsaXN0ZSBkZXMgZOl0b3VybmVtZW50cy4KLlBQCkxlIKtcIGTpdG91cm5lbWVudFwguyBkZSBmaWNoaWVyIGVzdCB1biBtb3llbiBkJ29ibGlnZXIgXGZCZHBrZ1xmUCgxKSDgIGluc3RhbGxlcgp1biBmaWNoaWVyIG5vbiBwYXMgZGFucyBsJ2VtcGxhY2VtZW50IHBy6XZ1IG1haXMgZGFucyB1biBhdXRyZS4gTGVzIHNjcmlwdHMKZGVzIHBhcXVldHMgRGViaWFuIHNlIHNlcnZlbnQgZGUgbGEgZOl2aWF0aW9uIHBvdXIgZOlwbGFjZXIgbGVzIGZpY2hpZXJzIHF1aQpjcullbnQgZGVzIGNvbmZsaXRzLiBMZXMgYWRtaW5pc3RyYXRldXJzIHMnZW4gc2VydmVudCwgbG9ycyBkZQpsJ2luc3RhbGxhdGlvbiBkJ3VuZSB2ZXJzaW9uIHBsdXMgculjZW50ZSBkJ3VuIHBhcXVldCwgcG91ciByZW1wbGFjZXIgbGVzCmZpY2hpZXJzIGRlIGNvbmZpZ3VyYXRpb24gZGUgY2VydGFpbnMgcGFxdWV0cywgb3UgYmllbiDgIGNoYXF1ZSBmb2lzIHF1ZSBkZXMKZmljaGllcnMgKHF1aSBuZSBzb250IHBhcyBkZXMgq1wgY29uZmZpbGVzXCC7KSBkb2l2ZW50IOp0cmUgcHLpc2VydulzIHBhcgpkcGtnLgouc3AKLlNIIENPTU1BTkRFUwouVFAgCltcZkJcLVwtYWRkXGZQXSBcZklmaWNoaWVyXGZQCkFqb3V0ZXIgdW4gZOl0b3VybmVtZW50IHBvdXIgbGUgXGZJZmljaGllclxmUC4KLlRQIApcZkJcLVwtcmVtb3ZlXGZQXGZJIGZpY2hpZXJcZlAKU3VwcHJpbWVyIHVuIGTpdG91cm5lbWVudCBwb3VyIGxlIFxmSWZpY2hpZXJcZlAuCi5UUCAKXGZCXC1cLWxpc3RcZlAgXGZJZXhwXC1yZWdcZlAKTGlzdGVyIGxlcyBk6XRvdXJuZW1lbnRzIHF1aSBjb3JyZXNwb25kZW50IOAgXGZJZXhwXC1yZWdcZlAuCi5UUCAKXGZCXC1cLWxpc3RwYWNrYWdlXGZQXGZJIGZpY2hpZXJcZlAKQWZmaWNoZXIgbGUgbm9tIGR1IHBhcXVldCBxdWkgZOlyaXZlICirXCBkaXZlcnRcILspIFxmSWZpY2hpZXJcZlAuIEFmZmljaGUgTE9DQUwKc2kgXGZJZmljaGllclxmUCBlc3QgZOlyaXbpIGxvY2FsZW1lbnQgZXQgbidhZmZpY2hlIHJpZW4gc2kgXGZJZmljaGllclxmUCBuJ2VzdApwYXMgZOlyaXbpLgouVFAgClxmQlwtXC10cnVlbmFtZVxmUFxmSSBmaWNoaWVyXGZQCkFmZmljaGVyIGxlIHZyYWkgbm9tIGQndW4gZmljaGllciBk6XRvdXJu6S4KLgouU0ggT1BUSU9OUwouVFAgClxmQlwtXC1hZG1pbmRpclxmUFxmSSBy6XBlcnRvaXJlXGZQCkTpZmluaXIgbGUgculwZXJ0b2lyZSBkZSBkb25u6WVzIGRlIERwa2cgY29tbWUgXGZJculwZXJ0b2lyZVxmUCAocGFyIGTpZmF1dApjJ2VzdCBcZkkvdmFyL2xpYi9kcGtnXGZQKS4KLlRQIApcZkJcLVwtZGl2ZXJ0XGZQXGZJIGTpdG91cm5lclwtZGFuc1xmUApcZklk6XRvdXJuZXJcLWRhbnNcZlAgZXN0IGwnZW1wbGFjZW1lbnQgdmVycyBsZXF1ZWwgbGVzIHZlcnNpb25zIGRlIFxmSWZpY2hpZXJcZlAsCnRlbCBxdSdpbCBlc3QgZG9ubukgcGFyIGQnYXV0cmVzIHBhcXVldHMsIHNlcm9udCBk6XRvdXJu6WVzLgouVFAgClxmQlwtXC1sb2NhbFxmUApJbmRpcXVlIHF1ZSB0b3V0ZXMgbGVzIHZlcnNpb25zIGRlIGNlIGZpY2hpZXIgc29udCBk6XRvdXJu6WVzLiBDZWxhIHNpZ25pZmllCnF1J2lsIG4neSBhIHBhcyBkJ2V4Y2VwdGlvbiBldCBxdWVsIHF1ZSBzb2l0IGxlIHBhcXVldCBpbnN0YWxs6SwgY2UgZmljaGllcgpzZXJhIGTpdG91cm7pLiBVbiBhZG1pbmlzdHJhdGV1ciBwZXV0IHBhciBleGVtcGxlIGluc3RhbGxlciB1bmUgdmVyc2lvbgptb2RpZmnpZSBsb2NhbGVtZW50LgouVFAgClxmQlwtXC1wYWNrYWdlXGZQXGZJIHBhcXVldFxmUApcZklwYXF1ZXRcZlAgZXN0IGxlIG5vbSBkdSBwYXF1ZXQgZG9udCBsYSBjb3BpZSBkZSBcZklmaWNoaWVyXGZQIG5lIHNlcmEgcGFzCmTpdG91cm7pZS4gQXV0cmVtZW50IGRpdCwgXGZJZmljaGllclxmUCBzZXJhIGTpdG91cm7pIHNhdWYgcydpbCBhcHBhcnRpZW50IOAKXGZJcGFxdWV0XGZQLgouVFAgClxmQlwtXC1xdWlldFxmUApNb2RlIHNpbGVuY2lldXgsIHBhcyBkZSBiYXZhcmRhZ2UuCi5UUCAKXGZCXC1cLXJlbmFtZVxmUApNZXQgZW4gZmFpdCBsZSBmaWNoaWVyIGRlIGP0dOkuIFF1YW5kIGxlIGZpY2hpZXIgZGUgZGVzdGluYXRpb24gZXhpc3RlLApcZkJkcGtnXC1kaXZlcnRcZlAgaW50ZXJyb21wdCBsJ29w6XJhdGlvbi4KLlRQIApcZkJcLVwtdGVzdFxmUApNb2RlIGRlIHRlc3QsIG5lIHJpZW4gbW9kaWZpZXIgcullbGxlbWVudCwgc2V1bGVtZW50IG1vbnRyZXIuCi5UUCAKXGZCXC1cLWhlbHBcZlAKQWZmaWNoZSB1biBtZXNzYWdlIGQnYWlkZSBwdWlzIHF1aXR0ZS4KLlRQIApcZkJcLVwtdmVyc2lvblxmUApBZmZpY2hlIGxlIG51belybyBkZSB2ZXJzaW9uIHB1aXMgcXVpdHRlLgouCi5TSCBOT1RFUwpXaGVuIGFkZGluZywgZGVmYXVsdCBpcyBcZkJcLVwtbG9jYWxcZlAgYW5kIFxmQlwtXC1kaXZlcnRcZlAKXGZJb3JpZ2luYWxcZlBcZkIuZGlzdHJpYlxmUC4gV2hlbiByZW1vdmluZywgXGZCXC1cLXBhY2thZ2VcZlAgb3IgXGZCXC1cLWxvY2FsXGZQIGFuZApcZkJcLVwtZGl2ZXJ0XGZQIG11c3QgbWF0Y2ggaWYgc3BlY2lmaWVkLgoKT24gbmUgcGV1dCBwYXMgZOl0b3VybmVyIGRlcyBy6XBlcnRvaXJlcyBhdmVjIFxmQmRwa2dcLWRpdmVydFxmUC4KCklsIGZhdXQgZmFpcmUgYXR0ZW50aW9uIHF1YW5kIHVuZSBiaWJsaW90aOhxdWUgcGFydGFn6WUgZXN0CmTpdG91cm7pZS4gXGZCbGRjb25maWdcZlAoOCkgY3LpZSB1biBsaWVuIHN5bWJvbGlxdWUg4CBwYXJ0aXIgZHUgY2hhbXAKRFRfU09OQU1FIGVtYmFycXXpIGRhbnMgbGEgYmlibGlvdGjocXVlLiBsZGNvbmZpZyBuZSBjb25uYe50IHBhcyBsZXMKZOl0b3VybmVtZW50cyAoc2V1bCBkcGtnIGxlIGZhaXQpLCBldCBzaSB1bmUgYmlibGlvdGjocXVlIGTpdG91cm7pZSBwb3Nz6GRlCmxlIG3qbWUgU09OQU1FIHF1ZSBsYSBiaWJsaW90aOhxdWUgbm9uIGTpdG91cm7pZSwgbGUgbGllbiBzeW1ib2xpcXVlIHBldXQKcG9pbnRlciBlbiBmaW4gZGUgY29tcHRlIHN1ciBsYSBiaWJsaW90aOhxdWUgZOl0b3VybullLgouCi5TSCBFWEVNUExFUwpQb3VyIGTpdG91cm5lciB0b3V0ZXMgbGVzIGNvcGllcyBkZSBcZkkvdXNyL2Jpbi9leGFtcGxlXGZQIHZlcnMKXGZJL3Vzci9iaW4vZXhhbXBsZS5mb29cZlAsIGMnZXN0XC3gXC1kaXJlIGRlbWFuZGVyIGF1eCBwYXF1ZXRzIHF1aSBmb3Vybmlzc2VudApcZkkvdXNyL2Jpbi9leGFtcGxlXGZQIGRlIGwnaW5zdGFsbGVyIGRhbnMgXGZJL3Vzci9iaW4vZXhhbXBsZS5mb29cZlAsIGVuCmVmZmVjdHVhbnQgbGUgY2hhbmdlbWVudCBkZSBub20gc2kgbuljZXNzYWlyZVwgOgouSFAKZHBrZ1wtZGl2ZXJ0IFwtXC1kaXZlcnQgL3Vzci9iaW4vZXhhbXBsZS5mb28gXC1cLXJlbmFtZSAvdXNyL2Jpbi9leGFtcGxlCi5QUApQb3VyIHN1cHByaW1lciBjZSBk6XRvdXJuZW1lbnRcIDoKLkhQCmRwa2dcLWRpdmVydCBcLVwtcmVuYW1lIFwtXC1yZW1vdmUgL3Vzci9iaW4vZXhhbXBsZQoKLlBQClBvdXIgZOl0b3VybmVyIHVuIHBhcXVldCBxdWkgdmV1dCBpbnN0YWxsZXIgXGZJL3Vzci9iaW4vZXhhbXBsZVxmUCBkYW5zClxmSS91c3IvYmluL2V4YW1wbGUuZm9vXGZQLCBzYXVmIHZvdHJlIHByb3ByZSBwYXF1ZXQgXGZJd2liYmxlXGZQXCA6Ci5IUApkcGtnXC1kaXZlcnQgXC1cLXBhY2thZ2Ugd2liYmxlIFwtXC1kaXZlcnQgL3Vzci9iaW4vZXhhbXBsZS5mb28gXC1cLXJlbmFtZQovdXNyL2Jpbi9leGFtcGxlCi5QUApQb3VyIHN1cHByaW1lciBjZSBk6XRvdXJuZW1lbnRcIDoKLkhQCmRwa2dcLWRpdmVydCBcLVwtcGFja2FnZSB3aWJibGUgXC1cLXJlbmFtZSBcLVwtcmVtb3ZlIC91c3IvYmluL2V4YW1wbGUKLgouU0ggRU5WSVJPTk5FTUVOVAouVFAgClxmQkRQS0dfQURNSU5ESVJcZlAKSWYgc2V0IGFuZCB0aGUgXGZCXC1cLWFkbWluZGlyXGZQIG9wdGlvbiBoYXMgbm90IGJlZW4gc3BlY2lmaWVkLCBpdCB3aWxsIGJlIHVzZWQKYXMgdGhlIGRwa2cgZGF0YSBkaXJlY3RvcnkuCi5UUCAKXGZCRFBLR19NQUlOVFNDUklQVF9QQUNLQUdFXGZQCklmIHNldCBhbmQgdGhlIFxmQlwtXC1sb2NhbFxmUCBhbmQgXGZCXC1cLXBhY2thZ2VcZlAgb3B0aW9ucyBoYXZlIG5vdCBiZWVuIHNwZWNpZmllZCwKXGZCZHBrZ1wtZGl2ZXJ0XGZQIHdpbGwgdXNlIGl0IGFzIHRoZSBwYWNrYWdlIG5hbWUuCi4KLlNIIEZJQ0hJRVJTCi5UUCAKXGZJL3Zhci9saWIvZHBrZy9kaXZlcnNpb25zXGZQCkNlIGZpY2hpZXIgY29udGllbnQgbGEgbGlzdGUgZGVzIGTpdG91cm5lbWVudHMgZW4gb2V1dnJlIHN1ciBsZSBzeXN06G1lLiBJbApzZSB0cm91dmUgZGFucyBsZSBy6XBlcnRvaXJlIGQnYWRtaW5pc3RyYXRpb24gZGUgZHBrZywgYXZlYyBkJ2F1dHJlcwpmaWNoaWVycyBpbXBvcnRhbnRzIGNvbW1lIKtcIHN0YXR1c1wguyBvdSCrXCBhdmFpbGFibGVcILsuCi5icgpOb3RlXCA6IFxmQmRwa2dcLWRpdmVydFxmUCBwculzZXJ2ZSBsJ2FuY2llbm5lIGNvcGllIGRlIGNlIGZpY2hpZXIsIGF2ZWMKbCdleHRlbnNpb24gq1wgXC1vbGRcILssIGF2YW50IGRlIGxhIHJlbXBsYWNlciBwYXIgbGEgbm91dmVsbGUuCi4KLlNIICJWT0lSIEFVU1NJIgpcZkJkcGtnXGZQKDEpLgouCi5TSCBBVVRFVVIKQ29weXJpZ2h0IFwoY28gMTk5NSBJYW4gSmFja3Nvbgouc3AKQ2UgcHJvZ3JhbW1lIGVzdCB1biBsb2dpY2llbCBsaWJyZVwgOyB2b3lleiBsYSCrXCBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5jZVwguwp2ZXJzaW9uIDIgb3Ugc3Vw6XJpZXVyZSBwb3VyIGxlIGNvcHlyaWdodC4gSWwgbid5IGEgUEFTIGRlIGdhcmFudGllLgouU0ggVFJBRFVDVElPTgpBcmllbCBWQVJESSA8YXJpZWwudmFyZGlAZnJlZXNiZWUuZnI+LCAyMDAyLgpQaGlsaXBwZSBCYXRhaWxsZXIsIDIwMDYuCk5pY29sYXMgRnJhbudvaXMsIDIwMDYuClZldWlsbGV6IHNpZ25hbGVyIHRvdXRlIGVycmV1ciDgIDxkZWJpYW5cLWwxMG5cLWZyZW5jaEBsaXN0cy5kZWJpYW4ub3JnPi4K