Re: Download Tracking
artur <[email protected]> Mon, 29 Mar 2010 11:16:49 +0200
| Newsgroups | gmane.network.freenet.frost.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------090109000703040209010008 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Ok, I just switched my wc and merged my changes to the integrate-freetalk branche. I have just run some small tests, but everything seemed to work fine. So here is the patch against the freetalk branch Sadly the patch is missing the langres.properties changes (because it think it is binary?!?),.. so I attach it as well... Am 29.03.2010 07:53, schrieb artur: > Hi, > > I will create a patch against the other branche. But I am away for the > next 2 days, so it will take some time. > > > One other question: Is Freenet 0.5 still a target system for Frost? I > noticed there is still code to support 0.5, but there have also been > commits to remove some of the code.. > > > > Am 29.03.2010 07:31, schrieb > bbackde-gM/[email protected]: >> Hi, >> >> great to see some activity here :) >> >> Can you please base your patch on branch 'integrate-freetalk' and send >> it to me again? >> I encounter problems applying it. This branch is the one with the >> latest updates and will >> actually become the trunk sometimes. >> >> Thanks! >> >> On Mon, Mar 29, 2010 at 03:27, Kenneth Freeman<[email protected]> wrote: >>> Thanks for that patch, i integrated it into my version of Frost. I am >>> going test it a few days and then reply if there are any issues. >>> >>> -- >>> With Regards >>> Kenneth Freeman >>> >>> >>> On Sun, 28 Mar 2010 13:59:44 +0300, artur >>> <[email protected]> wrote: >>> >>>> I have started to familiarize myself with the frost source code. As my >>>> first work I have implemented the ability to track which files have >>>> already been downloaded, so you do not download them a second time. >>>> By default this feature is off, you can activate it in the properties >>>> menu. >>>> When activated download keys are stored in a db, and each new download >>>> is compared to the files in the db. If there is a match the user will be >>>> warned and asked if he wants to continue the download. >>>> >>>> So I would like if someone can review my patch >>>> >>>> artur >>> >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> Jtcfrost-devl mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/jtcfrost-devl >>> >> >> >> > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev --------------090109000703040209010008 Content-Type: text/plain; name="TrackDownloads-freetalk.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="TrackDownloads-freetalk.patch" SW5kZXg6IHNvdXJjZS9mcm9zdC9Db3JlLmphdmENCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBzb3Vy Y2UvZnJvc3QvQ29yZS5qYXZhCShyZXZpc2lvbiAzMTg1KQ0KKysrIHNvdXJjZS9mcm9zdC9D b3JlLmphdmEJKHdvcmtpbmcgY29weSkNCkBAIC00MDcsNiArNDA3LDcgQEANCiAgICAgICAg IEFyY2hpdmVNZXNzYWdlU3RvcmFnZS5pbnN0KCkuaW5pdFN0b3JhZ2UoKTsKICAgICAgICAg SWRlbnRpdGllc1N0b3JhZ2UuaW5zdCgpLmluaXRTdG9yYWdlKCk7CiAgICAgICAgIEZpbGVM aXN0U3RvcmFnZS5pbnN0KCkuaW5pdFN0b3JhZ2UoKTsKKyAgICAgICAgVHJhY2tEb3dubG9h ZEtleXNTdG9yYWdlLmluc3QoKS5pbml0U3RvcmFnZSgpOwogCiAgICAgICAgIHNwbGFzaHNj cmVlbi5zZXRUZXh0KGxhbmd1YWdlLmdldFN0cmluZygiU3BsYXNoc2NyZWVuLm1lc3NhZ2Uu MiIpKTsKICAgICAgICAgc3BsYXNoc2NyZWVuLnNldFByb2dyZXNzKDQwKTsKQEAgLTU0OSw2 ICs1NTAsNyBAQA0KICAgICAgICAgc2F2ZXIuYWRkRXhpdFNhdmFibGUoQXJjaGl2ZU1lc3Nh Z2VTdG9yYWdlLmluc3QoKSk7CiAgICAgICAgIHNhdmVyLmFkZEV4aXRTYXZhYmxlKElkZW50 aXRpZXNTdG9yYWdlLmluc3QoKSk7CiAgICAgICAgIHNhdmVyLmFkZEV4aXRTYXZhYmxlKEZp bGVMaXN0U3RvcmFnZS5pbnN0KCkpOworICAgICAgICBzYXZlci5hZGRFeGl0U2F2YWJsZShU cmFja0Rvd25sb2FkS2V5c1N0b3JhZ2UuaW5zdCgpKTsKIAogICAgICAgICAvLyBpbnZva2Ug dGhlIG1haW5mcmFtZSB0aWNrZXIgKGJvYXJkIHVwZGF0ZXMsIGNsb2NrLCAuLi4pCiAgICAg ICAgIG1haW5mcmFtZS5zdGFydFRpY2tlclRocmVhZCgpOwpJbmRleDogc291cmNlL2Zyb3N0 L2ZpbGVUcmFuc2Zlci9kb3dubG9hZC9Eb3dubG9hZE1hbmFnZXIuamF2YQ0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KLS0tIHNvdXJjZS9mcm9zdC9maWxlVHJhbnNmZXIvZG93bmxvYWQvRG93bmxvYWRN YW5hZ2VyLmphdmEJKHJldmlzaW9uIDMxODUpDQorKysgc291cmNlL2Zyb3N0L2ZpbGVUcmFu c2Zlci9kb3dubG9hZC9Eb3dubG9hZE1hbmFnZXIuamF2YQkod29ya2luZyBjb3B5KQ0KQEAg LTI2LDYgKzI2LDcgQEANCiBpbXBvcnQgZnJvc3QuZmlsZVRyYW5zZmVyLio7CiBpbXBvcnQg ZnJvc3QubWVzc2FnaW5nLmZyb3N0Lio7CiBpbXBvcnQgZnJvc3Quc3RvcmFnZS4qOworaW1w b3J0IGZyb3N0LnN0b3JhZ2UucGVyc3QuKjsKIGltcG9ydCBmcm9zdC5zdG9yYWdlLnBlcnN0 LmZpbGVsaXN0Lio7CiBpbXBvcnQgZnJvc3QudXRpbC4qOwogaW1wb3J0IGZyb3N0LnV0aWwu bW9kZWwuKjsKQEAgLTQzNSw2ICs0MzYsMTUgQEANCiAgICAgICAgICAgICAgICAgICAgICAg ICBkb3dubG9hZEl0ZW0uZ2V0RmlsZUxpc3RGaWxlT2JqZWN0KCkuZ2V0U2hhKCksCiAgICAg ICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKSApOwogICAg ICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBtYXliZSB0cmFjayBk b3dubG9hZAorICAgICAgICAgICAgaWYoIENvcmUuZnJvc3RTZXR0aW5ncy5nZXRCb29sVmFs dWUoU2V0dGluZ3NDbGFzcy5UUkFDS19ET1dOTE9BRFNfRU5BQkxFRCkgJiYgIWRvd25sb2Fk SXRlbS5pc1RyYWNrZWQoKSApIHsKKyAgICAgICAgICAgICAgICBUcmFja0Rvd25sb2FkS2V5 c1N0b3JhZ2UgdHJhY2tEb3dubG9hZEtleXNTdG9yYWdlID0gVHJhY2tEb3dubG9hZEtleXNT dG9yYWdlLmluc3QoKTsKKyAgICAgICAgICAgICAgICB0cmFja0Rvd25sb2FkS2V5c1N0b3Jh Z2Uuc3RvcmVJdGVtKCAKKyAgICAgICAgICAgICAgICAgICAgbmV3IFRyYWNrRG93bmxvYWRL ZXlzKCBkb3dubG9hZEl0ZW0uZ2V0S2V5KCksIGRvd25sb2FkSXRlbS5nZXRGaWxlbmFtZSgp LCAiIiwgZG93bmxvYWRJdGVtLmdldEZpbGVTaXplKCksIGRvd25sb2FkSXRlbS5nZXREb3du bG9hZEZpbmlzaGVkTWlsbGlzKCkgKQorICAgICAgICAgICAgICAgICk7CisgICAgICAgICAg ICAgICAgZG93bmxvYWRJdGVtLnNldFRyYWNrZWQodHJ1ZSk7CisgICAgICAgICAgICB9CiAK ICAgICAgICAgICAgIC8vIG1heWJlIGxvZyBzdWNjZXNzZnVsIGRvd25sb2FkIHRvIGZpbGUg bG9jYWxkYXRhL2Rvd25sb2Fkcy50eHQKICAgICAgICAgICAgIGlmKCBDb3JlLmZyb3N0U2V0 dGluZ3MuZ2V0Qm9vbFZhbHVlKFNldHRpbmdzQ2xhc3MuTE9HX0RPV05MT0FEU19FTkFCTEVE KSAmJiAhZG93bmxvYWRJdGVtLmlzTG9nZ2VkVG9GaWxlKCkgKSB7CkluZGV4OiBzb3VyY2Uv ZnJvc3QvZmlsZVRyYW5zZmVyL2Rvd25sb2FkL0Rvd25sb2FkTW9kZWwuamF2YQ0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KLS0tIHNvdXJjZS9mcm9zdC9maWxlVHJhbnNmZXIvZG93bmxvYWQvRG93bmxv YWRNb2RlbC5qYXZhCShyZXZpc2lvbiAzMTg1KQ0KKysrIHNvdXJjZS9mcm9zdC9maWxlVHJh bnNmZXIvZG93bmxvYWQvRG93bmxvYWRNb2RlbC5qYXZhCSh3b3JraW5nIGNvcHkpDQpAQCAt MjAsOSArMjAsMTQgQEANCiBpbXBvcnQgamF2YS51dGlsLio7CiBpbXBvcnQgamF2YS51dGls LmxvZ2dpbmcuKjsKIAoraW1wb3J0IGphdmF4LnN3aW5nLkpPcHRpb25QYW5lOworCitpbXBv cnQgZnJvc3QuQ29yZTsKK2ltcG9ydCBmcm9zdC5TZXR0aW5nc0NsYXNzOwogaW1wb3J0IGZy b3N0LmZpbGVUcmFuc2Zlci4qOwogaW1wb3J0IGZyb3N0LnN0b3JhZ2UuKjsKIGltcG9ydCBm cm9zdC5zdG9yYWdlLnBlcnN0Lio7CitpbXBvcnQgZnJvc3QudXRpbC5ndWkudHJhbnNsYXRp b24uTGFuZ3VhZ2U7CiBpbXBvcnQgZnJvc3QudXRpbC5tb2RlbC4qOwogCiAvKioKQEAgLTQ2 LDggKzUxLDI5IEBADQogCXB1YmxpYyBzeW5jaHJvbml6ZWQgYm9vbGVhbiBhZGREb3dubG9h ZEl0ZW0oZmluYWwgRnJvc3REb3dubG9hZEl0ZW0gaXRlbVRvQWRkKSB7CiAKICAgICAgICAg ZmluYWwgRnJvc3RGaWxlTGlzdEZpbGVPYmplY3QgZmxmVG9BZGQgPSBpdGVtVG9BZGQuZ2V0 RmlsZUxpc3RGaWxlT2JqZWN0KCk7IC8vIG1heWJlIG51bGwgb2YgbWFudWFsbHkgYWRkZWQK LQotCQlmb3IgKGludCB4ID0gMDsgeCA8IGdldEl0ZW1Db3VudCgpOyB4KyspIHsKKyAgICAg ICAgCisgICAgICAgIC8vIElmIGRvd25sb2FkIHRyYWNraW5nIGlzIGVuYWJsZWQsIGNoZWNr IGlmIGZpbGUgaGFzIG5vdCBiZWVuIGFscmVhZHkgZG93bmxvYWRlZAorICAgICAgICBpZigg Q29yZS5mcm9zdFNldHRpbmdzLmdldEJvb2xWYWx1ZShTZXR0aW5nc0NsYXNzLlRSQUNLX0RP V05MT0FEU19FTkFCTEVEKSApIHsKKyAgICAgICAgCQorICAgICAgICAJLy8gT25seSBjaGVj ayBpZiB0aGUgZmlsZSBpcyBub3QgbGluZ2VyaW5nIGFyb3VuZCBpbiBmaW5pc2hlZCBzdGF0 ZS4uLgorICAgICAgICAJaWYoICEgaXRlbVRvQWRkLmlzVHJhY2tlZCgpICl7CisJICAgICAg ICAgICAgVHJhY2tEb3dubG9hZEtleXNTdG9yYWdlIHRyYWNrRG93bmxvYWRLZXlzU3RvcmFn ZSA9IFRyYWNrRG93bmxvYWRLZXlzU3RvcmFnZS5pbnN0KCk7CisJICAgICAgICAgICAgaWYo IHRyYWNrRG93bmxvYWRLZXlzU3RvcmFnZS5zZWFyY2hJdGVtKCBpdGVtVG9BZGQuZ2V0S2V5 KCkgKSApIHsKKwkgICAgICAgICAgICAJTGFuZ3VhZ2UgbGFuZ3VhZ2UgPSBMYW5ndWFnZS5n ZXRJbnN0YW5jZSgpOworCSAgICAgICAgICAgIAkKKwkgICAgICAgICAgICAJLy8gQXNrIGlm IHRvIGRvd25sb2FkIGFnYWluCisJICAgICAgICAgICAgCWlmKCBKT3B0aW9uUGFuZS5zaG93 Q29uZmlybURpYWxvZygKKwkgICAgICAgICAgICAgICAgICAgICAgICBudWxsLAorCSAgICAg ICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlLmZvcm1hdE1lc3NhZ2UoIkRvd25sb2FkUGFu ZS5hbHJlYWR5VHJhY2tlZERpYWxvZy5ib2R5IiwgaXRlbVRvQWRkLmdldEtleSgpKSwKKwkg ICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZS5nZXRTdHJpbmcoIkRvd25sb2FkUGFu ZS5hbHJlYWR5VHJhY2tlZERpYWxvZy50aXRsZSIpLAorCSAgICAgICAgICAgICAgICAgICAg ICAgIEpPcHRpb25QYW5lLllFU19OT19PUFRJT04pID09IDEgKSB7CisJICAgICAgICAgICAg CQlyZXR1cm4gZmFsc2U7CisJICAgICAgICAgICAgCX0KKwkgICAgICAgICAgICB9CisgICAg ICAgIAl9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZvciAoaW50IHggPSAwOyB4 IDwgZ2V0SXRlbUNvdW50KCk7IHgrKykgewogCQkJZmluYWwgRnJvc3REb3dubG9hZEl0ZW0g aXRlbSA9IChGcm9zdERvd25sb2FkSXRlbSkgZ2V0SXRlbUF0KHgpOwogICAgICAgICAgICAg ZmluYWwgRnJvc3RGaWxlTGlzdEZpbGVPYmplY3QgZmxmID0gaXRlbS5nZXRGaWxlTGlzdEZp bGVPYmplY3QoKTsgLy8gbWF5YmUgbnVsbCBvZiBtYW51YWxseSBhZGRlZAogCkluZGV4OiBz b3VyY2UvZnJvc3QvZmlsZVRyYW5zZmVyL2Rvd25sb2FkL0Rvd25sb2FkUGFuZWwuamF2YQ0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KLS0tIHNvdXJjZS9mcm9zdC9maWxlVHJhbnNmZXIvZG93bmxvYWQv RG93bmxvYWRQYW5lbC5qYXZhCShyZXZpc2lvbiAzMTg1KQ0KKysrIHNvdXJjZS9mcm9zdC9m aWxlVHJhbnNmZXIvZG93bmxvYWQvRG93bmxvYWRQYW5lbC5qYXZhCSh3b3JraW5nIGNvcHkp DQpAQCAtMzcsNiArMzcsNyBAQA0KIGltcG9ydCBmcm9zdC5mY3AuKjsKIGltcG9ydCBmcm9z dC5maWxlVHJhbnNmZXIuKjsKIGltcG9ydCBmcm9zdC5maWxlVHJhbnNmZXIuY29tbW9uLio7 CitpbXBvcnQgZnJvc3Quc3RvcmFnZS5wZXJzdC5UcmFja0Rvd25sb2FkS2V5c1N0b3JhZ2U7 CiBpbXBvcnQgZnJvc3QudXRpbC4qOwogaW1wb3J0IGZyb3N0LnV0aWwuZ3VpLio7CiBpbXBv cnQgZnJvc3QudXRpbC5ndWkuc2VhcmNoLio7CkBAIC0zNjksNyArMzcwLDcgQEANCiAgICAg ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9Ci0KKyAgICAgICAgICAg ICAgICAKICAgICBwcml2YXRlIHZvaWQgYXBwbHlEb3dubG9hZERpclRvU2VsZWN0ZWREb3du bG9hZHMoKSB7CiAgICAgICAgIGZpbmFsIE1vZGVsSXRlbVtdIHNlbGVjdGVkSXRlbXMgPSBt b2RlbFRhYmxlLmdldFNlbGVjdGVkSXRlbXMoKTsKIApAQCAtMzg2LDcgKzM4Nyw3IEBADQog ICAgIHByaXZhdGUgdm9pZCBkb3dubG9hZERpckFwcGx5QnV0dG9uX2FjdGlvblBlcmZvcm1l ZChmaW5hbCBBY3Rpb25FdmVudCBlKSB7CiAgICAgICAgIGFwcGx5RG93bmxvYWREaXJUb1Nl bGVjdGVkRG93bmxvYWRzKCk7CiAgICAgfQotCisgICAgCiAgICAgcHJpdmF0ZSB2b2lkIGRv d25sb2FkUHJlZml4QXBwbHlCdXR0b25fYWN0aW9uUGVyZm9ybWVkKGZpbmFsIEFjdGlvbkV2 ZW50IGUpIHsKICAgICAgICAgYXBwbHlEb3dubG9hZFByZWZpeFRvU2VsZWN0ZWREb3dubG9h ZHMoKTsKICAgICB9CkluZGV4OiBzb3VyY2UvZnJvc3QvZmlsZVRyYW5zZmVyL2Rvd25sb2Fk L0Zyb3N0RG93bmxvYWRJdGVtLmphdmENCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBzb3VyY2UvZnJv c3QvZmlsZVRyYW5zZmVyL2Rvd25sb2FkL0Zyb3N0RG93bmxvYWRJdGVtLmphdmEJKHJldmlz aW9uIDMxODUpDQorKysgc291cmNlL2Zyb3N0L2ZpbGVUcmFuc2Zlci9kb3dubG9hZC9Gcm9z dERvd25sb2FkSXRlbS5qYXZhCSh3b3JraW5nIGNvcHkpDQpAQCAtNTQsNiArNTQsNyBAQA0K ICAgICBwcml2YXRlIFN0cmluZyBncUlkZW50aWZpZXIgPSBudWxsOwogCiAgICAgcHJpdmF0 ZSBib29sZWFuIGlzTG9nZ2VkVG9GaWxlID0gZmFsc2U7CisgICAgcHJpdmF0ZSBib29sZWFu IGlzVHJhY2tlZCA9IGZhbHNlOwogICAgIHByaXZhdGUgYm9vbGVhbiBpc0NvbXBsZXRpb25Q cm9nUnVuID0gZmFsc2U7CiAKICAgICBwcml2YXRlIGludCBydW50aW1lU2Vjb25kc1dpdGhv dXRQcm9ncmVzcyA9IDA7CkBAIC0xNTAsNiArMTUxLDcgQEANCiAgICAgICAgICAgICBmaW5h bCBsb25nIG5ld0xhc3REb3dubG9hZFN0b3BUaW1lLAogICAgICAgICAgICAgZmluYWwgU3Ry aW5nIG5ld0dxSWQsCiAgICAgICAgICAgICBmaW5hbCBib29sZWFuIG5ld0lzTG9nZ2VkVG9G aWxlLAorICAgICAgICAgICAgZmluYWwgYm9vbGVhbiBuZXdJc1RyYWNrZWQsCiAgICAgICAg ICAgICBmaW5hbCBib29sZWFuIG5ld0lzQ29tcGxldGlvblByb2dSdW4sCiAgICAgICAgICAg ICBmaW5hbCBpbnQgbmV3UnVudGltZVNlY29uZHNXaXRob3V0UHJvZ3Jlc3MsCiAgICAgICAg ICAgICBmaW5hbCBpbnQgbmV3T2xkRG9uZUJsb2NrcywKQEAgLTE3MCw2ICsxNzIsNyBAQA0K ICAgICAgICAgbGFzdERvd25sb2FkU3RvcFRpbWUgPSBuZXdMYXN0RG93bmxvYWRTdG9wVGlt ZTsKICAgICAgICAgZ3FJZGVudGlmaWVyID0gbmV3R3FJZDsKICAgICAgICAgaXNMb2dnZWRU b0ZpbGU9IG5ld0lzTG9nZ2VkVG9GaWxlOworICAgICAgICBpc1RyYWNrZWQ9IG5ld0lzVHJh Y2tlZDsKICAgICAgICAgaXNDb21wbGV0aW9uUHJvZ1J1bj0gbmV3SXNDb21wbGV0aW9uUHJv Z1J1bjsKICAgICAgICAgcnVudGltZVNlY29uZHNXaXRob3V0UHJvZ3Jlc3MgPSBuZXdSdW50 aW1lU2Vjb25kc1dpdGhvdXRQcm9ncmVzczsKICAgICAgICAgb2xkRG9uZUJsb2NrcyA9IG5l d09sZERvbmVCbG9ja3M7CkBAIC00OTgsMTAgKzUwMSwxOCBAQA0KICAgICBwdWJsaWMgYm9v bGVhbiBpc0xvZ2dlZFRvRmlsZSgpIHsKICAgICAgICAgcmV0dXJuIGlzTG9nZ2VkVG9GaWxl OwogICAgIH0KKyAgICAKKyAgICBwdWJsaWMgYm9vbGVhbiBpc1RyYWNrZWQoKSB7CisgICAg ICAgIHJldHVybiBpc1RyYWNrZWQ7CisgICAgfQogCiAgICAgcHVibGljIHZvaWQgc2V0TG9n Z2VkVG9GaWxlKGZpbmFsIGJvb2xlYW4gaXNMb2dnZWRUb0ZpbGUpIHsKICAgICAgICAgdGhp cy5pc0xvZ2dlZFRvRmlsZSA9IGlzTG9nZ2VkVG9GaWxlOwogICAgIH0KKyAgICAKKyAgICBw dWJsaWMgdm9pZCBzZXRUcmFja2VkKGZpbmFsIGJvb2xlYW4gaXNUcmFja2VkKSB7CisgICAg ICAgIHRoaXMuaXNUcmFja2VkID0gaXNUcmFja2VkOworICAgIH0KIAogICAgIC8qKgogICAg ICAqIEByZXR1cm4gIHRoZSBydW50aW1lIG9mIHRoaXMgZG93bmxvYWQgaXRlbSBpbiBzZWNv bmRzCkluZGV4OiBzb3VyY2UvZnJvc3QvZ3VpL3ByZWZlcmVuY2VzL0Rvd25sb2FkUGFuZWwu amF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KLS0tIHNvdXJjZS9mcm9zdC9ndWkvcHJlZmVyZW5jZXMv RG93bmxvYWRQYW5lbC5qYXZhCShyZXZpc2lvbiAzMTg1KQ0KKysrIHNvdXJjZS9mcm9zdC9n dWkvcHJlZmVyZW5jZXMvRG93bmxvYWRQYW5lbC5qYXZhCSh3b3JraW5nIGNvcHkpDQpAQCAt NjAsNiArNjAsNyBAQA0KICAgICBwcml2YXRlIGZpbmFsIEpMYWJlbCB0aHJlYWRzVGV4dExh YmVsID0gbmV3IEpMYWJlbCgpOwogCiAgICAgcHJpdmF0ZSBmaW5hbCBKQ2hlY2tCb3ggbG9n RG93bmxvYWRzQ2hlY2tCb3ggPSBuZXcgSkNoZWNrQm94KCk7CisgICAgcHJpdmF0ZSBmaW5h bCBKQ2hlY2tCb3ggdHJhY2tEb3dubG9hZHNDaGVja0JveCA9IG5ldyBKQ2hlY2tCb3goKTsK IAogICAgIHByaXZhdGUgZmluYWwgSkxhYmVsIHdhaXRUaW1lTGFiZWwgPSBuZXcgSkxhYmVs KCk7CiAgICAgcHJpdmF0ZSBmaW5hbCBKVGV4dEZpZWxkIHdhaXRUaW1lVGV4dEZpZWxkID0g bmV3IEpUZXh0RmllbGQoNik7CkBAIC0xODQsNiArMTg1LDEzIEBADQogICAgICAgICBjb25z dHJhaW50cy5ncmlkeCA9IDA7CiAgICAgICAgIGNvbnN0cmFpbnRzLmdyaWR3aWR0aCA9IDM7 CiAgICAgICAgIGNvbnN0cmFpbnRzLmluc2V0cyA9IGluc2V0czA1NTU7CisgICAgICAgIGNv bnN0cmFpbnRzLmFuY2hvciA9IEdyaWRCYWdDb25zdHJhaW50cy5OT1JUSFdFU1Q7CisgICAg ICAgIGFkZCh0cmFja0Rvd25sb2Fkc0NoZWNrQm94LCBjb25zdHJhaW50cyk7CisKKyAgICAg ICAgY29uc3RyYWludHMuZ3JpZHkrKzsKKyAgICAgICAgY29uc3RyYWludHMuZ3JpZHggPSAw OworICAgICAgICBjb25zdHJhaW50cy5ncmlkd2lkdGggPSAzOworICAgICAgICBjb25zdHJh aW50cy5pbnNldHMgPSBpbnNldHMwNTU1OwogICAgICAgICBhZGQoZW5mb3JjZUZyb3N0UHJp b3JpdHlGaWxlRG93bmxvYWQsIGNvbnN0cmFpbnRzKTsKIAogICAgICAgICBjb25zdHJhaW50 cy5ncmlkeSsrOwpAQCAtMjIwLDYgKzIyOCw3IEBADQogICAgICAgICBtYXhSZXRyaWVzVGV4 dEZpZWxkLnNldFRleHQoIiIgKyBzZXR0aW5ncy5nZXRJbnRWYWx1ZShTZXR0aW5nc0NsYXNz LkRPV05MT0FEX01BWF9SRVRSSUVTKSk7CiAgICAgICAgIHdhaXRUaW1lVGV4dEZpZWxkLnNl dFRleHQoIiIgKyBzZXR0aW5ncy5nZXRJbnRWYWx1ZShTZXR0aW5nc0NsYXNzLkRPV05MT0FE X1dBSVRUSU1FKSk7CiAgICAgICAgIGxvZ0Rvd25sb2Fkc0NoZWNrQm94LnNldFNlbGVjdGVk KHNldHRpbmdzLmdldEJvb2xWYWx1ZShTZXR0aW5nc0NsYXNzLkxPR19ET1dOTE9BRFNfRU5B QkxFRCkpOworICAgICAgICB0cmFja0Rvd25sb2Fkc0NoZWNrQm94LnNldFNlbGVjdGVkKHNl dHRpbmdzLmdldEJvb2xWYWx1ZShTZXR0aW5nc0NsYXNzLlRSQUNLX0RPV05MT0FEU19FTkFC TEVEKSk7CiAgICAgICAgIHByaW9yaXR5VGV4dEZpZWxkLnNldFRleHQoc2V0dGluZ3MuZ2V0 VmFsdWUoU2V0dGluZ3NDbGFzcy5GQ1AyX0RFRkFVTFRfUFJJT19GSUxFX0RPV05MT0FEKSk7 CiAgICAgICAgIGVuZm9yY2VGcm9zdFByaW9yaXR5RmlsZURvd25sb2FkLnNldFNlbGVjdGVk KHNldHRpbmdzLmdldEJvb2xWYWx1ZShTZXR0aW5nc0NsYXNzLkZDUDJfRU5GT1JDRV9GUk9T VF9QUklPX0ZJTEVfRE9XTkxPQUQpKTsKICAgICAgICAgZXhlY1RleHRGaWVsZC5zZXRUZXh0 KHNldHRpbmdzLmdldFZhbHVlKFNldHRpbmdzQ2xhc3MuRVhFQ19PTl9ET1dOTE9BRCkpOwpA QCAtMjM2LDYgKzI0NSw3IEBADQogICAgICAgICBtYXhSZXRyaWVzTGFiZWwuc2V0VGV4dChs YW5ndWFnZS5nZXRTdHJpbmcoIk9wdGlvbnMuZG93bmxvYWRzLm1heGltdW1OdW1iZXJPZlJl dHJpZXMiKSk7CiAKICAgICAgICAgbG9nRG93bmxvYWRzQ2hlY2tCb3guc2V0VGV4dChsYW5n dWFnZS5nZXRTdHJpbmcoIk9wdGlvbnMuZG93bmxvYWRzLmxvZ0Rvd25sb2FkcyIpKTsKKyAg ICAgICAgdHJhY2tEb3dubG9hZHNDaGVja0JveC5zZXRUZXh0KGxhbmd1YWdlLmdldFN0cmlu ZygiT3B0aW9ucy5kb3dubG9hZHMudHJhY2tEb3dubG9hZHMiKSk7CiAKICAgICAgICAgZGly ZWN0b3J5TGFiZWwuc2V0VGV4dChsYW5ndWFnZS5nZXRTdHJpbmcoIk9wdGlvbnMuZG93bmxv YWRzLmRvd25sb2FkRGlyZWN0b3J5IikpOwogICAgICAgICBicm93c2VEaXJlY3RvcnlCdXR0 b24uc2V0VGV4dChsYW5ndWFnZS5nZXRTdHJpbmcoIkNvbW1vbi5icm93c2UiKSArICIuLi4i KTsKQEAgLTI2Niw2ICsyNzYsNyBAQA0KICAgICAgICAgc2V0dGluZ3Muc2V0VmFsdWUoU2V0 dGluZ3NDbGFzcy5ET1dOTE9BRF9XQUlUVElNRSwgd2FpdFRpbWVUZXh0RmllbGQuZ2V0VGV4 dCgpKTsKIAogICAgICAgICBzZXR0aW5ncy5zZXRWYWx1ZShTZXR0aW5nc0NsYXNzLkxPR19E T1dOTE9BRFNfRU5BQkxFRCwgbG9nRG93bmxvYWRzQ2hlY2tCb3guaXNTZWxlY3RlZCgpKTsK KyAgICAgICAgc2V0dGluZ3Muc2V0VmFsdWUoU2V0dGluZ3NDbGFzcy5UUkFDS19ET1dOTE9B RFNfRU5BQkxFRCwgdHJhY2tEb3dubG9hZHNDaGVja0JveC5pc1NlbGVjdGVkKCkpOwogICAg ICAgICBzZXR0aW5ncy5zZXRWYWx1ZShTZXR0aW5nc0NsYXNzLkZDUDJfREVGQVVMVF9QUklP X0ZJTEVfRE9XTkxPQUQsIHByaW9yaXR5VGV4dEZpZWxkLmdldFRleHQoKSk7CiAgICAgICAg IHNldHRpbmdzLnNldFZhbHVlKFNldHRpbmdzQ2xhc3MuRkNQMl9FTkZPUkNFX0ZST1NUX1BS SU9fRklMRV9ET1dOTE9BRCwgZW5mb3JjZUZyb3N0UHJpb3JpdHlGaWxlRG93bmxvYWQuaXNT ZWxlY3RlZCgpKTsKIApJbmRleDogc291cmNlL2Zyb3N0L1NldHRpbmdzQ2xhc3MuamF2YQ0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KLS0tIHNvdXJjZS9mcm9zdC9TZXR0aW5nc0NsYXNzLmphdmEJKHJl dmlzaW9uIDMxODUpDQorKysgc291cmNlL2Zyb3N0L1NldHRpbmdzQ2xhc3MuamF2YQkod29y a2luZyBjb3B5KQ0KQEAgLTI3Nyw2ICsyNzcsOCBAQA0KIAogICAgIHB1YmxpYyBzdGF0aWMg ZmluYWwgU3RyaW5nIExPR19ET1dOTE9BRFNfRU5BQkxFRCA9ICJsb2dEb3dubG9hZHMiOwog ICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIExPR19VUExPQURTX0VOQUJMRUQgPSAi bG9nVXBsb2FkcyI7CisgICAgCisgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgVFJB Q0tfRE9XTkxPQURTX0VOQUJMRUQgPSAidHJhY2tEb3dubG9hZHMiOwogCiAgICAgcHVibGlj IFNldHRpbmdzQ2xhc3MoKSB7CiAgICAgICAgIHNldHRpbmdzSGFzaCA9IG5ldyBIYXNodGFi bGU8U3RyaW5nLE9iamVjdD4oKTsKQEAgLTEwNDMsNyArMTA0NSw5IEBADQogCiAgICAgICAg IGRlZmF1bHRzLnB1dChMT0dfRE9XTkxPQURTX0VOQUJMRUQsICJmYWxzZSIpOwogICAgICAg ICBkZWZhdWx0cy5wdXQoTE9HX1VQTE9BRFNfRU5BQkxFRCwgImZhbHNlIik7CisgICAgICAg IGRlZmF1bHRzLnB1dChUUkFDS19ET1dOTE9BRFNfRU5BQkxFRCwgImZhbHNlIik7CiAKKyAg ICAgICAgCiAgICAgICAgIGRlZmF1bHRzLnB1dChDT05GSVJNX01BUktfQUxMX01TR1NfUkVB RCwgInRydWUiKTsKIAogICAgICAgICBkZWZhdWx0cy5wdXQoUEVSU1RfUEFHRVBPT0xTSVpF X0ZJTEVTLCAgICAgICAgICAgICAgIjUxMiIpOwpJbmRleDogc291cmNlL2Zyb3N0L3N0b3Jh Z2UvcGVyc3QvUGVyc3RGcm9zdERvd25sb2FkSXRlbS5qYXZhDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot LS0gc291cmNlL2Zyb3N0L3N0b3JhZ2UvcGVyc3QvUGVyc3RGcm9zdERvd25sb2FkSXRlbS5q YXZhCShyZXZpc2lvbiAzMTg1KQ0KKysrIHNvdXJjZS9mcm9zdC9zdG9yYWdlL3BlcnN0L1Bl cnN0RnJvc3REb3dubG9hZEl0ZW0uamF2YQkod29ya2luZyBjb3B5KQ0KQEAgLTUwLDYgKzUw LDcgQEANCiAgICAgcHVibGljIFN0cmluZyBmaWxlTGlzdEZpbGVTaGE7DQogDQogICAgIHB1 YmxpYyBib29sZWFuIGlzTG9nZ2VkVG9GaWxlOw0KKyAgICBwdWJsaWMgYm9vbGVhbiBpc1Ry YWNrZWQ7DQogICAgIHB1YmxpYyBib29sZWFuIGlzQ29tcGxldGlvblByb2dSdW47DQogDQog ICAgIHB1YmxpYyBpbnQgcnVudGltZVNlY29uZHNXaXRob3V0UHJvZ3Jlc3M7DQpAQCAtNzYs NiArNzcsNyBAQA0KICAgICAgICAgZ3FJZGVudGlmaWVyID0gZGxJdGVtLmdldEdxSWRlbnRp ZmllcigpOw0KICAgICAgICAgZmlsZUxpc3RGaWxlU2hhID0gKGRsSXRlbS5nZXRGaWxlTGlz dEZpbGVPYmplY3QoKT09bnVsbD9udWxsOmRsSXRlbS5nZXRGaWxlTGlzdEZpbGVPYmplY3Qo KS5nZXRTaGEoKSk7DQogICAgICAgICBpc0xvZ2dlZFRvRmlsZSA9IGRsSXRlbS5pc0xvZ2dl ZFRvRmlsZSgpOw0KKyAgICAgICAgaXNUcmFja2VkID0gZGxJdGVtLmlzVHJhY2tlZCgpOw0K ICAgICAgICAgaXNDb21wbGV0aW9uUHJvZ1J1biA9IGRsSXRlbS5pc0NvbXBsZXRpb25Qcm9n UnVuKCk7DQogICAgICAgICBydW50aW1lU2Vjb25kc1dpdGhvdXRQcm9ncmVzcyA9IGRsSXRl bS5nZXRSdW50aW1lU2Vjb25kc1dpdGhvdXRQcm9ncmVzcygpOw0KICAgICAgICAgb2xkRG9u ZUJsb2NrcyA9IGRsSXRlbS5nZXRPbGREb25lQmxvY2tzKCk7DQpAQCAtMTExLDYgKzExMyw3 IEBADQogICAgICAgICAgICAgICAgIGxhc3REb3dubG9hZFN0b3BUaW1lLA0KICAgICAgICAg ICAgICAgICBncUlkZW50aWZpZXIsDQogICAgICAgICAgICAgICAgIGlzTG9nZ2VkVG9GaWxl LA0KKyAgICAgICAgICAgICAgICBpc1RyYWNrZWQsDQogICAgICAgICAgICAgICAgIGlzQ29t cGxldGlvblByb2dSdW4sDQogICAgICAgICAgICAgICAgIHJ1bnRpbWVTZWNvbmRzV2l0aG91 dFByb2dyZXNzLA0KICAgICAgICAgICAgICAgICBvbGREb25lQmxvY2tzLA0KSW5kZXg6IHNv dXJjZS9mcm9zdC9zdG9yYWdlL3BlcnN0L1NoYXJlZEZpbGVzQ0hLS2V5U3RvcmFnZS5qYXZh DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQotLS0gc291cmNlL2Zyb3N0L3N0b3JhZ2UvcGVyc3QvU2hhcmVk RmlsZXNDSEtLZXlTdG9yYWdlLmphdmEJKHJldmlzaW9uIDMxODUpDQorKysgc291cmNlL2Zy b3N0L3N0b3JhZ2UvcGVyc3QvU2hhcmVkRmlsZXNDSEtLZXlTdG9yYWdlLmphdmEJKHdvcmtp bmcgY29weSkNCkBAIC0zNDksMTcgKzM0OSwxOCBAQA0KIC8vCiAvLyAgICB9CiAKLSAgICBw cm90ZWN0ZWQgZmluYWwgc3RhdGljIExhc3REb3dubG9hZFRyeVN0b3BUaW1lQ29tcGFyYXRv ciBsYXN0RG93bmxvYWRUcnlTdG9wVGltZUNvbXBhcmF0b3IgPSBuZXcgTGFzdERvd25sb2Fk VHJ5U3RvcFRpbWVDb21wYXJhdG9yKCk7CisgICAgCiAgICAgcHJvdGVjdGVkIHN0YXRpYyBj bGFzcyBMYXN0RG93bmxvYWRUcnlTdG9wVGltZUNvbXBhcmF0b3IgaW1wbGVtZW50cyBDb21w YXJhdG9yPFNoYXJlZEZpbGVzQ0hLS2V5PiB7CiAgICAgICAgIHB1YmxpYyBpbnQgY29tcGFy ZShmaW5hbCBTaGFyZWRGaWxlc0NIS0tleSBhcmcwLCBmaW5hbCBTaGFyZWRGaWxlc0NIS0tl eSBhcmcxKSB7CiAgICAgICAgICAgICByZXR1cm4gTWl4ZWQuY29tcGFyZUxvbmcoYXJnMC5n ZXRMYXN0RG93bmxvYWRUcnlTdG9wVGltZSgpLCBhcmcxLmdldExhc3REb3dubG9hZFRyeVN0 b3BUaW1lKCkpOwogICAgICAgICB9CiAgICAgfQorICAgIHByb3RlY3RlZCBmaW5hbCBzdGF0 aWMgTGFzdERvd25sb2FkVHJ5U3RvcFRpbWVDb21wYXJhdG9yIGxhc3REb3dubG9hZFRyeVN0 b3BUaW1lQ29tcGFyYXRvciA9IG5ldyBMYXN0RG93bmxvYWRUcnlTdG9wVGltZUNvbXBhcmF0 b3IoKTsKIAotICAgIHByb3RlY3RlZCBmaW5hbCBzdGF0aWMgU2VlbkNvdW50Q29tcGFyYXRv ciBzZWVuQ291bnRDb21wYXJhdG9yID0gbmV3IFNlZW5Db3VudENvbXBhcmF0b3IoKTsKICAg ICBwcm90ZWN0ZWQgc3RhdGljIGNsYXNzIFNlZW5Db3VudENvbXBhcmF0b3IgaW1wbGVtZW50 cyBDb21wYXJhdG9yPFNoYXJlZEZpbGVzQ0hLS2V5PiB7CiAgICAgICAgIHB1YmxpYyBpbnQg Y29tcGFyZShmaW5hbCBTaGFyZWRGaWxlc0NIS0tleSBhcmcwLCBmaW5hbCBTaGFyZWRGaWxl c0NIS0tleSBhcmcxKSB7CiAgICAgICAgICAgICByZXR1cm4gTWl4ZWQuY29tcGFyZUludChh cmcwLmdldFNlZW5Db3VudCgpLCBhcmcwLmdldFNlZW5Db3VudCgpKTsKICAgICAgICAgfQog ICAgIH0KKyAgICBwcm90ZWN0ZWQgZmluYWwgc3RhdGljIFNlZW5Db3VudENvbXBhcmF0b3Ig c2VlbkNvdW50Q29tcGFyYXRvciA9IG5ldyBTZWVuQ291bnRDb21wYXJhdG9yKCk7CiB9Cklu ZGV4OiBzb3VyY2UvZnJvc3Qvc3RvcmFnZS9wZXJzdC9UcmFja0Rvd25sb2FkS2V5cy5qYXZh DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQotLS0gc291cmNlL2Zyb3N0L3N0b3JhZ2UvcGVyc3QvVHJhY2tE b3dubG9hZEtleXMuamF2YQkocmV2aXNpb24gMCkNCisrKyBzb3VyY2UvZnJvc3Qvc3RvcmFn ZS9wZXJzdC9UcmFja0Rvd25sb2FkS2V5cy5qYXZhCShyZXZpc2lvbiAwKQ0KQEAgLTAsMCAr MSw3NyBAQA0KKy8qDQorIFRyYWNrRG93bmxvYWRLZXlzLmphdmEgLyBGcm9zdA0KKyBDb3B5 cmlnaHQgKEMpIDIwMTAgIEZyb3N0IFByb2plY3QgPGp0Y2Zyb3N0LnNvdXJjZWZvcmdlLm5l dD4NCisNCisgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcg0KKyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcw0KKyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZg0KKyB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCisNCisgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsDQorIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mDQorIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUNCisgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLg0KKw0KKyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KKyBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KKyBGb3Vu ZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4N CisqLw0KK3BhY2thZ2UgZnJvc3Quc3RvcmFnZS5wZXJzdDsNCisNCitpbXBvcnQgb3JnLmdh cnJldC5wZXJzdC4qOw0KKw0KKy8qKg0KKyAqIFJlcHJlc2VudHMgdGhlIGl0ZW0gZm9yIHRo ZSBUcmFja0Rvd25sb2FkS2V5cy4NCisgKi8NCitwdWJsaWMgY2xhc3MgVHJhY2tEb3dubG9h ZEtleXMgZXh0ZW5kcyBQZXJzaXN0ZW50IHsNCisNCisJcHJpdmF0ZSBTdHJpbmcgY2hrS2V5 Ow0KKwlwcml2YXRlIFN0cmluZyBmaWxlTmFtZTsNCisJcHJpdmF0ZSBTdHJpbmcgYm9hcmRO YW1lOw0KKyAgICBwcml2YXRlIGxvbmcgZmlsZVNpemU7IA0KKwlwcml2YXRlIGxvbmcgZG93 bmxvYWRGaW5pc2hlZFRpbWU7IC8vIHdoZW4gd2FzIHRoaXMgZG93bmxvYWQgZmluaXNoZWQN CisNCisgICAgLy8gdXNlZCBieSBwZXJzdA0KKyAgICBwdWJsaWMgVHJhY2tEb3dubG9hZEtl eXMoKSB7fQ0KKyAgICANCisgICAgcHVibGljIFRyYWNrRG93bmxvYWRLZXlzKGZpbmFsIFN0 cmluZyBjaGtLZXksIGZpbmFsIFN0cmluZyBmaWxlTmFtZSwgDQorICAgIAkJZmluYWwgU3Ry aW5nIGJvYXJkTmFtZSwgbG9uZyBmaWxlU2l6ZSwgbG9uZyBkb3dubG9hZEZpbmlzaGVkVGlt ZSkgew0KKyAgICAgICAgdGhpcy5jaGtLZXkgPSBjaGtLZXk7DQorICAgICAgICB0aGlzLmZp bGVOYW1lID0gZmlsZU5hbWU7DQorICAgICAgICB0aGlzLmJvYXJkTmFtZSA9IGJvYXJkTmFt ZTsNCisgICAgICAgIHRoaXMuZmlsZVNpemUgPSBmaWxlU2l6ZTsNCisgICAgICAgIHRoaXMu ZG93bmxvYWRGaW5pc2hlZFRpbWUgPSBkb3dubG9hZEZpbmlzaGVkVGltZTsNCisgICAgfQ0K KyAgICANCisgICAgcHVibGljIFRyYWNrRG93bmxvYWRLZXlzKGZpbmFsIFRyYWNrRG93bmxv YWRLZXlzIHRyYWNrRG93bmxvYWRLZXkpIHsNCisgICAgICAgIHRoaXMuY2hrS2V5ID0gdHJh Y2tEb3dubG9hZEtleS5jaGtLZXk7DQorICAgICAgICB0aGlzLmZpbGVOYW1lID0gdHJhY2tE b3dubG9hZEtleS5maWxlTmFtZTsNCisgICAgICAgIHRoaXMuYm9hcmROYW1lID0gdHJhY2tE b3dubG9hZEtleS5ib2FyZE5hbWU7DQorICAgICAgICB0aGlzLmZpbGVTaXplID0gdHJhY2tE b3dubG9hZEtleS5maWxlU2l6ZTsNCisgICAgICAgIHRoaXMuZG93bmxvYWRGaW5pc2hlZFRp bWUgPSB0cmFja0Rvd25sb2FkS2V5LmRvd25sb2FkRmluaXNoZWRUaW1lOw0KKyAgICB9DQor DQorICAgIHB1YmxpYyBTdHJpbmcgZ2V0Q2hrS2V5KCkgew0KKyAgICAgICAgcmV0dXJuIGNo a0tleTsNCisgICAgfQ0KKyAgICANCisgICAgcHVibGljIFN0cmluZyBnZXRGaWxlTmFtZSgp IHsNCisgICAgICAgIHJldHVybiBmaWxlTmFtZTsNCisgICAgfQ0KKyAgICANCisgICAgcHVi bGljIFN0cmluZyBnZXRCb2FyZE5hbWUoKSB7DQorCQlyZXR1cm4gYm9hcmROYW1lOw0KKwl9 DQorDQorCXB1YmxpYyBsb25nIGdldEZpbGVTaXplKCkgew0KKwkJcmV0dXJuIGZpbGVTaXpl Ow0KKwl9DQorDQorCXB1YmxpYyB2b2lkIHNldENoa0tleShTdHJpbmcgY2hrS2V5KSB7DQor CQl0aGlzLmNoa0tleSA9IGNoa0tleTsNCisJfQ0KKw0KKwlwdWJsaWMgbG9uZyBnZXREb3du bG9hZEZpbmlzaGVkVGltZSgpIHsNCisgICAgICAgIHJldHVybiBkb3dubG9hZEZpbmlzaGVk VGltZTsNCisgICAgfQ0KK30NCkluZGV4OiBzb3VyY2UvZnJvc3Qvc3RvcmFnZS9wZXJzdC9U cmFja0Rvd25sb2FkS2V5c1N0b3JhZ2UuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHNvdXJj ZS9mcm9zdC9zdG9yYWdlL3BlcnN0L1RyYWNrRG93bmxvYWRLZXlzU3RvcmFnZS5qYXZhCShy ZXZpc2lvbiAwKQ0KKysrIHNvdXJjZS9mcm9zdC9zdG9yYWdlL3BlcnN0L1RyYWNrRG93bmxv YWRLZXlzU3RvcmFnZS5qYXZhCShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSwxMjUgQEANCisv Kg0KKyAgVHJhY2tEb3dubG9hZEtleXNTdG9yYWdlLmphdmEgLyBGcm9zdA0KKyAgQ29weXJp Z2h0IChDKSAyMDEwICBGcm9zdCBQcm9qZWN0IDxqdGNmcm9zdC5zb3VyY2Vmb3JnZS5uZXQ+ DQorDQorICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yDQorICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcw0KKyAgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YNCisgIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KKw0KKyAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsDQorICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZg0KKyAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQ0KKyAgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKw0KKyAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCisgIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl DQorICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIx MzksIFVTQS4NCisqLw0KK3BhY2thZ2UgZnJvc3Quc3RvcmFnZS5wZXJzdDsNCisNCitpbXBv cnQgamF2YS51dGlsLio7DQorDQoraW1wb3J0IGZyb3N0Lio7DQoraW1wb3J0IGZyb3N0LnN0 b3JhZ2UuKjsNCisNCitwdWJsaWMgY2xhc3MgVHJhY2tEb3dubG9hZEtleXNTdG9yYWdlIGV4 dGVuZHMgQWJzdHJhY3RGcm9zdFN0b3JhZ2UgaW1wbGVtZW50cyBFeGl0U2F2YWJsZSB7DQor DQorICAgIHByaXZhdGUgVHJhY2tEb3dubG9hZEtleXNTdG9yYWdlUm9vdCBzdG9yYWdlUm9v dCA9IG51bGw7DQorDQorICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBTVE9SQUdF X0ZJTEVOQU1FID0gIlRyYWNrRG93bmxvYWRLZXlzLmRicyI7DQorDQorICAgIHByaXZhdGUg c3RhdGljIFRyYWNrRG93bmxvYWRLZXlzU3RvcmFnZSBpbnN0YW5jZSA9IG5ldyBUcmFja0Rv d25sb2FkS2V5c1N0b3JhZ2UoKTsNCisNCisgICAgcHJvdGVjdGVkIFRyYWNrRG93bmxvYWRL ZXlzU3RvcmFnZSgpIHsNCisgICAgICAgIHN1cGVyKCk7DQorICAgIH0NCisNCisgICAgcHVi bGljIHN0YXRpYyBUcmFja0Rvd25sb2FkS2V5c1N0b3JhZ2UgaW5zdCgpIHsNCisgICAgICAg IHJldHVybiBpbnN0YW5jZTsNCisgICAgfQ0KKw0KKyAgICBwcml2YXRlIGJvb2xlYW4gYWRk VG9JbmRpY2VzKGZpbmFsIFRyYWNrRG93bmxvYWRLZXlzIHRyYWNrRG93bmxvYWRLZXlzKSB7 DQorICAgIAlTeXN0ZW0ub3V0LnByaW50KCJERUJVRzogVHJhY2tEb3dubG9hZEtleXNTdG9y YWdlLmFkZFRvSW5kaWNlczogIik7DQorICAgIAlTeXN0ZW0ub3V0LnByaW50bG4odHJhY2tE b3dubG9hZEtleXMuZ2V0Q2hrS2V5KCkpOw0KKyAgICAgICAgcmV0dXJuIHN0b3JhZ2VSb290 LmRvd25sb2FkS2V5TGlzdC5wdXQodHJhY2tEb3dubG9hZEtleXMuZ2V0Q2hrS2V5KCksIHRy YWNrRG93bmxvYWRLZXlzKTsNCisgICAgfQ0KKw0KKyAgICBwdWJsaWMgdm9pZCBzdG9yZUl0 ZW0oZmluYWwgVHJhY2tEb3dubG9hZEtleXMgdHJhY2tEb3dubG9hZEtleXMpIHsNCisgICAg ICAgIGlmKCBnZXRTdG9yYWdlKCkgPT0gbnVsbCApIHsNCisgICAgICAgICAgICByZXR1cm47 DQorICAgICAgICB9DQorICAgICAgICBpZiggdHJhY2tEb3dubG9hZEtleXMuZ2V0U3RvcmFn ZSgpID09IG51bGwgKSB7DQorICAgICAgICAJdHJhY2tEb3dubG9hZEtleXMubWFrZVBlcnNp c3RlbnQoZ2V0U3RvcmFnZSgpKTsNCisgICAgICAgICAgICBhZGRUb0luZGljZXModHJhY2tE b3dubG9hZEtleXMpOw0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgIAl0cmFja0Rvd25s b2FkS2V5cy5tb2RpZnkoKTsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICANCisgICAgcHVi bGljIGJvb2xlYW4gc2VhcmNoSXRlbShmaW5hbCBTdHJpbmcgY2hrS2V5KSB7DQorICAgIAlT eXN0ZW0ub3V0LnByaW50KCJERUJVRzogVHJhY2tEb3dubG9hZEtleXNTdG9yYWdlLnNlYXJj aEl0ZW06ICIpOw0KKyAgICAJU3lzdGVtLm91dC5wcmludGxuKGNoa0tleSk7DQorICAgIAly ZXR1cm4gKHN0b3JhZ2VSb290LmRvd25sb2FkS2V5TGlzdC5nZXQoY2hrS2V5KSAhPSBudWxs KTsNCisgICAgfQ0KKw0KKyAgICBwdWJsaWMgdm9pZCBleGl0U2F2ZSgpIHRocm93cyBTdG9y YWdlRXhjZXB0aW9uIHsNCisgICAgICAgIGNsb3NlKCk7DQorICAgICAgICBzdG9yYWdlUm9v dCA9IG51bGw7DQorICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIklORk86IFRyYWNrRG93 bmxvYWRLZXlTdG9yYWdlIGNsb3NlZC4iKTsNCisgICAgfQ0KKw0KKyAgICBAT3ZlcnJpZGUN CisgICAgcHVibGljIFN0cmluZyBnZXRTdG9yYWdlRmlsZW5hbWUoKSB7DQorICAgICAgICBy ZXR1cm4gU1RPUkFHRV9GSUxFTkFNRTsNCisgICAgfQ0KKw0KKyAgICBAT3ZlcnJpZGUNCisg ICAgcHVibGljIGJvb2xlYW4gaW5pdFN0b3JhZ2UoKSB7DQorICAgICAgICBmaW5hbCBTdHJp bmcgZGF0YWJhc2VGaWxlUGF0aCA9IGJ1aWxkU3RvcmFnZVBhdGgoZ2V0U3RvcmFnZUZpbGVu YW1lKCkpOyAvLyBwYXRoIHRvIHRoZSBkYXRhYmFzZSBmaWxlDQorICAgICAgICBmaW5hbCBs b25nIHBhZ2VQb29sU2l6ZSA9IGdldFBhZ2VQb29sU2l6ZShTZXR0aW5nc0NsYXNzLlBFUlNU X1BBR0VQT09MU0laRV9TSEFSRURGSUxFU0NIS0tFWVMpOw0KKw0KKyAgICAgICAgb3Blbihk YXRhYmFzZUZpbGVQYXRoLCBwYWdlUG9vbFNpemUsIHRydWUsIHRydWUsIGZhbHNlKTsNCisN CisgICAgICAgIHN0b3JhZ2VSb290ID0gKFRyYWNrRG93bmxvYWRLZXlzU3RvcmFnZVJvb3Qp Z2V0U3RvcmFnZSgpLmdldFJvb3QoKTsNCisgICAgICAgIGlmIChzdG9yYWdlUm9vdCA9PSBu dWxsKSB7DQorICAgICAgICAgICAgLy8gU3RvcmFnZSB3YXMgbm90IGluaXRpYWxpemVkIHll dA0KKyAgICAgICAgICAgIHN0b3JhZ2VSb290ID0gbmV3IFRyYWNrRG93bmxvYWRLZXlzU3Rv cmFnZVJvb3QoKTsNCisgICAgICAgICAgICAvLyB1bmlxdWUgaW5kZXggb2YgY2hrS2V5cw0K KyAgICAgICAgICAgIHN0b3JhZ2VSb290LmRvd25sb2FkS2V5TGlzdCA9IGdldFN0b3JhZ2Uo KS5jcmVhdGVJbmRleChTdHJpbmcuY2xhc3MsIHRydWUpOw0KKyAgICAgICAgICAgIGdldFN0 b3JhZ2UoKS5zZXRSb290KHN0b3JhZ2VSb290KTsNCisgICAgICAgICAgICBjb21taXQoKTsg Ly8gY29tbWl0IHRyYW5zYWN0aW9uDQorICAgICAgICB9DQorICAgICAgICBTeXN0ZW0ub3V0 LnByaW50bG4oIklORk86IFRyYWNrRG93bmxvYWRLZXlTdG9yYWdlIGluaXRpYWxpemVkLiIp Ow0KKyAgICAgICAgcmV0dXJuIHRydWU7DQorICAgIH0NCisgICAgDQorICAgIC8qKg0KKyAg ICAgKiBEZWxldGUgYWxsIGVudHJpZXMgdGhhdCB3ZXJlIGRvd25sb2FkZWQgbWF4RGF5c09s ZCBkYXllcyBhZ28uDQorICAgICAqIEByZXR1cm4gIGNvdW50IG9mIGRlbGV0ZWQgcm93cw0K KyAgICAgKi8NCisgICAgcHVibGljIGludCBjbGVhbnVwVGFibGUoZmluYWwgaW50IG1heERh eXNPbGQpIHsNCisNCisgICAgICAgIGZpbmFsIGxvbmcgbWluVmFsID0gU3lzdGVtLmN1cnJl bnRUaW1lTWlsbGlzKCkgLSAobWF4RGF5c09sZCAqIDI0TCAqIDYwTCAqIDYwTCAqIDEwMDBM KTsNCisNCisgICAgICAgIC8vIGRlbGV0ZSBhbGwgaXRlbXMgd2l0aCBsYXN0U2VlbiA8IG1p blZhbCwgYnV0IGxhc3RTZWVuID4gMA0KKyAgICAgICAgaW50IGRlbGV0ZWRDb3VudCA9IDA7 DQorDQorICAgICAgICBiZWdpbkV4Y2x1c2l2ZVRocmVhZFRyYW5zYWN0aW9uKCk7DQorICAg ICAgICB0cnkgew0KKyAgICAgICAgICAgIGZpbmFsIEl0ZXJhdG9yPFRyYWNrRG93bmxvYWRL ZXlzPiBpID0gc3RvcmFnZVJvb3QuZG93bmxvYWRLZXlMaXN0Lml0ZXJhdG9yKCk7DQorICAg ICAgICAgICAgd2hpbGUoaS5oYXNOZXh0KCkpIHsNCisgICAgICAgICAgICAgICAgZmluYWwg VHJhY2tEb3dubG9hZEtleXMgc2ZrID0gaS5uZXh0KCk7DQorICAgICAgICAgICAgICAgIGlm KCBzZmsuZ2V0RG93bmxvYWRGaW5pc2hlZFRpbWUoKSA+IDAgJiYgc2ZrLmdldERvd25sb2Fk RmluaXNoZWRUaW1lKCkgPCBtaW5WYWwgKSB7DQorICAgICAgICAgICAgICAgICAgICBpLnJl bW92ZSgpOyAvLyByZW1vdmUgZnJvbSBpdGVyYXRlZCBpbmRleA0KKyAgICAgICAgICAgICAg ICAgICAgc2ZrLmRlYWxsb2NhdGUoKTsgLy8gcmVtb3ZlIGZyb20gU3RvcmFnZQ0KKyAgICAg ICAgICAgICAgICAgICAgZGVsZXRlZENvdW50Kys7DQorICAgICAgICAgICAgICAgIH0NCisg ICAgICAgICAgICB9DQorICAgICAgICB9IGZpbmFsbHkgew0KKyAgICAgICAgICAgIGVuZFRo cmVhZFRyYW5zYWN0aW9uKCk7DQorICAgICAgICB9DQorDQorICAgICAgICByZXR1cm4gZGVs ZXRlZENvdW50Ow0KKyAgICB9DQorfQ0KSW5kZXg6IHNvdXJjZS9mcm9zdC9zdG9yYWdlL3Bl cnN0L1RyYWNrRG93bmxvYWRLZXlzU3RvcmFnZVJvb3QuamF2YQ0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tIHNvdXJjZS9mcm9zdC9zdG9yYWdlL3BlcnN0L1RyYWNrRG93bmxvYWRLZXlzU3RvcmFn ZVJvb3QuamF2YQkocmV2aXNpb24gMCkNCisrKyBzb3VyY2UvZnJvc3Qvc3RvcmFnZS9wZXJz dC9UcmFja0Rvd25sb2FkS2V5c1N0b3JhZ2VSb290LmphdmEJKHJldmlzaW9uIDApDQpAQCAt MCwwICsxLDI4IEBADQorLyoNCisgIFRyYWNrRG93bmxvYWRLZXlzU3RvcmFnZVJvb3QuamF2 YSAvIEZyb3N0DQorICBDb3B5cmlnaHQgKEMpIDIwMTAgIEZyb3N0IFByb2plY3QgPGp0Y2Zy b3N0LnNvdXJjZWZvcmdlLm5ldD4NCisNCisgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCisgIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzDQorICBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMiBvZg0KKyAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uDQorDQorICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCisgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQorICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05V DQorICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorDQorICBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQ0KKyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUNCisgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2 ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLg0KKyovDQorcGFja2FnZSBmcm9zdC5zdG9y YWdlLnBlcnN0Ow0KKw0KK2ltcG9ydCBvcmcuZ2FycmV0LnBlcnN0Lio7DQorDQorcHVibGlj IGNsYXNzIFRyYWNrRG93bmxvYWRLZXlzU3RvcmFnZVJvb3QgZXh0ZW5kcyBQZXJzaXN0ZW50 IHsNCisgICAgDQorICAgIHB1YmxpYyBUcmFja0Rvd25sb2FkS2V5c1N0b3JhZ2VSb290KCkg e30NCisgICAgDQorICAgIEluZGV4PFRyYWNrRG93bmxvYWRLZXlzPiBkb3dubG9hZEtleUxp c3Q7DQorfQ0KSW5kZXg6IHNvdXJjZS9pMThuL2xhbmdyZXMucHJvcGVydGllcw0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUu DQpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQo= --------------090109000703040209010008 Content-Type: text/plain; name="langres.properties" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="langres.properties" AboutBox.label.openSourceProject=Open Source Project (GPL license) AboutBox.label.version=Version AboutBox.text.development=Development: AboutBox.text.miscCodeContributions=Misc code contributions: AboutBox.text.splashScreenLogo=Splash Screen Logo: AboutBox.text.systemTrayExecutables=System Tray Executables: AboutBox.text.translationSupport=Translation Support: AboutBox.text.windowsInstaller=Windows Installer: AboutBox.title=About AltEdit.errorDialog.couldNotCreateMessageFile=Could not create message file for alternate editor AltEdit.errorDialog.couldNotStartEditorUsingCommand=Could not start alternate editor using command AltEdit.errorDialog.invalidReturnedMessageFile=The message file returned by the alternate editor is invalid. AltEdit.errorDialog.missingPlaceholder=Configured alternate editor line must contain a '%f' as placeholder for the filename. AltEdit.errorDialog.noAlternateEditorConfigured=No alternate editor configured. AltEdit.errorDialogs.title=Error AltEdit.markerLine.subject=*--- Subject line (changeable) ---* AltEdit.markerLine.text=*--- Enter your text after this line ---* AltEdit.textFileMessage.1=>>> This is a Frost alternate editor message file. <<< AltEdit.textFileMessage.2=>>> You can edit the subject and add text at the end of the file. <<< AltEdit.textFileMessage.3=>>> Don't change or delete the marker lines! <<< Board.boardState.invalid=(INVALID, no public key, but private!) Board.boardState.publicBoard=public board Board.boardState.readAccess=read access Board.boardState.writeAccess=write access BoardInfoFrame.button.close=Close BoardInfoFrame.button.update=Update view BoardInfoFrame.button.updateAllBoards=Update all boards BoardInfoFrame.button.updateSelectedBoard=Update selected boards BoardInfoFrame.button.removeSelectedBoards=Remove selected boards BoardInfoFrame.label.boards=Boards BoardInfoFrame.label.messages=Messages BoardInfoFrame.popupMenu.copyInfoToClipboard=Copy information to clipboard BoardInfoFrame.table.board=Board BoardInfoFrame.table.messages=Messages BoardInfoFrame.table.messagesToday=Today BoardInfoFrame.table.messagesFlagged=Flagged BoardInfoFrame.table.messagesStarred=Starred BoardInfoFrame.table.messagesUnread=Unread BoardInfoFrame.table.lastMsgDate=Last Msg BoardInfoFrame.table.state=State BoardInfoFrame.title=Board information window BoardsChooser.title=Choose boards BoardSettings.button.generateNewKeypair=Generate new keypair BoardSettings.generateKeyPairErrorDialog.title=Warning BoardSettings.label.description=Description: BoardSettings.label.enableAutomaticBoardUpdate=Enable automatic board update BoardSettings.label.hideBadMessages=Hide messages flagged BAD BoardSettings.label.hideCheckMessages=Hide messages flagged CHECK BoardSettings.label.hideObserveMessages=Hide messages flagged OBSERVE BoardSettings.label.hideUnsignedMessages=Hide unsigned messages BoardSettings.label.maximumMessageDisplay=Number of days to display BoardSettings.label.maximumMessageDownload=Number of days to download backwards BoardSettings.label.no=No BoardSettings.label.overrideDefaultSettings=Override default settings BoardSettings.label.privateKey=Private key BoardSettings.label.publicBoard=Public board BoardSettings.label.publicKey=Public key BoardSettings.label.secureBoard=Secure board BoardSettings.label.setTo=Set to BoardSettings.label.storeSentMessages=Save sent messages BoardSettings.label.useDefault=Use default BoardSettings.label.yes=Yes BoardSettings.label.hideMessageCountDisplay=Hide messages from identities with fewer than X received messages (0 disables) BoardSettings.looseKeysWarningDialog.body=If you set this board as public, you will lose its keys. Are you sure you want to do that? BoardSettings.looseKeysWarningDialog.title=Set Board as Public? BoardSettings.text.keyNotAvailable=Not available BoardSettings.title.boardSettings=Settings for board BoardSettings.title.folderSettings=Settings for all boards in folder BoardTree.duplicateNewBoardNameError.body=You already have a board with name ''{0}''!\nPlease choose a new name. BoardTree.duplicateNewBoardNameError.title=Duplicate board name BoardTree.newFolderDialog.body=Please enter a name for the new folder BoardTree.newFolderDialog.defaultName=newFolder BoardTree.newFolderDialog.title=New Folder Name BoardTree.overWriteBoardConfirmation.body=You already have a board with name ''{0}''!\nDo you really want to overwrite it?\n(This will not delete messages) BoardTree.overWriteBoardConfirmation.title=Overwrite existing board BoardTree.popupmenu.addNewBoard=Add new board BoardTree.popupmenu.addNewFolder=Add new folder BoardTree.popupmenu.board=board BoardTree.popupmenu.Board=Board BoardTree.popupmenu.configureSelectedBoard=Configure selected board BoardTree.popupmenu.configureSelectedFolder=Configure selected folder BoardTree.popupmenu.cut=Cut BoardTree.popupmenu.Folder=Folder BoardTree.popupmenu.folder=folder BoardTree.popupmenu.markAllMessagesRead=Mark ALL messages read BoardTree.popupmenu.paste=Paste BoardTree.popupmenu.refresh=Refresh BoardTree.popupmenu.remove=Remove BoardTree.popupmenu.renameFolder=Rename folder BoardTree.popupmenu.searchMessages=Search this board BoardTree.popupmenu.sendMessage=Send message BoardTree.popupmenu.sortFolder=Sort folder BoardTree.removeBoardConfirmation.body=Do you really want to delete board ''{0}'' ? All messages in this board will be deleted too. BoardTree.removeBoardConfirmation.title=Remove board ''{0}'' BoardTree.removeFolderConfirmation.body=Do you really want to delete folder ''{0}'' ?\nNOTE: Removing it will also remove all boards, folders and messages inside this folder! BoardTree.removeFolderConfirmation.title=Remove folder ''{0}'' Common.browse=Browse Common.cancel=Cancel Common.copy=Copy Common.copyToClipBoard.copyExtendedInfo=Copy extended info Common.copyToClipBoard.copyKeysWithFilenames=Copy keys with filenames Common.copyToClipBoard.extendedInfo.bytes=Bytes: Common.copyToClipBoard.extendedInfo.file=File : Common.copyToClipBoard.extendedInfo.key=Key : Common.copyToClipBoard.extendedInfo.keyNotAvailableYet=Key not available yet Common.copyToClipBoard=Copy to clipboard Common.cut=Cut Common.details=Details Common.exit=Exit Common.ignoreMessagesOfThisType=Ignore such messages Common.ok=Ok Common.paste=Paste Common.priority.changePriority=Change priority Common.priority.priority0=0 (maximum) Common.priority.priority1=1 Common.priority.priority2=2 Common.priority.priority3=3 (recommended) Common.priority.priority4=4 Common.priority.priority5=5 Common.priority.priority6=6 (pause) Common.properties=Properties Common.suppressConfirmationCheckbox=Show this dialog the next time Core.init.NodeNotRunningBody=Make sure your node is running and that you have configured Freenet correctly.\nNevertheless, to allow you to read messages, Frost will startup now.\nPlease note that automatic board updates were disabled (Menu 'News')!\nDon't get confused by some error messages ;)\n Core.init.NodeNotRunningTitle=Error - could not establish a connection to freenet node. Core.init.TestnetWarningBody=Your freenet node runs in TESTNET mode, no anonymity is provided! Core.init.TestnetWarningTitle=Freenet node in TESTNET mode Core.init.UnsupportedFreenetVersionBody=Freenet version is not supported Core.init.UnsupportedFreenetVersionTitle=Freenet version is not supported Core.init.FileSharingEnabledBody=Filesharing is enabled. It is vulnerable to spamming and disabling it is highly recommended.\nLeaving it enabled will gradually increase the time it takes to start up Frost (due to filelist.dbs being flooded with junk) and increase both resource and bandwidth usage.\n\nIf you choose to disable it, you should exit Frost and remove filelist.dbs to free up some disk space and decrease startup times. Core.init.FileSharingEnabledTitle=Filesharing enabled Core.loadIdentities.ChooseName=Choose an identity name, it doesn't have to be unique\n Core.loadIdentities.InvalidNameBody=The name is invalid, please choose another name. Core.loadIdentities.InvalidNameTitle=Invalid identity name DialogWithDetails.button.less=Less DialogWithDetails.button.more=More DownloadPane.fileTable.blocks=Blocks DownloadPane.fileTable.enabled=Enabled DownloadPane.fileTable.filename=Filename DownloadPane.fileTable.isDDA.tooltip=Indicates if the file is stored by the node to the target file. DownloadPane.fileTable.isDDA=DDA DownloadPane.fileTable.key=Key DownloadPane.fileTable.downloadDir=Download directory DownloadPane.fileTable.lastReceived=Last seen DownloadPane.fileTable.lastUploaded=Last uploaded DownloadPane.fileTable.popupmenu.enableDownloads.disableAllDownloads=Disable all downloads DownloadPane.fileTable.popupmenu.enableDownloads.disableSelectedDownloads=Disable selected downloads DownloadPane.fileTable.popupmenu.enableDownloads.enableAllDownloads=Enable all downloads DownloadPane.fileTable.popupmenu.enableDownloads.enableSelectedDownloads=Enable selected downloads DownloadPane.fileTable.popupmenu.enableDownloads.invertEnabledStateForAllDownloads=Invert enabled state for all downloads DownloadPane.fileTable.popupmenu.enableDownloads.invertEnabledStateForSelectedDownloads=Invert enabled state for selected downloads DownloadPane.fileTable.popupmenu.enableDownloads=Enable downloads DownloadPane.fileTable.popupmenu.remove.removeSelectedDownloads=Remove selected downloads DownloadPane.fileTable.popupmenu.remove=Remove DownloadPane.fileTable.popupmenu.removeFromGlobalQueue=Remove from global queue DownloadPane.fileTable.popupmenu.restartSelectedDownloads=Restart selected downloads DownloadPane.fileTable.popupmenu.retrieveDirectExternalDownloads=Retrieve direct external downloads into download directory DownloadPane.fileTable.popupmenu.startSelectedDownloadsNow=Start selected downloads immediately DownloadPane.fileTable.popupmenu.useThisDownloadDir=Use this download directory DownloadPane.fileTable.popupmenu.jumpToAssociatedMessage=View associated message DownloadPane.fileTable.priority=Priority DownloadPane.fileTable.requested.tooltip=If an icon is shown then this file was requested in the last 24 hours by us or someone else. DownloadPane.fileTable.requested=File requested DownloadPane.fileTable.shared.tooltip=An icon indicates a shared file. DownloadPane.fileTable.shared=Shared file DownloadPane.fileTable.size=Size DownloadPane.fileTable.state=State DownloadPane.fileTable.states.decodingSegment=Decoding segment DownloadPane.fileTable.states.done=Done DownloadPane.fileTable.states.downloading=Downloading DownloadPane.fileTable.states.failed=Failed DownloadPane.fileTable.states.trying=Trying DownloadPane.fileTable.states.unknown=Unknown DownloadPane.fileTable.states.waiting=Waiting DownloadPane.fileTable.tries=Tries DownloadPane.invalidKeyDialog.body=Invalid freenet key: {0} DownloadPane.invalidKeyDialog.title=Invalid key DownloadPane.alreadyTrackedDialog.title=Key already downloaded DownloadPane.alreadyTrackedDialog.body=The key has already been downloaded previously:\n{0}\n\nDo you want to download it again? DownloadPane.removeFinishedDownloads=Remove finished DownloadPane.showExternalGlobalQueueItems=Show global queue DownloadPane.toolbar.tooltip.activateDownloading=Activate downloading DownloadPane.toolbar.tooltip.addKeys=Quickload: enter or paste keys to download, separated by a semicolon ; or one key per line DownloadPane.toolbar.tooltip.pasteKeys=Add keys from clipboard DownloadPane.toolbar.tooltip.downloadPrefix=Filename prefix DownloadPane.toolbar.tooltip.downloadDir=Default download directory for keys added through the quickload text field DownloadPane.toolbar.tooltip.applyDownloadPrefix=Set download filename prefix for selected files DownloadPane.toolbar.tooltip.selectDownloadDir=Browse for download directory DownloadPane.toolbar.tooltip.createDownloadDir=Create directory DownloadPane.toolbar.tooltip.applyDownloadDir=Set download directory for selected files DownloadPane.toolbar.tooltip.pauseDownloading=Pause downloading DownloadPane.toolbar.waiting=Waiting DownloadPane.toolbar.label.downloadQuickload=Quickload DownloadPane.toolbar.label.downloadPrefix=Prefix DownloadPane.toolbar.label.downloadDir=Directory DownloadPane.toolbar.downloadDirMenu.setDownloadDirTo=Set to... FileAttachmentUploadThread.fileNotFoundError.text=The message that is currently send (maybe a send retry on next startup of Frost)\ncontains a file attachment that does not longer exist, or it is a 0 byte file!\n\nThe send of the message was aborted and the message file was deleted\nto prevent another upload try on next startup of Frost.\nFile: {0} FileAttachmentUploadThread.fileNotFoundError.title=Unrecoverable error FileListFileDetailsDialog.button.close=Close FileListFileDetailsDialog.popupmenu.searchFilesOfOwner=Search for files of owner FileListFileDetailsDialog.table.comment=Comment FileListFileDetailsDialog.table.filename=Filename FileListFileDetailsDialog.table.key=Key FileListFileDetailsDialog.table.keywords=Keywords FileListFileDetailsDialog.table.lastReceived=Last seen FileListFileDetailsDialog.table.lastUploaded=Last upload FileListFileDetailsDialog.table.owner=Owner FileListFileDetailsDialog.table.rating=Rating FileListFileDetailsDialog.table.state.never=Never FileListFileDetailsDialog.table.state.unknown=Unknown FileListFileDetailsDialog.table.trustState=Trust state FileListFileDetailsDialog.title=File details FirstStartupDialog.welcomeText.label=<html><br><font size="+2"><center><b>Welcome to Frost!</b></center></font><br><br>Frost will now connect to a Freenet 0.7 node.<br>By default Frost connects to a node on localhost<br>using the standard FCP2 darknet port: 127.0.0.1:9481</html> FirstStartupDialog.overrideFcpHost.label=Override Freenet FCP host:port FirstStartupDialog.title=Frost first startup Frost.lockFileFound=This indicates that another Frost instance is already running in this directory.\nRunning Frost concurrently will cause data loss.\nIf you are REALLY SURE that Frost is not already running, delete the lockfile:\n IdentitiesBrowser.button.cleanup.tooltip=Delete all identities without messages or files IdentitiesBrowser.button.cleanup=Cleanup IdentitiesBrowser.button.close=Close IdentitiesBrowser.button.delete.tooltip.multiple=Delete selected identities IdentitiesBrowser.button.delete.tooltip.single=Delete selected identity IdentitiesBrowser.button.delete=Delete IdentitiesBrowser.button.export=Export IdentitiesBrowser.button.import=Import IdentitiesBrowser.cleanupDialog.deleteIdentities.body=Cleanup will delete {0} unused identities. IdentitiesBrowser.cleanupDialog.deleteIdentities.title=Cleanup identities IdentitiesBrowser.cleanupDialog.nothingToDelete.body=There are no deletable identities. IdentitiesBrowser.cleanupDialog.nothingToDelete.title=Cleanup identities IdentitiesBrowser.deleteDialog.body=Delete {0} selected identities? IdentitiesBrowser.deleteDialog.title=Delete identities IdentitiesBrowser.exportIdentitiesConfirmXmlFileOverwrite.body=Overwite XML file ''{0}'' ? IdentitiesBrowser.exportIdentitiesConfirmXmlFileOverwrite.title=Confirm overwrite IdentitiesBrowser.identitiesExported.body=Exported {0} identities. IdentitiesBrowser.identitiesExported.title=Identities exported IdentitiesBrowser.identitiesExportFailed.body=Identities export failed. IdentitiesBrowser.identitiesExportFailed.title=Export failed IdentitiesBrowser.identitiesImported.body=<html>Imported {0} identities, skipped {1} duplicate identities.<br>You need to close and reopen this dialog to see the imported identities.</html> IdentitiesBrowser.identitiesImported.title=Identities imported IdentitiesBrowser.identitiesTable.files=Files IdentitiesBrowser.identitiesTable.lastSeen=Last seen IdentitiesBrowser.identitiesTable.messages=Messages IdentitiesBrowser.identitiesTable.name=Name IdentitiesBrowser.identitiesTable.receivedMessages=Received messages IdentitiesBrowser.identitiesTable.state=State IdentitiesBrowser.label.filter=Filter IdentitiesBrowser.label.lookup=Lookup IdentitiesBrowser.noIdentityToExport.body=No identities to export found.\nOnly GOOD, OBSERVE or BAD identities can be exported. IdentitiesBrowser.noIdentityToExport.title=No identities to export IdentitiesBrowser.noIdentityToImport.body=No identities to import found in XML file. IdentitiesBrowser.noIdentityToImport.title=No identities found IdentitiesBrowser.popupmenu.copyUniqueName=Copy unique name IdentitiesBrowser.popupmenu.copyUniqueNameAndPublicKey=Copy unique name and public key IdentitiesBrowser.popupmenu.exportSelectedIdentities=Export selected identities IdentitiesBrowser.progressDialog.body=Retrieving identity information from database IdentitiesBrowser.progressDialog.title=Retrieving identity information IdentitiesBrowser.title=Identities Browser ({0} identities) KnownBoardsFrame.boardsExported.body=Exported {0} known boards to XML file ''{1}''. KnownBoardsFrame.boardsExported.title=Boards exported KnownBoardsFrame.boardsImported.body=Loaded {0} boards from XML file ''{1}'', {2} new boards added to list. KnownBoardsFrame.boardsImported.title=Boards imported KnownBoardsFrame.button.actions=Actions KnownBoardsFrame.button.addBoards=Add selected board(s) KnownBoardsFrame.button.addBoardsToFolder=Add selected board(s) to folder KnownBoardsFrame.button.close=Close KnownBoardsFrame.button.export=Export KnownBoardsFrame.button.hideBoard=Hide board name KnownBoardsFrame.button.import=Import KnownBoardsFrame.button.removeBoard=Remove selected board(s) KnownBoardsFrame.button.unhideBoard=Unhide board name KnownBoardsFrame.exportFailed.body=Export to XML file failed! Disk full? KnownBoardsFrame.exportFailed.title=Export failed KnownBoardsFrame.label.filter=Filter KnownBoardsFrame.label.lookup=Lookup KnownBoardsFrame.noBoardsImported.body=No boards found in XML file. KnownBoardsFrame.noBoardsImported.title=No boards imported KnownBoardsFrame.table.boardName=Boardname KnownBoardsFrame.table.description=Description KnownBoardsFrame.table.privateKey=Private key KnownBoardsFrame.table.publicKey=Public key KnownBoardsFrame.title=List of known boards KnownBoardsFrame.tooltip.showHidden=Show hidden boards MainFrame.dialog.renameFolder=Please enter the new name MainFrame.menu.file.statistics=Statistics MainFrame.menu.file=File MainFrame.menu.help.aboutFrost=About MainFrame.menu.help.help=Help MainFrame.menu.help.showMemoryMonitor=Show memory monitor MainFrame.menu.help=Help MainFrame.menu.language.bulgarian=Bulgarian MainFrame.menu.language.danish=Danish MainFrame.menu.language.default=Default MainFrame.menu.language.dutch=Dutch MainFrame.menu.language.english=English MainFrame.menu.language.esperanto=Esperanto MainFrame.menu.language.french=French MainFrame.menu.language.german=German MainFrame.menu.language.italian=Italian MainFrame.menu.language.japanese=Japanese MainFrame.menu.language.polish=Polish MainFrame.menu.language.russian=Russian MainFrame.menu.language.spanish=Spanish MainFrame.menu.language.swedish=Swedish MainFrame.menu.language=Language MainFrame.menu.news.automaticBoardUpdate=Automatic board update MainFrame.menu.news.displayBoardInformationWindow=Display board information window MainFrame.menu.news.displayBoardUpdateInformationMenuItem=Display board update informations MainFrame.menu.news.displayKnownBoards=Display known boards MainFrame.menu.news.searchMessages=Search messages MainFrame.menu.news=News MainFrame.menu.options.manageIdentities=Manage identities MainFrame.menu.options.manageLocalIdentities=Manage own identities MainFrame.menu.options.preferences=Preferences MainFrame.menu.options=Options MainFrame.menu.plugins.translateFrost=Translate Frost into another language MainFrame.menu.plugins=Plugins MainFrame.openCreateMessageWindows.body=Some create message windows are still open.\nDo you want to exit anyway? MainFrame.openCreateMessageWindows.title=Discard messages MainFrame.runningUploadsWarning.body=Some messages are still being uploaded.\nDo you want to exit anyway? MainFrame.runningUploadsWarning.title=Uploads underway MainFrame.statusBar.downloading=Downloading MainFrame.statusBar.file=file MainFrame.statusBar.fileListDownloadQueueSize=FLQ MainFrame.statusBar.files=files MainFrame.statusBar.selectedBoard=Selected board MainFrame.statusBar.TOFDO=TOFDO MainFrame.statusBar.TOFUP=TOFUP MainFrame.statusBar.tooltip.fileListDownloadQueueSize=<html>Number of enqueued file lists to download.<br>Once all file lists are downloaded the file search finds the most current files.</html> MainFrame.statusBar.uploading=Uploading MainFrame.tabbedPane.downloads=Downloads MainFrame.tabbedPane.news=News MainFrame.tabbedPane.search=Search files MainFrame.tabbedPane.sharing=My shared files MainFrame.tabbedPane.uploads=Uploads MainFrame.toolbar.tooltip.boardInformationWindow=Board Information Window MainFrame.toolbar.tooltip.configureBoard=Configure board MainFrame.toolbar.tooltip.displayListOfKnownBoards=Display list of known boards MainFrame.toolbar.tooltip.minimizeToSystemTray=Minimize to System Tray MainFrame.toolbar.tooltip.newBoard=New board MainFrame.toolbar.tooltip.newFolder=New folder MainFrame.toolbar.tooltip.removeBoard=Remove board MainFrame.toolbar.tooltip.renameFolder=Rename folder MainFrame.toolbar.tooltip.searchMessages=Search messages MainFrameStatusBar.tooltip.tofdn=<html>Updating boards: {0}<br>Board update threads: {1}</html> MainFrameStatusBar.tooltip.tofup=<html>Uploading messages: {0}<br>Waiting messages: {1}<br>Waiting attachments: {2}</html> ManageLocalIdentities.button.close=Close ManageLocalIdentities.button.createNewIdentity=Create Identity ManageLocalIdentities.button.deleteIdentity=Delete Identity ManageLocalIdentities.button.editSignature=Edit signature ManageLocalIdentities.button.exportXml=Export into XML file ManageLocalIdentities.button.importIdentity=Import from ''identities.xml'' ManageLocalIdentities.button.importXml=Import from XML file ManageLocalIdentities.cannotDeleteLastIdentity.body=The last existing identity can not be deleted. ManageLocalIdentities.cannotDeleteLastIdentity.title=Cannot delete last identity ManageLocalIdentities.deleteIdentitiesSharedFilesConfirmation.body=The identity ''{0}'' shares {1} files which will be removed. Proceed? ManageLocalIdentities.deleteIdentitiesSharedFilesConfirmation.title=Shared files for identity ManageLocalIdentities.deleteIdentityConfirmation.body=Do you really want to delete the identity ''{0}''? ManageLocalIdentities.deleteIdentityConfirmation.title=Confirm identity delete ManageLocalIdentities.duplicateIdentity.body=Imported identity ''{0}'' is already in list. ManageLocalIdentities.duplicateIdentity.title=Duplicate identity ManageLocalIdentities.duplicateLocalIdentity.body=Imported identity ''{0}'' is already in list. ManageLocalIdentities.duplicateLocalIdentity.title=Duplicate identity ManageLocalIdentities.exportIdentitiesConfirmXmlFileOverwrite.body=Overwite XML file ''{0}'' ? ManageLocalIdentities.exportIdentitiesConfirmXmlFileOverwrite.title=Confirm overwrite ManageLocalIdentities.identitiesExported.body=Exported {0} identities. ManageLocalIdentities.identitiesExported.title=Identities exported ManageLocalIdentities.identitiesExportFailed.body=Identities export failed. ManageLocalIdentities.identitiesExportFailed.title=Export failed ManageLocalIdentities.identityImported.body=Imported identity ''{0}''. ManageLocalIdentities.identityImported.title=Identity imported ManageLocalidentities.listLabel=Own Identities ManageLocalIdentities.localIdentitiesImported.body=Imported {0} identities. ManageLocalIdentities.localIdentitiesImported.title=Identities imported ManageLocalIdentities.noIdentityToImport.body=No identity to import found. ManageLocalIdentities.noIdentityToImport.title=No identity found ManageLocalIdentities.noLocalIdentityToImport.body=No identities to import found in XML file. ManageLocalIdentities.noLocalIdentityToImport.title=No identities found ManageLocalIdentities.privateKeyExportWarning.body=The private keys of your identities will be contained in the XML file!\nHandle this file carefully. ManageLocalIdentities.privateKeyExportWarning.title=Private key warning ManageLocalIdentities.title=Manage own identities ManageLocalIdentitiesSignatureDialog.title=Edit signature for identity ''{0}'' MessageFrame.attachBoard.sendPrivateKeyConfirmationDialog.body=You have the private key to board ''{0}''. Are you sure you want it attached?\nIf you choose NO, only the public key will be attached. MessageFrame.attachBoard.sendPrivateKeyConfirmationDialog.title=Include private board key? MessageFrame.attachmentTables.popupmenu.remove=Remove MessageFrame.board=Board MessageFrame.boardAttachmentTable.boardname=Boardname MessageFrame.boardAttachmentTable.description=Description MessageFrame.boardAttachmentTable.privateKey=Private key MessageFrame.boardAttachmentTable.publicKey=Public key MessageFrame.createMessage.title=Create message MessageFrame.defaultSubjectWarning.text=Do you want to enter a subject? MessageFrame.defaultSubjectWarning.title=No subject specified! MessageFrame.discardMessage.text=Do you want to discard your unsent message? MessageFrame.discardMessage.title=Discard message MessageFrame.encryptErrorNoRecipient.body=Can't encrypt the message, no recipient choosed! MessageFrame.encryptErrorNoRecipient.title=Encrypt error MessageFrame.fileAttachmentTable.filename=Filename MessageFrame.fileAttachmentTable.size=Size MessageFrame.fileChooser.title=Choose file(s) / directory(s) to attach MessageFrame.from=From MessageFrame.noContentError.text=You must enter new content below the separator line! MessageFrame.noContentError.title=No new message content! MessageFrame.noSenderError.text=You must enter a sender name! MessageFrame.noSenderError.title=No 'From' specified! MessageFrame.noSubjectError.text=You must enter a subject! MessageFrame.noSubjectError.title=No subject specified! MessageFrame.subject=Subject MessageFrame.textTooLargeError.text=The text of the message is too large ({0} characters, {1} allowed)! MessageFrame.textTooLargeError.title=Message text is too large! MessageFrame.toolbar.encryptFor=Encrypt for MessageFrame.toolbar.tooltip.addBoardAttachments=Add Board(s) MessageFrame.toolbar.tooltip.addFileAttachments=Add attachment(s) MessageFrame.toolbar.tooltip.chooseSmiley=Insert smiley MessageFrame.toolbar.tooltip.sendMessage=Send message MessagePane.boardAttachmentTable.accessRights=Access rights MessagePane.boardAttachmentTable.boardName=Board name MessagePane.boardAttachmentTable.description=Description MessagePane.boardAttachmentTable.popupmenu.addBoards=Add Board(s) MessagePane.boardAttachmentTable.popupmenu.addBoardsToFolder=Add Board(s) to folder MessagePane.boardAttachmentTable.popupmenu.addBoardsToKnownBoards=Add board(s) to list of known boards MessagePane.defaultText.noBoardSelected=Select a board to view its content. MessagePane.defaultText.noMessageSelected=Select a message to view its content. MessagePane.defaultText.welcomeMessage=Please read this!\n\nTo use Frost, you first need to select a topic from the board information window. You can open this window with the i-button above. You can send messages and files to people using the same board. It will probably take some time until the first boards show up (press the update button). MessagePane.fileAttachmentTable.filename=Filename MessagePane.fileAttachmentTable.key=Key MessagePane.fileAttachmentTable.popupmenu.downloadAttachments=Download attachment(s) MessagePane.fileAttachmentTable.popupmenu.downloadSelectedAttachment=Download selected attachment MessagePane.fileAttachmentTable.size=Size MessagePane.hyperlink.popupmenu.copyAllFileKeysToClipboard=Copy all file keys to clipboard MessagePane.hyperlink.popupmenu.copyFileKeyToClipboard=Copy file key to clipboard MessagePane.hyperlink.popupmenu.copyFreesiteLinkToClipboard=Copy freesite link to clipboard MessagePane.hyperlink.popupmenu.copyKeyToClipboard=Copy key to clipboard MessagePane.hyperlink.popupmenu.downloadAllFileKeys=Download all file keys MessagePane.hyperlink.popupmenu.downloadFileKey=Download file key MessagePane.messageTable.date=Date MessagePane.messageTable.from=From MessagePane.messageTable.index=Index MessagePane.messageTable.popupmenu.collapseAll=Collapse all MessagePane.messageTable.popupmenu.collapseThread=Collapse thread MessagePane.messageTable.popupmenu.deleteMessage=Delete message MessagePane.messageTable.popupmenu.expandAll=Expand all MessagePane.messageTable.popupmenu.expandThread=Expand thread MessagePane.messageTable.popupmenu.markAllMessagesRead=Mark ALL messages read MessagePane.messageTable.popupmenu.markMessageUnread=Mark message unread MessagePane.messageTable.popupmenu.markSelectedMessagesReadItem=Mark selected messages read MessagePane.messageTable.popupmenu.markSelectedMessagesUnreadItem=Mark selected messages unread MessagePane.messageTable.popupmenu.markThreadRead=Mark message thread read MessagePane.messageTable.popupmenu.setToBad=Mark user BAD MessagePane.messageTable.popupmenu.setToCheck=Mark user CHECK MessagePane.messageTable.popupmenu.setToGood=Mark user GOOD MessagePane.messageTable.popupmenu.setToObserve=Mark user OBSERVE MessagePane.messageTable.popupmenu.undeleteMessage=Undelete message MessagePane.messageTable.sig=Sig MessagePane.messageTable.subject=Subject MessagePane.messageText.popupmenu.copy=Copy MessagePane.messageText.popupmenu.saveMessageToDisk=Save message to disk MessagePane.messageText.saveDialog.title=Save message to disk MessagePane.messageText.downloadPrefixDialog.title=Filename prefix MessagePane.messageText.popupmenu.downloadKeysTo=Download keys to... MessagePane.messageText.popupmenu.browse=Browse... MessagePane.messageText.downloadPrefixDialog.body=Enter text to prefix filenames with, or leave empty for no prefix MessagePane.missingBoardError.text=Can't reply, the target board ''{0}'' is not in your boardlist. MessagePane.missingBoardError.title=Error MessagePane.missingLocalIdentityError.text=Can't reply encrypted, your identity ''{0}'' that received the original message is missing! MessagePane.missingLocalIdentityError.title=Error MessagePane.subjectText.popupmenu.copySubjectText=Copy subject MessagePane.toolbar.labelAllMessageCount=Msg MessagePane.toolbar.labelNewMessageCount=New MessagePane.toolbar.tooltip.isSigned=This message will be sent signed MessagePane.toolbar.tooltip.isUnsigned=This message will be sent anonymously MessagePane.toolbar.tooltip.newMessage=New message MessagePane.toolbar.tooltip.nextUnreadMessage=Next unread message MessagePane.toolbar.tooltip.reply=Reply MessagePane.toolbar.tooltip.saveMessage=Save message MessagePane.toolbar.tooltip.setToBad=Mark user BAD MessagePane.toolbar.tooltip.setToCheck=Mark user CHECK MessagePane.toolbar.tooltip.setToGood=Mark user GOOD MessagePane.toolbar.tooltip.setToObserve=Mark user OBSERVE MessagePane.toolbar.tooltip.toggleShowHyperlinks=Toggle show keys as hyperlinks MessagePane.toolbar.tooltip.toggleShowSmileys=Toggle show smileys MessagePane.toolbar.tooltip.toggleShowThreads=Toggle show message threads MessagePane.toolbar.tooltip.toggleShowUnreadOnly=Show only unread messages MessagePane.toolbar.tooltip.toggleShowFlaggedOnly=Show only flagged messages MessagePane.toolbar.tooltip.toggleShowStarredOnly=Show only starred messages MessagePane.toolbar.tooltip.update=Update MessagePane.unknownRecipientError.text=Can't reply encrypted, recipients ''{0}'' public key is missing! MessagePane.unknownRecipientError.title=Error MessageUploader.messageToLargeError.text=<html>The data you want to upload is too large (''{0}''), ''{1}'' is allowed.<br>This should never happen, please report this to a Frost developer!</html> MessageUploader.messageToLargeError.title=Message is too large MessageUploadFailedDialog.body=Frost was not able to upload your message. MessageUploadFailedDialog.option.discardMessage=Discard message MessageUploadFailedDialog.option.retry=Retry MessageUploadFailedDialog.option.retryOnNextStartup=Retry on next startup MessageUploadFailedDialog.title=Upload of message failed MessageWindow.board=Board MessageWindow.date=Date MessageWindow.from=From MessageWindow.subject=Subject MessageWindow.to=To MessageWindow.tooltip.reply=Reply NewBoardDialog.add=Add Board NewBoardDialog.description=Description (Optional). Do not put private information here: NewBoardDialog.details=Please enter the details of the new board: NewBoardDialog.name=Name: NewBoardDialog.title=Add a new board Options.boardTree=Board Tree Options.common.days=days Options.common.minutes=minutes Options.common.off=Off Options.common.on=On Options.display.boardTree=Board Tree Options.display.choose=Choose Options.display.confirmMarkAllMsgsRead=Show confirmation dialog for 'Mark all messages read' Options.display.enableAntialiasingForMessageBody=Enable antialiasing for message body Options.display.enableMultilineSelectionsInMessageTable=Enable multiline selections in message table Options.display.fileList=File List Options.display.fontChooser.bold=Bold Options.display.fontChooser.boldItalic=Bold Italic Options.display.fontChooser.italic=Italic Options.display.fontChooser.plain=Plain Options.display.fontChooser.sample=Sample Options.display.fontChooser.title=Choose a Font Options.display.fonts=Fonts Options.display.indicateLowReceivedMessages=Indicate low received messages for identities Options.display.indicateLowReceivedMessagesCountLightRed=Maximum messages for LIGHTRED indicator Options.display.indicateLowReceivedMessagesCountRed=Maximum messages for RED indicator Options.display.messageBody=Message Body Options.display.messageList=Message List Options.display.preventBoardtreeReordering=Prevent board tree reordering Options.display.refreshList=Refresh List Options.display.saveSortStates=Save information about sorted table columns Options.display.showBoardtreeFlaggedStarredIndicators=Show flagged/starred indicators in board tree Options.display.showBoardUpdateCount=Show board update count for session in board tree Options.display.showCollapsedThreads=Show collapsed message threads (default is expanded) Options.display.expandRootChildren=Expand all replies (only root thread is collapsed) Options.display.expandUnreadThreads=Expand unread threads Options.display.doubleClickShowsMessage=Double clicking a message shows it in a new window Options.display.showColoredRows=Show colored rows in tables Options.display.showHorizontalScrollbarInMessageTable=Show horizontal scrollbar in message table Options.display.showTooltipWithBoardDescriptionInBoardTree=Show tooltip with board description in board tree Options.display.sortThreadRootMsgsAscending=Sort message thread root messages ascending (oldest topmost) Options.display=Display Options.downloads.downloadDirectory=Download directory Options.downloads.downloadPriority=Download priority Options.downloads.enforceFrostPriorityFileDownload=Enforce Frosts priority setting (reset external changes) Options.downloads.filechooser.title=Select download directory Options.downloads.logDownloads=Log successful downloads to ''localdata/Frost-Downloads.log'' Options.downloads.maximumNumberOfRetries=Maximum number of retries Options.downloads.numberOfSimultaneousDownloads=Number of simultaneous downloads Options.downloads.waittimeAfterEachTry=Waittime after each try Options.downloads=Downloads Options.downloads.trackDownloads=Warn if a file has already been downloaded previously Options.downloads.downloadExec=Execute program on completion Options.expiration.archiveExpiredMessages=Archive expired messages Options.expiration.cleanupIntervalDays=Cleanup interval Options.expiration.cleanupNextStartup=Cleanup during next startup Options.expiration.deleteExpiredMessages=Delete expired messages from keypool Options.expiration.keepExpiredMessages=Keep expired messages in keypool Options.expiration.keepFlaggedAndStarredMessages=Don't expire flagged and starred messages Options.expiration.keepUnreadMessages=Don't expire unread messages Options.expiration.numberOfDaysBeforeMessageExpires=Number of days before a message expires Options.expiration.offlineFilesMaxDaysOld=Remove files from an owner after days not seen Options.expiration.removeOfflineFilesWithKey=Also delete files from an owner when the file has a CHK key Options.expiration=Expiration Options.junk.hideJunkMessages=Hide JUNK messages Options.junk.invalidSubsequentMessagesThreshold=Subsequent invalid messages threshold Options.junk.markJunkIdentityBad=Mark identity that sent JUNK as BAD (if their current trust state is CHECK) Options.junk.stopBoardUpdatesWhenDosed=Stop a board update when board is target of a DoS attack Options.junk=Junk Options.messages=Messages Options.miscellaneous.automaticSavingInterval=Automatic saving interval Options.miscellaneous.autoSaveLocalIdentities=Automatically backup own identities Options.miscellaneous.compactStoragesDuringNextStartup=Compact storages during next startup Options.miscellaneous.disableSplashscreen=Disable splashscreen Options.miscellaneous.enableLogging=Enable logging Options.miscellaneous.freenetFcpNode=Freenet node you have FCP access to (node:port) Options.miscellaneous.logFileSizeLimit=Log files size limit (in KB) Options.miscellaneous.loggingLevel=Logging level Options.miscellaneous.logLevel.high=High Options.miscellaneous.logLevel.low=Low Options.miscellaneous.logLevel.medium=Medium Options.miscellaneous.logLevel.veryHigh=Very high Options.miscellaneous.logLevel.veryLow=Very low Options.miscellaneous.minimizeToSystray=Always minimize to SysTray Options.miscellaneous.showSysTrayIcon=Show SysTray icon Options.miscellaneous.useDDA.tooltip=If enabled Frost tests if direct disk access is possible for a node Options.miscellaneous.useDDA=Use direct disk access if possible Options.miscellaneous.useEditorForWritingMessages=Use editor for writing messages Options.miscellaneous.usePersistence=Use persistence and global queue for uploads and downloads Options.miscellaneous=Miscellaneous Options.news.1.alwaysDownloadBackload.tooltip=<html>Enabled: each board update downloads the configured days backwards<br>Disabled: the full backward download of X days is only done every 12 hours</html> Options.news.1.alwaysDownloadBackload=Always download all days backward Options.news.1.messageBase=Message base Options.news.1.messageDownloadPriority=Message download priority Options.news.1.messageUploadPriority=Message upload priority Options.news.1.numberOfDaysToDisplay=Number of days to display Options.news.1.numberOfDaysToDownloadBackwards=Number of days to download backwards Options.news.1.storeSentMessages=Save sent messages Options.news.1.useOneConnectionForMessages=Use a single connection for message transfers (requires restart of Frost) Options.news.2.blockMessagesWithBody=Block messages with body containing (separate by ';' ) Options.news.2.blockMessagesWithSubject=Block messages with subject containing (separate by ';' ) Options.news.2.blockMessagesWithTheseBoards=Block messages with these attached boards (separate by ';' ) Options.news.2.dontAddBoardsFromTrustStates=Don't add boards to known boards list from users with trust states Options.news.2.hideMessagesWithTrustStates=Hide messages with trust states Options.news.2.hideMessageCount=Hide messages from identities with fewer than X received messages (0 disables) Options.news.2.hideMessageCountExcludePrivate=Always show private messages Options.news.2.trustState.bad=Bad Options.news.2.trustState.check=Check Options.news.2.trustState.none=None (unsigned) Options.news.2.trustState.observe=Observe Options.news.3.acceptSignatureFormatV1=Accept old signature format (disable for spam prevention) Options.news.3.automaticBoardUpdate=Automatic board update Options.news.3.backgroundColorIfUpdatingBoardIsNotSelected=Background color if updating board is not selected Options.news.3.backgroundColorIfUpdatingBoardIsSelected=Background color if updating board is selected Options.news.3.choose=Choose Options.news.3.color=Color Options.news.3.colorChooserDialog.title.chooseUpdatingColorOfSelectedBoards=Choose updating color of SELECTED boards Options.news.3.colorChooserDialog.title.chooseUpdatingColorOfUnselectedBoards=Choose updating color of NON-SELECTED boards Options.news.3.dontHandleOwnMessagesAsNew=Don't show received messages from ME as new Options.news.3.dontShowOwnMessagesAsMe=Don't show own messages as ME Options.news.3.minimumUpdateInterval=Minimum update interval of a board Options.news.3.numberOfConcurrentlyUpdatingBoards=Number of concurrently updating boards Options.news.3.showBoardUpdateVisualization=Show board update visualization Options.news.3.showDeletedMessages=Show deleted messages Options.news.3.silentlyRetryFailedMessages=Silently retry failed message uploads Options.news=News Options.search.archiveExtension=Archive Extension Options.search.audioExtension=Audio Extension Options.search.disableFilesharing=Disable filesharing Options.search.documentExtension=Document Extension Options.search.executableExtension=Executable Extension Options.search.imageExtension=Image Extension Options.search.maximumSearchResults=Maximum search results Options.search.rememberSharedFileDownloaded=Remember if a shared file was downloaded Options.search.resetHiddenFiles=Reset hidden files status Options.search.videoExtension=Video Extension Options.search.confirmResetHiddenFiles.title=Show all hidden files again? Options.search.confirmResetHiddenFiles.body=Do you really want to reset the hidden state of the search files? Options.search=Search Options.title=Options Options.uploads.enforceFrostPriorityFileUpload=Enforce Frosts priority setting (reset external changes) Options.uploads.logUploads=Log manually added successful uploads to ''localdata/Frost-Uploads.log'' Options.uploads.maximumNumberOfRetries=Maximum number of retries Options.uploads.numberOfSimultaneousUploads=Number of simultaneous uploads Options.uploads.uploadPriority=Upload priority Options.uploads.waittimeAfterEachTry=Waittime after each try Options.uploads=Uploads Options.uploads.removeNotExistingFiles=Periodically check for and remove non-existent/changed files in upload table Options.uploads.uploadExec=Execute program on completion Saver.AutoTask.message=Frost found an error while saving a resource and it will close itself. Saver.AutoTask.title=Problem found. SearchMessages.archive.searchInKeypoolAndArchive=Search in keypool and archive SearchMessages.archive.searchOnlyInArchive=Search only in archive SearchMessages.archive.searchOnlyInKeypool=Search only in keypool SearchMessages.archive=Archive SearchMessages.attachments.messageMustContainBoardAttachments=Message must contain board attachments SearchMessages.attachments.messageMustContainFileAttachments=Message must contain file attachments SearchMessages.attachments=Attachments SearchMessages.boards.chooseBoards=Choose boards SearchMessages.boards.searchFollowingBoards=Search following boards SearchMessages.boards.searchInDisplayedBoards=Search in displayed boards SearchMessages.boards=Boards SearchMessages.button.close=Close SearchMessages.button.help=Help SearchMessages.button.openMessage=Open message SearchMessages.button.search=Search SearchMessages.button.stopSearch=Stop search SearchMessages.date.searchAllDates=Search all dates SearchMessages.date.searchBetweenDates=Search between dates SearchMessages.date.searchInMessagesThatWouldBeDisplayed=Search in messages that would be displayed SearchMessages.date.searchNumberOfDaysBackward=Search number of days backward SearchMessages.date.to=to SearchMessages.date=Date SearchMessages.errorDialog.stopSearchBeforeClose=Please stop the search before closing the window. SearchMessages.errorDialogs.invalidStartOrEndDate=Invalid start date or end date specified. SearchMessages.errorDialogs.noBoardsChosen=No boards to search into were chosen. SearchMessages.errorDialogs.noBoardsToChoose=There are no boards that could be choosed. SearchMessages.errorDialogs.noTrustStateSelected=No trust state is selected. SearchMessages.errorDialogs.startDateIsAfterEndDate=Start date is after end date. SearchMessages.errorDialogs.title=Error SearchMessages.label.results=Results SearchMessages.label.searchResult=Search result SearchMessages.resultTable.board=Board SearchMessages.resultTable.date=Date SearchMessages.resultTable.from=From SearchMessages.resultTable.index=Index SearchMessages.resultTable.sig=Sig SearchMessages.resultTable.subject=Subject SearchMessages.search.content=Content SearchMessages.search.searchFlaggedMessagesOnly=Flagged messages SearchMessages.search.searchPrivateMessagesOnly=Private messages SearchMessages.search.searchRepliedMessagesOnly=Replied messages SearchMessages.search.searchStarredMessagesOnly=Starred messages SearchMessages.search.sender=Sender SearchMessages.search.subject=Subject SearchMessages.search.tooltip.caseSensitiv=Check to enable case sensitive search SearchMessages.search=Search SearchMessages.title=Search messages SearchMessages.trustState.bad=Bad SearchMessages.trustState.check=Check SearchMessages.trustState.good=Good SearchMessages.trustState.none=None (unsigned) SearchMessages.trustState.observe=Observe SearchMessages.trustState.searchAllMessages=Search all messages, no matter which trust state is set SearchMessages.trustState.searchInMessagesThatWouldBeDisplayed=Search in messages that would be displayed SearchMessages.trustState.searchOnlyInMessagesWithFollowingTrustState=Search only in messages with following trust state SearchMessages.trustState.tampered=Tampered SearchMessages.trustState=Trust state SearchPane.fileTypes.allFiles=All files SearchPane.fileTypes.archives=Archives SearchPane.fileTypes.audio=Audio SearchPane.fileTypes.documents=Documents SearchPane.fileTypes.executables=Executables SearchPane.fileTypes.images=Images SearchPane.fileTypes.video=Video SearchPane.resultTable.comment=Comment SearchPane.resultTable.filename=Filename SearchPane.resultTable.keywords=Keywords SearchPane.resultTable.lastReceived=Last seen SearchPane.resultTable.lastUploaded=Last uploaded SearchPane.resultTable.popupmenu.downloadAllKeys=Download all keys SearchPane.resultTable.popupmenu.downloadSelectedKeys=Download selected keys SearchPane.resultTable.popupmenu.hideSelectedKeys=Hide selected keys SearchPane.resultTable.rating=Rating SearchPane.resultTable.size=Size SearchPane.resultTable.sources.tooltip=<html>Sources for this file. An icon indicates that multiple owners provided additional informations.<br>Doubleclick in this column to show the details.</html> SearchPane.resultTable.sources=Sources SearchPane.resultTable.state=State SearchPane.resultTable.states.downloaded=Downloaded SearchPane.resultTable.states.downloading=Downloading SearchPane.resultTable.states.offline=Offline SearchPane.resultTable.states.sharing=Sharing SearchPane.toolbar.comment=Comment SearchPane.toolbar.keywords=Keywords SearchPane.toolbar.name=Name SearchPane.toolbar.owner=Owner SearchPane.toolbar.searchOptions.hideFilesFromPeopleMarkedBad=Hide files from people marked BAD SearchPane.toolbar.searchOptions.hideFilesFromPeopleMarkedCheck=Hide files from people marked CHECK SearchPane.toolbar.searchOptions.hideFilesFromPeopleMarkedObserve=Hide files from people marked OBSERVE SearchPane.toolbar.searchOptions.hideFilesWithoutChk=Hide files without CHK key SearchPane.toolbar.searchOptionsButton=Options SearchPane.toolbar.tooltip.clear=Clear textfields SearchPane.toolbar.tooltip.search=Search SearchPane.toolbar.tooltip.toggleMode=Toggle between simple and advanced search mode SentMessages.confirmDeleteMessagesDialog.text=Do you want to permanently delete the {0} selected sent messages? SentMessages.confirmDeleteMessagesDialog.title=Confirm delete SentMessages.confirmDeleteOneMessageDialog.text=Do you want to permanently delete the selected sent message? SentMessages.confirmDeleteOneMessageDialog.title=Confirm delete SentMessages.folderName=Sent SentMessages.label=Sent messages SentMessages.table.board=Board SentMessages.table.date=Date SentMessages.table.from=From SentMessages.table.popup.deleteMessage=Delete SentMessages.table.subject=Subject SentMessages.table.to=To SharedFilesOwnerDialog.askForIdentity=Choose the owner identity for the new shared files SharedFilesOwnerDialog.askIfToReplace=If file with same checksum does already exist SharedFilesOwnerDialog.ignoreNewFile=Ignore the new file SharedFilesOwnerDialog.replaceExistingFilePath=Set the file path to the path of the new file (owner is NOT changed!) SharedFilesOwnerDialog.title=Choose an owner for the upload files SharedFilesPane.filechooser.title=Select files to share SharedFilesPane.fileTable.comment=Comment SharedFilesPane.fileTable.filename=Filename SharedFilesPane.fileTable.key=Key SharedFilesPane.fileTable.keywords=Keywords SharedFilesPane.fileTable.lastRequest=Last Request SharedFilesPane.fileTable.lastShared=Last shared SharedFilesPane.fileTable.lastUpload=Last upload SharedFilesPane.fileTable.owner=Owner SharedFilesPane.fileTable.path=Path SharedFilesPane.fileTable.popupmenu.removeSelectedFiles=Remove selected files SharedFilesPane.fileTable.popupmenu.uploadSelectedFiles=Upload selected files SharedFilesPane.fileTable.rating=Rating SharedFilesPane.fileTable.requestCount=Requests SharedFilesPane.fileTable.size=Size SharedFilesPane.fileTable.state.never=Never SharedFilesPane.fileTable.state.unknown=Unknown SharedFilesPane.fileTable.uploadCount=Uploads SharedFilesPane.sizeChangedErrorDialog.text=The size of the choosed file is not the same as the size of the shared file. SharedFilesPane.sizeChangedErrorDialog.title=Invalid file SharedFilesPane.toolbar.files=Files SharedFilesPane.toolbar.tooltip.browse=Add files to share SmileyChooserDialog.title=Choose a smiley Splashscreen.message.1=Initializing Mainframe.. Splashscreen.message.2=Leaving the gun.. Splashscreen.message.3=Taking the cannoli.. Splashscreen.message.4=Following the white rabbit.. Splashscreen.message.5=Engage! StartupMessage.sharedFile.sharedFileLastModifiedChanged.text=<html>Shared file is invalid, remove or reshare the file.<br>Last modified date of shared file changed: {0}</html> StartupMessage.sharedFile.sharedFileLastModifiedChanged.title=Invalid shared file StartupMessage.sharedFile.sharedFileNotFound.text=<html>Shared file could not be located, remove or reshare the file.<br>Shared file not found: {0}</html> StartupMessage.sharedFile.sharedFileNotFound.title=Invalid shared file StartupMessage.sharedFile.sharedFileSizeChanged.text=<html>Shared file is invalid, remove or reshare the file.<br>Size of shared file changed: {0}</html> StartupMessage.sharedFile.sharedFileSizeChanged.title=Invalid shared file StartupMessage.uploadFile.boardsWithObsoleteKeysFound.text=<html>The board ''{0}'' has set an invalid public key whose encryption is not longer supported.<br>Remove the board or set a new public key.</html> StartupMessage.uploadFile.boardsWithObsoleteKeysFound.title=Board has invalid public key StartupMessage.uploadFile.uploadFileNotFound.text=<html>Upload file is invalid and was removed.<br>Upload file not found: {0}</html> StartupMessage.uploadFile.uploadFileNotFound.title=Invalid upload file StartupMessage.uploadFile.uploadFileSizeChanged.text=<html>Upload file is invalid and was removed.<br>Size of upload file changed: {0}</html> StartupMessage.uploadFile.uploadFileSizeChanged.title=Invalid upload file StatisticsDialog.button.close=Close StatisticsDialog.label.archivedMessages=Archived messages StatisticsDialog.label.files=Files StatisticsDialog.label.fileSizes=File sizes StatisticsDialog.label.identities=Identities StatisticsDialog.label.messages=Messages StatisticsDialog.label.sharers=Sharers StatisticsDialog.title=Statistics TargetFolderChooser.title=Choose a target folder TOF.markAllReadConfirmation.board.content=Do you want to mark all messages in board ''{0}'' read? TOF.markAllReadConfirmation.board.title=Mark all messages read TOF.markAllReadConfirmation.folder.content=Do you want to mark all messages in all boards below folder ''{0}'' read? TOF.markAllReadConfirmation.folder.title=Mark all messages read UnsentMessages.confirmDeleteMessagesDialog.text=Do you want to permanently delete the {0} selected unsent messages? UnsentMessages.confirmDeleteMessagesDialog.title=Confirm delete UnsentMessages.confirmDeleteOneMessageDialog.text=Do you want to permanently delete the selected unsent message? UnsentMessages.confirmDeleteOneMessageDialog.title=Confirm delete UnsentMessages.deleteNotPossibleDialog.text=The message is currently uploading and cannot be deleted. UnsentMessages.deleteNotPossibleDialog.title=Message upload already started UnsentMessages.disableMessageUpload=Disable message upload UnsentMessages.folderName=Outbox UnsentMessages.label=Unsent messages UnsentMessages.table.board=Board UnsentMessages.table.from=From UnsentMessages.table.popup.deleteMessage=Delete UnsentMessages.table.state=State UnsentMessages.table.stateUploading=Uploading UnsentMessages.table.stateWaiting=Waiting UnsentMessages.table.subject=Subject UnsentMessages.table.timeAdded=Added UnsentMessages.table.to=To UploadPane.filechooser.title=Select files to upload UploadPane.fileTable.blocks=Blocks UploadPane.fileTable.enabled=Enabled UploadPane.fileTable.filename=Filename UploadPane.fileTable.key=Key UploadPane.fileTable.path=Path UploadPane.fileTable.popupmenu.enableUploads.disableAllUploads=Disable all uploads UploadPane.fileTable.popupmenu.enableUploads.disableSelectedUploads=Disable selected uploads UploadPane.fileTable.popupmenu.enableUploads.enableAllUploads=Enable all uploads UploadPane.fileTable.popupmenu.enableUploads.enableSelectedUploads=Enable selected uploads UploadPane.fileTable.popupmenu.enableUploads.invertEnabledStateForAllUploads=Invert enabled state for all uploads UploadPane.fileTable.popupmenu.enableUploads.invertEnabledStateForSelectedUploads=Invert enabled state for selected uploads UploadPane.fileTable.popupmenu.enableUploads=Enable uploads UploadPane.fileTable.popupmenu.remove.removeSelectedFiles=Remove selected files UploadPane.fileTable.popupmenu.remove=Remove UploadPane.fileTable.popupmenu.removeFromGlobalQueue=Remove from global queue UploadPane.fileTable.popupmenu.showSharedFile=Jump to shared file UploadPane.fileTable.popupmenu.startEncodingOfSelectedFiles=Start encoding of selected files UploadPane.fileTable.popupmenu.startSelectedUploadsNow=Start selected uploads immediately UploadPane.fileTable.popupmenu.uploadSelectedFiles=Upload selected files UploadPane.fileTable.priority=Priority UploadPane.fileTable.shared.tooltip=An icon indicates a shared file. UploadPane.fileTable.shared=Shared file UploadPane.fileTable.size=Size UploadPane.fileTable.state.done=Done UploadPane.fileTable.state.encodeRequested=Encode requested UploadPane.fileTable.state.encodingFile=Encoding file UploadPane.fileTable.state.failed=Failed UploadPane.fileTable.state.unknown=Unknown UploadPane.fileTable.state.uploading=Uploading UploadPane.fileTable.state.waiting=Waiting UploadPane.fileTable.state=State UploadPane.fileTable.tries=Tries UploadPane.invalidUploadFilesRemoved.text=One or more upload files were not found or its size changed. The files are removed from upload table. UploadPane.invalidUploadFilesRemoved.title=Invalid upload files UploadPane.removeFinishedUploads=Remove finished UploadPane.showExternalGlobalQueueItems=Show global queue UploadPane.toolbar.tooltip.browse=Add files to upload UploadPane.toolbar.waiting=Waiting --------------090109000703040209010008 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev --------------090109000703040209010008 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Jtcfrost-devl mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jtcfrost-devl --------------090109000703040209010008--