LlwiIENvcHlyaWdodCDCqSAxOTk2IE1pY2hhZWwgU2hpZWxkcyA8c2hpZWxkc0Bjcm9zc2xpbmsubmV0PgouXCIgVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgbWF5IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci5cIiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQouXCIgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLlwiIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi5cIgouXCIgVGhpcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAouXCIgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLlwiIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi5cIgouXCIgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLlwiIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgouXCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi5cIgouXCIgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgd2l0aCBwbzRhLiBUcmFuc2xhdGUgdGhlIHNvdXJjZSBmaWxlLgouXCIKLlwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgouVEggZHBrZ1wtc2NhbnBhY2thZ2VzIDEgMjAxMVwtMDhcLTE0ICJQcm9qZXQgRGViaWFuIiAiVXRpbGl0YWlyZXMgZGUgZHBrZyIKLlNIIE5PTQpkcGtnXC1zY2FucGFja2FnZXMgXC0gY3LpZXIgZGVzIGZpY2hpZXJzIGQnaW5kZXggZGUgcGFxdWV0cy4KLgouU0ggU1lOT1BTSVMKXGZCZHBrZ1wtc2NhbnBhY2thZ2VzXGZQIFtcZklvcHRpb25cZlAuLi5dIFxmSWJpbmFyeVwtZGlyXGZQIFtcZklvdmVycmlkZVwtZmlsZVxmUApbXGZJcGF0aFwtcHJlZml4XGZQXV0gXGZCPlxmUCBcZklQYWNrYWdlc1xmUAouCi5TSCBERVNDUklQVElPTgpcZkJkcGtnXC1zY2FucGFja2FnZXNcZlAgdHJpZSB1bmUgYXJib3Jlc2NlbmNlIGNvbnRlbmFudCBkZXMgcGFxdWV0cyBiaW5haXJlcwpEZWJpYW4gZXQgY3LpZSB1biBmaWNoaWVyIKtcIFBhY2thZ2VzXCC7IHF1aSBwZXJtZXR0cmEg4CBcZkJhcHRcZlAoOCksClxmQmRzZWxlY3RcZlAoMSksIG91IOAgdW4gYXV0cmUgcHJvZ3JhbW1lLCBkZSBzYXZvaXIgcXVlbHMgc29udCBsZXMgcGFxdWV0cwppbnN0YWxsYWJsZXMuIENlcyBmaWNoaWVycyCrXCBQYWNrYWdlc1wguyBzb250IHNlbWJsYWJsZXMg4CBjZXV4IHF1J29uIHBldXQKdHJvdXZlciBzdXIgbGVzIHNpdGVzIGQnYXJjaGl2ZXMgRGViaWFuIG91IHN1ciBkZXMgQ0QuIFF1YW5kIG9uIGNy6WUgdW4KculwZXJ0b2lyZSBjb250ZW5hbnQgZGVzIHBhcXVldHMgcXUnb24gdmV1dCBpbnN0YWxsZXIgc3VyIHVuIGVuc2VtYmxlIGRlCm1hY2hpbmVzLCBvbiBwZXV0IHNlIHNlcnZpciBzb2lcLW3qbWUgZGUgXGZCZHBrZ1wtc2NhbnBhY2thZ2VzXGZQLgouUFAKXGZCTm90ZVwgOlxmUCBQb3VyIHBvdXZvaXIgYWNj6WRlciBhdmVjIFxmQmFwdFxmUCBhdSBmaWNoaWVyIFBhY2thZ2VzIGNy6eksIGlsCmZhdWRyYSBzYW5zIGRvdXRlIGxlIGNvbXByZXNzZXIgYXZlYyBcZkJiemlwMlxmUCgxKSAocXVpIGNy6WUgdW4gZmljaGllcgpQYWNrYWdlcy5iejIpIG91IFxmQmd6aXBcZlAoMSkgKHF1aSBjcullIHVuIGZpY2hpZXIgUGFja2FnZXMuZ3opLiBhcHQgaWdub3JlCmxlcyBmaWNoaWVycyBQYWNrYWdlcyBub24gY29tcHJlc3Ppcywgc2F1ZiBwb3VyIGRlcyBzb3VyY2VzIGxvY2FsZXMgKGNhZApcZkJmaWxlOi8vXGZQKS4KLlBQClxmSXJlcFwtZGVcLWJpbmFpcmVzXGZQIGVzdCBsZSBub20gZGUgbCdhcmJvcmVzY2VuY2UgZGVzIHBhcXVldHMgYmluYWlyZXMgKHBhcgpleGVtcGxlIFxmQmNvbnRyaWIvYmluYXJ5XC1pMzg2KVxmUCBxdWUgbCdvbiB2ZXV0IHRyYWl0ZXIuIElsIHZhdXQgbWlldXggcXUnZWxsZQpzb2l0IHJlbGF0aXZlIOAgbGEgcmFjaW5lIGRlIGwnYXJjaGl2ZSBEZWJpYW5cIDsgYWluc2kgY2hhcXVlIGNoYW1wCqtcIEZpbGVuYW1lXCC7IGRhbnMgbGUgbm91dmVhdSBmaWNoaWVyIKtcIFBhY2thZ2VzXCC7IGNvbW1lbmNlcmEgcGFyIGNldHRlCmNoYe5uZS4KLlBQClxmSWZpY2hpZXJcLWQnXC1vdmVycmlkZVxmUCBlc3QgbGUgbm9tIGR1IGZpY2hpZXIgcXVpIGNvbnRpZW50IGxlcyByZW5zZWlnbmVtZW50cwpzdXIgbGEgbWFuaehyZSBkb250IGxlIHBhcXVldCBzJ2luc+hyZSBkYW5zIGxhIGRpc3RyaWJ1dGlvbiAoY2UgZmljaGllciBwZXV0Cup0cmUgY29tcHJlc3PpKVwgOyB2b2lyIFxmQmRlYlwtb3ZlcnJpZGVcZlAoNSkuCi5QUApcZkljaGVtaW5cLeBcLXBy6WZpeGVyXGZQIGVzdCB1bmUgY2hh7m5lIGZhY3VsdGF0aXZlIHF1aSBwculmaXhlcmEgbGVzIGNoYW1wcwqrXCBGaWxlbmFtZVwguy4KLlBQClMnaWwgZXhpc3RlIHBsdXNpZXVycyB2ZXJzaW9ucyBkJ3VuIHBhcXVldCwgc2V1bGUgbGEgcGx1cyBy6WNlbnRlIGVzdAphZmZpY2jpZSBlbiBzb3J0aWUuIFNpIGxlcyBwYXF1ZXRzIG9udCBsYSBt6m1lIHZlcnNpb24gbWFpcyBkaWZm6HJlbnQgcGFyCmwnYXJjaGl0ZWN0dXJlLCBzZXVsIGxlIHByZW1pZXIgdHJvdXbpIGVzdCB1dGlsaXPpLgouCi5TSCBPUFRJT05TCi5UUCAKXGZCXC10XGZQLCBcZkJcLVwtdHlwZVxmUCBcZkl0eXBlXGZQClJlY2hlcmNoZSBkZXMgZmljaGllcnMgKi5cZkl0eXBlXGZQLCBwbHV09HQgcXVlIFxmSSouZGViXGZQLgouVFAgClxmQlwtdVxmUCwgXGZCXC1cLXVkZWJcZlAKQWxpYXMgXGZCb2Jzb2xldGVcZlAgcG91ciBcZkJcLXR1ZGViXGZQLgouVFAgClxmQlwtZVxmUCwgXGZCXC1cLWV4dHJhXC1vdmVycmlkZVxmUCBcZklmaWNoaWVyXGZQCkV4YW1pbmUgXGZJZmljaGllclxmUCDgIGxhIHJlY2hlcmNoZSBkJ6tcIG92ZXJyaWRlc1wguyBzdXBwbOltZW50YWlyZXMgKGNlCmZpY2hpZXIgcGV1dCDqdHJlIGNvbXByZXNz6SkuIFZvaXIgXGZCZGViXC1leHRyYVwtb3ZlcnJpZGVcZlAoNSkgcG91ciBwbHVzCmQnaW5mb3JtYXRpb24gc3VyIGxlIGZvcm1hdCB1dGlsaXPpLgouVFAgClxmQlwtYVxmUCwgXGZCXC1cLWFyY2hcZlAgXGZJYXJjaFxmUApVdGlsaXNlciB1biBtb3RpZiDpcXVpdmFsZW50IOAgXGZJKl9hbGwuZGViXGZQIGV0IOAgXGZJKl9hcmNoLmRlYlxmUCwgcGx1dPR0IHF1ZQpkZSByZWNoZXJjaGVyIHRvdXMgbGVzIGZpY2hpZXJzIGRlYnMuCi5UUCAKXGZCXC1tXGZQLCBcZkJcLVwtbXVsdGl2ZXJzaW9uXGZQCkFmZmljaGUgdG91cyBsZXMgcGFxdWV0cyB0cm91dulzIGVuIHNvcnRpZS4KLlRQIApcZkJcLU1cZlAsIFxmQlwtXC1tZWRpdW1cZlAgXGZJaWRcLWNoYe5uZVxmUApBam91dGUgdW4gY2hhbXAgWFwtTWVkaXVtIHF1aSBjb250aWVudCBsYSB2YWxldXIgXGZJaWRcLWNoYe5uZVxmUC4gQ2UgY2hhbXAgZXN0Cm9ibGlnYXRvaXJlIHNpIHZvdXMgdm91bGV6IGNy6WVyIGRlcyBmaWNoaWVycyBcZkJQYWNrYWdlcy5jZFxmUCBmaWxlcyBkZXN0aW7pcwrgIOp0cmUgdXRpbGlz6XMgYXZlYyBsYSBt6XRob2RlIG11bHRpY2QgZGUgZHNlbGVjdC4KLlRQIApcZkJcLWhcZlAsIFxmQlwtXC1oZWxwXGZQCkFmZmljaGUgdW4gbWVzc2FnZSBkJ2FpZGUgcHVpcyBxdWl0dGUuCi5UUCAKXGZCXC1cLXZlcnNpb25cZlAKQWZmaWNoZSBsZSBudW3pcm8gZGUgdmVyc2lvbiBwdWlzIHF1aXR0ZS4KLgouU0ggRElBR05PU1RJQ1MKXGZCZHBrZ1wtc2NhbnBhY2thZ2VzXGZQIGFmZmljaGUgbGVzIGVycmV1cnMgaGFiaXR1ZWxsZXMgcXVpIHNlIGNvbXByZW5uZW50CmQnZWxsZXNcLW3qbWVzLiBJbCBhZmZpY2hlIGF1c3NpIGRlcyBhdmVydGlzc2VtZW50cyBxdWFuZCBkZXMgcGFxdWV0cyBzb250CmRhbnMgdW4gbWF1dmFpcyBzb3VzXC1y6XBlcnRvaXJlLCBleGlzdGVudCBlbiBkb3VibGUgZXhlbXBsYWlyZSwgb250IGRlcwpjaGFtcHMgq1wgRmlsZW5hbWVcILsgZGFucyBsZXVyIGZpY2hpZXIgq1wgY29udHJvbFwguywgc29udCBhYnNlbnRzIGR1IGZpY2hpZXIKq1wgb3ZlcnJpZGVcILsgb3UgYmllbiBkb250IGxlcyBzdWJzdGl0dXRpb25zIGRlIHJlc3BvbnNhYmxlIG5lIHBldXZlbnQgcGFzCnMnYXBwbGlxdWVyLgouCi5TSCAiVk9JUiBBVVNTSSIKXGZCZHBrZ1xmUCgxKSwgXGZCZHNlbGVjdFxmUCgxKSwgXGZCZGViXC1vdmVycmlkZVxmUCg1KSwgXGZCZGViXC1leHRyYVwtb3ZlcnJpZGVcZlAoNSksClxmQmRwa2dcLXNjYW5zb3VyY2VzXGZQKDEpLgouU0ggVFJBRFVDVElPTgpBcmllbCBWQVJESSA8YXJpZWwudmFyZGlAZnJlZXNiZWUuZnI+LCAyMDAyLgpQaGlsaXBwZSBCYXRhaWxsZXIsIDIwMDYuCk5pY29sYXMgRnJhbudvaXMsIDIwMDYuClZldWlsbGV6IHNpZ25hbGVyIHRvdXRlIGVycmV1ciDgIDxkZWJpYW5cLWwxMG5cLWZyZW5jaEBsaXN0cy5kZWJpYW4ub3JnPi4K