mirror of
https://github.com/chylex/Nextcloud-Desktop.git
synced 2026-04-03 09:11:33 +02:00
Compare commits
8988 Commits
csync-0.50
...
v2.2.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eaeed08544 | ||
|
|
f1e2e42d99 | ||
|
|
3e1690ff7a | ||
|
|
826a675f32 | ||
|
|
323ebf9bf2 | ||
|
|
e4bf3ec19a | ||
|
|
f2721aff1d | ||
|
|
29bd8658bb | ||
|
|
8b9ca63eeb | ||
|
|
6f1b03c560 | ||
|
|
3bd3ffb8e2 | ||
|
|
a810d69daa | ||
|
|
8496817db2 | ||
|
|
3d06f4b7c9 | ||
|
|
b228488eb7 | ||
|
|
907918dca3 | ||
|
|
5ffaf3a90f | ||
|
|
1040e7b57b | ||
|
|
65c49e1de6 | ||
|
|
4abaee7736 | ||
|
|
3cdcd8dea0 | ||
|
|
cb19ebc9e3 | ||
|
|
37adaa7872 | ||
|
|
9d93afb2a1 | ||
|
|
7c24ed769e | ||
|
|
65110f7a91 | ||
|
|
c33abd468d | ||
|
|
584b205bd5 | ||
|
|
b75f50d62c | ||
|
|
14457e93e6 | ||
|
|
9c0ecad420 | ||
|
|
85b5fdb3d3 | ||
|
|
f2c6669224 | ||
|
|
d8f9bf3a0b | ||
|
|
d5fa8faa91 | ||
|
|
d1a1b95926 | ||
|
|
ee2a67e332 | ||
|
|
7362575d64 | ||
|
|
6a9b6c1167 | ||
|
|
8e00fd66de | ||
|
|
ef035ea7f9 | ||
|
|
77b5c5e963 | ||
|
|
687549c455 | ||
|
|
677c34fbf8 | ||
|
|
465639af82 | ||
|
|
583f9586aa | ||
|
|
573d942969 | ||
|
|
02df088843 | ||
|
|
cd9335e043 | ||
|
|
20531e57a8 | ||
|
|
e2e16aeaaa | ||
|
|
a46a69f250 | ||
|
|
3187a22300 | ||
|
|
9626021a63 | ||
|
|
b72a19ad64 | ||
|
|
2ae37c6beb | ||
|
|
f8f376ac03 | ||
|
|
632d231435 | ||
|
|
fc868d89f3 | ||
|
|
5a57e4a7a6 | ||
|
|
70a1671dc1 | ||
|
|
7de70516f1 | ||
|
|
50bd4b8f4f | ||
|
|
4a7f3cb486 | ||
|
|
b7663d00b9 | ||
|
|
b307f2b65c | ||
|
|
6c94d56b53 | ||
|
|
c51a80bffa | ||
|
|
87f4f70abb | ||
|
|
19a52b9e6b | ||
|
|
4ea70ebd18 | ||
|
|
b9a6970282 | ||
|
|
a58ef9c586 | ||
|
|
cef24da44c | ||
|
|
23c7f10b79 | ||
|
|
9e514d6cc7 | ||
|
|
4d109e43fa | ||
|
|
b575ded464 | ||
|
|
03a90bf03f | ||
|
|
ff7b2381e9 | ||
|
|
24cd8041a8 | ||
|
|
3eaadfe52f | ||
|
|
ebcec44202 | ||
|
|
7b0b7fde51 | ||
|
|
fa9ec12ae7 | ||
|
|
54aa4dce46 | ||
|
|
7c19f748b7 | ||
|
|
5aa82944a4 | ||
|
|
0d9cf26890 | ||
|
|
a4837e9291 | ||
|
|
5672557a84 | ||
|
|
0b31f2601d | ||
|
|
a5850d4515 | ||
|
|
c39eb315dd | ||
|
|
6c8e88e2ed | ||
|
|
eeea255104 | ||
|
|
8e2af57b57 | ||
|
|
f3f387c36b | ||
|
|
b53ce78eb6 | ||
|
|
bc4753e938 | ||
|
|
aefbca0787 | ||
|
|
653b42216f | ||
|
|
3ec9cd1d9e | ||
|
|
20d0c835b6 | ||
|
|
3335c733d7 | ||
|
|
4da55b69df | ||
|
|
b7085987b8 | ||
|
|
a1b44cd82a | ||
|
|
11b44358f6 | ||
|
|
651cc25e3f | ||
|
|
a338b9f269 | ||
|
|
81ff4e02c5 | ||
|
|
8a1a2eb5b3 | ||
|
|
0c646b974f | ||
|
|
e661bf2324 | ||
|
|
2abb5c95bb | ||
|
|
c3ef1a996f | ||
|
|
7a2a439426 | ||
|
|
ce26afb262 | ||
|
|
56e1737c61 | ||
|
|
dff57362f9 | ||
|
|
05a7c18635 | ||
|
|
3a77074b97 | ||
|
|
446e7cbd93 | ||
|
|
b4d26ba952 | ||
|
|
622017adcf | ||
|
|
088a4f0bbe | ||
|
|
ba96fb89a5 | ||
|
|
70ae11fcad | ||
|
|
86fd982b00 | ||
|
|
bdb304f8ec | ||
|
|
001075daf0 | ||
|
|
2a98aa7130 | ||
|
|
9904fb200e | ||
|
|
6822ae5bec | ||
|
|
440a804836 | ||
|
|
9b66dd7166 | ||
|
|
7601783553 | ||
|
|
c0b0bd5b63 | ||
|
|
28d86cee17 | ||
|
|
32bb8295a2 | ||
|
|
5d71ad83ec | ||
|
|
ab24980001 | ||
|
|
07dea72c37 | ||
|
|
a734be347b | ||
|
|
1443ddc7c9 | ||
|
|
191177ff22 | ||
|
|
43a2aec92b | ||
|
|
c848097c6b | ||
|
|
096e2cf233 | ||
|
|
7181aedb4b | ||
|
|
edfd75949d | ||
|
|
7fb134b4e0 | ||
|
|
87e3553c85 | ||
|
|
6f3aaecb78 | ||
|
|
40e3653722 | ||
|
|
5a4f50a0ff | ||
|
|
3342ebfcc5 | ||
|
|
b4900d60b7 | ||
|
|
92309013da | ||
|
|
4895589e4d | ||
|
|
05d199881e | ||
|
|
147cf798a6 | ||
|
|
d40c56eda5 | ||
|
|
6dade0b114 | ||
|
|
5de44407bf | ||
|
|
2df741e456 | ||
|
|
8b5f71f49e | ||
|
|
77791ccb34 | ||
|
|
a6e4f9939c | ||
|
|
523cdff1cf | ||
|
|
c4d6277ce3 | ||
|
|
70196eb48c | ||
|
|
9b249716a3 | ||
|
|
a4b46db91e | ||
|
|
ebc44fa494 | ||
|
|
355a8a0a27 | ||
|
|
ab050f9093 | ||
|
|
bf9cffe4b3 | ||
|
|
43f727cf69 | ||
|
|
256331fbaa | ||
|
|
32e6585ae6 | ||
|
|
d072e4a678 | ||
|
|
b99c8fe28b | ||
|
|
5a3120bd52 | ||
|
|
9ea69be6ab | ||
|
|
801cb42d57 | ||
|
|
51f8a59a9a | ||
|
|
ebbe5acf2b | ||
|
|
6ccd9e872d | ||
|
|
da69756bb0 | ||
|
|
1787da8a9d | ||
|
|
f0f82d02ff | ||
|
|
ff20cd4d57 | ||
|
|
9ab812f89b | ||
|
|
de82d8fcdb | ||
|
|
af2b712dc6 | ||
|
|
a507558dee | ||
|
|
e73c3199c0 | ||
|
|
d88ab4653b | ||
|
|
9a2450c4c1 | ||
|
|
3c1f5e662f | ||
|
|
100ee69ddd | ||
|
|
d45d6ca9da | ||
|
|
2608c7007e | ||
|
|
06a88ea9a4 | ||
|
|
0194ebb222 | ||
|
|
dc654ac846 | ||
|
|
370fd5062c | ||
|
|
00d20b4a42 | ||
|
|
a2b238e2e5 | ||
|
|
0e2c16e827 | ||
|
|
b9fdae6d67 | ||
|
|
c34115610e | ||
|
|
275ad1e157 | ||
|
|
1855950fa1 | ||
|
|
fff5c280b3 | ||
|
|
e960b265a8 | ||
|
|
f6b35e5d58 | ||
|
|
1d93af5f64 | ||
|
|
75efa8b252 | ||
|
|
009a0b03da | ||
|
|
8379a36a75 | ||
|
|
2f1a40ff7c | ||
|
|
c041ca6163 | ||
|
|
eacc0c8bd6 | ||
|
|
171de99e00 | ||
|
|
bf02ccc1e8 | ||
|
|
7ba961c21a | ||
|
|
cb7be78352 | ||
|
|
6cb194e0d5 | ||
|
|
552ba94c41 | ||
|
|
fc1933803e | ||
|
|
46e4ec3183 | ||
|
|
03e3b3bf50 | ||
|
|
9aed8dbce8 | ||
|
|
c6794cd338 | ||
|
|
65ec1b74d5 | ||
|
|
1a3c9a9c1a | ||
|
|
a038c99232 | ||
|
|
30c8fa1c93 | ||
|
|
010649f997 | ||
|
|
597f2a4dfc | ||
|
|
cf1fe690a3 | ||
|
|
31b27bea38 | ||
|
|
04f99f3bd7 | ||
|
|
fbf92ac239 | ||
|
|
669a72f0e1 | ||
|
|
2f0e65d37c | ||
|
|
5676685f58 | ||
|
|
db9ccb40a4 | ||
|
|
d4c15d2c38 | ||
|
|
edb3759684 | ||
|
|
0f9c32452c | ||
|
|
45dd1d0acf | ||
|
|
552af7b94d | ||
|
|
8934979ba1 | ||
|
|
b3e16e0eb0 | ||
|
|
7773380deb | ||
|
|
e22050a434 | ||
|
|
7b0231bfce | ||
|
|
edc58c045f | ||
|
|
035058934f | ||
|
|
9b1f46e560 | ||
|
|
9e7a8e619b | ||
|
|
9c0cd2b13e | ||
|
|
58ad781bd4 | ||
|
|
9d6701ecbe | ||
|
|
d659c54798 | ||
|
|
0e9170cb36 | ||
|
|
8820bc1c17 | ||
|
|
74f67c97a9 | ||
|
|
fd96b482c5 | ||
|
|
727e73d640 | ||
|
|
d7804d8df3 | ||
|
|
3d9d106bb1 | ||
|
|
15dc3408ef | ||
|
|
928643f597 | ||
|
|
7110091fdd | ||
|
|
064c2b678a | ||
|
|
e58739de00 | ||
|
|
7c2fdee78b | ||
|
|
7bfe46962f | ||
|
|
32b3023a8e | ||
|
|
a5df44c757 | ||
|
|
641125eac1 | ||
|
|
d340017a0a | ||
|
|
a67173610d | ||
|
|
e833d01288 | ||
|
|
3047682223 | ||
|
|
c91dd94728 | ||
|
|
52f9f44b51 | ||
|
|
49748191a9 | ||
|
|
e6b937f508 | ||
|
|
31c13f74fb | ||
|
|
be466b47b7 | ||
|
|
11b144957b | ||
|
|
817e97c148 | ||
|
|
29932004ae | ||
|
|
6d83e841a9 | ||
|
|
b43a9421d2 | ||
|
|
e70b78d14b | ||
|
|
6814342d1f | ||
|
|
68126dcff6 | ||
|
|
e7f00339e6 | ||
|
|
a36b4ec863 | ||
|
|
074f8eadb1 | ||
|
|
6a51ae5b1b | ||
|
|
af5f2d3860 | ||
|
|
38bad564a0 | ||
|
|
c2fa3fb4c8 | ||
|
|
f7082ee3df | ||
|
|
f7c6efb391 | ||
|
|
051a348afd | ||
|
|
d0af3ede05 | ||
|
|
0da2adcbe0 | ||
|
|
07bdd519e9 | ||
|
|
0829a94c92 | ||
|
|
faf2514be2 | ||
|
|
4ea2edcf4a | ||
|
|
cd29875b76 | ||
|
|
85bc3b276f | ||
|
|
ce5ca8a42e | ||
|
|
ce6a365328 | ||
|
|
09eea7f5f2 | ||
|
|
043350f49d | ||
|
|
f657bd0cd9 | ||
|
|
b4cf17d99d | ||
|
|
12bf6e39b7 | ||
|
|
4e7c09de83 | ||
|
|
31f2c3e76a | ||
|
|
64b6486327 | ||
|
|
335e333e28 | ||
|
|
41eb5f0a3f | ||
|
|
030184fad9 | ||
|
|
7d285d0225 | ||
|
|
d3a93322d2 | ||
|
|
8694db1c49 | ||
|
|
19eca84d4f | ||
|
|
665c3f40e1 | ||
|
|
f8f394eb0a | ||
|
|
0711abbf56 | ||
|
|
84ac2e64e0 | ||
|
|
57f0603e0e | ||
|
|
b61ae351dd | ||
|
|
277a1cfb5a | ||
|
|
6ba7c6e2d3 | ||
|
|
055c2ef73f | ||
|
|
e5a5b95b9a | ||
|
|
7acdf50a2c | ||
|
|
361ebf5464 | ||
|
|
7a82fac0d5 | ||
|
|
8b39c6e6ce | ||
|
|
e29d7e0128 | ||
|
|
dbcb94e7d4 | ||
|
|
522f7afa9e | ||
|
|
fa69d089cf | ||
|
|
1935c78f17 | ||
|
|
b56919d0c4 | ||
|
|
f72c7f43bf | ||
|
|
add29befee | ||
|
|
f9fb7a59dd | ||
|
|
1a51b6718a | ||
|
|
a3a9417630 | ||
|
|
53a72148d3 | ||
|
|
c379593c0f | ||
|
|
bd37eab3ad | ||
|
|
edb942ba61 | ||
|
|
a17f37d8ae | ||
|
|
33459b48c8 | ||
|
|
598941948c | ||
|
|
038b7db606 | ||
|
|
9f30e83413 | ||
|
|
2ab4caf007 | ||
|
|
11d3aa3c4f | ||
|
|
93ad61aeef | ||
|
|
6a36d1b4fb | ||
|
|
c0ec481436 | ||
|
|
df0833d7f9 | ||
|
|
6a9655aab6 | ||
|
|
0f3d6d4160 | ||
|
|
c4577cb2a1 | ||
|
|
fafca26144 | ||
|
|
06c19b0b6f | ||
|
|
d1649ce4df | ||
|
|
ea40e314d4 | ||
|
|
e2622310df | ||
|
|
4ad8e04bc3 | ||
|
|
74301e4373 | ||
|
|
053dcbf1f5 | ||
|
|
700c7bcbc6 | ||
|
|
bc6c57aa0b | ||
|
|
a0521caf52 | ||
|
|
8007331462 | ||
|
|
12330b38e9 | ||
|
|
8eb53fa9ae | ||
|
|
dfd7d4d2f9 | ||
|
|
484a2c800d | ||
|
|
8d300b049f | ||
|
|
48e594ebbf | ||
|
|
910c61b492 | ||
|
|
8155c1c426 | ||
|
|
97a6d3df82 | ||
|
|
f7aafb081f | ||
|
|
9cc981c8c7 | ||
|
|
ed3203d25d | ||
|
|
a4f606ceab | ||
|
|
15988c6fda | ||
|
|
f443377978 | ||
|
|
fdcdddca16 | ||
|
|
bf99306a53 | ||
|
|
844777d43f | ||
|
|
4f79f1b5e8 | ||
|
|
6f454feb39 | ||
|
|
68b7437afb | ||
|
|
41b950b7e6 | ||
|
|
2d08754f91 | ||
|
|
868edb1f0d | ||
|
|
aaf43bd0d3 | ||
|
|
d5f1d1c6b2 | ||
|
|
6cb94e8849 | ||
|
|
d433c24186 | ||
|
|
c48b5c4f61 | ||
|
|
976f4dfabe | ||
|
|
f8dc263338 | ||
|
|
e896d16f32 | ||
|
|
2ec642aadb | ||
|
|
bd3a079a7b | ||
|
|
6ee7e82913 | ||
|
|
648328fbe2 | ||
|
|
ee58cc3b66 | ||
|
|
74a75f6399 | ||
|
|
a0baca25ff | ||
|
|
4b5c9c5ee5 | ||
|
|
4ce97633cd | ||
|
|
f1732d66d6 | ||
|
|
329f512a40 | ||
|
|
c64720eac5 | ||
|
|
8f7b833c12 | ||
|
|
48bfcde97d | ||
|
|
42439490cc | ||
|
|
4dd8d61e4e | ||
|
|
271bea39ff | ||
|
|
a0827c5ef2 | ||
|
|
058cd33324 | ||
|
|
e4604b406f | ||
|
|
7b1f02fcda | ||
|
|
52a5234122 | ||
|
|
4e17dabcb6 | ||
|
|
15bdb7be64 | ||
|
|
9bdc84c6f4 | ||
|
|
252aea25da | ||
|
|
efb0faa14e | ||
|
|
5b40921587 | ||
|
|
7994b3d91a | ||
|
|
65e740301a | ||
|
|
f495daf1cf | ||
|
|
3334067d9f | ||
|
|
73e2a503d7 | ||
|
|
bc6eebddf4 | ||
|
|
434d16941b | ||
|
|
6b0d535120 | ||
|
|
8b3ea7aa97 | ||
|
|
84ad0d234e | ||
|
|
87e4370bf4 | ||
|
|
fa1bb309ca | ||
|
|
e05819370b | ||
|
|
d65808b1e1 | ||
|
|
a115f4b9d0 | ||
|
|
9ea191f63d | ||
|
|
17c645ce43 | ||
|
|
f427955512 | ||
|
|
dd8b0c3e4a | ||
|
|
6c283c7a48 | ||
|
|
c150350096 | ||
|
|
c35e74d264 | ||
|
|
cdbc25ede8 | ||
|
|
a0260c29c0 | ||
|
|
2c0caf8b75 | ||
|
|
56064c9366 | ||
|
|
98995f45e6 | ||
|
|
5636dc1386 | ||
|
|
127291e35d | ||
|
|
885f8b382f | ||
|
|
8166c52f4a | ||
|
|
ef57d4ae11 | ||
|
|
fbf23b6abb | ||
|
|
47a552f8c2 | ||
|
|
cd3f612857 | ||
|
|
2e30a0e5bc | ||
|
|
9f438cb768 | ||
|
|
cacb751ab8 | ||
|
|
4d59f5ec66 | ||
|
|
69e8e15884 | ||
|
|
1730569f77 | ||
|
|
98091aeab7 | ||
|
|
c5fbde412c | ||
|
|
10a7128d1a | ||
|
|
41f43feecf | ||
|
|
4915bbf8f3 | ||
|
|
ffbd5df25f | ||
|
|
82190eaa81 | ||
|
|
69aa39f1f6 | ||
|
|
ea5e6d367b | ||
|
|
da7b9916e5 | ||
|
|
dac4bd8370 | ||
|
|
6e16e34799 | ||
|
|
6d3fe9d865 | ||
|
|
c090a511fd | ||
|
|
a4e0899af4 | ||
|
|
2d2c7bc9b8 | ||
|
|
df386b64ba | ||
|
|
80bd86a305 | ||
|
|
d55c31d93b | ||
|
|
68cbaf1bd6 | ||
|
|
6867c2ffb3 | ||
|
|
ecb34f60f2 | ||
|
|
5989a07339 | ||
|
|
7730e826b0 | ||
|
|
2d24585a8f | ||
|
|
84a6d1e920 | ||
|
|
05fae8ee7f | ||
|
|
1fe5d6bb0c | ||
|
|
0c944a06f9 | ||
|
|
1bb3a4a45d | ||
|
|
161d21904a | ||
|
|
ea2f19b78a | ||
|
|
f70c6282ca | ||
|
|
ad60e8ac89 | ||
|
|
d03fcc95e4 | ||
|
|
588646f7a2 | ||
|
|
fb75adcd57 | ||
|
|
d407aacc4a | ||
|
|
02a69d5487 | ||
|
|
57acde758b | ||
|
|
f587f35ef0 | ||
|
|
8c00d5e1ee | ||
|
|
f02148e8ca | ||
|
|
476d628c01 | ||
|
|
c55ac504a3 | ||
|
|
6735126c09 | ||
|
|
b9663456d8 | ||
|
|
cabeeba7c5 | ||
|
|
6c517638d0 | ||
|
|
0e1b9a346d | ||
|
|
03db1894d8 | ||
|
|
ff4cdc3161 | ||
|
|
0febe9b0df | ||
|
|
ceb4a23dab | ||
|
|
7f22a07312 | ||
|
|
328d254f7f | ||
|
|
15f6e133a5 | ||
|
|
0a590b7cbe | ||
|
|
f04895a407 | ||
|
|
41b43bf961 | ||
|
|
05de710b67 | ||
|
|
f71fdab997 | ||
|
|
6d8e570420 | ||
|
|
d7bd1300a8 | ||
|
|
2bba68e059 | ||
|
|
4b19cdeca0 | ||
|
|
3d157cbb02 | ||
|
|
80b5f3f43d | ||
|
|
254361cb87 | ||
|
|
f7f412007e | ||
|
|
45c32ec0b1 | ||
|
|
97e323ac3a | ||
|
|
04faee4a0f | ||
|
|
4900703970 | ||
|
|
7bd4f95b8c | ||
|
|
ecd44f70de | ||
|
|
9d5307d04c | ||
|
|
6e697bae97 | ||
|
|
366abb5350 | ||
|
|
9460aa7f21 | ||
|
|
a4dcc2784a | ||
|
|
9a2f1456c5 | ||
|
|
9d219a18f3 | ||
|
|
97f1694f7e | ||
|
|
73cd5a9c27 | ||
|
|
25baa995ec | ||
|
|
39a95d3bd5 | ||
|
|
22acc004cc | ||
|
|
6c07f08175 | ||
|
|
62d4ed8087 | ||
|
|
adf9570a92 | ||
|
|
2c2a18af43 | ||
|
|
2d1ab27cb5 | ||
|
|
903e79a7c4 | ||
|
|
6b8636f79b | ||
|
|
8a0ce463da | ||
|
|
7d13a1d8e1 | ||
|
|
b97c832306 | ||
|
|
4a4dac22e2 | ||
|
|
32e16b323c | ||
|
|
688c5502a8 | ||
|
|
eb00b34191 | ||
|
|
a831b7417f | ||
|
|
0eb1041290 | ||
|
|
c0623295e0 | ||
|
|
e82a13803d | ||
|
|
5cb45bf738 | ||
|
|
a14b495864 | ||
|
|
ad1c343cd7 | ||
|
|
17003cec19 | ||
|
|
2843214d09 | ||
|
|
b456ded5e7 | ||
|
|
d4848880e1 | ||
|
|
e41bb8af6d | ||
|
|
3a608dda8f | ||
|
|
41d38b37cf | ||
|
|
54612455e6 | ||
|
|
9c5b9f932b | ||
|
|
debaff6f7a | ||
|
|
25ce5f1c22 | ||
|
|
a441e4e30d | ||
|
|
50c32f45ac | ||
|
|
5f24575ed9 | ||
|
|
e91a5c85ff | ||
|
|
7561f5c717 | ||
|
|
c554f5383c | ||
|
|
4f48c888ef | ||
|
|
4ff6dc2992 | ||
|
|
266508b691 | ||
|
|
d78c3679e7 | ||
|
|
d6d3502960 | ||
|
|
7ed7512f27 | ||
|
|
ffa78b99d9 | ||
|
|
f66c28900a | ||
|
|
40c109597e | ||
|
|
6e9019120f | ||
|
|
17f40f7efd | ||
|
|
b0db709960 | ||
|
|
216956da4a | ||
|
|
e4ec09dd87 | ||
|
|
ba42d40df9 | ||
|
|
d521232587 | ||
|
|
10e8f03ea4 | ||
|
|
8877f04835 | ||
|
|
f24fa46789 | ||
|
|
a9b00a7489 | ||
|
|
3f462403a9 | ||
|
|
6aa418f7c4 | ||
|
|
6493421109 | ||
|
|
49f00499f7 | ||
|
|
0052386b41 | ||
|
|
e1909c3bd1 | ||
|
|
8ce9388d29 | ||
|
|
b8227afcaa | ||
|
|
b8dee63d7a | ||
|
|
75c99bf2b1 | ||
|
|
e6f81d3965 | ||
|
|
1fafb1325b | ||
|
|
8222295ab1 | ||
|
|
744464aca6 | ||
|
|
c13637b105 | ||
|
|
60c101d90b | ||
|
|
b685f6b6b6 | ||
|
|
424bf6f06a | ||
|
|
46c3c9e0fc | ||
|
|
85f6c5fda8 | ||
|
|
7e5d89293d | ||
|
|
fe7630954e | ||
|
|
47ce4bd9e5 | ||
|
|
8fe4f1f0d7 | ||
|
|
b3d57f3c7c | ||
|
|
a76ba06817 | ||
|
|
86fb83261a | ||
|
|
cf0762a067 | ||
|
|
99b3b752e3 | ||
|
|
5d7aa792e7 | ||
|
|
28b694b170 | ||
|
|
74f74e0363 | ||
|
|
64ca8a668a | ||
|
|
bd72408e7a | ||
|
|
a32381a2a4 | ||
|
|
841973d399 | ||
|
|
cf47523b2c | ||
|
|
2918e45343 | ||
|
|
e3b56fb559 | ||
|
|
667f2a7c4c | ||
|
|
e846b36bf6 | ||
|
|
7f18d087e6 | ||
|
|
3cc9019b37 | ||
|
|
37924b9c7f | ||
|
|
a6c2ccc6cc | ||
|
|
c84051c737 | ||
|
|
fe24ba55c4 | ||
|
|
ed06fc51a0 | ||
|
|
14de3b460b | ||
|
|
dd89ab59e4 | ||
|
|
cd83772112 | ||
|
|
83adb7b55b | ||
|
|
49ba58e991 | ||
|
|
7db3bc91b5 | ||
|
|
c93ecfbfb5 | ||
|
|
893e22691d | ||
|
|
41d8d77535 | ||
|
|
e9307bb797 | ||
|
|
c98bf174ed | ||
|
|
ae3b9f112c | ||
|
|
7fd9e751e0 | ||
|
|
96f50d0c47 | ||
|
|
95a58e74ca | ||
|
|
b70a95ba30 | ||
|
|
72e14643f7 | ||
|
|
93308faeb9 | ||
|
|
f140d3447c | ||
|
|
16ab3ca6a6 | ||
|
|
6b643c7501 | ||
|
|
24920a4ad1 | ||
|
|
65655584e9 | ||
|
|
e397056d2e | ||
|
|
f442195b8a | ||
|
|
54a278edb9 | ||
|
|
b0acc475b0 | ||
|
|
aa8b772bff | ||
|
|
834a971e2a | ||
|
|
6701927840 | ||
|
|
e4ae279f7b | ||
|
|
25e0d1eac3 | ||
|
|
d42faa80a6 | ||
|
|
a92c756fa9 | ||
|
|
4cf94ed62a | ||
|
|
57c7727479 | ||
|
|
8480fc7ae5 | ||
|
|
5ae81aa96c | ||
|
|
28907ec0c3 | ||
|
|
7ddfa79950 | ||
|
|
dd76d72d61 | ||
|
|
ba87178dee | ||
|
|
d8af949a6a | ||
|
|
74a8c4aae8 | ||
|
|
8de21cc37f | ||
|
|
063444801a | ||
|
|
46e384a2f2 | ||
|
|
5092243080 | ||
|
|
110f3710be | ||
|
|
6096a836a4 | ||
|
|
c3724068e5 | ||
|
|
7eba784b0c | ||
|
|
8486a2fd2b | ||
|
|
f15f4aa886 | ||
|
|
3b60f6e238 | ||
|
|
c23ae5aa14 | ||
|
|
93986e0234 | ||
|
|
47710d167a | ||
|
|
62ded39416 | ||
|
|
1534dad5b2 | ||
|
|
f705c56cb3 | ||
|
|
4d52838e2b | ||
|
|
7f44e83cc7 | ||
|
|
2c6546f46f | ||
|
|
76bf93e3de | ||
|
|
7a676a748a | ||
|
|
17895f3a30 | ||
|
|
21e3df4f34 | ||
|
|
f03f845d04 | ||
|
|
a87727844c | ||
|
|
e88410d07b | ||
|
|
3f704a7a0e | ||
|
|
81204ee0db | ||
|
|
d12c0939b9 | ||
|
|
a41fbc0454 | ||
|
|
9d6d14d623 | ||
|
|
439eddb523 | ||
|
|
7beb6f2234 | ||
|
|
19a3a10524 | ||
|
|
2e5f28d7c1 | ||
|
|
bbedeed1c5 | ||
|
|
a18b13d56e | ||
|
|
31da3e98c9 | ||
|
|
272755e1ec | ||
|
|
580b6e2349 | ||
|
|
9800101748 | ||
|
|
1ed02f6494 | ||
|
|
bb5c370575 | ||
|
|
74b0d2d9f1 | ||
|
|
8c531873a8 | ||
|
|
9c9b9f3931 | ||
|
|
95615eaca7 | ||
|
|
54c2c9ac4e | ||
|
|
ea03f9da13 | ||
|
|
536fd105ae | ||
|
|
d89edc35d2 | ||
|
|
4d8f81d802 | ||
|
|
ed6f76ca28 | ||
|
|
63bc383dfa | ||
|
|
0f658e5ca9 | ||
|
|
49824b930d | ||
|
|
abf5a5ad1e | ||
|
|
d4b6b5cb1d | ||
|
|
ce6f90397a | ||
|
|
bb6a50be02 | ||
|
|
e7e918dafe | ||
|
|
81b7798ac2 | ||
|
|
868d4c781a | ||
|
|
71ad94ddb2 | ||
|
|
06ffc44073 | ||
|
|
e9ba7c612e | ||
|
|
fd7afa87b7 | ||
|
|
51a70cee3d | ||
|
|
aafab73a82 | ||
|
|
e3c1d96519 | ||
|
|
9c7066ac47 | ||
|
|
cede7ec971 | ||
|
|
2f355c473a | ||
|
|
a63ebe0904 | ||
|
|
ef9483c82d | ||
|
|
10f1ed771a | ||
|
|
93e8bbab10 | ||
|
|
62df938465 | ||
|
|
634dad033f | ||
|
|
6e3809528e | ||
|
|
60a6b2b0c3 | ||
|
|
2662203fb7 | ||
|
|
1bb76f5343 | ||
|
|
d4edab02b0 | ||
|
|
5cc4c03b6a | ||
|
|
5382901859 | ||
|
|
2e7a3f9e37 | ||
|
|
c8b3df6668 | ||
|
|
69d9840b89 | ||
|
|
639301e9e9 | ||
|
|
970cdcfdbb | ||
|
|
0ef9bd9e23 | ||
|
|
16030a61eb | ||
|
|
5487fc1f9c | ||
|
|
92677da3e4 | ||
|
|
6d38d4e085 | ||
|
|
a16361e823 | ||
|
|
03415b286c | ||
|
|
72a503e93f | ||
|
|
6a6bce4bef | ||
|
|
e64833a217 | ||
|
|
a759ba1d9e | ||
|
|
7ed243d3cd | ||
|
|
afa8d671be | ||
|
|
c607707580 | ||
|
|
8f26bb698d | ||
|
|
a0b913f65d | ||
|
|
271b2f8c5b | ||
|
|
cf5b1e401c | ||
|
|
11174ddf4c | ||
|
|
48a0ffdc9e | ||
|
|
3664be1480 | ||
|
|
c5cd584b63 | ||
|
|
ca1c8a0121 | ||
|
|
3649c90605 | ||
|
|
89cb27f224 | ||
|
|
0d808114b6 | ||
|
|
0555c88425 | ||
|
|
e2d1a5a41d | ||
|
|
df1b309b36 | ||
|
|
e3b53b7e74 | ||
|
|
d8d9fcf2f4 | ||
|
|
ae806e8214 | ||
|
|
8b5474ff67 | ||
|
|
f65a29df5d | ||
|
|
fd18c565b0 | ||
|
|
fbb85fab81 | ||
|
|
db0674dc76 | ||
|
|
3572e7ffa4 | ||
|
|
fe75c6ad28 | ||
|
|
3de8f27a02 | ||
|
|
4dfce57a58 | ||
|
|
179b25d289 | ||
|
|
230b6bc547 | ||
|
|
a2eee7e349 | ||
|
|
cec4b803cf | ||
|
|
1a519ac1fb | ||
|
|
d92c8bec86 | ||
|
|
eb28d171f3 | ||
|
|
fdeb7ccda6 | ||
|
|
73acad2c92 | ||
|
|
7eca3c9d3b | ||
|
|
64ca94d960 | ||
|
|
c01220fd95 | ||
|
|
4d175ae77b | ||
|
|
78df3a35b4 | ||
|
|
68057c1c5a | ||
|
|
e67bb1c5ce | ||
|
|
f2c9a49c50 | ||
|
|
903dd8acef | ||
|
|
480861efb6 | ||
|
|
9a252995c2 | ||
|
|
9a9446d13d | ||
|
|
3d71d6c96f | ||
|
|
41c3c107d4 | ||
|
|
24cad42a86 | ||
|
|
1a564b1672 | ||
|
|
c4006795cc | ||
|
|
cf06083d1b | ||
|
|
89004437c5 | ||
|
|
f0e3eca8a1 | ||
|
|
d15cf0c2ff | ||
|
|
770ad54229 | ||
|
|
a75209d104 | ||
|
|
ab5e543099 | ||
|
|
451ebd447b | ||
|
|
1f8af40361 | ||
|
|
685f2a259f | ||
|
|
e27374324d | ||
|
|
4a2b5f7cc8 | ||
|
|
52dc55d044 | ||
|
|
e6ab047751 | ||
|
|
4f5cf01cbc | ||
|
|
442cc63d22 | ||
|
|
c24a8ba208 | ||
|
|
db7d70a929 | ||
|
|
d2f1c141d8 | ||
|
|
01faf102ba | ||
|
|
76d1296053 | ||
|
|
559bf75189 | ||
|
|
339caf9dc8 | ||
|
|
b26c36b4bf | ||
|
|
c79879aa07 | ||
|
|
e85475780f | ||
|
|
b033a8e731 | ||
|
|
0b5b4a5eea | ||
|
|
af0d0bd2ac | ||
|
|
48097467f9 | ||
|
|
895f0b29aa | ||
|
|
499400916d | ||
|
|
3f0d575df7 | ||
|
|
4cb9d6763b | ||
|
|
d62c51890e | ||
|
|
10707c8288 | ||
|
|
b896d8aa15 | ||
|
|
9e66a6bec6 | ||
|
|
17566febe9 | ||
|
|
f54f48615d | ||
|
|
06bb97e6d9 | ||
|
|
0763f65329 | ||
|
|
db5a86bc06 | ||
|
|
2d604cee25 | ||
|
|
e3a846bb1f | ||
|
|
aaa5c1bc5f | ||
|
|
1ad8e539aa | ||
|
|
29e2877d35 | ||
|
|
a708f8d8ad | ||
|
|
8777982629 | ||
|
|
f1435c86ed | ||
|
|
ece164f679 | ||
|
|
698f47d5ad | ||
|
|
1aa570326e | ||
|
|
1cc9070a50 | ||
|
|
127c107094 | ||
|
|
f1faf8745a | ||
|
|
60a51f8085 | ||
|
|
df63579071 | ||
|
|
5216648d0b | ||
|
|
fcdab1e804 | ||
|
|
9f15ba3972 | ||
|
|
c6a65c692e | ||
|
|
b468767184 | ||
|
|
76ce9ff8c4 | ||
|
|
23ed68c8dd | ||
|
|
2982c79444 | ||
|
|
7e56408331 | ||
|
|
bcfdcec3ee | ||
|
|
f96d94f143 | ||
|
|
adea301e5b | ||
|
|
f9dc569b0a | ||
|
|
f7932bb0c7 | ||
|
|
f20e052ad7 | ||
|
|
02daca9cb9 | ||
|
|
b52a3a415c | ||
|
|
33dcb0c8d9 | ||
|
|
709da37be2 | ||
|
|
2458f07ca1 | ||
|
|
6cf5fc7f7d | ||
|
|
10db6cee6c | ||
|
|
3b7927366a | ||
|
|
a25f094c4c | ||
|
|
bdf830f691 | ||
|
|
bd72642a58 | ||
|
|
b3f5885a50 | ||
|
|
aa168ec8b9 | ||
|
|
d89cb3e575 | ||
|
|
9e1f215f22 | ||
|
|
ffd0b19660 | ||
|
|
0020211857 | ||
|
|
1a59b4e208 | ||
|
|
94e7c762bf | ||
|
|
421c6a92f3 | ||
|
|
d6aa667971 | ||
|
|
575fc9acbd | ||
|
|
d581550130 | ||
|
|
952a134745 | ||
|
|
887aa952fe | ||
|
|
5f715a7af7 | ||
|
|
eea982fb14 | ||
|
|
5a7eebe16e | ||
|
|
55a96af7cc | ||
|
|
8abaf92083 | ||
|
|
b0c29d5c66 | ||
|
|
41a6f6df84 | ||
|
|
4984da7e0d | ||
|
|
be88e5a2c3 | ||
|
|
e7ad7d405c | ||
|
|
62d26814b2 | ||
|
|
f2d8143511 | ||
|
|
3c1a605f62 | ||
|
|
300c1c2055 | ||
|
|
fb42183bc7 | ||
|
|
65ec8a9e94 | ||
|
|
60598c0d34 | ||
|
|
3d7fc711ca | ||
|
|
46dbca1bf5 | ||
|
|
f5da95a5b7 | ||
|
|
b37361e21c | ||
|
|
32a208a176 | ||
|
|
40395bdc0e | ||
|
|
5ec4fd94e0 | ||
|
|
c9ef4d5fa0 | ||
|
|
1cdf0e8597 | ||
|
|
7ba88cc9e3 | ||
|
|
914df32587 | ||
|
|
e0f54428d0 | ||
|
|
52a11b0835 | ||
|
|
ef17dc6482 | ||
|
|
9978dc3f6c | ||
|
|
f618ed3dfb | ||
|
|
ef915fb2e5 | ||
|
|
6e42405113 | ||
|
|
11ef07c74a | ||
|
|
486d7690c4 | ||
|
|
b3c2c594bd | ||
|
|
8852911f67 | ||
|
|
e38bc6eab8 | ||
|
|
459e200ac0 | ||
|
|
c781155b60 | ||
|
|
87aa1de67a | ||
|
|
ccb871c30b | ||
|
|
74ed0b4f09 | ||
|
|
becbb7b284 | ||
|
|
ff76a842d0 | ||
|
|
a56926b8d9 | ||
|
|
0d21503ee5 | ||
|
|
631cb095dd | ||
|
|
caba719950 | ||
|
|
786b602c26 | ||
|
|
f4bfce153d | ||
|
|
e1ab50b17c | ||
|
|
7e4c0bd515 | ||
|
|
ddcec2971e | ||
|
|
72d119a05f | ||
|
|
d423cf2c7f | ||
|
|
3d847b50cf | ||
|
|
731a13cfd1 | ||
|
|
81296fae9d | ||
|
|
aa38f7a4f2 | ||
|
|
bac69f9984 | ||
|
|
c46547592c | ||
|
|
6123fab091 | ||
|
|
fd4a5100a6 | ||
|
|
ff4a8c9202 | ||
|
|
c871d721fd | ||
|
|
05d1cc9a94 | ||
|
|
196ee05fcc | ||
|
|
e50cfa4e1b | ||
|
|
3224a959a4 | ||
|
|
2ccb3648c7 | ||
|
|
01aa647527 | ||
|
|
eb3388de68 | ||
|
|
beb970646b | ||
|
|
25c177ca3b | ||
|
|
1d9c591c08 | ||
|
|
f753960add | ||
|
|
5e98894a97 | ||
|
|
15fe3b569b | ||
|
|
0e0b6026fc | ||
|
|
17dd199cba | ||
|
|
8f7dbe71a1 | ||
|
|
4b5c3d8f09 | ||
|
|
9955b0756a | ||
|
|
76d9b9c0e2 | ||
|
|
175ad6fb77 | ||
|
|
51896902e3 | ||
|
|
b55220905e | ||
|
|
bd65eb32b7 | ||
|
|
b29d1e94b5 | ||
|
|
b74e812671 | ||
|
|
aa27b5db14 | ||
|
|
81e3a62360 | ||
|
|
b0dc264369 | ||
|
|
ac3f179420 | ||
|
|
d9af837974 | ||
|
|
4784b327e7 | ||
|
|
1a1541ecd6 | ||
|
|
cf9fec73cf | ||
|
|
a1551ef6ab | ||
|
|
0163839cfb | ||
|
|
914a942e33 | ||
|
|
5e482ad4f7 | ||
|
|
6901fc9e38 | ||
|
|
0070835330 | ||
|
|
6431a2aa46 | ||
|
|
572d9bdf1a | ||
|
|
4cf2422a83 | ||
|
|
806ec98eab | ||
|
|
20fd349e17 | ||
|
|
dae724b21c | ||
|
|
3e4612a1f0 | ||
|
|
6052e49bcc | ||
|
|
90cbd461ab | ||
|
|
517f2ed03d | ||
|
|
5fccc25f36 | ||
|
|
cb1571c6c5 | ||
|
|
99b0d659bd | ||
|
|
854264c3d2 | ||
|
|
d2a6cae695 | ||
|
|
be9ed2f6a9 | ||
|
|
3ee8beb8a3 | ||
|
|
f816e5e2af | ||
|
|
448d8bff18 | ||
|
|
b82ffb52c7 | ||
|
|
3bccfb8993 | ||
|
|
6fb4e59120 | ||
|
|
309be57a12 | ||
|
|
37098c96f9 | ||
|
|
03cc67a2b1 | ||
|
|
cb4fba7658 | ||
|
|
0bcb13f02e | ||
|
|
42ef09e3bb | ||
|
|
1ab44655e0 | ||
|
|
89734b95c4 | ||
|
|
8f5658bc01 | ||
|
|
a59c3ef278 | ||
|
|
b600ac882a | ||
|
|
71849c4372 | ||
|
|
9545af0d43 | ||
|
|
6c6ee358d4 | ||
|
|
060f4f291b | ||
|
|
3fb43d2322 | ||
|
|
4895683bab | ||
|
|
43800e3d1c | ||
|
|
3b8e1dcd89 | ||
|
|
302d6b321e | ||
|
|
3f85694394 | ||
|
|
8c5ef2f1c3 | ||
|
|
aa1a2d1247 | ||
|
|
3993a7f636 | ||
|
|
aaf16ff0e8 | ||
|
|
16c078963b | ||
|
|
9279bcdba4 | ||
|
|
0c467ef5b4 | ||
|
|
49cd53ee44 | ||
|
|
0e6a463564 | ||
|
|
d38b190317 | ||
|
|
29558cb7bb | ||
|
|
d2cd237e25 | ||
|
|
c7b814337a | ||
|
|
ced51813c7 | ||
|
|
dd8d02b8ef | ||
|
|
c3cf6aef7d | ||
|
|
38a8e5ee03 | ||
|
|
46269dac4e | ||
|
|
8c0297f688 | ||
|
|
bc5890d8b5 | ||
|
|
ee65315520 | ||
|
|
12f7cfde87 | ||
|
|
6d80f3d756 | ||
|
|
b32f752d31 | ||
|
|
cf8be7de91 | ||
|
|
30a3498c22 | ||
|
|
239603e24c | ||
|
|
390daed3de | ||
|
|
918c06aba3 | ||
|
|
726be08917 | ||
|
|
a127debc54 | ||
|
|
6aa26654f6 | ||
|
|
0fde7f0e6b | ||
|
|
d9f8edd259 | ||
|
|
251679253a | ||
|
|
64756c5dce | ||
|
|
9788055147 | ||
|
|
4d7fde59c2 | ||
|
|
4737c16996 | ||
|
|
c97dfbf60c | ||
|
|
496b1e907d | ||
|
|
566131209d | ||
|
|
b7823dc648 | ||
|
|
6d28a1b645 | ||
|
|
b6aa18bfbc | ||
|
|
d91ffc216a | ||
|
|
a6c9e8c5b4 | ||
|
|
9337927722 | ||
|
|
c81b02c7d9 | ||
|
|
5ea09d2668 | ||
|
|
b9fc4c5994 | ||
|
|
f1b500d3e0 | ||
|
|
dff37e11eb | ||
|
|
b1387f801b | ||
|
|
60b2312ab6 | ||
|
|
0354289795 | ||
|
|
c11c35c459 | ||
|
|
7c5e70ac3c | ||
|
|
d2e5ba123d | ||
|
|
0c9568f6dc | ||
|
|
f1d48a9356 | ||
|
|
89f2a9e6dc | ||
|
|
a203da3919 | ||
|
|
1c1ef52cf1 | ||
|
|
40c82c5c36 | ||
|
|
81f0c6535e | ||
|
|
46558d79a5 | ||
|
|
e86b4203b9 | ||
|
|
05dd9554f9 | ||
|
|
30a0423f81 | ||
|
|
26e1223f9a | ||
|
|
84a04de7be | ||
|
|
3ff7fa0092 | ||
|
|
3f2a2cb14b | ||
|
|
fac00348d9 | ||
|
|
3c93fd4fb7 | ||
|
|
6b71273380 | ||
|
|
dccf4e9c34 | ||
|
|
39289a3164 | ||
|
|
6611d878ea | ||
|
|
c3fc711095 | ||
|
|
84f1bdbc87 | ||
|
|
2eb5715599 | ||
|
|
c93defc82d | ||
|
|
bd39c64798 | ||
|
|
42a6b242c7 | ||
|
|
e5570c24f2 | ||
|
|
6d87bd15cd | ||
|
|
d657c00b11 | ||
|
|
6fae06f1d0 | ||
|
|
f18b40f7e7 | ||
|
|
6a0633083d | ||
|
|
899f52be4f | ||
|
|
91525a7d33 | ||
|
|
455c3ae57d | ||
|
|
b5390b5aa2 | ||
|
|
a608b4e9e0 | ||
|
|
f6a543ada3 | ||
|
|
c7bf09c3d4 | ||
|
|
c8ae54d9e8 | ||
|
|
daf6d8772f | ||
|
|
c80e72da83 | ||
|
|
ec351e00ad | ||
|
|
cf242871ea | ||
|
|
597d36dcf2 | ||
|
|
9c388787bb | ||
|
|
f739d8fdd3 | ||
|
|
78d782601e | ||
|
|
86a83dc32c | ||
|
|
c67e53c7b2 | ||
|
|
5659e04e89 | ||
|
|
8ff3055b47 | ||
|
|
71827549d6 | ||
|
|
de5de7acc5 | ||
|
|
c8590c4468 | ||
|
|
5f43c9cfad | ||
|
|
98b966d274 | ||
|
|
674b6f2373 | ||
|
|
407ff0a99d | ||
|
|
0b6d21e3d5 | ||
|
|
4c9bc42b69 | ||
|
|
557b704069 | ||
|
|
d09de79491 | ||
|
|
4369e31a49 | ||
|
|
23b5a74c17 | ||
|
|
ee69ab2021 | ||
|
|
374f29c4d3 | ||
|
|
67910e7d60 | ||
|
|
c80b033466 | ||
|
|
671af9f8fe | ||
|
|
6ea05ff6e3 | ||
|
|
00485e133f | ||
|
|
c520ee4eab | ||
|
|
5408ec79f7 | ||
|
|
f8e68ae823 | ||
|
|
184412d88e | ||
|
|
82d1d04774 | ||
|
|
731d4b3d4d | ||
|
|
ccec186b98 | ||
|
|
c66c259447 | ||
|
|
4ad165ce26 | ||
|
|
24a801dfd3 | ||
|
|
af79bc9211 | ||
|
|
a3904f4d32 | ||
|
|
5cac90b3eb | ||
|
|
df135a0bb2 | ||
|
|
b7c927f349 | ||
|
|
64718fe567 | ||
|
|
79f14e0933 | ||
|
|
3ad8c692a4 | ||
|
|
546cab3f62 | ||
|
|
4a04dc1a3e | ||
|
|
0e97fbb730 | ||
|
|
83edb7fb8a | ||
|
|
0c59c85127 | ||
|
|
d6098c39dc | ||
|
|
af721118cd | ||
|
|
0d5f2b5d31 | ||
|
|
1790a128aa | ||
|
|
87fa1794a1 | ||
|
|
4df828d0b0 | ||
|
|
4d1d6dff3b | ||
|
|
81e30cd8d2 | ||
|
|
983671c8cb | ||
|
|
40ab3ee751 | ||
|
|
eb6b254dc5 | ||
|
|
f95fea9866 | ||
|
|
03719334ea | ||
|
|
4441053b1c | ||
|
|
a34b663828 | ||
|
|
db1f4d4016 | ||
|
|
3ea944d1b3 | ||
|
|
b293aa762c | ||
|
|
b5e75afc17 | ||
|
|
027a865fbc | ||
|
|
132b5f5130 | ||
|
|
c3754e1fdd | ||
|
|
963eb1f29b | ||
|
|
c418d67920 | ||
|
|
6e09e3af86 | ||
|
|
67e9a06d30 | ||
|
|
abd63035c1 | ||
|
|
745cf55abb | ||
|
|
e1c634d000 | ||
|
|
49a3a3ba7b | ||
|
|
9982211ced | ||
|
|
10f59bf3ad | ||
|
|
df2418d9c5 | ||
|
|
2fdae6d72f | ||
|
|
05471d0acd | ||
|
|
05eee16959 | ||
|
|
a752eadd0f | ||
|
|
028dc8d6c3 | ||
|
|
4a7242c8f9 | ||
|
|
efdb29d2f9 | ||
|
|
7487d02a70 | ||
|
|
225da68832 | ||
|
|
51a2e6c580 | ||
|
|
7fe03c715d | ||
|
|
c39f6c3fae | ||
|
|
f4365dcca0 | ||
|
|
fd75d5c679 | ||
|
|
014a53f990 | ||
|
|
419d18c128 | ||
|
|
da76ba6c64 | ||
|
|
afeb9e07e2 | ||
|
|
74a7755ad9 | ||
|
|
c1ba927b37 | ||
|
|
f22535e18a | ||
|
|
0f4e88eeaa | ||
|
|
70476c332a | ||
|
|
a8eb913535 | ||
|
|
79145ff9fd | ||
|
|
a0eb4b9c85 | ||
|
|
cb3a301f2c | ||
|
|
6d6903ef62 | ||
|
|
f5daf50dc4 | ||
|
|
f6631443a1 | ||
|
|
87ad4dd264 | ||
|
|
bb289f63f1 | ||
|
|
67a71ff10f | ||
|
|
b8ccbbc72a | ||
|
|
f0e17fd9c0 | ||
|
|
b09f1d591c | ||
|
|
6b1bfb4474 | ||
|
|
8fd2b8d829 | ||
|
|
8158984ad6 | ||
|
|
7b61bcfe10 | ||
|
|
d610693af1 | ||
|
|
7d1886684e | ||
|
|
95fc792745 | ||
|
|
efefc2d986 | ||
|
|
9f8d109a7e | ||
|
|
cf9e5ffb0b | ||
|
|
3cbd63a77a | ||
|
|
62eeed5201 | ||
|
|
1383023b2e | ||
|
|
9558822a7c | ||
|
|
afd081f40b | ||
|
|
7bf31e56ab | ||
|
|
3812fd0866 | ||
|
|
24c41ed0da | ||
|
|
36e8e9ebf5 | ||
|
|
12dc372b21 | ||
|
|
d8c5e58fa1 | ||
|
|
20ea9015ca | ||
|
|
0c148025a3 | ||
|
|
d0c2ce276a | ||
|
|
9e813c7dcf | ||
|
|
440687af21 | ||
|
|
77a9b28e14 | ||
|
|
f84654c9b3 | ||
|
|
a7cf1b04ad | ||
|
|
641dece89a | ||
|
|
2c9d418423 | ||
|
|
a08a90a718 | ||
|
|
1cb518cb13 | ||
|
|
a897a1805e | ||
|
|
fe88b48fb1 | ||
|
|
574c699382 | ||
|
|
7b97b96115 | ||
|
|
e7e0e5b57f | ||
|
|
b72e2b146d | ||
|
|
a1421ff74f | ||
|
|
57f10c0c8e | ||
|
|
1f5834b74a | ||
|
|
836d7e1e5d | ||
|
|
48df009cea | ||
|
|
6343417def | ||
|
|
8c02034838 | ||
|
|
290cc58a63 | ||
|
|
5274b2485f | ||
|
|
fc95e47790 | ||
|
|
caaf8c841e | ||
|
|
6816cdd1c3 | ||
|
|
5f857a49b8 | ||
|
|
70ab7f04b3 | ||
|
|
c1045af500 | ||
|
|
c5c1a7a1c3 | ||
|
|
4144d4672f | ||
|
|
9cfa63eed8 | ||
|
|
68ed64e11d | ||
|
|
043655bd7a | ||
|
|
c71058980a | ||
|
|
68947525a0 | ||
|
|
38eaf241fa | ||
|
|
8f8bf98ca6 | ||
|
|
ef0ab93e05 | ||
|
|
95e370b70c | ||
|
|
5f06e3f738 | ||
|
|
3ba4e38693 | ||
|
|
c09b4e1477 | ||
|
|
ca95276298 | ||
|
|
5caf1ffb17 | ||
|
|
c2431f2c3b | ||
|
|
15e4d9e317 | ||
|
|
ef607e29de | ||
|
|
25d1defd73 | ||
|
|
abfd97949d | ||
|
|
5347a991cf | ||
|
|
f1a9e669b4 | ||
|
|
2d4bb31beb | ||
|
|
57e9f96836 | ||
|
|
5a791ec11e | ||
|
|
9dc9a7eac4 | ||
|
|
e695144cd8 | ||
|
|
cb6522e735 | ||
|
|
78a3453953 | ||
|
|
a08cb3846c | ||
|
|
d0aef138c3 | ||
|
|
6930cd6687 | ||
|
|
7bafc92df3 | ||
|
|
223a162a8b | ||
|
|
1f6efab318 | ||
|
|
7128b0122e | ||
|
|
ba542cacb8 | ||
|
|
2f20c15824 | ||
|
|
6058b507c8 | ||
|
|
0d55562869 | ||
|
|
c2fd708ce9 | ||
|
|
1aff9bca95 | ||
|
|
d76f76f429 | ||
|
|
1de4d96ab1 | ||
|
|
78ed4866ce | ||
|
|
d061a4b434 | ||
|
|
429f8229b3 | ||
|
|
eb154de2a1 | ||
|
|
8c2b5af7f0 | ||
|
|
9004fd6d11 | ||
|
|
5f660bf080 | ||
|
|
1f55598010 | ||
|
|
9eec45f9c4 | ||
|
|
cf7726353a | ||
|
|
93e1ad088c | ||
|
|
13b6b3989a | ||
|
|
2a8aa8a108 | ||
|
|
b490be2267 | ||
|
|
cac219aca8 | ||
|
|
a159dfc7ec | ||
|
|
593ad20e69 | ||
|
|
bae552f386 | ||
|
|
16d6418d10 | ||
|
|
995b42d0fc | ||
|
|
c0f8ff1030 | ||
|
|
8e2b9c6f12 | ||
|
|
7d191763b5 | ||
|
|
144a1a1922 | ||
|
|
be3529ebcb | ||
|
|
e00cc4ed5b | ||
|
|
b7061618b1 | ||
|
|
613736aa41 | ||
|
|
d823809021 | ||
|
|
b83c723e3f | ||
|
|
6b222c3db7 | ||
|
|
088c0d471a | ||
|
|
5e657aadee | ||
|
|
98e6d61d1b | ||
|
|
df534753b1 | ||
|
|
02c077e3f8 | ||
|
|
0329a8be2e | ||
|
|
79f64abfc3 | ||
|
|
ba2145032e | ||
|
|
63636aca9b | ||
|
|
bff9d646f7 | ||
|
|
fdfab07d07 | ||
|
|
cc5f8e5122 | ||
|
|
8495d097bb | ||
|
|
21dbf97a02 | ||
|
|
66f340734c | ||
|
|
794f071561 | ||
|
|
c6794afc3a | ||
|
|
8920ba3de2 | ||
|
|
39bff056a6 | ||
|
|
128d46e19a | ||
|
|
6d027ebd40 | ||
|
|
89f69209dd | ||
|
|
94a57fe8d5 | ||
|
|
14c55083f3 | ||
|
|
c832a9eee5 | ||
|
|
699acc99e4 | ||
|
|
90338499d3 | ||
|
|
641f56664e | ||
|
|
419deff861 | ||
|
|
69f8dd896f | ||
|
|
e49a8a9ffe | ||
|
|
b6e0802203 | ||
|
|
e03fe8bcbf | ||
|
|
7bfbc21770 | ||
|
|
d853b4f083 | ||
|
|
d8939184db | ||
|
|
e54253d845 | ||
|
|
141d43a1ee | ||
|
|
0fac72f3b3 | ||
|
|
cc4bc2e47a | ||
|
|
dcb687929f | ||
|
|
628957de21 | ||
|
|
bcfc16c0f6 | ||
|
|
3ba5e27d02 | ||
|
|
0fa4353841 | ||
|
|
58ea498a62 | ||
|
|
688aaadb60 | ||
|
|
f77ae28ed1 | ||
|
|
0d08bbec74 | ||
|
|
ebee6f0bc2 | ||
|
|
db8f9586cb | ||
|
|
35318ea9b5 | ||
|
|
7aeb27d5ee | ||
|
|
322288bf6c | ||
|
|
6b7bfc75a8 | ||
|
|
abe96135ff | ||
|
|
8bf2db27dd | ||
|
|
950bc578d0 | ||
|
|
c48c5b9286 | ||
|
|
d503221b2e | ||
|
|
b3a462d452 | ||
|
|
916f522010 | ||
|
|
967b533e37 | ||
|
|
9172a5fc4c | ||
|
|
17e9b65cad | ||
|
|
a976f75783 | ||
|
|
3ebc422bb5 | ||
|
|
9f765c940e | ||
|
|
1a0d0c0a31 | ||
|
|
ce769cb1ef | ||
|
|
8fb4adf40d | ||
|
|
03954b5918 | ||
|
|
ab4fa905fc | ||
|
|
530552820d | ||
|
|
cb1bcdc8e0 | ||
|
|
1f43c47861 | ||
|
|
5414c65442 | ||
|
|
f38deb44fb | ||
|
|
937526b881 | ||
|
|
7ba97d88d5 | ||
|
|
ccfcdff190 | ||
|
|
45835f1cf9 | ||
|
|
cf543d1eb0 | ||
|
|
9f24f10186 | ||
|
|
64b211f5db | ||
|
|
32c636a471 | ||
|
|
2d421a8275 | ||
|
|
ed28a21cb0 | ||
|
|
3db0db451e | ||
|
|
035e57cf37 | ||
|
|
07ca0be3c5 | ||
|
|
e71cca128d | ||
|
|
fe49255bff | ||
|
|
20f4ec6b67 | ||
|
|
92f6134ed3 | ||
|
|
a0f9b834b6 | ||
|
|
2ad57ee8ab | ||
|
|
6c5328e4ca | ||
|
|
6cf1caeaf3 | ||
|
|
ce233105b6 | ||
|
|
30033cdd7d | ||
|
|
18f54ad758 | ||
|
|
bc37668e9f | ||
|
|
4eadaeafc9 | ||
|
|
3414b58b99 | ||
|
|
14d1919139 | ||
|
|
7aae5e494a | ||
|
|
0711a2fc12 | ||
|
|
577eb1f609 | ||
|
|
92fc902e0c | ||
|
|
791c550a8e | ||
|
|
344d3565f8 | ||
|
|
73785d0473 | ||
|
|
b155503fa2 | ||
|
|
2c011dcae6 | ||
|
|
0e0af1da07 | ||
|
|
a7d0f0cdd4 | ||
|
|
488d57d81c | ||
|
|
38aa4cf304 | ||
|
|
0638f99b79 | ||
|
|
da93f37067 | ||
|
|
9a0fba5f5e | ||
|
|
22d87218b7 | ||
|
|
bd39543542 | ||
|
|
49949084fb | ||
|
|
b584f37906 | ||
|
|
70f3b91a1e | ||
|
|
15545168d4 | ||
|
|
2d797c9408 | ||
|
|
8d5ffccaf1 | ||
|
|
855947751e | ||
|
|
9dd9a9a524 | ||
|
|
554e5b8f73 | ||
|
|
f368c0e379 | ||
|
|
f0e6864639 | ||
|
|
6c57d71ca4 | ||
|
|
64bd6b204b | ||
|
|
7ca8040788 | ||
|
|
c98ee987cd | ||
|
|
bd16ad4783 | ||
|
|
6aea40534e | ||
|
|
309e0c5902 | ||
|
|
7317e9af61 | ||
|
|
bfb637e64d | ||
|
|
e54bbcd15f | ||
|
|
149d6c32c1 | ||
|
|
0da6184f84 | ||
|
|
0ca3df917e | ||
|
|
12fe59e3ce | ||
|
|
3bfb8f6906 | ||
|
|
7527ee0cd3 | ||
|
|
080ec49fae | ||
|
|
fe92186ce0 | ||
|
|
ab52c8bcd7 | ||
|
|
485dde8fb5 | ||
|
|
1ad80878b2 | ||
|
|
81c19232a5 | ||
|
|
fd83ee64af | ||
|
|
dcfa6b97e3 | ||
|
|
593016718d | ||
|
|
2dbe822972 | ||
|
|
38b8508f15 | ||
|
|
76ce5adbf0 | ||
|
|
9f27cc1fac | ||
|
|
2a14c121db | ||
|
|
01855302a0 | ||
|
|
62d64acd7b | ||
|
|
5c9b865cec | ||
|
|
5f832b5b39 | ||
|
|
b75b5a5a0c | ||
|
|
f32c8d0570 | ||
|
|
b49e9e8f30 | ||
|
|
bf20a0d2f8 | ||
|
|
6fcb48a0c7 | ||
|
|
5685aa7ff0 | ||
|
|
3238d61ef6 | ||
|
|
299faae830 | ||
|
|
6b003f96f5 | ||
|
|
1fe82ac70c | ||
|
|
7786f1f9a9 | ||
|
|
28c732af33 | ||
|
|
5429ab4a85 | ||
|
|
ace847d177 | ||
|
|
c6ff73f3e5 | ||
|
|
dc44ebf41b | ||
|
|
aa6c09d942 | ||
|
|
00c56aab02 | ||
|
|
a9acb185a0 | ||
|
|
3267c15aff | ||
|
|
f25df3311c | ||
|
|
9c63740d26 | ||
|
|
379beb268f | ||
|
|
5bd631e8e7 | ||
|
|
fe42c1a818 | ||
|
|
a87602af3f | ||
|
|
6152ce4187 | ||
|
|
3b59960fb3 | ||
|
|
bd71fdc388 | ||
|
|
6110a99afc | ||
|
|
0dd20ccf3b | ||
|
|
9698324c4e | ||
|
|
9dcce01e54 | ||
|
|
e0cf5c3920 | ||
|
|
3ab49143e1 | ||
|
|
cfb16a6eef | ||
|
|
fad9a3056c | ||
|
|
0176ffd25d | ||
|
|
385c3882a7 | ||
|
|
85f5424a13 | ||
|
|
3c82f66219 | ||
|
|
9bbf9b86b7 | ||
|
|
3ce210f298 | ||
|
|
f74053f8ed | ||
|
|
854bfb870d | ||
|
|
a6d70c9c63 | ||
|
|
c2c924931b | ||
|
|
6b4a9d9cd9 | ||
|
|
55e55b0806 | ||
|
|
4441d3b342 | ||
|
|
147c59c6d8 | ||
|
|
f36b95d6b0 | ||
|
|
0ca5f4a382 | ||
|
|
60863b14bb | ||
|
|
06515d4e96 | ||
|
|
b967359a74 | ||
|
|
ae7b2509a5 | ||
|
|
8b52a121bb | ||
|
|
df625f0d49 | ||
|
|
68cff5cd10 | ||
|
|
b906c70a86 | ||
|
|
2a4396fbdb | ||
|
|
9ecd892a48 | ||
|
|
c7353fc382 | ||
|
|
b8b4e2c094 | ||
|
|
ee75d37983 | ||
|
|
ecf545a0b9 | ||
|
|
aade9111d4 | ||
|
|
7c52e925b9 | ||
|
|
b5edc635a1 | ||
|
|
6a20ea5e73 | ||
|
|
cad2d639af | ||
|
|
5657d4ec1b | ||
|
|
4b9352f291 | ||
|
|
2d49f4c844 | ||
|
|
71c9e4da16 | ||
|
|
50195ce4be | ||
|
|
47a8fbb07e | ||
|
|
3501f66a0f | ||
|
|
049d49eba8 | ||
|
|
593aa003d6 | ||
|
|
29d7903c22 | ||
|
|
1feb74981e | ||
|
|
2cf29352b8 | ||
|
|
ce5be89a18 | ||
|
|
7202bbcf5d | ||
|
|
aee20e0ed3 | ||
|
|
72b2c52e15 | ||
|
|
7985c0d7f1 | ||
|
|
12fbca48b8 | ||
|
|
a9858d4ed2 | ||
|
|
499e13377d | ||
|
|
6e32c2c14e | ||
|
|
26cb737bb1 | ||
|
|
8ec4d0f19b | ||
|
|
dc299b0bf9 | ||
|
|
952c249039 | ||
|
|
0e3262b181 | ||
|
|
ba896eabfb | ||
|
|
646890abb3 | ||
|
|
cad33de824 | ||
|
|
9a9cefbcc5 | ||
|
|
38da1b7de1 | ||
|
|
157f59d44a | ||
|
|
b470d0f7b8 | ||
|
|
c73a97a17c | ||
|
|
f6cd2c79d5 | ||
|
|
a7b0f7b42e | ||
|
|
ad9ef0493e | ||
|
|
46964b1b87 | ||
|
|
8216727553 | ||
|
|
864bf33f10 | ||
|
|
514372db6b | ||
|
|
45a6436b6d | ||
|
|
db8b919099 | ||
|
|
18efb21157 | ||
|
|
89ebad895d | ||
|
|
cd19ee5020 | ||
|
|
7da4a081d3 | ||
|
|
32d0d0b33d | ||
|
|
61e4c3db3a | ||
|
|
0c9de83a79 | ||
|
|
f15236acb7 | ||
|
|
51a4190192 | ||
|
|
dcf7e8a631 | ||
|
|
48624fe033 | ||
|
|
78b63c34cb | ||
|
|
26d137cac6 | ||
|
|
d51bd94447 | ||
|
|
f66ebb2f1e | ||
|
|
b8d21bdd51 | ||
|
|
a501bf5b83 | ||
|
|
cdb556e404 | ||
|
|
e21ddfedcb | ||
|
|
2a22cec442 | ||
|
|
579e24be10 | ||
|
|
1e72ea45dd | ||
|
|
0a93dc5e63 | ||
|
|
eafc45d83c | ||
|
|
79d895ed9e | ||
|
|
fd5330b469 | ||
|
|
817a165da7 | ||
|
|
0c5528806d | ||
|
|
6992631c4c | ||
|
|
7fc7925d17 | ||
|
|
f01b7bb5db | ||
|
|
48dac23b0f | ||
|
|
7f8e9a0e70 | ||
|
|
527fd1ac47 | ||
|
|
795922e2a0 | ||
|
|
6d3f607396 | ||
|
|
3b261bc612 | ||
|
|
07ddf18b3b | ||
|
|
0642e63246 | ||
|
|
dccaba98af | ||
|
|
cbbc5af834 | ||
|
|
b012fae144 | ||
|
|
ed51358478 | ||
|
|
6d522a1467 | ||
|
|
73209717ec | ||
|
|
c85ace11dd | ||
|
|
b07ab14c31 | ||
|
|
c95bbe27e7 | ||
|
|
d9c52f6316 | ||
|
|
ec86d1a151 | ||
|
|
22013eb528 | ||
|
|
6c8ff7c61a | ||
|
|
4016e0863f | ||
|
|
3b510969a2 | ||
|
|
28ab3666d3 | ||
|
|
ff6c11f126 | ||
|
|
45b598cacb | ||
|
|
0ccaae9a22 | ||
|
|
6f498aea3b | ||
|
|
a2f9ba47fb | ||
|
|
fea997c84a | ||
|
|
316427c801 | ||
|
|
c34641f4f7 | ||
|
|
21f7cea609 | ||
|
|
59a7ae56d4 | ||
|
|
a58cb049b2 | ||
|
|
a6f493ff94 | ||
|
|
afed400ac6 | ||
|
|
89b8555aa7 | ||
|
|
320cc1c7dd | ||
|
|
0a08a51a41 | ||
|
|
b22e284191 | ||
|
|
adc239c9d0 | ||
|
|
681466213f | ||
|
|
cb4bfd8060 | ||
|
|
a9dfcdd463 | ||
|
|
b9edc64982 | ||
|
|
d00aa3da84 | ||
|
|
fa6dc8dbb7 | ||
|
|
7a8a8ceedc | ||
|
|
5d9e752c71 | ||
|
|
44870fae9f | ||
|
|
92513207eb | ||
|
|
2cebd8bc2e | ||
|
|
9acc9d2d44 | ||
|
|
2124098f84 | ||
|
|
944564258c | ||
|
|
0a6aa88d72 | ||
|
|
bc542a4b80 | ||
|
|
59f93b77c3 | ||
|
|
7e79a78901 | ||
|
|
2f2ae09190 | ||
|
|
b59fc39d13 | ||
|
|
d284b48db4 | ||
|
|
724c0c2953 | ||
|
|
770ca77673 | ||
|
|
bdf5029d47 | ||
|
|
d53eaf8fd6 | ||
|
|
2bcfb734b0 | ||
|
|
50bf0ee85e | ||
|
|
951c9812f1 | ||
|
|
4ad9b7d72d | ||
|
|
3d55191573 | ||
|
|
55e1f8a060 | ||
|
|
031d35de03 | ||
|
|
c72b6fb8e6 | ||
|
|
a5528b7cd4 | ||
|
|
cfe5150037 | ||
|
|
1aa17cdb69 | ||
|
|
ddf7419aca | ||
|
|
27e0f9d132 | ||
|
|
7195e40ffa | ||
|
|
3ba6e20f66 | ||
|
|
711ae1d347 | ||
|
|
a4336092f6 | ||
|
|
3a5f66e976 | ||
|
|
9461e4ccd1 | ||
|
|
7b8dc9777e | ||
|
|
e11f59af32 | ||
|
|
b0aedef4b0 | ||
|
|
da87a47eaf | ||
|
|
c940762b7c | ||
|
|
7aa2b50828 | ||
|
|
e0abbc0b83 | ||
|
|
65a3847a35 | ||
|
|
3344249297 | ||
|
|
b686a3dbdb | ||
|
|
454e9d9906 | ||
|
|
908881cbf7 | ||
|
|
2ac8646320 | ||
|
|
7edb57e46c | ||
|
|
3b0f76f853 | ||
|
|
89df528090 | ||
|
|
92dc3047d0 | ||
|
|
371fc0ffa2 | ||
|
|
cdb88d621c | ||
|
|
b485e8f97f | ||
|
|
ab23368764 | ||
|
|
6030b4416d | ||
|
|
cd64d3ae2c | ||
|
|
aabad22cef | ||
|
|
247771fbba | ||
|
|
e5568b5d13 | ||
|
|
4dbe0693df | ||
|
|
a8fb94f51b | ||
|
|
c052f6d4c9 | ||
|
|
7f893aa676 | ||
|
|
45180a024d | ||
|
|
992d375e90 | ||
|
|
644486871b | ||
|
|
08fcf650eb | ||
|
|
e28fab0c61 | ||
|
|
7f628e6f7e | ||
|
|
a076a170ee | ||
|
|
ccc91a52a8 | ||
|
|
4cb78999d2 | ||
|
|
1a69e2ae8d | ||
|
|
c7ba7c8e9f | ||
|
|
8bb1a49aaf | ||
|
|
b8077d2f5b | ||
|
|
02a5a8ea3b | ||
|
|
56954c6482 | ||
|
|
bb1b1ab7e3 | ||
|
|
d303df7fa0 | ||
|
|
a280007dc2 | ||
|
|
d9b44b3a69 | ||
|
|
5214189eb2 | ||
|
|
3aed7fc0be | ||
|
|
2e04eba74b | ||
|
|
2cce8065ab | ||
|
|
8183c37dfe | ||
|
|
201d397391 | ||
|
|
f98af43d31 | ||
|
|
b9b5e1cf33 | ||
|
|
2b391396c6 | ||
|
|
5caff8cc93 | ||
|
|
599ee90500 | ||
|
|
e74801fd3d | ||
|
|
2f0a404116 | ||
|
|
472eed7f20 | ||
|
|
7d2bb261dc | ||
|
|
68668e25bd | ||
|
|
e2cb6e8086 | ||
|
|
d1bfc7a636 | ||
|
|
41111541c5 | ||
|
|
f87d0139e1 | ||
|
|
ceddbe248e | ||
|
|
ef1f2d2b79 | ||
|
|
9c9ff886c9 | ||
|
|
ed0fb76cd7 | ||
|
|
263fa5882b | ||
|
|
ae69ff032b | ||
|
|
1a58e6606c | ||
|
|
e390c22f96 | ||
|
|
7053f76d1e | ||
|
|
030d1e636b | ||
|
|
9ad79cfc52 | ||
|
|
76903fb55a | ||
|
|
0b8163fae1 | ||
|
|
0fb43dbc3a | ||
|
|
0610d3ea8d | ||
|
|
ba613a152a | ||
|
|
7e6804fda8 | ||
|
|
a1b6571d53 | ||
|
|
1d8c919645 | ||
|
|
2db7ab5c46 | ||
|
|
5ff733cfb7 | ||
|
|
bf183f425d | ||
|
|
1b31f45435 | ||
|
|
4420d52919 | ||
|
|
e88ce41f4f | ||
|
|
2d08e02dda | ||
|
|
8aeb3cc8d2 | ||
|
|
2fa00168cf | ||
|
|
a61a780c2a | ||
|
|
575ca50aac | ||
|
|
4a541a9ab4 | ||
|
|
ec5894ef7a | ||
|
|
c4bc1da171 | ||
|
|
66e8aaeabc | ||
|
|
eff4daa00b | ||
|
|
0735aa1fbd | ||
|
|
076f8ea105 | ||
|
|
ef1e6add4f | ||
|
|
ec3fc50e0e | ||
|
|
360a0eeee1 | ||
|
|
7a324ff25b | ||
|
|
389faa4bcb | ||
|
|
23ccaa2821 | ||
|
|
51c10de672 | ||
|
|
84fdc8c6c0 | ||
|
|
516509b4ed | ||
|
|
236951d9b3 | ||
|
|
e7d7646151 | ||
|
|
7757886ebc | ||
|
|
61a1a0bb2d | ||
|
|
77941b5ba7 | ||
|
|
10aaf18129 | ||
|
|
f4c816f378 | ||
|
|
7332afa171 | ||
|
|
db87d2a18e | ||
|
|
d7555cc14e | ||
|
|
29fecb029e | ||
|
|
13a15a6256 | ||
|
|
494f08de8c | ||
|
|
678b6affa2 | ||
|
|
1fa5fa91a8 | ||
|
|
fc99070b54 | ||
|
|
4d21800a05 | ||
|
|
e3278c8312 | ||
|
|
eca3d48510 | ||
|
|
c56cb2235c | ||
|
|
bf9bb26d19 | ||
|
|
18efc5eb65 | ||
|
|
9797782682 | ||
|
|
121577340a | ||
|
|
01efba99af | ||
|
|
6e469662d3 | ||
|
|
4bc94c17ea | ||
|
|
1820d4018e | ||
|
|
0320627263 | ||
|
|
f130a2716e | ||
|
|
deb5e68e15 | ||
|
|
9a9897ea1e | ||
|
|
bb85db6cc5 | ||
|
|
deea902c4f | ||
|
|
dd5ddf2166 | ||
|
|
85938ab1f1 | ||
|
|
42513af536 | ||
|
|
79cc902673 | ||
|
|
214bc6b29b | ||
|
|
84bae92264 | ||
|
|
191d66fc6f | ||
|
|
e111e11dab | ||
|
|
c98bcc8e9e | ||
|
|
a4f519eaeb | ||
|
|
db38bf4a0c | ||
|
|
c11358219a | ||
|
|
28d6d0dc1e | ||
|
|
5f44218727 | ||
|
|
676a2ff8ca | ||
|
|
977b1464b5 | ||
|
|
52f64358c7 | ||
|
|
d902a37dfd | ||
|
|
0cfc518c33 | ||
|
|
1e56349838 | ||
|
|
f8cbed34c2 | ||
|
|
2e177590a6 | ||
|
|
7f0735a955 | ||
|
|
ce0a0e3f0d | ||
|
|
6e337ad242 | ||
|
|
02f6dbba46 | ||
|
|
bfcfdeec64 | ||
|
|
758a820b0c | ||
|
|
e321280eae | ||
|
|
3c8409ee69 | ||
|
|
a3c543a627 | ||
|
|
8bcd0261dc | ||
|
|
fa0faee8ba | ||
|
|
33b8064042 | ||
|
|
bea8896012 | ||
|
|
1f5170253c | ||
|
|
1dabdc7df1 | ||
|
|
11c8415cd6 | ||
|
|
bc0f1f131f | ||
|
|
81c10da8dc | ||
|
|
6ca3723480 | ||
|
|
2296f6a4a5 | ||
|
|
53f2468430 | ||
|
|
cc3543dbd2 | ||
|
|
ad6f2e03c9 | ||
|
|
4c3daf7927 | ||
|
|
05ed126bfd | ||
|
|
4936f70d20 | ||
|
|
ecd2da185d | ||
|
|
7a7bf4c561 | ||
|
|
5ab20e64bf | ||
|
|
827e07700d | ||
|
|
e9e11d251f | ||
|
|
139b28b471 | ||
|
|
16786eed54 | ||
|
|
e135d4cccf | ||
|
|
d142c554d1 | ||
|
|
c8cb604c18 | ||
|
|
5b65bbf8e5 | ||
|
|
449aa275d4 | ||
|
|
9fd45761a8 | ||
|
|
67f7892958 | ||
|
|
6df7551bdd | ||
|
|
5dcb276376 | ||
|
|
1b9d82679c | ||
|
|
69f2b2da7c | ||
|
|
4000993200 | ||
|
|
2c6c21d753 | ||
|
|
34384e3613 | ||
|
|
95c04e59fe | ||
|
|
03eb11b927 | ||
|
|
a42856ef84 | ||
|
|
e7f01b9a95 | ||
|
|
fc2ceb88fb | ||
|
|
36f62f7fd4 | ||
|
|
ee08b3759d | ||
|
|
c73110e3c7 | ||
|
|
9ced5fb9a3 | ||
|
|
f9659d80c9 | ||
|
|
553e831121 | ||
|
|
e9ff471e1c | ||
|
|
eb6d29a223 | ||
|
|
3df26ef189 | ||
|
|
25767bee0b | ||
|
|
bacf6166c1 | ||
|
|
0f7773ff99 | ||
|
|
2ed329e025 | ||
|
|
e04882cc7c | ||
|
|
40818920d1 | ||
|
|
1bec652822 | ||
|
|
4c10f1e40c | ||
|
|
02ffbf8989 | ||
|
|
89376e14d6 | ||
|
|
e32bd5a59f | ||
|
|
53154bcd1e | ||
|
|
1d600ceecc | ||
|
|
e1a36b53dc | ||
|
|
5f91abd7c6 | ||
|
|
12f760535d | ||
|
|
e1f94cea4f | ||
|
|
fc23e810fd | ||
|
|
e587c8e2dc | ||
|
|
984434c728 | ||
|
|
75b38d1a2f | ||
|
|
7f597e5dd2 | ||
|
|
e3be1a176d | ||
|
|
7880f4da94 | ||
|
|
b1658cb1cf | ||
|
|
6ba3324035 | ||
|
|
e2a26f0eaf | ||
|
|
8cfb17bca6 | ||
|
|
524aa507e6 | ||
|
|
211e5ec82e | ||
|
|
2435ba7e7d | ||
|
|
be77e4f57e | ||
|
|
28a66cb393 | ||
|
|
507206367f | ||
|
|
9e17ddffae | ||
|
|
a621223cc8 | ||
|
|
d0f81f466e | ||
|
|
7bb2834d8b | ||
|
|
10d9e53159 | ||
|
|
2c67692958 | ||
|
|
5cb10bf6a1 | ||
|
|
54a42e401b | ||
|
|
6b27d2e703 | ||
|
|
abaf2138cf | ||
|
|
f344b42aa9 | ||
|
|
90f4a20a50 | ||
|
|
793130a533 | ||
|
|
1ddb162338 | ||
|
|
070d9d3147 | ||
|
|
9b73308edd | ||
|
|
b46a8239e2 | ||
|
|
265b4415c3 | ||
|
|
f8b52ffdd3 | ||
|
|
e9d0f5a022 | ||
|
|
5721d8eb64 | ||
|
|
e708c145fa | ||
|
|
713beeb2a5 | ||
|
|
6c46713701 | ||
|
|
3754e6c781 | ||
|
|
6401b1cfc3 | ||
|
|
6b9e123816 | ||
|
|
fb2295fcec | ||
|
|
0af2f7e5ed | ||
|
|
1c84d01584 | ||
|
|
3fcce08a22 | ||
|
|
289800c1ba | ||
|
|
49fb37fefc | ||
|
|
9a02a0f3a8 | ||
|
|
4e79093f84 | ||
|
|
d2fff2c3e3 | ||
|
|
8f277e46d6 | ||
|
|
c33d962712 | ||
|
|
3870915118 | ||
|
|
b05ca526a4 | ||
|
|
4e28a24af3 | ||
|
|
aebadfcda2 | ||
|
|
c975954a9a | ||
|
|
dec3bd4a02 | ||
|
|
64ce0cd7a2 | ||
|
|
34593cccb6 | ||
|
|
5b5a636cc1 | ||
|
|
5c6a6529a6 | ||
|
|
68fa190cf7 | ||
|
|
d148464efe | ||
|
|
6a7f2089e8 | ||
|
|
63294f0702 | ||
|
|
17fe4c3b29 | ||
|
|
dd6c97abb6 | ||
|
|
330b352001 | ||
|
|
ddfe3fa7ab | ||
|
|
1f7274c2f2 | ||
|
|
4d87f30434 | ||
|
|
8b371c42b7 | ||
|
|
c7f759fedf | ||
|
|
830daa40d1 | ||
|
|
f016d25b4c | ||
|
|
e18fd62f34 | ||
|
|
3701fbcbfe | ||
|
|
823f9fa0d1 | ||
|
|
67d38bc87b | ||
|
|
b36ff1ed1d | ||
|
|
ec83295b99 | ||
|
|
e36252a845 | ||
|
|
d0d8de9f2f | ||
|
|
9693048f78 | ||
|
|
101d2268ff | ||
|
|
2fcad760b9 | ||
|
|
52eb6c95cf | ||
|
|
35169e3de4 | ||
|
|
650b201b33 | ||
|
|
f595fc2f9c | ||
|
|
06c889630c | ||
|
|
d6dbabfbc4 | ||
|
|
051ac5e290 | ||
|
|
bcae146444 | ||
|
|
8a39748654 | ||
|
|
f4b82a9892 | ||
|
|
3556ed416c | ||
|
|
d7fa03cf2e | ||
|
|
e5e2ce2b22 | ||
|
|
af94e8943d | ||
|
|
39d103adf7 | ||
|
|
afd1406e61 | ||
|
|
a0e3858a7c | ||
|
|
a4c411af99 | ||
|
|
08184d07cf | ||
|
|
ac0e08cc91 | ||
|
|
bcc896fb6e | ||
|
|
76166c6252 | ||
|
|
dd5a49bc78 | ||
|
|
2a45ebde33 | ||
|
|
cdfafa2180 | ||
|
|
6b16e18eb8 | ||
|
|
299fa2dee6 | ||
|
|
c2dacd03a5 | ||
|
|
505dba5b23 | ||
|
|
de9770f52a | ||
|
|
389c4f8ef9 | ||
|
|
3a7bd3f95c | ||
|
|
1136b969b2 | ||
|
|
716b0c68da | ||
|
|
1edd46b995 | ||
|
|
00a075b0d8 | ||
|
|
3b34d5b54e | ||
|
|
0f51de20c4 | ||
|
|
ea39e457f5 | ||
|
|
b54f2b3b31 | ||
|
|
a36df4aa4b | ||
|
|
af5a7063c9 | ||
|
|
9e7779a476 | ||
|
|
625e61516f | ||
|
|
41614ec851 | ||
|
|
4d3a0ed250 | ||
|
|
cac15988f0 | ||
|
|
1e131f4732 | ||
|
|
22c35c4d15 | ||
|
|
9507bb4be6 | ||
|
|
f2004da867 | ||
|
|
e1c370a9a2 | ||
|
|
b9eafaaf24 | ||
|
|
909368025f | ||
|
|
15bfa46023 | ||
|
|
0359c775e0 | ||
|
|
1053153ec4 | ||
|
|
79ac61684c | ||
|
|
441eca86c4 | ||
|
|
f07d3d069e | ||
|
|
e300e3c744 | ||
|
|
b9df8290c9 | ||
|
|
73e2254a80 | ||
|
|
352c2957b2 | ||
|
|
23b6426dfa | ||
|
|
7ea1baaf2d | ||
|
|
77a28a81eb | ||
|
|
24f751d981 | ||
|
|
9ef8658122 | ||
|
|
0a67719f2f | ||
|
|
04d820f9cf | ||
|
|
931dd59844 | ||
|
|
a6500d8068 | ||
|
|
0d5d2c578d | ||
|
|
77679790db | ||
|
|
8d93af21a1 | ||
|
|
7c0c7da9bf | ||
|
|
027365aaa6 | ||
|
|
58867baf33 | ||
|
|
ee71024496 | ||
|
|
b1f326054f | ||
|
|
bceb40ed80 | ||
|
|
fd684eda52 | ||
|
|
f315423811 | ||
|
|
9e3c3353bd | ||
|
|
79f7ea0965 | ||
|
|
07ffff3d77 | ||
|
|
f3bdfef9cf | ||
|
|
bfba6f752c | ||
|
|
9b34427a1c | ||
|
|
5fba476076 | ||
|
|
d63abef718 | ||
|
|
018cc54a94 | ||
|
|
cdba8a7f2f | ||
|
|
21967a130b | ||
|
|
08e78d5d6f | ||
|
|
fe68e1e82c | ||
|
|
25ac3bfdb7 | ||
|
|
4700c604b1 | ||
|
|
356fa737c5 | ||
|
|
e02f1a222e | ||
|
|
e4694a6db8 | ||
|
|
e5ad1b27b4 | ||
|
|
92e259c276 | ||
|
|
f81918173b | ||
|
|
4006bcdaed | ||
|
|
3e4886725a | ||
|
|
f688bda759 | ||
|
|
ac855858de | ||
|
|
ae17f58b80 | ||
|
|
23dc464ea2 | ||
|
|
04382c467b | ||
|
|
be1b39067d | ||
|
|
ddfb7f3b7a | ||
|
|
520e2eb392 | ||
|
|
e0d2bd4830 | ||
|
|
1dc05f99bf | ||
|
|
b2b176bcd0 | ||
|
|
fde5ccd0df | ||
|
|
d1fe25cc31 | ||
|
|
60c18f75b5 | ||
|
|
c7f3791f3d | ||
|
|
ee9d5e6bf0 | ||
|
|
96fa3a3a1a | ||
|
|
7c4deec800 | ||
|
|
78e82eb920 | ||
|
|
27159104a9 | ||
|
|
a13a974e2d | ||
|
|
3c91a1ace4 | ||
|
|
3a52db46ad | ||
|
|
f184d66ea2 | ||
|
|
11927d625d | ||
|
|
abfdc574d4 | ||
|
|
d64373c610 | ||
|
|
28306e5dfb | ||
|
|
89bb58ac30 | ||
|
|
3cc2e1a968 | ||
|
|
8390b0b930 | ||
|
|
dbddabfcd7 | ||
|
|
0d30e01e98 | ||
|
|
137bce6dd0 | ||
|
|
f000e6ce6a | ||
|
|
7c1281dd06 | ||
|
|
68bf22f469 | ||
|
|
96ecdb866d | ||
|
|
7d68c628db | ||
|
|
509b83e73e | ||
|
|
0f33e266ce | ||
|
|
60729f2bbd | ||
|
|
0b0ecfcbe4 | ||
|
|
1fe86bced2 | ||
|
|
c6a62a497d | ||
|
|
8be6881093 | ||
|
|
99c8118229 | ||
|
|
6c5ca055c4 | ||
|
|
a6ec8f3090 | ||
|
|
d1e46056ae | ||
|
|
cf5100a20b | ||
|
|
ffbf2fb6ce | ||
|
|
2e4e031795 | ||
|
|
b039c2ce86 | ||
|
|
5a6d286c41 | ||
|
|
ba65187ad3 | ||
|
|
a91f54f0a8 | ||
|
|
12d7484b85 | ||
|
|
d77c1f3e4a | ||
|
|
a932eac832 | ||
|
|
7390ddbd98 | ||
|
|
32a4b40f0a | ||
|
|
bc1bc2a4f8 | ||
|
|
155c965866 | ||
|
|
6c73f25747 | ||
|
|
2518fd7059 | ||
|
|
56edae6958 | ||
|
|
d8275cd4e1 | ||
|
|
c3dca7a288 | ||
|
|
96ff0076c7 | ||
|
|
2da3bfb96f | ||
|
|
5dffd11755 | ||
|
|
8bb4af067a | ||
|
|
df0df76b51 | ||
|
|
458f336405 | ||
|
|
3f3f27d4d3 | ||
|
|
7c9cffa5ae | ||
|
|
996223197c | ||
|
|
b8e7555977 | ||
|
|
ed80a712ab | ||
|
|
2866e56c51 | ||
|
|
2074bdbb19 | ||
|
|
d212ac7d16 | ||
|
|
d2bae21b14 | ||
|
|
4283ab3b44 | ||
|
|
c579069071 | ||
|
|
88488c695c | ||
|
|
21594e9aa9 | ||
|
|
9ffacd4ecd | ||
|
|
9d5f5ea3bc | ||
|
|
2dbd27af76 | ||
|
|
0634a4d0c6 | ||
|
|
fa80a006b8 | ||
|
|
9d88ef5432 | ||
|
|
7b99877c68 | ||
|
|
ec81cdefb0 | ||
|
|
454d5b575c | ||
|
|
785b59e6d1 | ||
|
|
9d8fc4aa4d | ||
|
|
57ac1d9ea2 | ||
|
|
d9ea6936ab | ||
|
|
afdd01488f | ||
|
|
c917251e9e | ||
|
|
f3cb5f8a9d | ||
|
|
85ff245aef | ||
|
|
c805c5d6e9 | ||
|
|
adcf40afc3 | ||
|
|
d986011067 | ||
|
|
5a83636f81 | ||
|
|
d475628c70 | ||
|
|
4a890eae38 | ||
|
|
760e11bc5d | ||
|
|
96ebf2b519 | ||
|
|
4a6f4919d7 | ||
|
|
b98040c7d5 | ||
|
|
1240a8163d | ||
|
|
e15b9b5358 | ||
|
|
1617c9d482 | ||
|
|
16600fe86a | ||
|
|
50ba73860c | ||
|
|
750cdc1910 | ||
|
|
f4e2c84111 | ||
|
|
4f27750711 | ||
|
|
71d9f23068 | ||
|
|
9f7aed7602 | ||
|
|
7f2213416a | ||
|
|
9b9f0bdd4d | ||
|
|
ee0aec514f | ||
|
|
c2fd7d6ebd | ||
|
|
4a893c5267 | ||
|
|
2473183f19 | ||
|
|
7d7142d7d8 | ||
|
|
cb57cda87a | ||
|
|
71e8910e02 | ||
|
|
f2fa812b0b | ||
|
|
ef89582d7e | ||
|
|
ae74a21305 | ||
|
|
32af63764c | ||
|
|
61ff90409d | ||
|
|
426d2338d9 | ||
|
|
ba0c3256fa | ||
|
|
b6fe5d2cff | ||
|
|
9123fac545 | ||
|
|
c6bc388001 | ||
|
|
ea985a85af | ||
|
|
dfd9d8725c | ||
|
|
2578832002 | ||
|
|
cfada67aa6 | ||
|
|
5483682281 | ||
|
|
2a8c23aac3 | ||
|
|
88bc96fc4c | ||
|
|
588129d852 | ||
|
|
0889991c38 | ||
|
|
5c87a35fe4 | ||
|
|
418185af9a | ||
|
|
4b56cc6e08 | ||
|
|
3cef771868 | ||
|
|
59b20de7cd | ||
|
|
e0ae34f01b | ||
|
|
a9a24c96fc | ||
|
|
a202203325 | ||
|
|
83c3d76966 | ||
|
|
99734f8d72 | ||
|
|
570a0bb586 | ||
|
|
450a815d61 | ||
|
|
dafc2d2b73 | ||
|
|
0bd2edd33a | ||
|
|
807267cfdb | ||
|
|
48c9222578 | ||
|
|
b5ea56df73 | ||
|
|
d55d8c0152 | ||
|
|
2fdf6dd8f2 | ||
|
|
5b8c9eb16f | ||
|
|
9c05150c12 | ||
|
|
c7eb85ef78 | ||
|
|
4df455f2e0 | ||
|
|
653a00d63d | ||
|
|
3c9acdf724 | ||
|
|
e81d1ab9b8 | ||
|
|
9d7cf6b852 | ||
|
|
ad5620efb5 | ||
|
|
1f327d683a | ||
|
|
f455c71338 | ||
|
|
033f2cd231 | ||
|
|
c9eccd729d | ||
|
|
b1100cd9e5 | ||
|
|
8f728ddfb2 | ||
|
|
4ef0ce112c | ||
|
|
57c14a0eba | ||
|
|
89f831e7d4 | ||
|
|
917b8409ae | ||
|
|
1d3100848e | ||
|
|
e9ea895a01 | ||
|
|
86fd39e3a9 | ||
|
|
04db332051 | ||
|
|
06a2f58c51 | ||
|
|
b87d55758b | ||
|
|
38ef525d5e | ||
|
|
367b1fcc33 | ||
|
|
f5c930968e | ||
|
|
5264a8c7f6 | ||
|
|
6c4b7f1479 | ||
|
|
9351c5eefa | ||
|
|
c42c9f0002 | ||
|
|
8dd374fc2b | ||
|
|
457f9b587d | ||
|
|
95f299f865 | ||
|
|
09749e2c7f | ||
|
|
dc33784a76 | ||
|
|
961df1fc44 | ||
|
|
e93c1ccb73 | ||
|
|
286ad0c478 | ||
|
|
e30970ff90 | ||
|
|
14e0e4a072 | ||
|
|
60da0a15e6 | ||
|
|
0f84510e6f | ||
|
|
1dd3488973 | ||
|
|
12e5306947 | ||
|
|
9249d6c2f9 | ||
|
|
d0f07ee3a9 | ||
|
|
3992fba168 | ||
|
|
4601ac8b0e | ||
|
|
a81b0db2a8 | ||
|
|
d88751bb8b | ||
|
|
f13dfc19a0 | ||
|
|
0fccf5e50d | ||
|
|
a2aab28ba6 | ||
|
|
8e7b7caf04 | ||
|
|
8cc5ff0e70 | ||
|
|
9086f09fe2 | ||
|
|
5a6eecd694 | ||
|
|
efe9f1b442 | ||
|
|
db7919dc2f | ||
|
|
4a01644625 | ||
|
|
1ca68140f6 | ||
|
|
071177cee2 | ||
|
|
c88742fad3 | ||
|
|
791a0fd01e | ||
|
|
3b12b9d81d | ||
|
|
31e4009737 | ||
|
|
8746914f3b | ||
|
|
2fa6839ac7 | ||
|
|
b09e08c06f | ||
|
|
659f5ad301 | ||
|
|
6fe7f01a8d | ||
|
|
99f51998f2 | ||
|
|
4c13992f5d | ||
|
|
40cdbda312 | ||
|
|
396f38598f | ||
|
|
b6e24cbd45 | ||
|
|
d2848b9c26 | ||
|
|
227ed8ae07 | ||
|
|
bd8b7cdff2 | ||
|
|
b622981b23 | ||
|
|
36e14cfc69 | ||
|
|
668de9bf31 | ||
|
|
3f712dce02 | ||
|
|
2eaeaf33fa | ||
|
|
8e21d612d8 | ||
|
|
4e56b0d266 | ||
|
|
398bca9fe4 | ||
|
|
07e60b9161 | ||
|
|
46d5d22f72 | ||
|
|
97c221d860 | ||
|
|
a5d29e6d56 | ||
|
|
4662f59577 | ||
|
|
19479fdf6b | ||
|
|
131cf63d8d | ||
|
|
4d85f1daec | ||
|
|
f913cd97ee | ||
|
|
ccbeb86140 | ||
|
|
b43e0f5ebd | ||
|
|
b3c82fd7b6 | ||
|
|
15a60bb359 | ||
|
|
fe574dbbf9 | ||
|
|
7595c7e697 | ||
|
|
bd6769a3fd | ||
|
|
dc2a919e75 | ||
|
|
c20fc24f4d | ||
|
|
5f8af4527e | ||
|
|
80f3c7584b | ||
|
|
05624e3fc8 | ||
|
|
e381143a8f | ||
|
|
b03209ccef | ||
|
|
ec03ebd69f | ||
|
|
ff68caac24 | ||
|
|
51c617801d | ||
|
|
e53290088f | ||
|
|
4f7c062f3f | ||
|
|
8507aba9f8 | ||
|
|
d8b6e00fe7 | ||
|
|
c8167b77c9 | ||
|
|
c37792f58f | ||
|
|
842e5ba5e0 | ||
|
|
10d28292c6 | ||
|
|
fba9020950 | ||
|
|
506cc3908a | ||
|
|
ca00b02b0a | ||
|
|
201075827f | ||
|
|
961623d388 | ||
|
|
a98ab6f51d | ||
|
|
5c7fd24ea8 | ||
|
|
76ac628153 | ||
|
|
6f71bd9353 | ||
|
|
f88398e776 | ||
|
|
ed315f54e3 | ||
|
|
08c33cd1dc | ||
|
|
0464947610 | ||
|
|
ae57bf28c6 | ||
|
|
1929040bb7 | ||
|
|
3af936c8a1 | ||
|
|
6375d0b284 | ||
|
|
4b212f905f | ||
|
|
3bd48c1b3f | ||
|
|
298ca552c8 | ||
|
|
5dcc6a16ee | ||
|
|
318b858ce6 | ||
|
|
6c09764b35 | ||
|
|
96501322fa | ||
|
|
b1e9a74cc2 | ||
|
|
f38aa698eb | ||
|
|
366f3f68b8 | ||
|
|
276dd50650 | ||
|
|
defd6180c6 | ||
|
|
03e23da6a3 | ||
|
|
2ddaf5a06a | ||
|
|
5e1aa7d383 | ||
|
|
e1871eb325 | ||
|
|
1aaa9db34e | ||
|
|
66fc8e9e27 | ||
|
|
cd20208fdc | ||
|
|
3259cf59f5 | ||
|
|
c6442f67c1 | ||
|
|
1998b602b9 | ||
|
|
193fca4a8b | ||
|
|
9659d0bdc7 | ||
|
|
ccf4298c81 | ||
|
|
0b461e2275 | ||
|
|
4f4ae5861a | ||
|
|
fedf368c7a | ||
|
|
c5f78fab51 | ||
|
|
56a907128a | ||
|
|
fb77cd5f7e | ||
|
|
99d674c346 | ||
|
|
9690ca0198 | ||
|
|
9351c7485f | ||
|
|
d43b82dc82 | ||
|
|
ce195bd599 | ||
|
|
c0c8a22fa3 | ||
|
|
93717c95fb | ||
|
|
a955defae5 | ||
|
|
9579102541 | ||
|
|
2423aa592f | ||
|
|
151228b2a6 | ||
|
|
025d74bbcd | ||
|
|
7626478165 | ||
|
|
3dea1eb173 | ||
|
|
bd4f68233f | ||
|
|
d6bdbf9f34 | ||
|
|
2ccfb8671e | ||
|
|
04bb67ef45 | ||
|
|
4b67429234 | ||
|
|
23e248b5d1 | ||
|
|
40dbc78407 | ||
|
|
b159018f51 | ||
|
|
17570acab2 | ||
|
|
4710609cb9 | ||
|
|
d297580d26 | ||
|
|
b50f1d0318 | ||
|
|
957c9f060d | ||
|
|
0bf0bab1eb | ||
|
|
a7c97388a9 | ||
|
|
86c480ee09 | ||
|
|
0184a00151 | ||
|
|
b9161aa06c | ||
|
|
00e42d1177 | ||
|
|
d37dd040d0 | ||
|
|
a2aef04f21 | ||
|
|
8f75434558 | ||
|
|
3dd6bcc323 | ||
|
|
063271e978 | ||
|
|
438c4fe72e | ||
|
|
f4144d6d38 | ||
|
|
eada70ba44 | ||
|
|
bed34b1ddd | ||
|
|
3439ea395b | ||
|
|
ba3bab8f49 | ||
|
|
9ba88f6baf | ||
|
|
6be0b2b6c3 | ||
|
|
e4fce1250b | ||
|
|
926bc56b3a | ||
|
|
8523803d94 | ||
|
|
4f202e5f4c | ||
|
|
7e211ef3d9 | ||
|
|
dc85ee3f0a | ||
|
|
91ae912373 | ||
|
|
9aeda891c3 | ||
|
|
5cdf448693 | ||
|
|
89c69250ef | ||
|
|
5b6a6319c2 | ||
|
|
e79e2b80c8 | ||
|
|
f8b24ac34d | ||
|
|
4ff0d6635c | ||
|
|
51b9ec30a9 | ||
|
|
377887871c | ||
|
|
d45d3892cb | ||
|
|
0bf6a220ae | ||
|
|
04a4d7c2c9 | ||
|
|
209d93ac05 | ||
|
|
c44abf4918 | ||
|
|
d7f5e89a1d | ||
|
|
72ec7ccde2 | ||
|
|
13aaa46a55 | ||
|
|
3121546fb6 | ||
|
|
51337a10af | ||
|
|
5f3104786a | ||
|
|
faec7362fe | ||
|
|
adfb216325 | ||
|
|
e0656af1fc | ||
|
|
07fe077f7f | ||
|
|
d3103adbd8 | ||
|
|
d4132072d8 | ||
|
|
b8e9dd587d | ||
|
|
c48ab4830d | ||
|
|
eedb5d0dae | ||
|
|
07849537cf | ||
|
|
4849c31add | ||
|
|
9a4f4854de | ||
|
|
9ff48e6bb5 | ||
|
|
01bca39138 | ||
|
|
6e8527e66d | ||
|
|
0d2b7967bc | ||
|
|
70c8803a79 | ||
|
|
0d2fb0754c | ||
|
|
dbca7469f2 | ||
|
|
1e57432aae | ||
|
|
7c0d3b8485 | ||
|
|
46abd47bfe | ||
|
|
2a88f5083c | ||
|
|
5ec793e045 | ||
|
|
1554f41441 | ||
|
|
9e945eb471 | ||
|
|
b5212c4467 | ||
|
|
c4dd1cfb69 | ||
|
|
00774b95a1 | ||
|
|
7de559f351 | ||
|
|
eaa9c4fdf8 | ||
|
|
6050d5873c | ||
|
|
94e61c3205 | ||
|
|
c4cf13bd97 | ||
|
|
71e22ffe2c | ||
|
|
3169a6f170 | ||
|
|
e7b190404a | ||
|
|
446e2b27d7 | ||
|
|
856df4c5f6 | ||
|
|
34237f604e | ||
|
|
6d380c8548 | ||
|
|
af0001a149 | ||
|
|
2debd5a198 | ||
|
|
59bdda6226 | ||
|
|
21345b81f1 | ||
|
|
4f03234487 | ||
|
|
3dd8ce08b8 | ||
|
|
f233af04f6 | ||
|
|
3a1501dea4 | ||
|
|
11f1229c31 | ||
|
|
acb7e972ea | ||
|
|
667665b809 | ||
|
|
1ac523ec01 | ||
|
|
ca56e5d9ca | ||
|
|
43a51c1bef | ||
|
|
68ec24797b | ||
|
|
26132fd14e | ||
|
|
5fdf9bb7d2 | ||
|
|
ca68ccd76a | ||
|
|
1f9d7c41e8 | ||
|
|
52d330d8e5 | ||
|
|
17eb509c4e | ||
|
|
48254579a2 | ||
|
|
9d93642102 | ||
|
|
a3106b1771 | ||
|
|
d2670b8473 | ||
|
|
227b7ccabd | ||
|
|
6c3e19e531 | ||
|
|
ed49a708d0 | ||
|
|
e04300a01c | ||
|
|
65cebe7edd | ||
|
|
63cda04b56 | ||
|
|
acda7bddb8 | ||
|
|
6ffc04808d | ||
|
|
c932e26f83 | ||
|
|
682ce2e1e2 | ||
|
|
9873204be6 | ||
|
|
49021fd96d | ||
|
|
5dc2871e2b | ||
|
|
481d4f3478 | ||
|
|
5cf8726e60 | ||
|
|
db6214e090 | ||
|
|
bb215ad095 | ||
|
|
df214cd6c1 | ||
|
|
ea72d7bb11 | ||
|
|
d2f1e6e03e | ||
|
|
37f19dd0fe | ||
|
|
0c987f58e6 | ||
|
|
f84758eaac | ||
|
|
8c58236e7c | ||
|
|
027328d3a6 | ||
|
|
332601ed26 | ||
|
|
6c0a449ebe | ||
|
|
b1d2e1fa10 | ||
|
|
44e1d33faa | ||
|
|
183b3c61e4 | ||
|
|
a199f2ba40 | ||
|
|
d6c4f749a6 | ||
|
|
8af2c6c397 | ||
|
|
367ef7195a | ||
|
|
43d6dbb0f2 | ||
|
|
cd0ad21132 | ||
|
|
6fa73e073f | ||
|
|
5fc231cda4 | ||
|
|
1ca8ab81c7 | ||
|
|
22d3a4a48f | ||
|
|
d70e146c1f | ||
|
|
3888a461f3 | ||
|
|
4df2c8d872 | ||
|
|
989005d616 | ||
|
|
ed05a24cc4 | ||
|
|
2cee591b0e | ||
|
|
8a71d7d254 | ||
|
|
7950eb8ed6 | ||
|
|
f59515883d | ||
|
|
2c432e0b97 | ||
|
|
524f04f34e | ||
|
|
9e7ee42eb7 | ||
|
|
6f82e80698 | ||
|
|
37680a0909 | ||
|
|
350ad98c27 | ||
|
|
2a3df5562c | ||
|
|
b0dbb49ca8 | ||
|
|
4603798996 | ||
|
|
3169833cd7 | ||
|
|
75540e8a4c | ||
|
|
9abc3e1333 | ||
|
|
fb79211514 | ||
|
|
502e7081cf | ||
|
|
dcba129a98 | ||
|
|
b856266e91 | ||
|
|
7f1f62e14a | ||
|
|
fe51ada1e8 | ||
|
|
6708c959d9 | ||
|
|
af9daaeff7 | ||
|
|
a999884adf | ||
|
|
807277c0ae | ||
|
|
0af97156c9 | ||
|
|
12ac9f9aa9 | ||
|
|
3885d5d706 | ||
|
|
f284786749 | ||
|
|
c54621eb19 | ||
|
|
2943b4a85a | ||
|
|
ed4d31ebc5 | ||
|
|
ed0b4e48d5 | ||
|
|
f9938c90ff | ||
|
|
bcdc19f0e3 | ||
|
|
fb967427e8 | ||
|
|
0b10761291 | ||
|
|
316c476bbd | ||
|
|
081cc0b9e8 | ||
|
|
560759ede8 | ||
|
|
0f98a90858 | ||
|
|
094da51d82 | ||
|
|
39097980b0 | ||
|
|
3c26bfa618 | ||
|
|
168c89aba7 | ||
|
|
0502f684e9 | ||
|
|
45cb679ea7 | ||
|
|
c9f9d55658 | ||
|
|
d285db653e | ||
|
|
dde8e35785 | ||
|
|
5860e5a46b | ||
|
|
fa4e6d8261 | ||
|
|
145df8ec67 | ||
|
|
af5cbdbed8 | ||
|
|
ba8b1bbe06 | ||
|
|
82e5e36c57 | ||
|
|
f2a7e0b28f | ||
|
|
0e86ceff73 | ||
|
|
c91de092e5 | ||
|
|
7a173f6e62 | ||
|
|
95f7e83c5c | ||
|
|
d8b621d05f | ||
|
|
fb87ad1442 | ||
|
|
c580275a01 | ||
|
|
5c2298fa37 | ||
|
|
08043bed21 | ||
|
|
906779c4b1 | ||
|
|
bd80c034ba | ||
|
|
fd69f60a49 | ||
|
|
00ed37dd02 | ||
|
|
4de815ad67 | ||
|
|
86eed7cb81 | ||
|
|
63f18a7ebb | ||
|
|
233f0423fa | ||
|
|
d5bddca01d | ||
|
|
00cb6f71da | ||
|
|
9ac35d5869 | ||
|
|
bd1db30eea | ||
|
|
6c3a5b1d69 | ||
|
|
c233baab5b | ||
|
|
aa6a5e4ac2 | ||
|
|
71560ace71 | ||
|
|
0fba4eee98 | ||
|
|
91fce3ea73 | ||
|
|
b50475bc17 | ||
|
|
40c802b148 | ||
|
|
7d9f917810 | ||
|
|
a5ae1a9734 | ||
|
|
506360716a | ||
|
|
22ad34fa0e | ||
|
|
ce0e7e4a5d | ||
|
|
907b79d3b8 | ||
|
|
863731fd6a | ||
|
|
c9f1b3229b | ||
|
|
2b8b204cfc | ||
|
|
264471af43 | ||
|
|
e31514f769 | ||
|
|
08d3ae9f02 | ||
|
|
f654c53c35 | ||
|
|
7121b64c59 | ||
|
|
cd0c9b2ddb | ||
|
|
b80bbe6587 | ||
|
|
879d41bf2d | ||
|
|
7b1cfd69d7 | ||
|
|
ff695f08f7 | ||
|
|
ef9f2a965d | ||
|
|
ac0e8b1fe1 | ||
|
|
da0f7317b4 | ||
|
|
3e81839af5 | ||
|
|
0af5574951 | ||
|
|
0ae9055ea6 | ||
|
|
885aafcea3 | ||
|
|
7445fa7ef7 | ||
|
|
a544133d73 | ||
|
|
b3c02798a3 | ||
|
|
0bd6eb1792 | ||
|
|
3ec19ee355 | ||
|
|
0215b250af | ||
|
|
6a0c9fdd34 | ||
|
|
7f1593c5d7 | ||
|
|
e420a689dc | ||
|
|
9addd56f9b | ||
|
|
a7e69a5dc5 | ||
|
|
f6a83d5de2 | ||
|
|
d1d8a40acf | ||
|
|
cb18dfaaef | ||
|
|
a22a03e501 | ||
|
|
9a35b5670e | ||
|
|
017b54f9a8 | ||
|
|
9b7e6cc5c1 | ||
|
|
209276efa8 | ||
|
|
d2fc3e8023 | ||
|
|
1afdeb7216 | ||
|
|
b754ffb047 | ||
|
|
89eb4727b4 | ||
|
|
5619947685 | ||
|
|
31e584e3e3 | ||
|
|
ad09f6491b | ||
|
|
efbe033bfb | ||
|
|
2c6f0950f6 | ||
|
|
b680788f48 | ||
|
|
5e0d4ab31d | ||
|
|
488f993f45 | ||
|
|
876407e2e7 | ||
|
|
811cbc27c0 | ||
|
|
214f925b2f | ||
|
|
cefa31eb82 | ||
|
|
25e90ff658 | ||
|
|
fa390299f9 | ||
|
|
accb036507 | ||
|
|
44690ff596 | ||
|
|
e20f819c1d | ||
|
|
1d011a2f9a | ||
|
|
bc84a78b0f | ||
|
|
6034bd0946 | ||
|
|
6abe714dff | ||
|
|
37606dab4b | ||
|
|
f9b98d6d1d | ||
|
|
786a877986 | ||
|
|
b637ae1e53 | ||
|
|
cc8a54d314 | ||
|
|
c86d8e5acf | ||
|
|
4a819026df | ||
|
|
7671ae8df7 | ||
|
|
94d0c28f69 | ||
|
|
df555d5321 | ||
|
|
c3468b7ed6 | ||
|
|
bbf0e7c0a5 | ||
|
|
3f5c1d2ade | ||
|
|
dd063d0207 | ||
|
|
309ff2997c | ||
|
|
8e8ca97eec | ||
|
|
b734958ab9 | ||
|
|
51d7559a2c | ||
|
|
5c4f706fe4 | ||
|
|
7ac32a19b5 | ||
|
|
6e4da53e31 | ||
|
|
8e3dbcb7c0 | ||
|
|
5287984307 | ||
|
|
5539f1d498 | ||
|
|
e8cce4d1a1 | ||
|
|
ab0bc75e43 | ||
|
|
2d8053a9df | ||
|
|
c4dd64940e | ||
|
|
414ac5433d | ||
|
|
b2c01ffe21 | ||
|
|
517dea6958 | ||
|
|
225e6c6b9f | ||
|
|
1dd4fecffb | ||
|
|
5f2645b84a | ||
|
|
fc4b11e224 | ||
|
|
cf3383dd59 | ||
|
|
ead6ba50e7 | ||
|
|
7127b989c6 | ||
|
|
3fc755d92f | ||
|
|
0dc43e5211 | ||
|
|
4ddbb17a11 | ||
|
|
bfe31645ab | ||
|
|
09f843727d | ||
|
|
191a6b7d2b | ||
|
|
096511fc89 | ||
|
|
85687ce4a2 | ||
|
|
a6bfb23d20 | ||
|
|
c2f3413dc5 | ||
|
|
755daeb024 | ||
|
|
26233ac078 | ||
|
|
2ee2876855 | ||
|
|
ee2e6e5dce | ||
|
|
facb6b2e81 | ||
|
|
ec3c83c0c9 | ||
|
|
0ad4fb7273 | ||
|
|
763d5f67cd | ||
|
|
b7d4c997a3 | ||
|
|
bd7f45e398 | ||
|
|
748440ced3 | ||
|
|
5c7795bb63 | ||
|
|
f7ebd2e793 | ||
|
|
9298891d00 | ||
|
|
3a1dc6f23e | ||
|
|
e250153204 | ||
|
|
a2e5a6628d | ||
|
|
6b3278cd8e | ||
|
|
16c4864e67 | ||
|
|
11f225aada | ||
|
|
cd8affc255 | ||
|
|
8677fb18bb | ||
|
|
8979981553 | ||
|
|
4fa212c43b | ||
|
|
a9da5ebff6 | ||
|
|
38ebfec1fb | ||
|
|
6c7acd585e | ||
|
|
e8efaa5ed8 | ||
|
|
5a83b30303 | ||
|
|
986b23856f | ||
|
|
96872e2b3b | ||
|
|
42ffed3f57 | ||
|
|
a006c6962c | ||
|
|
cc3f7995fb | ||
|
|
3f399225fa | ||
|
|
dc5d0e367c | ||
|
|
a2803e4f5f | ||
|
|
b1d392e415 | ||
|
|
cbf00e9378 | ||
|
|
414838cae8 | ||
|
|
3ee14164db | ||
|
|
63712de170 | ||
|
|
43673d6694 | ||
|
|
f195648b90 | ||
|
|
06f77acfa1 | ||
|
|
f04a693fbe | ||
|
|
c012711763 | ||
|
|
c6daa8e59b | ||
|
|
7cc6c1a10f | ||
|
|
7f73cc1694 | ||
|
|
87973ac692 | ||
|
|
9a13ec736d | ||
|
|
1a3041690f | ||
|
|
84e5ad7346 | ||
|
|
4559bb5553 | ||
|
|
2d51a78ee7 | ||
|
|
95a380ae9e | ||
|
|
d8c59fcb73 | ||
|
|
8dff17d78b | ||
|
|
53d5de685c | ||
|
|
f0ce8b8fd4 | ||
|
|
aeb1f10621 | ||
|
|
a3e7f513e6 | ||
|
|
8b63a6f29b | ||
|
|
133a8ec225 | ||
|
|
131747ea4b | ||
|
|
e982790ad5 | ||
|
|
a7f1f886d3 | ||
|
|
d034f10af3 | ||
|
|
a2b817f0c0 | ||
|
|
bce6d44e06 | ||
|
|
d5f2c36abd | ||
|
|
d86b3f04b1 | ||
|
|
72a90199db | ||
|
|
e69702799f | ||
|
|
118aead9b9 | ||
|
|
49bb861045 | ||
|
|
1d6661e7e4 | ||
|
|
a43173fa90 | ||
|
|
d2a24b5186 | ||
|
|
40f44c2389 | ||
|
|
441b5bd1dc | ||
|
|
dc2f0d59cb | ||
|
|
4dcfacf2d5 | ||
|
|
b7485106ef | ||
|
|
f82893496b | ||
|
|
c418e58f88 | ||
|
|
054e557531 | ||
|
|
3020dc75ab | ||
|
|
9ea359de52 | ||
|
|
c5daf7d1b6 | ||
|
|
b7d7f424c5 | ||
|
|
e1fa6f1a0d | ||
|
|
a23e0fef8d | ||
|
|
0fd0b08c09 | ||
|
|
ce1690b450 | ||
|
|
46bd473664 | ||
|
|
6030fec6cb | ||
|
|
b7323dc403 | ||
|
|
c6d74d6c12 | ||
|
|
a42709f814 | ||
|
|
3016844dd7 | ||
|
|
8fbb55a0c8 | ||
|
|
f046a7e7fe | ||
|
|
92ce707268 | ||
|
|
3f5887cc03 | ||
|
|
fb3f5d86cf | ||
|
|
512492bf30 | ||
|
|
2477c3914e | ||
|
|
afee1ee1c0 | ||
|
|
f233593909 | ||
|
|
3253cc38b2 | ||
|
|
b154e1baa1 | ||
|
|
714599aeaa | ||
|
|
119a9983a9 | ||
|
|
8866494c94 | ||
|
|
2e06b4be66 | ||
|
|
0ec2e71f58 | ||
|
|
fc3a8b944e | ||
|
|
2ed2ef3b28 | ||
|
|
a3c5da90d2 | ||
|
|
e7e91b6931 | ||
|
|
1f9d02e7fa | ||
|
|
0895ca3e4a | ||
|
|
2ee70db7cd | ||
|
|
c9c1547813 | ||
|
|
9a8c868793 | ||
|
|
13ec5da84e | ||
|
|
3e34d000f2 | ||
|
|
12203461f0 | ||
|
|
a337564864 | ||
|
|
734db6f932 | ||
|
|
d76e3c0488 | ||
|
|
c0de20dda0 | ||
|
|
79c37f9fe4 | ||
|
|
7f520a6f28 | ||
|
|
23f72ecf7b | ||
|
|
8c57e7621b | ||
|
|
c460b3f3be | ||
|
|
1c001ee138 | ||
|
|
fab82107bb | ||
|
|
78362af168 | ||
|
|
1c58b75ac2 | ||
|
|
41568c885d | ||
|
|
dba2efe367 | ||
|
|
e3b07f569a | ||
|
|
65a307970b | ||
|
|
3e3ca14b4c | ||
|
|
8b45d1c928 | ||
|
|
0fe7a69b39 | ||
|
|
6d09f1b6c0 | ||
|
|
1ada20ac7b | ||
|
|
d04eedeb8d | ||
|
|
f275002ebe | ||
|
|
d4e0941c27 | ||
|
|
9dc57359b9 | ||
|
|
06b31d7cf0 | ||
|
|
4d7b8bdb25 | ||
|
|
421a8cc6b7 | ||
|
|
3a448fda91 | ||
|
|
3706c76622 | ||
|
|
9a6710e330 | ||
|
|
1113980b20 | ||
|
|
e890c4ae1b | ||
|
|
7ada625161 | ||
|
|
7d8dd54b19 | ||
|
|
0b275c4933 | ||
|
|
e529bbed90 | ||
|
|
39e97779ec | ||
|
|
629d46ca25 | ||
|
|
c5a35ad56f | ||
|
|
1e94161ec1 | ||
|
|
6f78ff200c | ||
|
|
02e96484a8 | ||
|
|
67b0e4dd15 | ||
|
|
a3b21022af | ||
|
|
ad92e7b888 | ||
|
|
c73522de2e | ||
|
|
14f5e8e32e | ||
|
|
f3797abecf | ||
|
|
5b7ec19778 | ||
|
|
a786511769 | ||
|
|
e71c617bfd | ||
|
|
1310bef528 | ||
|
|
f1432992d3 | ||
|
|
348b7bf4eb | ||
|
|
30479cc5a2 | ||
|
|
1ba1bdec2d | ||
|
|
8993af4378 | ||
|
|
7246011b62 | ||
|
|
058d868edd | ||
|
|
9a58d0e559 | ||
|
|
281c0e1553 | ||
|
|
52a63a65ef | ||
|
|
cdac8d56d5 | ||
|
|
b04cb23ed5 | ||
|
|
7b4be209aa | ||
|
|
c712b7c46c | ||
|
|
22c6892870 | ||
|
|
134650eb44 | ||
|
|
506ba022f1 | ||
|
|
fc6d572a6c | ||
|
|
e6eb91c5f9 | ||
|
|
ced986e010 | ||
|
|
cde9b3ac85 | ||
|
|
b54c079766 | ||
|
|
2db17a57d2 | ||
|
|
a992c5b8d3 | ||
|
|
58f1a9bb30 | ||
|
|
269b59c2ba | ||
|
|
d462c8838f | ||
|
|
1297ac77b9 | ||
|
|
d57d3cf1f6 | ||
|
|
ae85aa33fd | ||
|
|
f2eadacf09 | ||
|
|
9ebc41ed6f | ||
|
|
f9dfdd58df | ||
|
|
c9f9388ef6 | ||
|
|
7ae6712d56 | ||
|
|
98a283b4ec | ||
|
|
d524f6b395 | ||
|
|
6b716683e2 | ||
|
|
ba2c33af0b | ||
|
|
de11f602d5 | ||
|
|
b8cb180e4b | ||
|
|
260c8e0227 | ||
|
|
e579504181 | ||
|
|
7c034b427e | ||
|
|
08868594ae | ||
|
|
f25d175b5d | ||
|
|
cc6e548a78 | ||
|
|
17a4299f74 | ||
|
|
776f4dc316 | ||
|
|
5db55d9e29 | ||
|
|
5c9564ac08 | ||
|
|
5c5a89c1a4 | ||
|
|
176413d312 | ||
|
|
b70ecc3dd3 | ||
|
|
89670e5ce4 | ||
|
|
174e1acbc7 | ||
|
|
1f09a24a72 | ||
|
|
eed91ddf46 | ||
|
|
96a7118d05 | ||
|
|
6eec896282 | ||
|
|
a78bb252de | ||
|
|
0ba07f19f7 | ||
|
|
a49a6bfd88 | ||
|
|
b87931c0a9 | ||
|
|
9b640d586b | ||
|
|
7440ffc0e6 | ||
|
|
63e901cd0b | ||
|
|
af4e9c30f5 | ||
|
|
5805ffebec | ||
|
|
39bfacf1d5 | ||
|
|
8d30fc2718 | ||
|
|
19daff36b0 | ||
|
|
c34c8ff358 | ||
|
|
af68cb6029 | ||
|
|
6b6b212643 | ||
|
|
dd2a71fa8f | ||
|
|
cd72d133a3 | ||
|
|
d3662d0e34 | ||
|
|
cf6219bb6f | ||
|
|
45eeb5065f | ||
|
|
f563eb1f63 | ||
|
|
2c1f31cecb | ||
|
|
ef16c409ef | ||
|
|
1029f9521c | ||
|
|
825eca078d | ||
|
|
1eccfb798f | ||
|
|
b9b9f3c136 | ||
|
|
7810da51a8 | ||
|
|
a470138450 | ||
|
|
4e20a02fe5 | ||
|
|
7bad731ad2 | ||
|
|
eeb54290b3 | ||
|
|
dc1e73dcb7 | ||
|
|
94be12b9e4 | ||
|
|
1862fb77ff | ||
|
|
782463589e | ||
|
|
ff570c4a6b | ||
|
|
06b619f0ed | ||
|
|
f5cc6cfd07 | ||
|
|
0f5cf00e35 | ||
|
|
105ff694f2 | ||
|
|
26ff6be63c | ||
|
|
47e3da9ebf | ||
|
|
b7ce5ba82a | ||
|
|
5723abe6eb | ||
|
|
95a9b0427c | ||
|
|
0692fea9d8 | ||
|
|
b0882a5cd2 | ||
|
|
4c1a0005e6 | ||
|
|
05ceed926c | ||
|
|
b691521662 | ||
|
|
ce300d88ee | ||
|
|
05c0249672 | ||
|
|
2498c13078 | ||
|
|
ab5dae741a | ||
|
|
cddad94e45 | ||
|
|
2f0a40c1c8 | ||
|
|
24b07aaaef | ||
|
|
ece1100d65 | ||
|
|
3b1ff5bf41 | ||
|
|
e5b03634ae | ||
|
|
1bd1c61c3c | ||
|
|
9cd81d87b2 | ||
|
|
59efea1b0e | ||
|
|
59f18583d1 | ||
|
|
d0b40bab47 | ||
|
|
d76192cce1 | ||
|
|
0e828d802e | ||
|
|
9505d7cc51 | ||
|
|
1c4072e231 | ||
|
|
86e13ea06f | ||
|
|
c12d3870cd | ||
|
|
fce76a13cb | ||
|
|
82b14370fc | ||
|
|
a9d8e9dcd8 | ||
|
|
542e989046 | ||
|
|
f5c199740d | ||
|
|
f37b81c8b7 | ||
|
|
c0ea69ee24 | ||
|
|
5640cbf653 | ||
|
|
6d81e5c87a | ||
|
|
3c7ff97ed4 | ||
|
|
2120ff8037 | ||
|
|
92c35c6aa6 | ||
|
|
149b16aefd | ||
|
|
114c38c1ff | ||
|
|
e5269a4151 | ||
|
|
81584c6d51 | ||
|
|
0d9ae241c9 | ||
|
|
e726e7aad8 | ||
|
|
c7c05ea869 | ||
|
|
b5da8423a6 | ||
|
|
c3de0a2d4b | ||
|
|
83880aed52 | ||
|
|
de56b753d1 | ||
|
|
dab01e3f3f | ||
|
|
e46ab72718 | ||
|
|
9f6d7eb587 | ||
|
|
bbd9098e44 | ||
|
|
47ad4e3fe8 | ||
|
|
9330d2e1e8 | ||
|
|
020e19f770 | ||
|
|
3be5600caf | ||
|
|
22dd275b15 | ||
|
|
6342e76e19 | ||
|
|
55dd149a03 | ||
|
|
39a0f28753 | ||
|
|
dd45b448d9 | ||
|
|
7740150576 | ||
|
|
4f367faf4d | ||
|
|
3840186dd8 | ||
|
|
d77fcea365 | ||
|
|
ed51a45187 | ||
|
|
c832226aa1 | ||
|
|
a20375372d | ||
|
|
ba86988101 | ||
|
|
6073e3f345 | ||
|
|
d31ccacf57 | ||
|
|
7e3d2029e0 | ||
|
|
de48e65091 | ||
|
|
3243365210 | ||
|
|
7ae0338f5c | ||
|
|
b2460fbee2 | ||
|
|
8dc3f2146a | ||
|
|
a993496ab4 | ||
|
|
61e72ef50b | ||
|
|
d7ac878efd | ||
|
|
e5a0db8782 | ||
|
|
24d4840c93 | ||
|
|
fa70798fb5 | ||
|
|
1af480ea3b | ||
|
|
a76fc0ee5a | ||
|
|
80e86d6c1b | ||
|
|
dc13e39bb1 | ||
|
|
98c5871d38 | ||
|
|
5a109d9293 | ||
|
|
56316bc980 | ||
|
|
21c8e65d13 | ||
|
|
86d8079739 | ||
|
|
d2be45bce1 | ||
|
|
5d048c18bc | ||
|
|
0fb779d363 | ||
|
|
d0ed82a686 | ||
|
|
d33b68ccc9 | ||
|
|
26f068bcab | ||
|
|
f0dc3725e8 | ||
|
|
2de22b408b | ||
|
|
04b62b139d | ||
|
|
2f20f3c65d | ||
|
|
53b3e5af1b | ||
|
|
7dbb98c2e5 | ||
|
|
8b35cda4c6 | ||
|
|
cb36a37779 | ||
|
|
704c5f2de7 | ||
|
|
3fcb0d2d6b | ||
|
|
2dfe0ed42e | ||
|
|
ac48fbae9c | ||
|
|
6048a7143a | ||
|
|
7c24db07c2 | ||
|
|
271cdac474 | ||
|
|
79e2c132cc | ||
|
|
b5736fb5a7 | ||
|
|
7822a6b000 | ||
|
|
306b63599c | ||
|
|
3021fb546e | ||
|
|
a5bd437d48 | ||
|
|
08156186fa | ||
|
|
f1006ca8b0 | ||
|
|
93c85711d1 | ||
|
|
e5ef5f2410 | ||
|
|
52a5729298 | ||
|
|
b9849580f8 | ||
|
|
4525161e7c | ||
|
|
dee6d18d69 | ||
|
|
d44179142f | ||
|
|
c66c01245b | ||
|
|
bce6916c13 | ||
|
|
681c43631b | ||
|
|
2f740fe471 | ||
|
|
b1c10c8454 | ||
|
|
1d5b3aadea | ||
|
|
2d420cd72c | ||
|
|
707d6880a8 | ||
|
|
dbad1a8d45 | ||
|
|
36eaff92e5 | ||
|
|
e51c299937 | ||
|
|
8c7953a47c | ||
|
|
4527784905 | ||
|
|
ee8a93ae9a | ||
|
|
6096362052 | ||
|
|
89c51e7649 | ||
|
|
6c92076ec3 | ||
|
|
2bba4134fb | ||
|
|
10175c8d57 | ||
|
|
7804bf0a9a | ||
|
|
336c95ce5b | ||
|
|
babe891242 | ||
|
|
bb37e93f52 | ||
|
|
aa0f2c64ff | ||
|
|
e66ca267f4 | ||
|
|
eeb5ca42e0 | ||
|
|
74ec90c725 | ||
|
|
03ee742981 | ||
|
|
557c63b372 | ||
|
|
b4c86bcf40 | ||
|
|
0094c1ecf5 | ||
|
|
6b5fcf53eb | ||
|
|
4b001a77b3 | ||
|
|
357c08c5b3 | ||
|
|
e7d9ec50dc | ||
|
|
09b0ba31ef | ||
|
|
8231bc931b | ||
|
|
26ffa078ef | ||
|
|
eb60aca34f | ||
|
|
4d3020421a | ||
|
|
f1ce0a1cf3 | ||
|
|
dd28a645a1 | ||
|
|
561e3c780d | ||
|
|
8371e34d87 | ||
|
|
46fd79604d | ||
|
|
d08c2de619 | ||
|
|
a452a05e52 | ||
|
|
0a96aa3aaf | ||
|
|
07bcaaebf9 | ||
|
|
0cde7c8ac1 | ||
|
|
b285e98988 | ||
|
|
ab40ba2f75 | ||
|
|
bbcb8ba3e7 | ||
|
|
ef48de34f7 | ||
|
|
7e898cf60c | ||
|
|
2f5cea0e73 | ||
|
|
282abdd804 | ||
|
|
9b178c5bb2 | ||
|
|
d491663143 | ||
|
|
8eaeba6486 | ||
|
|
631e67949e | ||
|
|
77d2cba155 | ||
|
|
2149092c7a | ||
|
|
100d1361b6 | ||
|
|
76f5266fa1 | ||
|
|
3ebe3b1196 | ||
|
|
c4f96c2fba | ||
|
|
d880f2ffbc | ||
|
|
f8f5a7ceaa | ||
|
|
b01839e9a4 | ||
|
|
75dbf12ae6 | ||
|
|
9bb89dced5 | ||
|
|
661fe5df66 | ||
|
|
8a93437e55 | ||
|
|
b20752f13e | ||
|
|
61967f6e1b | ||
|
|
f0fef4f232 | ||
|
|
7eb10a08b8 | ||
|
|
4c83653d5d | ||
|
|
3149cd03be | ||
|
|
5314765410 | ||
|
|
621a37be15 | ||
|
|
6de104a03a | ||
|
|
97560509ea | ||
|
|
32aaecd832 | ||
|
|
dfba8fbe5e | ||
|
|
32fea6523f | ||
|
|
d1c1a18226 | ||
|
|
04558beabe | ||
|
|
425d0d77c5 | ||
|
|
edf7cd29dd | ||
|
|
27318dded6 | ||
|
|
11fe0c5b4b | ||
|
|
886f9d82f2 | ||
|
|
4f2fb4af5d | ||
|
|
6c8eab734e | ||
|
|
9d5d6aff38 | ||
|
|
705cd571a5 | ||
|
|
48d3c75745 | ||
|
|
6fbd28d228 | ||
|
|
285cb78962 | ||
|
|
708655d9b2 | ||
|
|
9bd7ffe952 | ||
|
|
8febd90f2a | ||
|
|
51109ea485 | ||
|
|
1579c23ff1 | ||
|
|
bf18ecae13 | ||
|
|
89971925ca | ||
|
|
2ba007ee4f | ||
|
|
d1cc3c34c9 | ||
|
|
de79f9338a | ||
|
|
5471bfd5a8 | ||
|
|
961df010cb | ||
|
|
103986b320 | ||
|
|
764c0cdb03 | ||
|
|
12b09fab67 | ||
|
|
ed5a8ab090 | ||
|
|
41fa562dce | ||
|
|
6c2ce06fea | ||
|
|
ef019cdbfa | ||
|
|
1b02a1a6f3 | ||
|
|
1d8900dc19 | ||
|
|
171fd22d91 | ||
|
|
78d50f4033 | ||
|
|
fee18dd457 | ||
|
|
81d3ce8257 | ||
|
|
5213970c3d | ||
|
|
bcc06af904 | ||
|
|
a98242a2b8 | ||
|
|
5f715ca063 | ||
|
|
0ceeff62d6 | ||
|
|
f53a7c0e4a | ||
|
|
41b07d045a | ||
|
|
0d303f1d1f | ||
|
|
b6d97cfffb | ||
|
|
3e982ad34c | ||
|
|
dafd9c308f | ||
|
|
7f836cc01b | ||
|
|
147fa60f81 | ||
|
|
a1b9405e2e | ||
|
|
db02d44c6a | ||
|
|
dff1f77dfa | ||
|
|
1a2fff8ed8 | ||
|
|
52c12b33c3 | ||
|
|
29987ca2aa | ||
|
|
02f971b534 | ||
|
|
479b340d75 | ||
|
|
06c48f58cc | ||
|
|
0ee81a2865 | ||
|
|
e78c251832 | ||
|
|
efbc495f79 | ||
|
|
f8b73eb9d9 | ||
|
|
f25a590af5 | ||
|
|
0539098371 | ||
|
|
788c27bf2f | ||
|
|
a587148c73 | ||
|
|
9acd3a58ee | ||
|
|
dce30a27b9 | ||
|
|
449f5adaba | ||
|
|
2380b7af3d | ||
|
|
10989d13e4 | ||
|
|
fe1653ede6 | ||
|
|
b4071cec01 | ||
|
|
b1c842373d | ||
|
|
a3d70b3cf6 | ||
|
|
70912c44de | ||
|
|
98d9f7924d | ||
|
|
172295289e | ||
|
|
8ba08d7e87 | ||
|
|
8915f94931 | ||
|
|
1543899795 | ||
|
|
31bf844452 | ||
|
|
6d94acee8f | ||
|
|
0c8b74a025 | ||
|
|
dad8c1c27c | ||
|
|
2e12acdf32 | ||
|
|
d6156dd755 | ||
|
|
2c67a7ca71 | ||
|
|
688b8dcc38 | ||
|
|
280edee1db | ||
|
|
37a7ad4795 | ||
|
|
b9ea72f189 | ||
|
|
8f8265b219 | ||
|
|
00ae3c3120 | ||
|
|
1e49f152be | ||
|
|
f72ca4d83e | ||
|
|
5b10a9f3a7 | ||
|
|
d0fb1acebb | ||
|
|
09be4d22ee | ||
|
|
11a64320f0 | ||
|
|
d7d241196e | ||
|
|
4eac66b84a | ||
|
|
fa606b38b7 | ||
|
|
497b7808b6 | ||
|
|
b10c2b5946 | ||
|
|
fa881ba1c7 | ||
|
|
eb1b17e8e4 | ||
|
|
9ae4d45243 | ||
|
|
2eec85a97c | ||
|
|
1cd5681967 | ||
|
|
c85b6193d5 | ||
|
|
eab488e64f | ||
|
|
50e718b1e7 | ||
|
|
fc36e7eccf | ||
|
|
0cc2bbf5d9 | ||
|
|
7c36e5c0e6 | ||
|
|
d2669debb9 | ||
|
|
1b62ed1e7e | ||
|
|
637fb449c6 | ||
|
|
e82b319ee7 | ||
|
|
c3d41f0d48 | ||
|
|
e9248066df | ||
|
|
819472d366 | ||
|
|
21bbdd6f49 | ||
|
|
a88ac00115 | ||
|
|
30683b38a8 | ||
|
|
45aefeb146 | ||
|
|
9daacd7aee | ||
|
|
580ecbff0c | ||
|
|
db3318886e | ||
|
|
54eb837950 | ||
|
|
0bd73788f4 | ||
|
|
e395282e0e | ||
|
|
1f129d0bcb | ||
|
|
c2ae5e5fd1 | ||
|
|
292a7357bd | ||
|
|
ece11dc3d8 | ||
|
|
99aa2cdf2a | ||
|
|
0eb9401c62 | ||
|
|
ab14a589c8 | ||
|
|
122fa596b3 | ||
|
|
5406407ed6 | ||
|
|
b72cee2783 | ||
|
|
fe023e2229 | ||
|
|
66595a3597 | ||
|
|
1dae928a7c | ||
|
|
9b1779bb06 | ||
|
|
97cc05eeea | ||
|
|
20dd3b0a69 | ||
|
|
f348eabf19 | ||
|
|
5870a57002 | ||
|
|
278bc5a8cd | ||
|
|
3c89415df1 | ||
|
|
5981f700f5 | ||
|
|
af5e8ee18c | ||
|
|
52e8343f76 | ||
|
|
a4dbf5942c | ||
|
|
ada1d42ebf | ||
|
|
f27182ae05 | ||
|
|
2fddf05515 | ||
|
|
91d1864840 | ||
|
|
6e42ee1bd4 | ||
|
|
f3cc614427 | ||
|
|
79052ba7c6 | ||
|
|
0edd4d3c02 | ||
|
|
71516c480d | ||
|
|
4960890d70 | ||
|
|
76f0f3cbf2 | ||
|
|
1304c2c4ab | ||
|
|
a84b7dc27e | ||
|
|
927af0adec | ||
|
|
2dfbc2058f | ||
|
|
79ee6c2f3b | ||
|
|
f59a6862ca | ||
|
|
fa962b7f53 | ||
|
|
71408bab60 | ||
|
|
9e015eb654 | ||
|
|
4ce03e8b61 | ||
|
|
68b7f412b6 | ||
|
|
20011f3a84 | ||
|
|
2d020b5989 | ||
|
|
1909b465dc | ||
|
|
88b7f2e0ee | ||
|
|
f5f04bcc4b | ||
|
|
531d586460 | ||
|
|
2630a73a1c | ||
|
|
4decd15ca9 | ||
|
|
3a59dd24f3 | ||
|
|
c232411e96 | ||
|
|
1cf1f6edcb | ||
|
|
5d36a27893 | ||
|
|
da94533647 | ||
|
|
db08d5021e | ||
|
|
69066013c1 | ||
|
|
aef569ee9d | ||
|
|
cf881aa6dc | ||
|
|
a48bf3142c | ||
|
|
33d9f4b882 | ||
|
|
49c40a4b11 | ||
|
|
d1eff0ae24 | ||
|
|
c0131695c5 | ||
|
|
fcbadda40f | ||
|
|
2455faa6fe | ||
|
|
7da8a5e374 | ||
|
|
b3950165c4 | ||
|
|
b8ab859c59 | ||
|
|
99a3cb0eab | ||
|
|
0be4b59cff | ||
|
|
fef37b0222 | ||
|
|
ddfc7c75df | ||
|
|
7618f29657 | ||
|
|
291231c561 | ||
|
|
7ad557f2f8 | ||
|
|
ef70052b0e | ||
|
|
202426f536 | ||
|
|
d240415671 | ||
|
|
1aca22b5f8 | ||
|
|
ff970ee3f5 | ||
|
|
51a46a8ad7 | ||
|
|
68792ee9db | ||
|
|
bcff1ced5e | ||
|
|
7ce2a93c63 | ||
|
|
4d33773cef | ||
|
|
5d19426930 | ||
|
|
1b51a10b19 | ||
|
|
aab870af32 | ||
|
|
38ff7d87c8 | ||
|
|
7c70ada423 | ||
|
|
12e2bac16b | ||
|
|
34a27c748a | ||
|
|
7ec0c52439 | ||
|
|
905dd20d0c | ||
|
|
a73fbccf8c | ||
|
|
7f1d707d23 | ||
|
|
f1fb36bcb8 | ||
|
|
25c274a0bd | ||
|
|
d4bbd28757 | ||
|
|
98b7248df0 | ||
|
|
0fb0f2c204 | ||
|
|
6abaad1ae8 | ||
|
|
89aec52503 | ||
|
|
79d13d9242 | ||
|
|
b6f42a91f4 | ||
|
|
cc5f5cf3a6 | ||
|
|
2aef6a2174 | ||
|
|
79f00c2a2a | ||
|
|
e5068e7543 | ||
|
|
858218ac34 | ||
|
|
b8e8d975aa | ||
|
|
6e0330ff65 | ||
|
|
3aa7178382 | ||
|
|
439bf7641e | ||
|
|
34042028b3 | ||
|
|
d69049ce10 | ||
|
|
44a281534d | ||
|
|
59a9cc7c12 | ||
|
|
2f34b046d0 | ||
|
|
a73316306d | ||
|
|
cf12a56b4c | ||
|
|
928652e4cf | ||
|
|
7950b49cb1 | ||
|
|
f8b1b243c1 | ||
|
|
cc6aa66ab0 | ||
|
|
ea381392a7 | ||
|
|
bb7f63dcfd | ||
|
|
253d65727b | ||
|
|
61138b58bf | ||
|
|
5490063b7e | ||
|
|
d2e1489fe7 | ||
|
|
2c6324e3e5 | ||
|
|
e442ba863a | ||
|
|
2b4849a2fa | ||
|
|
eb898646bc | ||
|
|
79b547b83b | ||
|
|
2356601bb3 | ||
|
|
9b88c7d3c1 | ||
|
|
302499b483 | ||
|
|
17e16f5e79 | ||
|
|
b176ff6626 | ||
|
|
e5471d8318 | ||
|
|
902bb7a198 | ||
|
|
03dc27a327 | ||
|
|
9291ace558 | ||
|
|
15c11ea172 | ||
|
|
cd6950d984 | ||
|
|
de96350bee | ||
|
|
b037e6356e | ||
|
|
824628061b | ||
|
|
a9f1e165b5 | ||
|
|
c60b433c42 | ||
|
|
933c7e36d1 | ||
|
|
449abace66 | ||
|
|
6025b3a91b | ||
|
|
c473428be6 | ||
|
|
e06e5fe55f | ||
|
|
dc8f437b31 | ||
|
|
2219d409a4 | ||
|
|
aabcf80774 | ||
|
|
1cf956ec21 | ||
|
|
315c2eb4ca | ||
|
|
54e2b9345b | ||
|
|
9743fee8f9 | ||
|
|
696f801df0 | ||
|
|
fef0d0b31c | ||
|
|
75101a0319 | ||
|
|
d1a660ce20 | ||
|
|
4356005c5a | ||
|
|
86a00eee3f | ||
|
|
ccf532672b | ||
|
|
6b52e9db34 | ||
|
|
8fdee79505 | ||
|
|
d9de6e68ad | ||
|
|
988fe70771 | ||
|
|
132fac86d7 | ||
|
|
d02175210b | ||
|
|
1dd3d080b8 | ||
|
|
d171431ac7 | ||
|
|
76e0d61b19 | ||
|
|
cc6d83a953 | ||
|
|
617887a0c6 | ||
|
|
e4fe4cb4d3 | ||
|
|
dc0a054d94 | ||
|
|
924d9b985f | ||
|
|
bb3bd6930a | ||
|
|
1245ed6f06 | ||
|
|
01b0ee49de | ||
|
|
2436ef9574 | ||
|
|
94f3a1ab1f | ||
|
|
9c98883bea | ||
|
|
2fb19e25b5 | ||
|
|
6fbbe2d0e4 | ||
|
|
c291eb3db4 | ||
|
|
7f38ce8908 | ||
|
|
1781400340 | ||
|
|
3760f14da8 | ||
|
|
dc18366111 | ||
|
|
936252765a | ||
|
|
b62b87eed3 | ||
|
|
4b716f3ea6 | ||
|
|
ddbe181e48 | ||
|
|
27f9d4523b | ||
|
|
8a7cfbd8de | ||
|
|
463a9a5485 | ||
|
|
ee7fe4a38a | ||
|
|
dccb9def3a | ||
|
|
5c5d57a996 | ||
|
|
de2ce5a0a2 | ||
|
|
7b114e2cae | ||
|
|
25d519fed3 | ||
|
|
8d819956d3 | ||
|
|
4aec783362 | ||
|
|
b494181764 | ||
|
|
9575271fcd | ||
|
|
b6eda9076e | ||
|
|
88072a985a | ||
|
|
c27f151451 | ||
|
|
64a7025522 | ||
|
|
ce2741cebc | ||
|
|
b40b670639 | ||
|
|
3d6b622879 | ||
|
|
4c67a8812a | ||
|
|
4c4d02c0d0 | ||
|
|
c1831f4946 | ||
|
|
4b2c1bacd1 | ||
|
|
3909102436 | ||
|
|
78e50747e4 | ||
|
|
b09498d852 | ||
|
|
7fcf723039 | ||
|
|
d27ab8c6ca | ||
|
|
0350508b65 | ||
|
|
32739cc305 | ||
|
|
f515fe77c4 | ||
|
|
f6d20cbe55 | ||
|
|
8bc0d9acd3 | ||
|
|
73325bcd41 | ||
|
|
1b5bbfdad3 | ||
|
|
fcd211b190 | ||
|
|
55b3eb467f | ||
|
|
192c23bfce | ||
|
|
72e0418e4c | ||
|
|
4fc044d368 | ||
|
|
1544606bf0 | ||
|
|
255330d342 | ||
|
|
ad139e19ab | ||
|
|
4c0891a22e | ||
|
|
8e6e51f9a6 | ||
|
|
faa502163e | ||
|
|
4ff0e7e0a2 | ||
|
|
12459bf07e | ||
|
|
b25ef28e82 | ||
|
|
ef6c82ba00 | ||
|
|
7e009667a2 | ||
|
|
1f1eb933d1 | ||
|
|
aa85e875bd | ||
|
|
1b4c613fa6 | ||
|
|
57ef515def | ||
|
|
8cd1d43798 | ||
|
|
59643177af | ||
|
|
e2d5ae1035 | ||
|
|
cd9f2e5ea5 | ||
|
|
acd3df33b6 | ||
|
|
1bc8fd9b49 | ||
|
|
600a6d9346 | ||
|
|
0e22864426 | ||
|
|
5306cdc7a1 | ||
|
|
344b98bf13 | ||
|
|
12f5e4b46e | ||
|
|
261d7ee688 | ||
|
|
633267c457 | ||
|
|
80f9ed70d3 | ||
|
|
fa8f6f91c4 | ||
|
|
c3f8e099f4 | ||
|
|
6cb8134690 | ||
|
|
95a77e5ccc | ||
|
|
21783ecef7 | ||
|
|
d8a8b53fc9 | ||
|
|
e71ce01f90 | ||
|
|
6827f9977c | ||
|
|
6d24bd0361 | ||
|
|
22c1629dd3 | ||
|
|
bd9d5432f5 | ||
|
|
370ee5c6f6 | ||
|
|
fe2e4d87c5 | ||
|
|
e9c4635f6b | ||
|
|
7337010fd8 | ||
|
|
f06019ab81 | ||
|
|
55567f8dd2 | ||
|
|
2ccfdcb084 | ||
|
|
084d9de4c9 | ||
|
|
41875c2ddb | ||
|
|
4ad9ff4301 | ||
|
|
c7ff1e9b3f | ||
|
|
fe3f751a8a | ||
|
|
996b7166d2 | ||
|
|
839b2fa8fd | ||
|
|
8b1aebcdba | ||
|
|
f4e2041b0b | ||
|
|
24df6f838d | ||
|
|
c313cc02f2 | ||
|
|
4e13c882f8 | ||
|
|
0fe51d826f | ||
|
|
b2976baf9b | ||
|
|
a0a5a49d7b | ||
|
|
9a1781f613 | ||
|
|
f983264b5d | ||
|
|
40cebeedfc | ||
|
|
1f9280c68e | ||
|
|
14ed261606 | ||
|
|
4fb671e7f4 | ||
|
|
aad5c96759 | ||
|
|
72b8da317f | ||
|
|
7f9033f1f1 | ||
|
|
a42e384935 | ||
|
|
9b37357513 | ||
|
|
23269c9a08 | ||
|
|
327f70240c | ||
|
|
0a7642dbe0 | ||
|
|
742b036a07 | ||
|
|
6e00989a9e | ||
|
|
68f0227ca1 | ||
|
|
fe9a2e7ba4 | ||
|
|
a248fc36fe | ||
|
|
e28a7a7ae3 | ||
|
|
b92789825d | ||
|
|
c3b6aecb79 | ||
|
|
4688126f84 | ||
|
|
5a5c03a826 | ||
|
|
f3477877d0 | ||
|
|
7bef588851 | ||
|
|
72a25cf6ee | ||
|
|
74e13f4c70 | ||
|
|
3c09ef6cbf | ||
|
|
68bfcf5d24 | ||
|
|
b2a10de71a | ||
|
|
267b9e5c2f | ||
|
|
55d94bf15a | ||
|
|
629e2a9e1c | ||
|
|
86acdf69d9 | ||
|
|
a6987ad703 | ||
|
|
5642e40bc8 | ||
|
|
50d178feaa | ||
|
|
753aa9132e | ||
|
|
8d71328192 | ||
|
|
cfdfd6a860 | ||
|
|
17b320f7dc | ||
|
|
8df14ee845 | ||
|
|
0c9d57228d | ||
|
|
550d6d66d1 | ||
|
|
f1ad82d0ba | ||
|
|
2fb283749c | ||
|
|
7480d34742 | ||
|
|
5254c9785c | ||
|
|
0f37484b8a | ||
|
|
5a4c023fc9 | ||
|
|
e8afac3a01 | ||
|
|
6284517dc9 | ||
|
|
80c096b6f1 | ||
|
|
04cc513bbd | ||
|
|
f004d5085d | ||
|
|
98e21ae0ad | ||
|
|
00274722ce | ||
|
|
8b93678e3d | ||
|
|
3d0c009719 | ||
|
|
1b3ec955b1 | ||
|
|
208011f6ab | ||
|
|
f84e0010ee | ||
|
|
c97f46d403 | ||
|
|
5356898efc | ||
|
|
1fb52f0d8b | ||
|
|
d4de024f15 | ||
|
|
1d9d88ca85 | ||
|
|
2ca8805cda | ||
|
|
8e5c41e6f3 | ||
|
|
0f7efbc22e | ||
|
|
6b7bd07c97 | ||
|
|
8d85516e72 | ||
|
|
0f4cf74ae0 | ||
|
|
4dfe0fad7d | ||
|
|
2e91ea8093 | ||
|
|
77e3480b2f | ||
|
|
bca1ef42fc | ||
|
|
010ab7119e | ||
|
|
3cb93510ac | ||
|
|
8a88ca6f34 | ||
|
|
81d786733d | ||
|
|
336e74b992 | ||
|
|
beb9300b4e | ||
|
|
74b3e2ce3f | ||
|
|
c35880d4f1 | ||
|
|
ed6e3e4ee2 | ||
|
|
f8bea55b10 | ||
|
|
72cd84e878 | ||
|
|
35b6d09615 | ||
|
|
1ae727e70f | ||
|
|
0e5d0c1170 | ||
|
|
7ff62bc577 | ||
|
|
bb32831a60 | ||
|
|
743c1c2eda | ||
|
|
0e9a08cbbf | ||
|
|
d2445ec72d | ||
|
|
fef713aaed | ||
|
|
c4d73688a6 | ||
|
|
56b721b2eb | ||
|
|
2981b37219 | ||
|
|
cfc2f84d3e | ||
|
|
d8ebebaf12 | ||
|
|
2a5691e575 | ||
|
|
774432066e | ||
|
|
e6c501de8e | ||
|
|
af3fae9c28 | ||
|
|
d5a8661480 | ||
|
|
d3b72940fd | ||
|
|
e8de3e855a | ||
|
|
71338000a4 | ||
|
|
2fdb3cfdfb | ||
|
|
8961e61f60 | ||
|
|
e5191acd73 | ||
|
|
d697969f36 | ||
|
|
51e9c5fd96 | ||
|
|
997504c03c | ||
|
|
0202351a27 | ||
|
|
ea690c285b | ||
|
|
28879712e9 | ||
|
|
3c2e43d883 | ||
|
|
dde06dfaba | ||
|
|
eb0f074097 | ||
|
|
b6c9b5645c | ||
|
|
5041880854 | ||
|
|
a281b36d6f | ||
|
|
7772501cdf | ||
|
|
2c904afd04 | ||
|
|
2cc13fb74a | ||
|
|
df3c3bca02 | ||
|
|
d1b991e198 | ||
|
|
00f793a841 | ||
|
|
bdb9598227 | ||
|
|
c6deb392fd | ||
|
|
3477ea0eeb | ||
|
|
9dacad99fa | ||
|
|
73e35c66af | ||
|
|
d3b599b727 | ||
|
|
4369151cd8 | ||
|
|
846773efd3 | ||
|
|
bcfa34357b | ||
|
|
e0c2e8ed86 | ||
|
|
b80a3876ab | ||
|
|
26e17f58ef | ||
|
|
45d1567057 | ||
|
|
8aacb3f7ec | ||
|
|
99ee81a489 | ||
|
|
517ffbd783 | ||
|
|
7dd926d4f1 | ||
|
|
cbc7942a00 | ||
|
|
63cd5ef563 | ||
|
|
3806905f5b | ||
|
|
82c254fecf | ||
|
|
2496f23e45 | ||
|
|
86bea9a9af | ||
|
|
4bb1172c84 | ||
|
|
88f26fb548 | ||
|
|
a9f1de84f0 | ||
|
|
367ff79ef1 | ||
|
|
2961c44bbe | ||
|
|
997559dc6d | ||
|
|
79d28bbc35 | ||
|
|
6bc425f981 | ||
|
|
2cdfc16829 | ||
|
|
e63d45cca9 | ||
|
|
553f186b7c | ||
|
|
623dfc0286 | ||
|
|
ffa7f35a87 | ||
|
|
081b7d4aa9 | ||
|
|
9c3c4bac66 | ||
|
|
6ec218ef11 | ||
|
|
ad2eabeb3b | ||
|
|
26c377d05b | ||
|
|
caa75d98be | ||
|
|
3ad9356ca4 | ||
|
|
dd5296f03c | ||
|
|
e673d76f22 | ||
|
|
393eb7bb4d | ||
|
|
2fa5a5b8c3 | ||
|
|
ca63b79ed8 | ||
|
|
f8b097669a | ||
|
|
2f284209d8 | ||
|
|
09881040a3 | ||
|
|
9066ad5790 | ||
|
|
62d0e670dc | ||
|
|
e7d597045b | ||
|
|
eaa3a2eae2 | ||
|
|
40d765c73a | ||
|
|
21d7d8988a | ||
|
|
e76386be4f | ||
|
|
b3b3ca0e16 | ||
|
|
730e86c4cd | ||
|
|
23e0af5cc1 | ||
|
|
a92f1cb055 | ||
|
|
a54162e009 | ||
|
|
48864a6921 | ||
|
|
92f07cb60f | ||
|
|
e17243bc1f | ||
|
|
0e45dd7a3d | ||
|
|
65f313f1b4 | ||
|
|
da4958c716 | ||
|
|
653b8494f5 | ||
|
|
6ed6f84f6e | ||
|
|
ff0ba56bc3 | ||
|
|
e795d04f30 | ||
|
|
8d3806b080 | ||
|
|
5597ebe455 | ||
|
|
5f96de32bb | ||
|
|
d2436ce23d | ||
|
|
fbadadc377 | ||
|
|
9adc30ab9f | ||
|
|
8de3bda0b1 | ||
|
|
3c4f410a4e | ||
|
|
9c0a21a5fb | ||
|
|
94ddf7e5d8 | ||
|
|
f45dd8e94f | ||
|
|
b735dc07d6 | ||
|
|
68c902e60b | ||
|
|
e19214c3c4 | ||
|
|
4759429702 | ||
|
|
b626589c07 | ||
|
|
02704cdf74 | ||
|
|
a7d251f8fc | ||
|
|
4555d4bcbe | ||
|
|
184e58f5e5 | ||
|
|
5c7f3c1642 | ||
|
|
7a8a3855b8 | ||
|
|
603a238eb9 | ||
|
|
b7b6cf4b3f | ||
|
|
c855b783d9 | ||
|
|
f593fc8e4d | ||
|
|
ae5cbb8451 | ||
|
|
041066a252 | ||
|
|
9ca82ba14d | ||
|
|
36331512bc | ||
|
|
b29a757b18 | ||
|
|
485a6926c5 | ||
|
|
f3de6f46db | ||
|
|
1309dc27d9 | ||
|
|
31469d6a3e | ||
|
|
88776770f7 | ||
|
|
bbf8b9f8dd | ||
|
|
6ff38d8005 | ||
|
|
6d13b5cc43 | ||
|
|
73ab2804c4 | ||
|
|
db3d2eed5f | ||
|
|
d995d1190f | ||
|
|
3217e42a0f | ||
|
|
1dd58a537e | ||
|
|
3e916cfbb9 | ||
|
|
4a9ad14e11 | ||
|
|
f80816d88f | ||
|
|
b34afa1afc | ||
|
|
b7c9fa6d5f | ||
|
|
61ad376bf4 | ||
|
|
407b3bebfe | ||
|
|
f04c80dd0e | ||
|
|
1e788d3d60 | ||
|
|
83171bf025 | ||
|
|
2e51721851 | ||
|
|
4d4a0148e4 | ||
|
|
b144a5bbf9 | ||
|
|
5225fe07e0 | ||
|
|
85cdbd1f1d | ||
|
|
e4f8a136f1 | ||
|
|
c263c38cdf | ||
|
|
df8553e878 | ||
|
|
bec66c85d4 | ||
|
|
f9710cc1d5 | ||
|
|
6b041b0846 | ||
|
|
d0c992c991 | ||
|
|
9ee86cf06b | ||
|
|
817f89d586 | ||
|
|
458645101b | ||
|
|
1e306012ec | ||
|
|
db2c198feb | ||
|
|
71a901a24e | ||
|
|
f4ea34e63b | ||
|
|
0d54b88ab2 | ||
|
|
da0bd14bf3 | ||
|
|
6ce746b9ea | ||
|
|
02355696ff | ||
|
|
38254125c9 | ||
|
|
e5b3363ecf | ||
|
|
646eafb05d | ||
|
|
0880444e37 | ||
|
|
6c3eb06b65 | ||
|
|
0a953b91f9 | ||
|
|
b71881d300 | ||
|
|
b91967f4d9 | ||
|
|
c759e8bb8f | ||
|
|
b83f6c0b3a | ||
|
|
ade92d8ac1 | ||
|
|
08398784e4 | ||
|
|
afea881d90 | ||
|
|
194bba2118 | ||
|
|
a5967e4ecd | ||
|
|
21e22a50c5 | ||
|
|
2f361278d2 | ||
|
|
319cf76417 | ||
|
|
be7b08b50a | ||
|
|
2d234cd96f | ||
|
|
1230e87330 | ||
|
|
22c01748ce | ||
|
|
02809d5016 | ||
|
|
d21f312936 | ||
|
|
b2966fecc7 | ||
|
|
4abe00ff6c | ||
|
|
357b041bb4 | ||
|
|
61999a67cd | ||
|
|
8da97a7c6f | ||
|
|
e1db834ec9 | ||
|
|
2caa69e0cb | ||
|
|
c5932569f8 | ||
|
|
c72c72a106 | ||
|
|
1921d1a5be | ||
|
|
4a5ef8f173 | ||
|
|
8745a684ae | ||
|
|
892cd962f8 | ||
|
|
3f543b881d | ||
|
|
4a1d0eb80e | ||
|
|
ed26bcb3e7 | ||
|
|
760ecd71fc | ||
|
|
04f1026cd8 | ||
|
|
b03c4cc62e | ||
|
|
18e9357aaf | ||
|
|
46b8260693 | ||
|
|
d5bd3190d4 | ||
|
|
e497b6d458 | ||
|
|
2e4320ee05 | ||
|
|
3406fcdce4 | ||
|
|
14a5ff6747 | ||
|
|
8dbfcd782b | ||
|
|
abf0f90a13 | ||
|
|
4d5c74c019 | ||
|
|
70ff928381 | ||
|
|
b48ab79a92 | ||
|
|
9a7fbd4f71 | ||
|
|
ef3b4956ad | ||
|
|
fd4642d827 | ||
|
|
6dd248e527 | ||
|
|
7d00c3646a | ||
|
|
e355e12385 | ||
|
|
34b31c0146 | ||
|
|
3934fa019e | ||
|
|
dc53e96f92 | ||
|
|
7fcf6f9f79 | ||
|
|
b814b45e50 | ||
|
|
ded8914df2 | ||
|
|
bd48ab23c3 | ||
|
|
4e28ba73bb | ||
|
|
16cb37ecd0 | ||
|
|
7a7b0e8939 | ||
|
|
d4d630b2e9 | ||
|
|
a4f6370774 | ||
|
|
2ff27cdd63 | ||
|
|
2f81167164 | ||
|
|
6897c5d41f | ||
|
|
233450d850 | ||
|
|
7428a8fa63 | ||
|
|
18359d7871 | ||
|
|
df12a58e3d | ||
|
|
4b3d124b5a | ||
|
|
51e941e7b5 | ||
|
|
62ea6f316f | ||
|
|
6605a89990 | ||
|
|
4cb9b3a85b | ||
|
|
806ab8ea46 | ||
|
|
582a8fe7fd | ||
|
|
08ca8b54b1 | ||
|
|
abafbef985 | ||
|
|
6e10b8c5c4 | ||
|
|
06863ca9c6 | ||
|
|
e49b8981dd | ||
|
|
24616bead4 | ||
|
|
2e91557c28 | ||
|
|
4d4eab8b1c | ||
|
|
13f9970257 | ||
|
|
4d4ae9374b | ||
|
|
b8e20b412c | ||
|
|
e36f3c5b10 | ||
|
|
8a55f831f4 | ||
|
|
0dcc9be5c1 | ||
|
|
5ee00a8df7 | ||
|
|
1af3d3f18b | ||
|
|
f54248c0a7 | ||
|
|
2911c0e1c4 | ||
|
|
16d35c1489 | ||
|
|
746c15b4aa | ||
|
|
7e65c9741e | ||
|
|
a50e7c1b48 | ||
|
|
0ae82e2041 | ||
|
|
22af756fe3 | ||
|
|
2f1bec28dd | ||
|
|
022a3fcd92 | ||
|
|
064dcdb25a | ||
|
|
938dce7fa6 | ||
|
|
0151682a53 | ||
|
|
864f2cdc7d | ||
|
|
77ddedc859 | ||
|
|
cd82a8585a | ||
|
|
0c1ab533e6 | ||
|
|
1dd7f736d0 | ||
|
|
571c199db8 | ||
|
|
40715cbc77 | ||
|
|
3d2a2df86f | ||
|
|
86a48b52e9 | ||
|
|
ebe1f986f1 | ||
|
|
6927fc80c3 | ||
|
|
dd1152dd4f | ||
|
|
ce9bfd319a | ||
|
|
f591ac6549 | ||
|
|
4fd368c992 | ||
|
|
89a95d6445 | ||
|
|
93f453057b | ||
|
|
5a069d274b | ||
|
|
e275ad3866 | ||
|
|
5813f63df8 | ||
|
|
9a1f8ccf7b | ||
|
|
449c00f019 | ||
|
|
6017eb7ca6 | ||
|
|
f1b2417967 | ||
|
|
181383e5f1 | ||
|
|
c1b9d5c653 | ||
|
|
964c3ac7bf | ||
|
|
6d8afabf41 | ||
|
|
0a7dbeb778 | ||
|
|
3228fde4af | ||
|
|
0582abe8dd | ||
|
|
f9192e27fa | ||
|
|
81f410970f | ||
|
|
e75c5236f2 | ||
|
|
8a671c40d1 | ||
|
|
50ce0f9681 | ||
|
|
a60902b33d | ||
|
|
5220786cf2 | ||
|
|
99cead68f5 | ||
|
|
7a209ba376 | ||
|
|
f9263da3de | ||
|
|
3f724e1c6a | ||
|
|
c9d3f7a0eb | ||
|
|
ba5e955ccb | ||
|
|
072af16f3b | ||
|
|
d2b6c626b5 | ||
|
|
115276408a | ||
|
|
9abffdb1a6 | ||
|
|
5b0307446a | ||
|
|
0f20a4f546 | ||
|
|
1b2875c20a | ||
|
|
bbdf7bf955 | ||
|
|
57359968ed | ||
|
|
ea9f302b7a | ||
|
|
ef0a3c212e | ||
|
|
18677dbc3f | ||
|
|
7e8b403116 | ||
|
|
1303379c9e | ||
|
|
b995cd318c | ||
|
|
ed19107161 | ||
|
|
1b67f253dc | ||
|
|
667c835c49 | ||
|
|
5b298abba1 | ||
|
|
4edbeece49 | ||
|
|
97362cff32 | ||
|
|
3db3c7b876 | ||
|
|
8738128504 | ||
|
|
069eaf9170 | ||
|
|
d0b9b002e4 | ||
|
|
fae3e46a59 | ||
|
|
bdba56f60b | ||
|
|
7087dbc445 | ||
|
|
7ade4bb6e6 | ||
|
|
86117aed0d | ||
|
|
ed3d9a7479 | ||
|
|
3746a2efff | ||
|
|
9b53cc66e7 | ||
|
|
43fe7b0d55 | ||
|
|
5aa6f81ef3 | ||
|
|
f838f28185 | ||
|
|
e1f8eb5aa5 | ||
|
|
f40a054cb7 | ||
|
|
adfb163593 | ||
|
|
3777074e84 | ||
|
|
81c768099e | ||
|
|
4bcaebb322 | ||
|
|
8b469d3992 | ||
|
|
bb929db7e6 | ||
|
|
90ee274744 | ||
|
|
9f6e9f8e1b | ||
|
|
943f9f60e3 | ||
|
|
f89bfce068 | ||
|
|
ef44a59bed | ||
|
|
d96139f698 | ||
|
|
de970eb0a5 | ||
|
|
7a28b44128 | ||
|
|
5310a3cc1d | ||
|
|
17a2e224c4 | ||
|
|
87386ce001 | ||
|
|
5ed4710d64 | ||
|
|
5493c22584 | ||
|
|
64f4d1b387 | ||
|
|
cdd8c8165b | ||
|
|
16ffd7fbe4 | ||
|
|
ba959f7cf9 | ||
|
|
1509c4ffba | ||
|
|
cf145feed8 | ||
|
|
07f57b1982 | ||
|
|
e62eb62a01 | ||
|
|
574e030caf | ||
|
|
3705a42375 | ||
|
|
a9ffd1d0cf | ||
|
|
71ea2b582c | ||
|
|
f86dd1cbbf | ||
|
|
af066cc733 | ||
|
|
219098c182 | ||
|
|
822650719b | ||
|
|
95747fbaea | ||
|
|
321058ef74 | ||
|
|
71c11373d8 | ||
|
|
d5ba288dd5 | ||
|
|
091e9bbd52 | ||
|
|
ce09e11011 | ||
|
|
d7a226e0e6 | ||
|
|
f034bcb9ae | ||
|
|
4c77a04514 | ||
|
|
a50c39cd0c | ||
|
|
370dd99e47 | ||
|
|
f97fbe868f | ||
|
|
2ce6560b6e | ||
|
|
2b4e14c4fc | ||
|
|
1631cfdaf1 | ||
|
|
2e76fe87c2 | ||
|
|
6c44f53645 | ||
|
|
988c162d2f | ||
|
|
3d8d4fecd7 | ||
|
|
f8525fa5a0 | ||
|
|
6e48eb9397 | ||
|
|
88cb047197 | ||
|
|
7f7154ed40 | ||
|
|
a8c1ffc2f4 | ||
|
|
df8b5b1ea6 | ||
|
|
ce50cdecf1 | ||
|
|
77c7439329 | ||
|
|
752112dbaa | ||
|
|
925c6485e6 | ||
|
|
d62deabf9b | ||
|
|
47c23dae30 | ||
|
|
3bf15541c6 | ||
|
|
876de8fd69 | ||
|
|
983f9c5dde | ||
|
|
9193286fc1 | ||
|
|
1b8d11182b | ||
|
|
dcc5c105eb | ||
|
|
64b42333b0 | ||
|
|
3ee729bc4a | ||
|
|
a268b03990 | ||
|
|
6471a45a8a | ||
|
|
7c27638f36 | ||
|
|
0bffdfb256 | ||
|
|
9f0848ba15 | ||
|
|
f159b028b4 | ||
|
|
7e702778a1 | ||
|
|
35b3ddd61f | ||
|
|
a892b79dba | ||
|
|
cd22a1846f | ||
|
|
4489a56c65 | ||
|
|
7f752c7e93 | ||
|
|
b39359c929 | ||
|
|
b42d3ced15 | ||
|
|
1c73a8d4ad | ||
|
|
2d3ea59755 | ||
|
|
b8b064836c | ||
|
|
3ab1330f63 | ||
|
|
ab711ddc36 | ||
|
|
2a1e67e587 | ||
|
|
eadcdab8e7 | ||
|
|
1d3febe053 | ||
|
|
165e35c750 | ||
|
|
9da261acd8 | ||
|
|
7544f4d367 | ||
|
|
a29a56bce8 | ||
|
|
46ffd1c29a | ||
|
|
642c16b09b | ||
|
|
5c92c190f0 | ||
|
|
cc7826e087 | ||
|
|
a154656311 | ||
|
|
9b7a3d00ee | ||
|
|
1d862b77af | ||
|
|
888843e655 | ||
|
|
28970393f6 | ||
|
|
1af7dc952c | ||
|
|
62dcfe85e4 | ||
|
|
f6711b2842 | ||
|
|
f2519e9d87 | ||
|
|
94f380c1f0 | ||
|
|
197d180cb9 | ||
|
|
4be20db670 | ||
|
|
46d6191bc2 | ||
|
|
ee22f377af | ||
|
|
44a04227f1 | ||
|
|
707c6fcc5d | ||
|
|
edb1f61241 | ||
|
|
3fac5f91c8 | ||
|
|
1338c08622 | ||
|
|
0cf8091705 | ||
|
|
521373f075 | ||
|
|
c24732f641 | ||
|
|
655188d7b3 | ||
|
|
77ac092975 | ||
|
|
78e5e4ab66 | ||
|
|
934eda128b | ||
|
|
ece41921ff | ||
|
|
9b71643c1c | ||
|
|
ed48b4bbf2 | ||
|
|
b08284e4cc | ||
|
|
4731b506e5 | ||
|
|
7d3b0fe0c5 | ||
|
|
fa38bf7029 | ||
|
|
bfdf638334 | ||
|
|
e6664c7790 | ||
|
|
a90779910a | ||
|
|
edc7a9596a | ||
|
|
a7a19fad71 | ||
|
|
d143044f4a | ||
|
|
aee7515d42 | ||
|
|
82ab5fdcb9 | ||
|
|
4c6e6f6302 | ||
|
|
0a2791270a | ||
|
|
c920f81562 | ||
|
|
9dcbafc307 | ||
|
|
d836b80153 | ||
|
|
efc4ff4d88 | ||
|
|
dc043b5765 | ||
|
|
ef9a318cd9 | ||
|
|
9f4ffd44d6 | ||
|
|
598bfe6d1a | ||
|
|
5f37c7b1b8 | ||
|
|
8250fb81b3 | ||
|
|
30a14b9f45 | ||
|
|
b0734f2791 | ||
|
|
d66b0910c6 | ||
|
|
09e05392bf | ||
|
|
d3d202de68 | ||
|
|
87010fbe1a | ||
|
|
f302da81b1 | ||
|
|
3af53f5984 | ||
|
|
7c40dc1a9a | ||
|
|
af3af94a01 | ||
|
|
7d79d3d30d | ||
|
|
990e2f0beb | ||
|
|
b34b4e37aa | ||
|
|
02697a7c4d | ||
|
|
4ff39d8114 | ||
|
|
69bdccfd2f | ||
|
|
9f8d867ce2 | ||
|
|
d416c97eac | ||
|
|
1d70426bb7 | ||
|
|
6a2fe6be67 | ||
|
|
8ed0fdcfa5 | ||
|
|
ebf3c78237 | ||
|
|
3d67d203fe | ||
|
|
fc06945b26 | ||
|
|
9cdcc925c1 | ||
|
|
fc2923aa9b | ||
|
|
6d325e6557 | ||
|
|
7d7d03071a | ||
|
|
657f7613a1 | ||
|
|
d35c0f3ade | ||
|
|
069e9526a8 | ||
|
|
5aeee6d1f2 | ||
|
|
a759c93fb6 | ||
|
|
57c59850e1 | ||
|
|
0f7d448058 | ||
|
|
ab8868eacd | ||
|
|
00cd5875c0 | ||
|
|
435e7e3eec | ||
|
|
08dd9796d1 | ||
|
|
4bcd620c29 | ||
|
|
5f60c97f59 | ||
|
|
20e850501d | ||
|
|
462ba7d942 | ||
|
|
cf87fdff7f | ||
|
|
565bb540d6 | ||
|
|
062a0907db | ||
|
|
95726eeab1 | ||
|
|
6c2d286f10 | ||
|
|
6af3e9afc7 | ||
|
|
ead935e0a6 | ||
|
|
eaf5681f61 | ||
|
|
03ef2aadde | ||
|
|
f09076180d | ||
|
|
d5d3c1a23a | ||
|
|
b18f1ad386 | ||
|
|
fc553a8c04 | ||
|
|
cba160706a | ||
|
|
fa453296c9 | ||
|
|
58aaad3fed | ||
|
|
8625ec250b | ||
|
|
d731f4718d | ||
|
|
607e48a68b | ||
|
|
bfe6a50b19 | ||
|
|
ded21c5826 | ||
|
|
9bd6019905 | ||
|
|
dcac2796dd | ||
|
|
ab439f8f0f | ||
|
|
9822002480 | ||
|
|
384a8d0d72 | ||
|
|
70eb688e86 | ||
|
|
4e0b6179f9 | ||
|
|
3acdfc0004 | ||
|
|
a1fc7f0a25 | ||
|
|
5bceb6f787 | ||
|
|
8de9bec122 | ||
|
|
5204a992b2 | ||
|
|
765a18b74a | ||
|
|
350283fe06 | ||
|
|
2ba62b79b4 | ||
|
|
e0b6395d18 | ||
|
|
ba896b0550 | ||
|
|
36a2c861c2 | ||
|
|
7f975e0b2f | ||
|
|
359dd2b986 | ||
|
|
a636fd7801 | ||
|
|
69fcbd3b0d | ||
|
|
d6525a979d | ||
|
|
67f4d0c85b | ||
|
|
54313338cd | ||
|
|
09e6207ce9 | ||
|
|
000e0bb600 | ||
|
|
353f21e856 | ||
|
|
51e961e694 | ||
|
|
de2335c1db | ||
|
|
332c6cf726 | ||
|
|
5481215813 | ||
|
|
086dd07d69 | ||
|
|
dd6b71bad6 | ||
|
|
9af2339596 | ||
|
|
0fcef5f604 | ||
|
|
c41935d49d | ||
|
|
7b84defd56 | ||
|
|
505429b582 | ||
|
|
033fee6f53 | ||
|
|
67ae541e2a | ||
|
|
11bbad79e2 | ||
|
|
6e6f647c63 | ||
|
|
c5100a789b | ||
|
|
2ad7b0aae0 | ||
|
|
588633a0f2 | ||
|
|
d5659442b2 | ||
|
|
c6e5f39f7f | ||
|
|
7bef166d6c | ||
|
|
38344589c4 | ||
|
|
98d7ff5116 | ||
|
|
6c28151e0f | ||
|
|
411cffd3d5 | ||
|
|
1c4af687ea | ||
|
|
2de83b95e3 | ||
|
|
c3d37efa6c | ||
|
|
7c7fad78f7 | ||
|
|
3ac1849963 | ||
|
|
b4f992b944 | ||
|
|
1c8e5ef4ee | ||
|
|
45ec489f71 | ||
|
|
1b5e14fbc5 | ||
|
|
dddec8b250 | ||
|
|
06082b585a | ||
|
|
4bf0a2b188 | ||
|
|
e2fe4972d9 | ||
|
|
efee9c689c | ||
|
|
84b4872938 | ||
|
|
3f9bd1d72a | ||
|
|
1898e32b6a | ||
|
|
9addd9bc27 | ||
|
|
91f416ffc7 | ||
|
|
28559ab657 | ||
|
|
47274f1075 | ||
|
|
384eef4d6d | ||
|
|
ff95cbd04b | ||
|
|
cc5fabdab0 | ||
|
|
ff95e233bc | ||
|
|
f72e1cc837 | ||
|
|
8e6674e784 | ||
|
|
8aace3284f | ||
|
|
922e004fc6 | ||
|
|
2fc61479f7 | ||
|
|
bb9d6b34c7 | ||
|
|
07025c7432 | ||
|
|
b65601aaa4 | ||
|
|
756e1c4a12 | ||
|
|
c5f8a2555d | ||
|
|
a1ab9c84c7 | ||
|
|
e4966ec9d1 | ||
|
|
23f3a6b319 | ||
|
|
ebeb668a62 | ||
|
|
d2e1923694 | ||
|
|
a5ede054d6 | ||
|
|
ba2ff4ec46 | ||
|
|
ca536f467a | ||
|
|
05d3273591 | ||
|
|
39924d79cb | ||
|
|
f7866aabde | ||
|
|
eb59f98ec9 | ||
|
|
c3cee3426e | ||
|
|
f21dd05c2d | ||
|
|
6005b9c16e | ||
|
|
77bf37c6f6 | ||
|
|
8e133dc8ea | ||
|
|
d10aec6055 | ||
|
|
9d1208baa4 | ||
|
|
8e914deb99 | ||
|
|
34dd3b207e | ||
|
|
68e8d659fb | ||
|
|
f79765a536 | ||
|
|
eef57032f8 | ||
|
|
6377dca4b0 | ||
|
|
f05320c32c | ||
|
|
b0f8a24c20 | ||
|
|
c841b9c0c4 | ||
|
|
7b482c0e96 | ||
|
|
bf5091d862 | ||
|
|
5c45ede4a5 | ||
|
|
cabcdd890e | ||
|
|
0a5e691ba3 | ||
|
|
ba300c2fc1 | ||
|
|
c74e7550af | ||
|
|
0f385db314 | ||
|
|
2396831846 | ||
|
|
adb868a63b | ||
|
|
62e95e540b | ||
|
|
d744b5e481 | ||
|
|
f9b82d852c | ||
|
|
33289bde29 | ||
|
|
9053662fe8 | ||
|
|
07904e078a | ||
|
|
aacc278583 | ||
|
|
57aa86910c | ||
|
|
7071c895df | ||
|
|
87f3755b1f | ||
|
|
3f4bcbbd62 | ||
|
|
955b932806 | ||
|
|
e7b6560c39 | ||
|
|
80e583c337 | ||
|
|
bc3d298491 | ||
|
|
28cf9ce1a4 | ||
|
|
d5fd6309ed | ||
|
|
a2467b5dea | ||
|
|
f723d11d90 | ||
|
|
aee4c06b8d | ||
|
|
89a4833cae | ||
|
|
255d255217 | ||
|
|
902de2dc93 | ||
|
|
f7c075099b | ||
|
|
0bbcee7354 | ||
|
|
8a18cf811e | ||
|
|
4e7e25c569 | ||
|
|
c24c97703a | ||
|
|
de84e8012e | ||
|
|
f6ff20ca17 | ||
|
|
b7a85525cd | ||
|
|
bc41e6bc99 | ||
|
|
aa4e90acfc | ||
|
|
c8a8eb35fa | ||
|
|
2656cc70d1 | ||
|
|
4018338725 | ||
|
|
e33c1b2b75 | ||
|
|
75d6c26e2e | ||
|
|
7f2deaf722 | ||
|
|
8bf2c54b56 | ||
|
|
0c85100c93 | ||
|
|
d617c40ee7 | ||
|
|
8aebbefb28 | ||
|
|
7cab77e879 | ||
|
|
feb49b2768 | ||
|
|
4e25595520 | ||
|
|
4aaa256b11 | ||
|
|
630f61142a | ||
|
|
ac393c6374 | ||
|
|
114c8de814 | ||
|
|
5e012366ab | ||
|
|
ed1294d668 | ||
|
|
7f07385fd7 | ||
|
|
ed2316a53f | ||
|
|
e5a8cd4521 | ||
|
|
3f3577d0b1 | ||
|
|
950ffc6418 | ||
|
|
f348499bbe | ||
|
|
5ce4763868 | ||
|
|
bafc90cfd8 | ||
|
|
7a3abac833 | ||
|
|
b5349b66c6 | ||
|
|
eb7074e9f0 | ||
|
|
66b152ac69 | ||
|
|
6df00ad08c | ||
|
|
76b24ff00d | ||
|
|
60a1d50ec9 | ||
|
|
9eb3452a71 | ||
|
|
228de7eede | ||
|
|
2164f5d9b7 | ||
|
|
4240010046 | ||
|
|
1eb0875518 | ||
|
|
b8e52304bd | ||
|
|
8d2c43a9f0 | ||
|
|
6906b8d30c | ||
|
|
0658802048 | ||
|
|
eeb68919bf | ||
|
|
9a60732542 | ||
|
|
f8d996258e | ||
|
|
c8714be1d2 | ||
|
|
1c8f279214 | ||
|
|
0cc0eed8a8 | ||
|
|
36cd9d9ced | ||
|
|
9c70ee68d2 | ||
|
|
e809a59049 | ||
|
|
96c535d712 | ||
|
|
5d58a8164c | ||
|
|
71cc74a0d6 | ||
|
|
77d9256e03 | ||
|
|
e7fb84a491 | ||
|
|
a652fec5a0 | ||
|
|
0d34a2bca5 | ||
|
|
a2e8bfd962 | ||
|
|
33ae2eb19f | ||
|
|
eff2427a03 | ||
|
|
d4fa955950 | ||
|
|
869793592d | ||
|
|
417dbcc9ac | ||
|
|
02bfb4f005 | ||
|
|
d4dd5afbe7 | ||
|
|
8607300195 | ||
|
|
e468ea2d68 | ||
|
|
05a1f7b1bb | ||
|
|
b8a4a2d2f7 | ||
|
|
c7e70533a0 | ||
|
|
d4fa06c4e1 | ||
|
|
065690c2ce | ||
|
|
3cb6fc82dd | ||
|
|
7d398b20f2 | ||
|
|
75cff87316 | ||
|
|
b56843ead2 | ||
|
|
51b5f3c9b2 | ||
|
|
7f508c0718 | ||
|
|
45a7d4ff4c | ||
|
|
995e8938ad | ||
|
|
1e43d1fa49 | ||
|
|
b03e49f492 | ||
|
|
3ed5f43e90 | ||
|
|
5c1d612761 | ||
|
|
f92cf3dee3 | ||
|
|
a71cb1d3ef | ||
|
|
4630244b51 | ||
|
|
cd13144415 | ||
|
|
67c07c4daa | ||
|
|
7ec534067e | ||
|
|
8e7290b450 | ||
|
|
b51a722347 | ||
|
|
30d0e2fee8 | ||
|
|
c38c3ce6e2 | ||
|
|
04647b0d61 | ||
|
|
e991bcd112 | ||
|
|
aa02ce2481 | ||
|
|
6a55324261 | ||
|
|
f1fa1f125d | ||
|
|
82afb3b613 | ||
|
|
141f005c34 | ||
|
|
e32ca49c31 | ||
|
|
f5e16540a1 | ||
|
|
726b41b0c7 | ||
|
|
e74f0f2854 | ||
|
|
65ffe53c20 | ||
|
|
06f2989ac8 | ||
|
|
a51f050a08 | ||
|
|
399b08ad40 | ||
|
|
5b561e4462 | ||
|
|
1be322579c | ||
|
|
b7c7c9f3eb | ||
|
|
9237293cc0 | ||
|
|
63083a558b | ||
|
|
d4bd327fef | ||
|
|
2de288c5f3 | ||
|
|
fcc0e89044 | ||
|
|
8267b9e590 | ||
|
|
5a68e5f58d | ||
|
|
e4965ab06b | ||
|
|
496d900fee | ||
|
|
58bda69f8b | ||
|
|
89b5ddec56 | ||
|
|
f7419094f3 | ||
|
|
432f377750 | ||
|
|
c32beb957d | ||
|
|
ee7c8d3c94 | ||
|
|
3a15502a62 | ||
|
|
a51cb0982b | ||
|
|
1b03dc759b | ||
|
|
a39caa1cda | ||
|
|
a4ee8d6f6f | ||
|
|
b35e38f80f | ||
|
|
e34122ad54 | ||
|
|
03824baba4 | ||
|
|
34b86cb0db | ||
|
|
d56c913fe4 | ||
|
|
3234e48cd0 | ||
|
|
e134ae22ac | ||
|
|
86e90451fa | ||
|
|
e66757335b | ||
|
|
393ac82c6a | ||
|
|
372f8b3426 | ||
|
|
7b6269b4bf | ||
|
|
8b9cd432b5 | ||
|
|
842c6c0e9e | ||
|
|
a81d7823a9 | ||
|
|
aa26fc1e80 | ||
|
|
beb9752f09 | ||
|
|
1eb6e163de | ||
|
|
1875a93a48 | ||
|
|
fd40a25030 | ||
|
|
05ae467cd5 | ||
|
|
4db7b5f2a7 | ||
|
|
958253bb2b | ||
|
|
bcf73cfc40 | ||
|
|
f79ecfe001 | ||
|
|
a4442ebb40 | ||
|
|
93f31fa9d7 | ||
|
|
f35b1f8a2b | ||
|
|
6db8daabf7 | ||
|
|
a677f97b7f | ||
|
|
1a9a14bdec | ||
|
|
7ae40e13ec | ||
|
|
a5379ef2aa | ||
|
|
01c0a3c099 | ||
|
|
153aa31da2 | ||
|
|
9815ccb760 | ||
|
|
814f40c1c7 | ||
|
|
19c128ba12 | ||
|
|
0322a44be5 | ||
|
|
60ca442728 | ||
|
|
3ffd7034c9 | ||
|
|
95469a9886 | ||
|
|
8c9a65635f | ||
|
|
104cf680a6 | ||
|
|
b84253054a | ||
|
|
43345dc236 | ||
|
|
79d14f0760 | ||
|
|
6387777c18 | ||
|
|
1e9c508c92 | ||
|
|
88e9014dad | ||
|
|
313ad56d11 | ||
|
|
8152b7ebcf | ||
|
|
e36d314218 | ||
|
|
593d528b6a | ||
|
|
3649869650 | ||
|
|
41a4f1fc37 | ||
|
|
5a6a8b504c | ||
|
|
97345447ab | ||
|
|
bb378902ae | ||
|
|
8f1494f8f2 | ||
|
|
4ae66b8b20 | ||
|
|
ccb45bfea6 | ||
|
|
bee5940c42 | ||
|
|
f67d2e6418 | ||
|
|
9a6275a5e3 | ||
|
|
2d9c0b6c31 | ||
|
|
ee3df45fd8 | ||
|
|
49562ca3b6 | ||
|
|
33ab854922 | ||
|
|
fdf73fe539 | ||
|
|
3480cb4432 | ||
|
|
25ee44dd69 | ||
|
|
1471e15674 | ||
|
|
034c3ae017 | ||
|
|
e001e70816 | ||
|
|
4ade023b96 | ||
|
|
8711cf07af | ||
|
|
8e7e2dded8 | ||
|
|
ec266054be | ||
|
|
324214d072 | ||
|
|
ae5c9a29f6 | ||
|
|
72a6b00919 | ||
|
|
e06cfe06fe | ||
|
|
086694f284 | ||
|
|
d2a41342e1 | ||
|
|
6f960d406e | ||
|
|
c19978bdc4 | ||
|
|
924e7d4e39 | ||
|
|
0c0b3f8580 | ||
|
|
fa7a1b606c | ||
|
|
325360c011 | ||
|
|
aab621523b | ||
|
|
fdc8050e3d | ||
|
|
62f5b0ebac | ||
|
|
11c368f0bc | ||
|
|
19e7c4f66f | ||
|
|
cf7b77e2bf | ||
|
|
7fc3c9a7db | ||
|
|
44e09892f4 | ||
|
|
971caca5e8 | ||
|
|
08d08e1f29 | ||
|
|
35f5c1f3a7 | ||
|
|
7b858d0d45 | ||
|
|
c2f3cfa4b5 | ||
|
|
52971c27cf | ||
|
|
b3683976ca | ||
|
|
4c6e0b5c07 | ||
|
|
4e0cf7c822 | ||
|
|
93db6ca6ab | ||
|
|
528d434c1f | ||
|
|
cfdc6395d8 | ||
|
|
2f81999d6c | ||
|
|
225123951d | ||
|
|
dfa1dfaa7d | ||
|
|
74db151427 | ||
|
|
e38e1be3a7 | ||
|
|
7ada84f201 | ||
|
|
cb8131c382 | ||
|
|
ff569603f5 | ||
|
|
6540f54512 | ||
|
|
1aa050bea9 | ||
|
|
ca5f96e1bb | ||
|
|
53554075fa | ||
|
|
182d1ac4b0 | ||
|
|
d361bda922 | ||
|
|
62f4e813ee | ||
|
|
505e0e9632 | ||
|
|
fa960b522d | ||
|
|
50aa31d192 | ||
|
|
c8006f1163 | ||
|
|
637565cca1 | ||
|
|
a22884d164 | ||
|
|
58fd57fdcd | ||
|
|
2bee51c101 | ||
|
|
2ed5dd178a | ||
|
|
803cb5d015 | ||
|
|
e31000d759 | ||
|
|
f408593d27 | ||
|
|
6d21058ca1 | ||
|
|
1da94e5e2b | ||
|
|
618833140c | ||
|
|
ef574c2134 | ||
|
|
397763ba61 | ||
|
|
72ae44b8b1 | ||
|
|
a700605c41 | ||
|
|
e2a77f8e73 | ||
|
|
e6be6fc695 | ||
|
|
18966bf061 | ||
|
|
bf95509dbe | ||
|
|
50b9a7b191 | ||
|
|
9b09a2ee32 | ||
|
|
e2c64e4513 | ||
|
|
8f26706466 | ||
|
|
c327ffe8d8 | ||
|
|
a90512c825 | ||
|
|
94190b73ff | ||
|
|
2eb9962f4c | ||
|
|
5119d5d366 | ||
|
|
da93038a78 | ||
|
|
ea5a0ab1bc | ||
|
|
08c03d19b9 | ||
|
|
7762e80c60 | ||
|
|
f2fc866cc4 | ||
|
|
f32d901653 | ||
|
|
c585c73044 | ||
|
|
0b680ef90e | ||
|
|
03b449e081 | ||
|
|
8fd881a176 | ||
|
|
42f5aa072d | ||
|
|
86eb68df7f | ||
|
|
b8d13e985f | ||
|
|
815efb69d7 | ||
|
|
1d32fb74f9 | ||
|
|
9c300b83bd | ||
|
|
688d394576 | ||
|
|
04d8c82dbd | ||
|
|
f98db9ac9d | ||
|
|
d868df3b9b | ||
|
|
3d6718315c | ||
|
|
5841cf4020 | ||
|
|
e9e132c06c | ||
|
|
e3723fcfc2 | ||
|
|
a664dc5f1d | ||
|
|
cdc24eb437 | ||
|
|
484ad28cd6 | ||
|
|
8485a7fd30 | ||
|
|
93a28e7a95 | ||
|
|
83e628b9f7 | ||
|
|
129aef5beb | ||
|
|
f35e2efd4e | ||
|
|
54c0c4057b | ||
|
|
c52e3a0732 | ||
|
|
699f6a62f8 | ||
|
|
61f3b839ab | ||
|
|
29590fa00b | ||
|
|
0c33fc6e8a | ||
|
|
c4c36d641b | ||
|
|
a1d6cf7d4d | ||
|
|
4d8e65cfd0 | ||
|
|
8303c8f909 | ||
|
|
2370060ac5 | ||
|
|
77e09e786e | ||
|
|
d4bb0e44cd | ||
|
|
9b9b62d4e3 | ||
|
|
2780dae569 | ||
|
|
562513d5a5 | ||
|
|
a2e9353296 | ||
|
|
7f76fcff5e | ||
|
|
0afbb264e0 | ||
|
|
05b81bc7d8 | ||
|
|
7bb7b1d73b | ||
|
|
0eebc0e5be | ||
|
|
a6b0ccfa12 | ||
|
|
ce077f97c6 | ||
|
|
c705a6360d | ||
|
|
19a19978b7 | ||
|
|
e7e319e3f5 | ||
|
|
be874e36da | ||
|
|
3a9c485515 | ||
|
|
4df1d7d893 | ||
|
|
bbf3a64c02 | ||
|
|
b93efbaefe | ||
|
|
316aade340 | ||
|
|
309908687f | ||
|
|
3f1199fcf3 | ||
|
|
6f488e1988 | ||
|
|
28c4cd9caa | ||
|
|
2a0f28208c | ||
|
|
77610eb184 | ||
|
|
4c7ddb769a | ||
|
|
91345d9e25 | ||
|
|
45ed37025a | ||
|
|
cfa2c3acdf | ||
|
|
45c75f722c | ||
|
|
6257ed6605 | ||
|
|
0455d96462 | ||
|
|
d2e8043a4a | ||
|
|
98689d48f1 | ||
|
|
ec9efd7894 | ||
|
|
671100ce5c | ||
|
|
843ea13553 | ||
|
|
8c37e7742a | ||
|
|
96633307c0 | ||
|
|
2009fbc886 | ||
|
|
4caa038de6 | ||
|
|
f5dc2b3127 | ||
|
|
c7227297af | ||
|
|
a9d2079bc4 | ||
|
|
954ebcca2e | ||
|
|
dc9f145a24 | ||
|
|
93239cbdca | ||
|
|
55da857e59 | ||
|
|
aba1252e60 | ||
|
|
890c0eb885 | ||
|
|
561f32cede | ||
|
|
e0d8d93b50 | ||
|
|
3d8505d7f4 | ||
|
|
18171862ac | ||
|
|
0e5858b1aa | ||
|
|
5482ad1fd3 | ||
|
|
924e0e3242 | ||
|
|
bf7ca60bec | ||
|
|
f9080c59ab | ||
|
|
a12288ff21 | ||
|
|
dcc5a8b02b | ||
|
|
db87f9926a | ||
|
|
dc076890a7 | ||
|
|
d5b8d24f91 | ||
|
|
9da06f10f6 | ||
|
|
3923911368 | ||
|
|
b24691b0e4 | ||
|
|
ebee52ea8a | ||
|
|
78b1d3c347 | ||
|
|
bf4f6d78b8 | ||
|
|
e5804b5d12 | ||
|
|
e5d43c2b9c | ||
|
|
a522cebf0c | ||
|
|
1bc4089d95 | ||
|
|
d931e0bcc2 | ||
|
|
b7b06a8795 | ||
|
|
b8090a134d | ||
|
|
4006e490f3 | ||
|
|
f37f5ccf69 | ||
|
|
4e2b2274a4 | ||
|
|
1d6d915bd2 | ||
|
|
273463daf4 | ||
|
|
7da84dbe44 | ||
|
|
24644164ca | ||
|
|
474c63fb8f | ||
|
|
3a1a3f7282 | ||
|
|
a80ed93e76 | ||
|
|
91ecbb25f2 | ||
|
|
4e9198ddc6 | ||
|
|
b022209356 | ||
|
|
2cc3cbe522 | ||
|
|
4e0496f74d | ||
|
|
c3ecc5b224 | ||
|
|
1c9a4784c7 | ||
|
|
9f1d89e330 | ||
|
|
b7ce760b65 | ||
|
|
27ce6cc6fe | ||
|
|
134a34183f | ||
|
|
b0ded64de6 | ||
|
|
9745248c81 | ||
|
|
fcbfd7fdc4 | ||
|
|
02461f7ff7 | ||
|
|
26c8dbf14c | ||
|
|
1f6e355b4b | ||
|
|
c6e0a18a5c | ||
|
|
c9c56ee55a | ||
|
|
22bcda65ce | ||
|
|
b896f6a434 | ||
|
|
8743be6f11 | ||
|
|
38cc564aed | ||
|
|
8b9a8ebeaf | ||
|
|
900397c05e | ||
|
|
cd9e3d27c3 | ||
|
|
72b479c1e0 | ||
|
|
d17be6f1ff | ||
|
|
1df295cb32 | ||
|
|
d3dba72ef9 | ||
|
|
042044f7c6 | ||
|
|
a7eddb2985 | ||
|
|
c50b0a995b | ||
|
|
45710b7e6f | ||
|
|
66c0a3b448 | ||
|
|
e7651c0a90 | ||
|
|
23f52bcd56 | ||
|
|
0fc8a8de18 | ||
|
|
68c70ab5b6 | ||
|
|
291811e321 | ||
|
|
a93b9ee33a | ||
|
|
b1ba05dda8 | ||
|
|
c311083d7b | ||
|
|
bef180a7bc | ||
|
|
b892a18eef | ||
|
|
58035a2f4a | ||
|
|
99a4de6741 | ||
|
|
612b099b77 | ||
|
|
9010e1015e | ||
|
|
9bf15178f9 | ||
|
|
5b2c734fe5 | ||
|
|
bc5f7d899a | ||
|
|
ec77ecfd0f | ||
|
|
09745c7f75 | ||
|
|
9ffb33293c | ||
|
|
93d75932ac | ||
|
|
8491d95ca4 | ||
|
|
e774bbacde | ||
|
|
131945b14b | ||
|
|
93d250c49b | ||
|
|
f5c46d481c | ||
|
|
81773e53b1 | ||
|
|
4f7fe64309 | ||
|
|
b8e7c7f271 | ||
|
|
4153c0de08 | ||
|
|
7e2dec5228 | ||
|
|
2cbdb35aac | ||
|
|
342937ccd1 | ||
|
|
b578558866 | ||
|
|
aa213eeafb | ||
|
|
76a60e889c | ||
|
|
fa195eb1e8 | ||
|
|
b68e721f05 | ||
|
|
bbfb2f2a60 | ||
|
|
ba8fa9a403 | ||
|
|
bf309f83f4 | ||
|
|
1b4e2becb3 | ||
|
|
f05e998430 | ||
|
|
80d202c630 | ||
|
|
47308cdc01 | ||
|
|
03e9a06c7d | ||
|
|
370cf45357 | ||
|
|
638b62a3ae | ||
|
|
6707e93f31 | ||
|
|
0360babe02 | ||
|
|
a743f804f5 | ||
|
|
4b42743a2a | ||
|
|
b6e4575dea | ||
|
|
ebfe2c793e | ||
|
|
f9ba3bc22d | ||
|
|
bdf36f58a8 | ||
|
|
13f5d29c3c | ||
|
|
07889528c4 | ||
|
|
082a60e067 | ||
|
|
d82a9423d6 | ||
|
|
ffd09757cb | ||
|
|
b41feebcdd | ||
|
|
9b2f9e3188 | ||
|
|
2cf7ba91c1 | ||
|
|
f8478ac27b | ||
|
|
b092a8cee3 | ||
|
|
bb2f221edf | ||
|
|
dd323bc296 | ||
|
|
31989d23a6 | ||
|
|
1291ffaf02 | ||
|
|
89d1e2d924 | ||
|
|
857ef33056 | ||
|
|
f5e8efd435 | ||
|
|
e5edb8e2c7 | ||
|
|
22608f13ca | ||
|
|
f6f513cf45 | ||
|
|
93ac78fd75 | ||
|
|
7300f10f87 | ||
|
|
5f31d13236 | ||
|
|
ae69a24f5c | ||
|
|
fc986b0ab8 | ||
|
|
c5e435f9bd | ||
|
|
599451d250 | ||
|
|
af78f1996c | ||
|
|
41d5445980 | ||
|
|
e5afd8b901 | ||
|
|
d99f5c5ddb | ||
|
|
6fad20d5fc | ||
|
|
7662a60111 | ||
|
|
dff17ec08e | ||
|
|
df5a72eb38 | ||
|
|
fa9d9c9909 | ||
|
|
a0d1dc8807 | ||
|
|
9e2f6c0258 | ||
|
|
ee2efbb071 | ||
|
|
000f7d320e | ||
|
|
8fd921f796 | ||
|
|
8bc532705f | ||
|
|
c3dc84c58f | ||
|
|
72b0f4e573 | ||
|
|
861de89e9c | ||
|
|
553c8d6658 | ||
|
|
a6dfc0a83e | ||
|
|
859f776440 | ||
|
|
4b7f75059a | ||
|
|
b3620e320b | ||
|
|
883576cb95 | ||
|
|
62ec7aa9c5 | ||
|
|
99fc570267 | ||
|
|
1f5c4bde14 | ||
|
|
138fec678c | ||
|
|
046d180d2f | ||
|
|
278e76b774 | ||
|
|
09d850bfaa | ||
|
|
3590db47ac | ||
|
|
f0a6047ecf | ||
|
|
e8ffb17b3b | ||
|
|
09d4fa2127 | ||
|
|
f521301c51 | ||
|
|
de5161137f | ||
|
|
60636cdbd5 | ||
|
|
1abfd4ba44 | ||
|
|
ecf45856e1 | ||
|
|
148b22f53d | ||
|
|
243279aa3f | ||
|
|
ec075a6d2a | ||
|
|
6923f26597 | ||
|
|
206c62a171 | ||
|
|
c03b2bbc87 | ||
|
|
2f708c0877 | ||
|
|
58eb000163 | ||
|
|
f5f56e45c0 | ||
|
|
4c859d6513 | ||
|
|
a63e9c82a2 | ||
|
|
951ac79a68 | ||
|
|
ce47adb482 | ||
|
|
ef8fe11f5a | ||
|
|
30db533cea | ||
|
|
99eeaa0db5 | ||
|
|
80a01ecff3 | ||
|
|
5f3ce25ccf | ||
|
|
0d85810c23 | ||
|
|
4626ef1ffb | ||
|
|
23007613a9 | ||
|
|
0fc51704f5 | ||
|
|
46a403eb02 | ||
|
|
e719e80409 | ||
|
|
310278f580 | ||
|
|
c22758201f | ||
|
|
75aad2b42c | ||
|
|
b1df4b04fa | ||
|
|
59072a81f1 | ||
|
|
d55bffb319 | ||
|
|
232cbc45b5 | ||
|
|
a88d45bff4 | ||
|
|
090e474d70 | ||
|
|
4f7546768b | ||
|
|
7a3c086be2 | ||
|
|
5c8b6ed902 | ||
|
|
87792b59e6 | ||
|
|
cb6918f3d5 | ||
|
|
489cc8aa29 | ||
|
|
d8a8d5da63 | ||
|
|
0d85dcdd9e | ||
|
|
7eddff39e7 | ||
|
|
81e47b0896 | ||
|
|
ef0c7348ad | ||
|
|
050bb55f1e | ||
|
|
738f026c41 | ||
|
|
fa715ce135 | ||
|
|
911e0bdd6e | ||
|
|
fa0f773fcb | ||
|
|
8ed02302ca | ||
|
|
ac8296fb94 | ||
|
|
13d755fc4d | ||
|
|
ada30ae56b | ||
|
|
f47ce2fea6 | ||
|
|
33ff6b3934 | ||
|
|
ca3d8ab193 | ||
|
|
d85009a2e9 | ||
|
|
72d2ac09e3 | ||
|
|
6b7da798b8 | ||
|
|
e146de9ea2 | ||
|
|
2e4043b498 | ||
|
|
dc29046d61 | ||
|
|
0c6dca25c4 | ||
|
|
1a3f246c46 | ||
|
|
ad6c42b031 | ||
|
|
9ddedf81ac | ||
|
|
685c13dead | ||
|
|
c25c7daca7 | ||
|
|
2a17a2a102 | ||
|
|
4e22fff427 | ||
|
|
6165c38289 | ||
|
|
f554cca3d6 | ||
|
|
67132326d2 | ||
|
|
ea2b5fb29c | ||
|
|
0a2861a731 | ||
|
|
6f17131e3c | ||
|
|
ca3885de2a | ||
|
|
5d6700c68d | ||
|
|
37d6f6eeab | ||
|
|
fd1552f7a0 | ||
|
|
055a8d7e74 | ||
|
|
1964e60eb0 | ||
|
|
11acfde55a | ||
|
|
b6eae58a2c | ||
|
|
cc6c5e0db5 | ||
|
|
3a1c6429ab | ||
|
|
ecb2444923 | ||
|
|
65bd4be16e | ||
|
|
39e48d3d01 | ||
|
|
0327461c25 | ||
|
|
c0b3672f32 | ||
|
|
8d2950f66c | ||
|
|
55e82ee4c1 | ||
|
|
aa17be40cc | ||
|
|
32e205f6ce | ||
|
|
97c661c909 | ||
|
|
2767e7084a | ||
|
|
5900b1ad25 | ||
|
|
20b9ae757d | ||
|
|
aff2dd9f44 | ||
|
|
e30c484a7a | ||
|
|
0f6dd8748f | ||
|
|
a342f63fdf | ||
|
|
5c4d240c66 | ||
|
|
e551e92e13 | ||
|
|
b98d97a96d | ||
|
|
f30ac49264 | ||
|
|
49ba252fff | ||
|
|
69269f8f75 | ||
|
|
e73730cb94 | ||
|
|
098e04c13f | ||
|
|
b0f6628584 | ||
|
|
42f6867329 | ||
|
|
0a9a3d8f04 | ||
|
|
ec850e83b9 | ||
|
|
08665d6ac2 | ||
|
|
61f08cdd97 | ||
|
|
a1286cc684 | ||
|
|
4194a078d5 | ||
|
|
6758c89130 | ||
|
|
c15a1eedd1 | ||
|
|
79bf778a42 | ||
|
|
0c689c4cca | ||
|
|
dd24950881 | ||
|
|
bf6e1f10ce | ||
|
|
c22f8a47f1 | ||
|
|
858facb5e0 | ||
|
|
b610dd2754 | ||
|
|
b3972a5ba8 | ||
|
|
0993289180 | ||
|
|
32533a18af | ||
|
|
36e8273da0 | ||
|
|
2f4de3cc48 | ||
|
|
b22ef9f8fa | ||
|
|
e20f39f040 | ||
|
|
63188667bb | ||
|
|
c2eaf5e627 | ||
|
|
7ba8983f0a | ||
|
|
088aa6ebdd | ||
|
|
8a3e617630 | ||
|
|
7e7853f170 | ||
|
|
e0fdad93f4 | ||
|
|
415b51b2b5 | ||
|
|
767ec4ed59 | ||
|
|
b12b8c981d | ||
|
|
b499a62593 | ||
|
|
fa0a2764a4 | ||
|
|
a537a98f03 | ||
|
|
4eb19000a4 | ||
|
|
bef7c3c48e | ||
|
|
e40370f67a | ||
|
|
ed5b0973dd | ||
|
|
e8e27b61f6 | ||
|
|
11a131fa90 | ||
|
|
336e22233d | ||
|
|
578431c791 | ||
|
|
4d146e87d1 | ||
|
|
b518adc203 | ||
|
|
6b0b7d1b90 | ||
|
|
ead0f8d029 | ||
|
|
f7aa2aa348 | ||
|
|
ccd254abba | ||
|
|
4b8f2a287f | ||
|
|
3cc2593f62 | ||
|
|
c3e154b2e6 | ||
|
|
56de183155 | ||
|
|
c8256eea0e | ||
|
|
b026bb308d | ||
|
|
6bd4d367d4 | ||
|
|
d401a62fd9 | ||
|
|
8f61cc4041 | ||
|
|
21c9fc2d35 | ||
|
|
171572e400 | ||
|
|
e9920bd760 | ||
|
|
475a4f2676 | ||
|
|
908888a44e | ||
|
|
52e01b39d6 | ||
|
|
af1dcfd179 | ||
|
|
233a6908dd | ||
|
|
ae83c12f05 | ||
|
|
3a1b868348 | ||
|
|
878ae56a71 | ||
|
|
2ff4ebc72f | ||
|
|
ca79d3b437 | ||
|
|
a65c5b6f38 | ||
|
|
3714bb02f7 | ||
|
|
14081a197b | ||
|
|
9323658b01 | ||
|
|
9fe2549938 | ||
|
|
e0a50d4bb9 | ||
|
|
7f10b09a96 | ||
|
|
ad1c1f4130 | ||
|
|
121b18bf70 | ||
|
|
22ed29a30b | ||
|
|
64b59f8679 | ||
|
|
406ed5a0c0 | ||
|
|
d5081f4328 | ||
|
|
95d7afb0d0 | ||
|
|
2b2987d962 | ||
|
|
2eb77445be | ||
|
|
12b1b38351 | ||
|
|
b0abb6362a | ||
|
|
a458ffd472 | ||
|
|
2875d08c16 | ||
|
|
4ebed84d33 | ||
|
|
586cfa2aac | ||
|
|
60b6f520e7 | ||
|
|
8d0d5b4077 | ||
|
|
5c9a6afb82 | ||
|
|
40e2e5891f | ||
|
|
07e8681181 | ||
|
|
162acc1cc2 | ||
|
|
64ef43d918 | ||
|
|
33c3d2a7d0 | ||
|
|
1238ab4f69 | ||
|
|
a42ff5a07c | ||
|
|
aa4b6bd4ea | ||
|
|
478ba9c5ef | ||
|
|
c58e9d17a8 | ||
|
|
41ccbc0334 | ||
|
|
bd46ad56fc | ||
|
|
bde5e86c50 | ||
|
|
ec0f01fd7c | ||
|
|
a6c4a9ac74 | ||
|
|
cac7595afd | ||
|
|
97f5bd840e | ||
|
|
fe4c1cc35a | ||
|
|
cd823524b6 | ||
|
|
84fa340085 | ||
|
|
d080f7f7a7 | ||
|
|
ee69176a6b | ||
|
|
fc33b5a8ab | ||
|
|
bae3d2fc1b | ||
|
|
eb33879906 | ||
|
|
63069e4739 | ||
|
|
862fffae39 | ||
|
|
60c56644ef | ||
|
|
95cc4c310b | ||
|
|
171669c3a4 | ||
|
|
3fb7429f60 | ||
|
|
de3963ac75 | ||
|
|
b6152c19d6 | ||
|
|
800abbf8b7 | ||
|
|
3af622d535 | ||
|
|
ee4cbf52dc | ||
|
|
5cd2be058d | ||
|
|
3a21edca2b | ||
|
|
c6a926842a | ||
|
|
440b5164ad | ||
|
|
cc5f17a7d2 | ||
|
|
85d5b82811 | ||
|
|
7b99d02875 | ||
|
|
f0a1ac4346 | ||
|
|
bdc39f9cc2 | ||
|
|
d3ae2f42a7 | ||
|
|
1a6a6758d3 | ||
|
|
f5391def6b | ||
|
|
0a99aa5fc7 | ||
|
|
df39ab0b2f | ||
|
|
28833ee5ac | ||
|
|
c9cfa16929 | ||
|
|
8c4ecb4fba | ||
|
|
c66a1d1895 | ||
|
|
cdee0dc1cf | ||
|
|
a43c5fcfe8 | ||
|
|
0b5f1e6dd2 | ||
|
|
17d5e67d96 | ||
|
|
4412ec38e4 | ||
|
|
70b6a5a8b1 | ||
|
|
5c67f39476 | ||
|
|
fb47657b1f | ||
|
|
76d46af4b7 | ||
|
|
86af2848dd | ||
|
|
4ca310b63b | ||
|
|
59bc1d8966 | ||
|
|
14c2ff44f3 | ||
|
|
b56fcd8ebd | ||
|
|
e38d6d974b | ||
|
|
9500c5ffab | ||
|
|
b079cedbf5 | ||
|
|
a70e51f690 | ||
|
|
f707dc1a8b | ||
|
|
ae2b2c8cf8 | ||
|
|
176daa7d96 | ||
|
|
6e088e28f5 | ||
|
|
a11ecad41a | ||
|
|
01e2743bae | ||
|
|
75ffa787a6 | ||
|
|
4ad9f34807 | ||
|
|
a91799a11c | ||
|
|
44fd03c058 | ||
|
|
083e75998f | ||
|
|
adc47948a5 | ||
|
|
6e886e28e9 | ||
|
|
e63fc184a5 | ||
|
|
84a40dcb59 | ||
|
|
8e90782107 | ||
|
|
68ba99b7f0 | ||
|
|
b305c60e11 | ||
|
|
f196fb582a | ||
|
|
554e35b8e5 | ||
|
|
2fefc428a8 | ||
|
|
17220f2604 | ||
|
|
7a68961b25 | ||
|
|
84b07b3798 | ||
|
|
352f513109 | ||
|
|
578a41f766 | ||
|
|
8b4b89ecad | ||
|
|
7e9490545b | ||
|
|
b0509fe368 | ||
|
|
4440acdb1d | ||
|
|
aa2baa45fb | ||
|
|
eda5feb82c | ||
|
|
5a26221a6b | ||
|
|
a52fd99a95 | ||
|
|
0bba93e8b5 | ||
|
|
e01bc20898 | ||
|
|
d2b445c80c | ||
|
|
e7b94e437e | ||
|
|
b4621e22e6 | ||
|
|
38679f79b5 | ||
|
|
a927caf2b0 | ||
|
|
74c6426075 | ||
|
|
e16560249c | ||
|
|
29c846a764 | ||
|
|
804c9fbd6f | ||
|
|
2edebdef08 | ||
|
|
0f6ca35e95 | ||
|
|
a1699bbbce | ||
|
|
a91ba0fd48 | ||
|
|
a25d55a265 | ||
|
|
c99f75b247 | ||
|
|
0e61036fa5 | ||
|
|
566a6f761b | ||
|
|
0efbfb10aa | ||
|
|
cb8006b89f | ||
|
|
660469cbf5 | ||
|
|
a06e551469 | ||
|
|
746b86a1dd | ||
|
|
e69ecd3a80 | ||
|
|
1c594b6a8d | ||
|
|
2b652422b9 | ||
|
|
313832de8d | ||
|
|
738d868d38 | ||
|
|
250f281189 | ||
|
|
2c63f7a24d | ||
|
|
f9ce534687 | ||
|
|
10fba886dc | ||
|
|
6601395a6e | ||
|
|
2479cda8ea | ||
|
|
046d955f5c | ||
|
|
d0d362664b | ||
|
|
f841450dae | ||
|
|
a3927c5c2c | ||
|
|
89cfa387cd | ||
|
|
fc10400fd5 | ||
|
|
3421f1871f | ||
|
|
1fccb23442 | ||
|
|
bfd50ffcd0 | ||
|
|
958d712199 | ||
|
|
d2301c811e | ||
|
|
4f2a171913 | ||
|
|
005d70a73c | ||
|
|
592291cbcb | ||
|
|
7236bd7dd4 | ||
|
|
c02d5f41a5 | ||
|
|
5a7cd815ab | ||
|
|
df3020ee91 | ||
|
|
f3755bb708 | ||
|
|
006be43c73 | ||
|
|
c34b861332 | ||
|
|
c2c01bccfc | ||
|
|
2240039442 | ||
|
|
fb4728c7ee | ||
|
|
f34621578e | ||
|
|
5e50b1f1fd | ||
|
|
3c95d342ee | ||
|
|
53ac5427a8 | ||
|
|
1ed8afba09 | ||
|
|
ef81a8a2ad | ||
|
|
fa9d1614e7 | ||
|
|
fe46b588af | ||
|
|
a7d298a441 | ||
|
|
290de7c430 | ||
|
|
05fbfb520f | ||
|
|
805e1330ad | ||
|
|
7c6fcf688c | ||
|
|
127055dd70 | ||
|
|
f4929e849e | ||
|
|
617949f2e1 | ||
|
|
ba9ac03b0b | ||
|
|
0257f7e169 | ||
|
|
763cb43e46 | ||
|
|
770539f0a5 | ||
|
|
8ed2588cdf | ||
|
|
d8d2d36638 | ||
|
|
afc13e70b9 | ||
|
|
baa9ba089c | ||
|
|
3495b822a5 | ||
|
|
be88d425fc | ||
|
|
94a06cec5b | ||
|
|
9b31ef0ca8 | ||
|
|
4008f6b309 | ||
|
|
daac6886a0 | ||
|
|
e304dfd5b9 | ||
|
|
d0af48c417 | ||
|
|
2e3aabf99b | ||
|
|
59bf8740a0 | ||
|
|
21cd57228e | ||
|
|
4501c64e61 | ||
|
|
273105e78b | ||
|
|
2707116350 | ||
|
|
c7d30bae98 | ||
|
|
be328581a7 | ||
|
|
c32bc27b3e | ||
|
|
0fef88a9b9 | ||
|
|
3e0fc56495 | ||
|
|
7ea3fc1533 | ||
|
|
396ec4f888 | ||
|
|
79ea7c3eed | ||
|
|
b18810f381 | ||
|
|
51d9cf099c | ||
|
|
be6e208328 | ||
|
|
339ed20abc | ||
|
|
b24f894a32 | ||
|
|
44ed577992 | ||
|
|
f6685accc3 | ||
|
|
2c2e79c13d | ||
|
|
81961068a2 | ||
|
|
4e91a6450c | ||
|
|
3dc2547bb5 | ||
|
|
fb54cc8597 | ||
|
|
47f299f0ee | ||
|
|
d135aab86c | ||
|
|
e2a2b882bb | ||
|
|
d8309a64cb | ||
|
|
77b3780ab2 | ||
|
|
b29a31d36a | ||
|
|
55722099fa | ||
|
|
48abe62151 | ||
|
|
fb582d8b3d | ||
|
|
dbe63727a3 | ||
|
|
3e27afadd5 | ||
|
|
e7c72fc60c | ||
|
|
da1245bcd8 | ||
|
|
2149814428 | ||
|
|
6a73fd984c | ||
|
|
ea1c951006 | ||
|
|
4a96f9a5c9 | ||
|
|
fcc4151810 | ||
|
|
82cd79c004 | ||
|
|
74983af3b4 | ||
|
|
f5bcb11fe9 | ||
|
|
f6f1c638a5 | ||
|
|
ef9f0edd61 | ||
|
|
0c2f9177d1 | ||
|
|
e250672e4a | ||
|
|
13093f5de3 | ||
|
|
9b62104f30 | ||
|
|
df36ebf308 | ||
|
|
0d0c6a15fb | ||
|
|
86e42a9cf0 | ||
|
|
b4911cc5ce | ||
|
|
bae3838513 | ||
|
|
f3acf2447c | ||
|
|
3e31d86596 | ||
|
|
8f1e318cde | ||
|
|
532bc450fb | ||
|
|
ab007e2bb2 | ||
|
|
de9dcbd231 | ||
|
|
8d14286bd3 | ||
|
|
f1b4a7a0ae | ||
|
|
33d55c0757 | ||
|
|
00fff7f793 | ||
|
|
5cf13dfa32 | ||
|
|
27b9a5aed9 | ||
|
|
c45d55b94b | ||
|
|
7048bd8cc9 | ||
|
|
cae6ca987f | ||
|
|
65171cfb3a | ||
|
|
740f0091f2 | ||
|
|
ed636ffc9c | ||
|
|
7ec636aeb6 | ||
|
|
c96980a57d | ||
|
|
0959ceeff2 | ||
|
|
1988c9d8c4 | ||
|
|
1eaa1e47fe | ||
|
|
31923b314e | ||
|
|
ee840b62e5 | ||
|
|
4de99d2540 | ||
|
|
363efaa408 | ||
|
|
5b60522e5e | ||
|
|
b0beeea95f | ||
|
|
d0a4650d69 | ||
|
|
ec5a84cf01 | ||
|
|
a057eb8590 | ||
|
|
0e17b00675 | ||
|
|
740a275836 | ||
|
|
125a63bf8d | ||
|
|
b4f14e086d | ||
|
|
6d8cef3bb6 | ||
|
|
6a8753b119 | ||
|
|
b334c82fdd | ||
|
|
23fab90a31 | ||
|
|
d657a679ba | ||
|
|
219ce5fc4c | ||
|
|
2ec1bcfc29 | ||
|
|
8fdf9cac6b | ||
|
|
525d12f5a2 | ||
|
|
15d247a708 | ||
|
|
373746c296 | ||
|
|
525278450a | ||
|
|
91e527dc2a | ||
|
|
82d31095f2 | ||
|
|
9ed4aa4111 | ||
|
|
de074804eb | ||
|
|
c54a3ab7cc | ||
|
|
a1d0b85277 | ||
|
|
5e5a77b040 | ||
|
|
e420ae6942 | ||
|
|
0be7c0273e | ||
|
|
41b1b53c76 | ||
|
|
60ef5535c6 | ||
|
|
e38d0807c9 | ||
|
|
864b7cd41e | ||
|
|
78c8f13645 | ||
|
|
c87c456ae0 | ||
|
|
94d9b8fb39 | ||
|
|
7045a6c239 | ||
|
|
2b1602872c | ||
|
|
e09cb0c068 | ||
|
|
62f4d118ea | ||
|
|
302f81b1d2 | ||
|
|
1c87314b88 | ||
|
|
ba1184f5ab | ||
|
|
30d8290d1c | ||
|
|
d4da443b12 | ||
|
|
1f8aee8a4f | ||
|
|
526d23583a | ||
|
|
20821e6ffd | ||
|
|
d31f11fe88 | ||
|
|
dbad6d641e | ||
|
|
c33e21a8c6 | ||
|
|
b488ad12c2 | ||
|
|
2dad027001 | ||
|
|
f97bb240d7 | ||
|
|
574e029254 | ||
|
|
91759c4a27 | ||
|
|
ce5934461e | ||
|
|
80332fb6ab | ||
|
|
287ec2f3df | ||
|
|
eb5824f713 | ||
|
|
eded901f69 | ||
|
|
d22dc6e6af | ||
|
|
6f637e40d8 | ||
|
|
ec06663dee | ||
|
|
3c5c432e1d | ||
|
|
927f7549d4 | ||
|
|
177114f8d9 | ||
|
|
6bfdfd1af0 | ||
|
|
2d2e843804 | ||
|
|
fd30df82cb | ||
|
|
55f2fcb4c6 | ||
|
|
d8888432c3 | ||
|
|
59425741b6 | ||
|
|
3577ba2981 | ||
|
|
93fdbcd371 | ||
|
|
d4477b0d65 | ||
|
|
48b4c57d92 | ||
|
|
6a2631631c | ||
|
|
9cb3af801a | ||
|
|
51712fea53 | ||
|
|
f597f99198 | ||
|
|
00d09763af | ||
|
|
5639572ef3 | ||
|
|
1e7716abb4 | ||
|
|
751181d14f | ||
|
|
013b87f9c5 | ||
|
|
6da2f6bbaa | ||
|
|
198cb43ad6 | ||
|
|
db648a0268 | ||
|
|
7cea2225de | ||
|
|
51a7cbeb55 | ||
|
|
171a9e1575 | ||
|
|
1a10663c2b | ||
|
|
76deabe4df | ||
|
|
74ec37f3c7 | ||
|
|
9c1a4fa68e | ||
|
|
6b9950a9a0 | ||
|
|
c6ed7dc586 | ||
|
|
35ac6610c7 | ||
|
|
121efd8ff1 | ||
|
|
23d8f01012 | ||
|
|
05178f0fbf | ||
|
|
573aaec9fd | ||
|
|
8fe102662d | ||
|
|
83cdece0b4 | ||
|
|
4cc1ef3624 | ||
|
|
b676ffe208 | ||
|
|
625b21152e | ||
|
|
385759f3c9 | ||
|
|
12b9b87c61 | ||
|
|
9ce09713b6 | ||
|
|
0e1858ef2f | ||
|
|
d65b9aa404 | ||
|
|
4fa6faf608 | ||
|
|
a24ae13d9c | ||
|
|
64dd0d1b45 | ||
|
|
da63b1223c | ||
|
|
36f32c2aef | ||
|
|
8b224e2c0a | ||
|
|
063acadc3b | ||
|
|
81c720c05b | ||
|
|
edcdcb945a | ||
|
|
ce554eb44a | ||
|
|
5df6430bb2 | ||
|
|
9a0096d07c | ||
|
|
25d33d6057 | ||
|
|
ab4c6247c7 | ||
|
|
1b69dbb38b | ||
|
|
bfdd488b00 | ||
|
|
54c8809bf4 | ||
|
|
0873665bec | ||
|
|
02b3033ca3 | ||
|
|
a27c8ad90c | ||
|
|
bf6d0a521c | ||
|
|
336bbb2403 | ||
|
|
73da086964 | ||
|
|
58f4f3623f | ||
|
|
18a58f73de | ||
|
|
d1451a3c90 | ||
|
|
0bef47b2f3 | ||
|
|
ccc05d6658 | ||
|
|
c15de69156 | ||
|
|
8bfb44fd28 | ||
|
|
79d3b84fad | ||
|
|
b97701586e | ||
|
|
b120345fe7 | ||
|
|
ec5c65a530 | ||
|
|
77e7a1fa8d | ||
|
|
f6d45b68ef | ||
|
|
24d76a0d75 | ||
|
|
c3326efe94 | ||
|
|
c0e056bb84 | ||
|
|
8a7df36701 | ||
|
|
39ec6b1bb2 | ||
|
|
30b2406533 | ||
|
|
bff9b3843f | ||
|
|
076d5dda0e | ||
|
|
e78eab46ff | ||
|
|
19a08f8d5e | ||
|
|
c6319117fd | ||
|
|
4c10ed4ada | ||
|
|
b0ab3ca80b | ||
|
|
9f89a2fe76 | ||
|
|
e386bfb550 | ||
|
|
0189a3f1bd | ||
|
|
d3a333e03c | ||
|
|
04d3e282fb | ||
|
|
4be5f970d5 | ||
|
|
31ceff181e | ||
|
|
42abf4101c | ||
|
|
f09cae74fb | ||
|
|
13a6393ec5 | ||
|
|
ef1a47a5a2 | ||
|
|
3c2bb1e2bc | ||
|
|
3a57eb1b54 | ||
|
|
79c1514a2b | ||
|
|
24af9f38f4 | ||
|
|
ace57f9dd4 | ||
|
|
9527b9f4d2 | ||
|
|
e5117a98c9 | ||
|
|
c1f7af7e6f | ||
|
|
b4c116e2a2 | ||
|
|
98efab83a1 | ||
|
|
a19a960b5e | ||
|
|
6d259f80e0 | ||
|
|
0afbbeb8dc | ||
|
|
4dbee1015f | ||
|
|
29d2094626 | ||
|
|
c3b82e6818 | ||
|
|
1a7c89326b | ||
|
|
3a1f04ac2d | ||
|
|
835813a86f | ||
|
|
2c8e95a0f4 | ||
|
|
a9d94ef732 | ||
|
|
2756d17873 | ||
|
|
b4efcf1627 | ||
|
|
56d5359f5b | ||
|
|
e0d121d370 | ||
|
|
a5de9994ec | ||
|
|
d098a12321 | ||
|
|
34d7f84fc2 | ||
|
|
6cda2f0c24 | ||
|
|
4e04a2ccb0 | ||
|
|
b923554935 | ||
|
|
6474780d80 | ||
|
|
79f72a1211 | ||
|
|
cea9b389bf | ||
|
|
ec8adf2bd7 | ||
|
|
2afdc9d095 | ||
|
|
9f5388544a | ||
|
|
b5ed352aa3 | ||
|
|
ea6caed5a3 | ||
|
|
71b1e881d8 | ||
|
|
7ba47e9d44 | ||
|
|
be48cb646c | ||
|
|
47eb5ff1d9 | ||
|
|
b608f5a670 | ||
|
|
e81dc34c4e | ||
|
|
1603e627a3 | ||
|
|
bf978b3e0f | ||
|
|
0fdaf33288 | ||
|
|
367c4153c1 | ||
|
|
395c673a24 | ||
|
|
22de23c651 | ||
|
|
23926d2461 | ||
|
|
c03f31b6ba | ||
|
|
a1060a8538 | ||
|
|
24251bc223 | ||
|
|
868f8029a2 | ||
|
|
f78749d2cd | ||
|
|
14219a1ea5 | ||
|
|
1663c84db7 | ||
|
|
9ea39dbaa9 | ||
|
|
d3ec897fee | ||
|
|
0995377d39 | ||
|
|
b9228e64ff | ||
|
|
c4084de716 | ||
|
|
3c667918e7 | ||
|
|
e55745cbcf | ||
|
|
e01ce20431 | ||
|
|
dce8cb83d9 | ||
|
|
8dc956c55b | ||
|
|
38a5ff42e0 | ||
|
|
6c77921a32 | ||
|
|
55e4748f06 | ||
|
|
5ff9e02517 | ||
|
|
7f7ebc36f5 | ||
|
|
0e5bfc03ce | ||
|
|
b309d333a6 | ||
|
|
ee439382ed | ||
|
|
192212c682 | ||
|
|
148bdfdcd6 | ||
|
|
066c0ba189 | ||
|
|
e4128cd5d8 | ||
|
|
9651f1cddf | ||
|
|
5feb9b0806 | ||
|
|
274da3ad0b | ||
|
|
44b9ee19e7 | ||
|
|
cc16d19bc4 | ||
|
|
b96c2de2b7 | ||
|
|
f882b80708 | ||
|
|
4d7c014b23 | ||
|
|
1f274699e5 | ||
|
|
697e355f07 | ||
|
|
f8e6326880 | ||
|
|
67c5f513aa | ||
|
|
0589bfc51b | ||
|
|
04f32bd397 | ||
|
|
e89bdfc422 | ||
|
|
c2cc9e62a7 | ||
|
|
1f2ae0d061 | ||
|
|
91a39588c6 | ||
|
|
a642f86d5b | ||
|
|
00cf290574 | ||
|
|
b59952b539 | ||
|
|
88b4ff9809 | ||
|
|
ddd0965a82 | ||
|
|
0a9491ff46 | ||
|
|
32b44e3d87 | ||
|
|
268004b4ff | ||
|
|
6c0f6ae62e | ||
|
|
094f2bb540 | ||
|
|
f4da7f1fb0 | ||
|
|
b058185d3b | ||
|
|
eecb981736 | ||
|
|
46b870e260 | ||
|
|
1ffab7337d | ||
|
|
82fb8c49cf | ||
|
|
ff2d59d32f | ||
|
|
0ced165b3e | ||
|
|
d3378c131a | ||
|
|
0300a85295 | ||
|
|
60a116f3e0 | ||
|
|
ff4d2d488f | ||
|
|
b0852b4cf5 | ||
|
|
c047b4d4de | ||
|
|
f054ca3f72 | ||
|
|
6655da9d24 | ||
|
|
74b7d441c8 | ||
|
|
cc6abfc366 | ||
|
|
4e3d4c3153 | ||
|
|
1df602be26 | ||
|
|
c323041040 | ||
|
|
95d600c5f1 | ||
|
|
52a47fbc67 | ||
|
|
4e7c069c1f | ||
|
|
f89ffa513a | ||
|
|
0086916b4d | ||
|
|
df5ef6fe67 | ||
|
|
c9e51dcfc1 | ||
|
|
c05adfd817 | ||
|
|
d75f807c01 | ||
|
|
055410e38f | ||
|
|
6163de378e | ||
|
|
22938cd697 | ||
|
|
2d3272182b | ||
|
|
444946ae79 | ||
|
|
6a6bfd1c89 | ||
|
|
a493f81ec2 | ||
|
|
26c0bbd0eb | ||
|
|
87cb2a7114 | ||
|
|
a875b46a80 | ||
|
|
704ba791fd | ||
|
|
c24d6bd71c | ||
|
|
9b319cf189 | ||
|
|
1a9eb19f0d | ||
|
|
1943cc60b6 | ||
|
|
761c05c358 | ||
|
|
b08c1ada02 | ||
|
|
dab17e381c | ||
|
|
114f66f297 | ||
|
|
0191fa43e0 | ||
|
|
f8878833de | ||
|
|
364d4340fd | ||
|
|
76ee4cb3ba | ||
|
|
6226a6ee8f | ||
|
|
c49edeb09d | ||
|
|
7e794cd94f | ||
|
|
933a62de01 | ||
|
|
23f8e3b4f8 | ||
|
|
3502edf71b | ||
|
|
4d8a371e43 | ||
|
|
01fd3242c4 | ||
|
|
9c289334e9 | ||
|
|
7b22972630 | ||
|
|
d88a5e1b11 | ||
|
|
002142539b | ||
|
|
e1d1c10fad | ||
|
|
d585742609 | ||
|
|
d910a3af8b | ||
|
|
6ad2920809 | ||
|
|
a42d942a35 | ||
|
|
721443feea | ||
|
|
ba73405613 | ||
|
|
c89a55984b | ||
|
|
577bc546d8 | ||
|
|
85a832fb7c | ||
|
|
045a3f17ba | ||
|
|
a9f23a8331 | ||
|
|
5d24599546 | ||
|
|
07d9d3770b | ||
|
|
c9ddb12b5a | ||
|
|
0932ee6051 | ||
|
|
ee1b8465a3 | ||
|
|
26bd164168 | ||
|
|
3979d002bd | ||
|
|
00e819bd92 | ||
|
|
740d33b378 | ||
|
|
f0b284eda7 | ||
|
|
da370c8b36 | ||
|
|
203b9c7f6b | ||
|
|
7932ec3cc1 | ||
|
|
3f15e02881 | ||
|
|
6fb5c04bde | ||
|
|
578bcc3522 | ||
|
|
99dea76fd1 | ||
|
|
b680540adf | ||
|
|
67f57a443c | ||
|
|
2b3b4f9daf | ||
|
|
ba01a697e6 | ||
|
|
16d81db117 | ||
|
|
4ce92f1a98 | ||
|
|
21c63637bd | ||
|
|
18f764e4d5 | ||
|
|
575874bcbe | ||
|
|
8c9799cede | ||
|
|
5930ca8ac7 | ||
|
|
49be4a3be2 | ||
|
|
1e50620f53 | ||
|
|
5e82dc1841 | ||
|
|
33d76962a7 | ||
|
|
54b8f4d89b | ||
|
|
6ce1c17ee1 | ||
|
|
8d9b4d3669 | ||
|
|
fb79b8a7f8 | ||
|
|
b0236eaa24 | ||
|
|
19bbff708e | ||
|
|
1399ea13cc | ||
|
|
a25d9fd3b4 | ||
|
|
72d51e4667 | ||
|
|
f6e3838eb2 | ||
|
|
c1fdecae2d | ||
|
|
4104db65bb | ||
|
|
36cb827406 | ||
|
|
69a4558fe4 | ||
|
|
928eae419f | ||
|
|
50edac8ee8 | ||
|
|
945951cda5 | ||
|
|
fa95a638af | ||
|
|
3b6aeb1fc8 | ||
|
|
6543a01418 | ||
|
|
9724e52f1b | ||
|
|
9413a30a08 | ||
|
|
6a9a2559d2 | ||
|
|
78b6f4df01 | ||
|
|
b7e88aa2ef | ||
|
|
224fd21612 | ||
|
|
a6bf33c501 | ||
|
|
306a9421fb | ||
|
|
d5885daf0f | ||
|
|
52b3f7105d | ||
|
|
7f6dc291c0 | ||
|
|
eacb849353 | ||
|
|
367bc401ee | ||
|
|
92af3ea725 | ||
|
|
582ce4cfa0 | ||
|
|
43ae3dfce5 | ||
|
|
ce851a7a8b | ||
|
|
b5b7589b41 | ||
|
|
b638341c14 | ||
|
|
7274417f84 | ||
|
|
1967226c71 | ||
|
|
227ea8ed24 | ||
|
|
6766f41bf5 | ||
|
|
3cc41db0bd | ||
|
|
38403f3343 | ||
|
|
59a133fe03 | ||
|
|
0524613a57 | ||
|
|
e705db8339 | ||
|
|
344ea661c9 | ||
|
|
d9b34121ae | ||
|
|
8d99364d63 | ||
|
|
be65f78174 | ||
|
|
fd6a17f3e6 | ||
|
|
0353d7b6a6 | ||
|
|
a64724be0e | ||
|
|
a0d9d41455 | ||
|
|
84e8ab5b71 | ||
|
|
228641763b | ||
|
|
4f5bfbdb78 | ||
|
|
f5bbb12434 | ||
|
|
a07d2cddd2 | ||
|
|
2fcfe883eb | ||
|
|
d53a3f2f98 | ||
|
|
acc0b53916 | ||
|
|
af7e36422e | ||
|
|
45c98bad19 | ||
|
|
1e1df5d94d | ||
|
|
f1878640c8 | ||
|
|
edf8147561 | ||
|
|
3a9ab3a86f | ||
|
|
2cc5bbe187 | ||
|
|
8f912ca0c5 | ||
|
|
0a15f0e7ad | ||
|
|
a827056d28 | ||
|
|
6c90989584 | ||
|
|
f06fead44f | ||
|
|
08acf5e9aa | ||
|
|
bca295183b | ||
|
|
3d1994747a | ||
|
|
6109b22aa6 | ||
|
|
a400a2e0bb | ||
|
|
8c15839753 | ||
|
|
810024f4c9 | ||
|
|
de7bcca5fe | ||
|
|
6552a48639 | ||
|
|
aee0f0c882 | ||
|
|
e353193fbb | ||
|
|
fb547e9100 | ||
|
|
44289c8781 | ||
|
|
d4a5ab252d | ||
|
|
09e30509d1 | ||
|
|
75682f981d | ||
|
|
7a8b07443f | ||
|
|
a3b3c28694 | ||
|
|
976c41a3b8 | ||
|
|
da087292fd | ||
|
|
274f59f93b | ||
|
|
85d810d2cf | ||
|
|
47f151c594 | ||
|
|
7b5ef2186e | ||
|
|
8236dafb96 | ||
|
|
56e5627b6b | ||
|
|
38db0eddab | ||
|
|
710625e2a3 | ||
|
|
a5e7af6c1f | ||
|
|
917cc7faab | ||
|
|
5fe4d2db2b | ||
|
|
b2c587e2f8 | ||
|
|
40c2d891c1 | ||
|
|
d5ad3a8a70 | ||
|
|
c74382af4f | ||
|
|
0be0111724 | ||
|
|
f0d454b511 | ||
|
|
b79a45403e | ||
|
|
1cc60e755b | ||
|
|
a12782dccf | ||
|
|
59ed14698c | ||
|
|
7fb7cc8c46 | ||
|
|
1400889b23 | ||
|
|
44fa9bd141 | ||
|
|
992dffa032 | ||
|
|
45cdcb7502 | ||
|
|
5fa7e48c24 | ||
|
|
3b00dfebed | ||
|
|
b42c7e07e6 | ||
|
|
ab7bfabf12 | ||
|
|
ab72644ace | ||
|
|
218fa040c8 | ||
|
|
b8f783f104 | ||
|
|
fdd1f885a1 | ||
|
|
db7e8560cf | ||
|
|
6beb96293f | ||
|
|
1263ca990d | ||
|
|
e12adbcc7e | ||
|
|
32559175c9 | ||
|
|
6882880ba7 | ||
|
|
ae2e3e7fb1 | ||
|
|
edd9d9aee3 | ||
|
|
207ee9955f | ||
|
|
365fb2a5fe | ||
|
|
8c66085621 | ||
|
|
40ab325a37 | ||
|
|
7ae95b14f4 | ||
|
|
4aa0c58bb0 | ||
|
|
c082a3f763 | ||
|
|
ebc98f07c3 | ||
|
|
90873a9ae8 | ||
|
|
566f5ce614 | ||
|
|
d0edcd1fba | ||
|
|
5da6103fb5 | ||
|
|
6b5b9db20a | ||
|
|
eb39d144e4 | ||
|
|
cfaaf4a2c4 | ||
|
|
279a738aa6 | ||
|
|
52c7ff415e | ||
|
|
c20a2bf16b | ||
|
|
d22eb0ceef | ||
|
|
10b55f11a2 | ||
|
|
25065c4151 | ||
|
|
d2657bc154 | ||
|
|
4fde3f4a65 | ||
|
|
e398cfb27c | ||
|
|
3cc670ec29 | ||
|
|
4489eb6cc0 | ||
|
|
c8d9e8458a | ||
|
|
b7d549e5a0 | ||
|
|
892419e880 | ||
|
|
a25fbb6160 | ||
|
|
68a427d7e4 | ||
|
|
73ef2c1b6f | ||
|
|
13fb49cf39 | ||
|
|
eabe3f968e | ||
|
|
2ca5eaaab9 | ||
|
|
5f0f49b5bd | ||
|
|
3a51c9ce8b | ||
|
|
eed3deac67 | ||
|
|
a63863b65c | ||
|
|
748ff13bce | ||
|
|
c1a73564f5 | ||
|
|
2befdf50da | ||
|
|
6c7700c2e7 | ||
|
|
c8ccb014c8 | ||
|
|
f1bd14e8de | ||
|
|
024d01a192 | ||
|
|
b2d02ef0bd | ||
|
|
751d7deda6 | ||
|
|
fff795146e | ||
|
|
6898d96a5c | ||
|
|
82569559cc | ||
|
|
c6219581f6 | ||
|
|
d0c5fb2395 | ||
|
|
6c2c81dc83 | ||
|
|
bfdb0c0012 | ||
|
|
d870d6c326 | ||
|
|
c06410e726 | ||
|
|
ef03ebe086 | ||
|
|
a217e8f24c | ||
|
|
c164beb040 | ||
|
|
7eb3f901a6 | ||
|
|
7ef620f58d | ||
|
|
44a52ad951 | ||
|
|
f8fdff885e | ||
|
|
1c9fa48d60 | ||
|
|
270e06a99b | ||
|
|
5171e5880d | ||
|
|
2ef62524d6 | ||
|
|
4bbb29c2b4 | ||
|
|
261776cc78 | ||
|
|
3008142b1b | ||
|
|
152e729768 | ||
|
|
e7c77df59e | ||
|
|
4ff1a13f32 | ||
|
|
b9b18d6120 | ||
|
|
4945ce3c8c | ||
|
|
19aa8c63c0 | ||
|
|
efd11b61c6 | ||
|
|
1facb1f95d | ||
|
|
3db0788a91 | ||
|
|
e068098046 | ||
|
|
f2d289326b | ||
|
|
ae57f27eb9 | ||
|
|
a1767b2f7f | ||
|
|
5e9fcf7537 | ||
|
|
8192cc7eea | ||
|
|
2b8e1f2504 | ||
|
|
9d01f80744 | ||
|
|
1a04c9da67 | ||
|
|
d35e1baee1 | ||
|
|
2f16e50c87 | ||
|
|
3a662f7afb | ||
|
|
903a78623c | ||
|
|
7cd2f39f82 | ||
|
|
1a25644d60 | ||
|
|
8a8d98d401 | ||
|
|
16d99b8ff8 | ||
|
|
949dd5db35 | ||
|
|
49a5c5bb8b | ||
|
|
48aa355eea | ||
|
|
644b2673e0 | ||
|
|
8eed62e639 | ||
|
|
04c8449e5f | ||
|
|
9dd776ff6c | ||
|
|
016868e95a | ||
|
|
5d9c664fba | ||
|
|
a662c85728 | ||
|
|
5c4b7d427d | ||
|
|
12cc8bfd95 | ||
|
|
11c6f20c90 | ||
|
|
c602ec310d | ||
|
|
60a4180dd6 | ||
|
|
8e42721959 | ||
|
|
4553fa1d09 | ||
|
|
b206a3b8e2 | ||
|
|
3bff5a061b | ||
|
|
0bc9b6f44e | ||
|
|
77653747ac | ||
|
|
905f70a186 | ||
|
|
0dbecb129e | ||
|
|
a8707b681d | ||
|
|
5d8f9f5346 | ||
|
|
e43ff398cd | ||
|
|
a441b1d562 | ||
|
|
6e2042cd55 | ||
|
|
bb8b58dc66 | ||
|
|
9cd099056b | ||
|
|
0adbc032ae | ||
|
|
22a679fb8c | ||
|
|
35a67fab0a | ||
|
|
fdc8117211 | ||
|
|
24208e6137 | ||
|
|
c0cd255ea3 | ||
|
|
a0375fd000 | ||
|
|
6d847cd5f9 | ||
|
|
6470a3f539 | ||
|
|
c6111d09ce | ||
|
|
d6012854a9 | ||
|
|
46c7026726 | ||
|
|
01ad3c4d81 | ||
|
|
3d2c3b321c | ||
|
|
4ac98bde73 | ||
|
|
f42a6d6ef6 | ||
|
|
9055c6ade7 | ||
|
|
1356a5bbaa | ||
|
|
3c320c2736 | ||
|
|
969757199e | ||
|
|
60f1c65a48 | ||
|
|
b87b0e16e6 | ||
|
|
8ed0b1be55 | ||
|
|
ed76e5f1f2 | ||
|
|
91b5f1076f | ||
|
|
8ec2457965 | ||
|
|
82d79b1188 | ||
|
|
e33601becd | ||
|
|
334443adbb | ||
|
|
92b9bf59a7 | ||
|
|
99579e8a2a | ||
|
|
89438f7ace | ||
|
|
d323ec5dd9 | ||
|
|
bb5cf37330 | ||
|
|
4b0bdd648c | ||
|
|
5588fbe695 | ||
|
|
12ea381205 | ||
|
|
99fbf25fb2 | ||
|
|
b37645e14d | ||
|
|
1ec5a1aaa2 | ||
|
|
3eb7acde25 | ||
|
|
e53e39cfad | ||
|
|
1a17f40233 | ||
|
|
10094a997a | ||
|
|
2af38b093f | ||
|
|
015eeb1e05 | ||
|
|
32818283a5 | ||
|
|
4a04b3e184 | ||
|
|
b03c168175 | ||
|
|
1c6bc84d2d | ||
|
|
541239c17b | ||
|
|
74b4ade15a | ||
|
|
bf8188e9e8 | ||
|
|
72cc0f5d7c | ||
|
|
f71d4dcc79 | ||
|
|
78937b09b8 | ||
|
|
205502fd3b | ||
|
|
54e4217216 | ||
|
|
d2579a7754 | ||
|
|
76580840dd | ||
|
|
779e59156c | ||
|
|
b0f0d0b1cd | ||
|
|
882e027e40 | ||
|
|
5a2d7e9c9f | ||
|
|
d9ef991448 | ||
|
|
858dcb53bd | ||
|
|
9d7db88fcb | ||
|
|
2099b7c6a0 | ||
|
|
4442564ad2 | ||
|
|
12148b5c9b | ||
|
|
d7d77a49fc | ||
|
|
b70c2f5c20 | ||
|
|
bb03664bfd | ||
|
|
033249423f | ||
|
|
f320f9c701 | ||
|
|
e92dd4c1da | ||
|
|
cab00ea668 | ||
|
|
0c959e8661 | ||
|
|
79785241ea | ||
|
|
0090862313 | ||
|
|
a4a68c6622 | ||
|
|
e92a422d3d | ||
|
|
49b4c341ae | ||
|
|
9001dbb082 | ||
|
|
22a07634b6 | ||
|
|
7c1f91abdd | ||
|
|
1f2ba7e254 | ||
|
|
8014bcb7c4 | ||
|
|
b1c8bf5954 | ||
|
|
0eb6740bac | ||
|
|
96531b548a | ||
|
|
f3371360ed | ||
|
|
5bb4c3be43 | ||
|
|
a06078f89f | ||
|
|
c1b92f9fed | ||
|
|
b028ca0738 | ||
|
|
a9aab30d55 | ||
|
|
efbad3a3c8 | ||
|
|
fe6fdb5e88 | ||
|
|
b6ed959f98 | ||
|
|
477953f965 | ||
|
|
aaf59cece5 | ||
|
|
e88b7e8ec2 | ||
|
|
078b09b5f4 | ||
|
|
0d06fe764a | ||
|
|
c53ad974ee | ||
|
|
94f8c39a9e | ||
|
|
7d1bd9da86 | ||
|
|
ed8cdf6910 | ||
|
|
7ee83847c8 | ||
|
|
52eca1362f | ||
|
|
eec1af09c4 | ||
|
|
c651c8cbf9 | ||
|
|
da6a398624 | ||
|
|
4d663f6cfa | ||
|
|
1418512a9f | ||
|
|
95c532c46a | ||
|
|
dd2859880b | ||
|
|
f38d8ba2e4 | ||
|
|
fdd52a2520 | ||
|
|
e2c0792043 | ||
|
|
e8889530b0 | ||
|
|
23f67d950a | ||
|
|
0bd1f507ab | ||
|
|
2bcfc143f6 | ||
|
|
9dc21bf8a3 | ||
|
|
20969cf6bb | ||
|
|
70f627ba06 | ||
|
|
0683c26d41 | ||
|
|
dbc085d4d4 | ||
|
|
e4b9f21f81 | ||
|
|
f2669ae886 | ||
|
|
39cfe91da6 | ||
|
|
45e5578b52 | ||
|
|
92b0af4b0a | ||
|
|
126559b2be | ||
|
|
0764ef1620 | ||
|
|
804eaa700e | ||
|
|
646922665d | ||
|
|
10437db2f9 | ||
|
|
8115f71096 | ||
|
|
4a58cae0b0 | ||
|
|
bcdd8b95bf | ||
|
|
69d251630f | ||
|
|
02f93ec4d5 | ||
|
|
dd8ceacf75 | ||
|
|
673ca36db8 | ||
|
|
68e0dbb18f | ||
|
|
62ad2f19e3 | ||
|
|
14f55420f9 | ||
|
|
d4ea0ba6ba | ||
|
|
4ad01b35ce | ||
|
|
c06f7b7ecb | ||
|
|
3a50eece9e | ||
|
|
44f0fb0242 | ||
|
|
c210e2b72f | ||
|
|
7b5079f043 | ||
|
|
be4027fb36 | ||
|
|
0f03b47a46 | ||
|
|
053a9b7da0 | ||
|
|
c923e0803e | ||
|
|
61335b6a70 | ||
|
|
bd74dbbfc5 | ||
|
|
a0599e75b7 | ||
|
|
4f47aba1e2 | ||
|
|
2385bbcf55 | ||
|
|
f334b6349b | ||
|
|
ad7aac4152 | ||
|
|
b9c7980433 | ||
|
|
07ce6cfa79 | ||
|
|
9ce47c9675 | ||
|
|
2ff9fcfa1d | ||
|
|
ecff867e46 | ||
|
|
4af8f470e8 | ||
|
|
5c79d8bdef | ||
|
|
d8d4f118d7 | ||
|
|
6b4501fd4b | ||
|
|
40255d643c | ||
|
|
ccb8fcc614 | ||
|
|
551d457c7c | ||
|
|
aa23e4698b | ||
|
|
eb2997e609 | ||
|
|
ae1541a95f | ||
|
|
f56a075f36 | ||
|
|
00d27d0e9c | ||
|
|
3e795a84c2 | ||
|
|
6735b82326 | ||
|
|
1a648a612e | ||
|
|
8f6562f737 | ||
|
|
f2f12a5629 | ||
|
|
885eaad729 | ||
|
|
cb0e06e7f8 | ||
|
|
7b060a7af6 | ||
|
|
28942e3051 | ||
|
|
b31200a6f2 | ||
|
|
8f3e260ede | ||
|
|
41a56b19b7 | ||
|
|
98cbb599b8 | ||
|
|
b7c03e92da | ||
|
|
302fdeb1f9 | ||
|
|
eea8542fc0 | ||
|
|
276ccd3fb6 | ||
|
|
9d84c19b69 | ||
|
|
b1f62b51bf | ||
|
|
a75376e6a7 | ||
|
|
ee5aaf76c5 | ||
|
|
ecd314cef5 | ||
|
|
952290890c | ||
|
|
9b4eb40216 | ||
|
|
639f1127b7 | ||
|
|
0b1ecd0ac6 | ||
|
|
9c2f223093 | ||
|
|
927ccf5d08 | ||
|
|
52e2775292 | ||
|
|
852e30ef07 | ||
|
|
980c176073 | ||
|
|
2193da0ab5 | ||
|
|
7cd12e7dc5 | ||
|
|
3c87cd71d7 | ||
|
|
52d9a9fb0a | ||
|
|
c8fdf1d4fb | ||
|
|
247f4d948c | ||
|
|
79818924b3 | ||
|
|
b1ac67ce8b | ||
|
|
685bf395be | ||
|
|
0636ae6f28 | ||
|
|
698edcc1c0 | ||
|
|
7f8eba3700 | ||
|
|
02957aba45 | ||
|
|
946258ca59 | ||
|
|
2e53e2e4e0 | ||
|
|
721a8f79ab | ||
|
|
ecaf66db5d | ||
|
|
0c775aba6d | ||
|
|
71b238031f | ||
|
|
662bd4e5fe | ||
|
|
5118054fa3 | ||
|
|
c956d11183 | ||
|
|
7df23a1b19 | ||
|
|
72580d7213 | ||
|
|
a36d79e993 | ||
|
|
be5c1b2072 | ||
|
|
264cc73806 | ||
|
|
c61035f767 | ||
|
|
54ed522bbe | ||
|
|
f0bd1ea48e | ||
|
|
90d0460a42 | ||
|
|
c041076c95 | ||
|
|
c15ce2b20b | ||
|
|
b51f210bfa | ||
|
|
f6ff189f35 | ||
|
|
84a28fa8f7 | ||
|
|
cca965e288 | ||
|
|
8a80a55aec | ||
|
|
1561032973 | ||
|
|
e1e8842548 | ||
|
|
8c0dbb03e1 | ||
|
|
10443fc1e3 | ||
|
|
546fdeed6c | ||
|
|
b1fc9b2a64 | ||
|
|
b49aaaabfc | ||
|
|
cf23799e78 | ||
|
|
0b648dc669 | ||
|
|
105c76c055 | ||
|
|
6b15b7a58f | ||
|
|
fee0aae975 | ||
|
|
b33b638d2d | ||
|
|
1e677a5f0f | ||
|
|
3f3f6c0f39 | ||
|
|
5dd53b48ef | ||
|
|
a215e11b20 | ||
|
|
7d71f9dd2d | ||
|
|
183f1574ca | ||
|
|
504b651bb9 | ||
|
|
c848ff4bdb | ||
|
|
5aa8f5bc01 | ||
|
|
6c5d5a543c | ||
|
|
a8bc849b5d | ||
|
|
5f535b9661 | ||
|
|
eaf865539c | ||
|
|
4f396c4562 | ||
|
|
8ac8701c10 | ||
|
|
75448c41d4 | ||
|
|
afc96e2021 | ||
|
|
d7bce80c7b | ||
|
|
7e07d20d31 | ||
|
|
238111be09 | ||
|
|
6f0820a3ed | ||
|
|
ab17e2aa8b | ||
|
|
5cda5d523c | ||
|
|
a1271a1db2 | ||
|
|
1d0d1c249b | ||
|
|
1b5ed68375 | ||
|
|
ce996b3fc8 | ||
|
|
2789522948 | ||
|
|
55a56cc275 | ||
|
|
776d5dfe37 | ||
|
|
20101527b2 | ||
|
|
959c987749 | ||
|
|
844c2bbafa | ||
|
|
eb38f5beb1 | ||
|
|
311bd39100 | ||
|
|
fab77a15f0 | ||
|
|
09e7f5c618 | ||
|
|
c5a674b1df | ||
|
|
f83453cfc7 | ||
|
|
1ca8ebebd9 | ||
|
|
460c5b067d | ||
|
|
7cc73ed46c | ||
|
|
52a289d550 | ||
|
|
01b4694b47 | ||
|
|
bcc6d59c6b | ||
|
|
b4e2e5f586 | ||
|
|
374d9b0a8c | ||
|
|
43ed874789 | ||
|
|
b91b96922e | ||
|
|
8928c87fc3 | ||
|
|
2f6441afb0 | ||
|
|
c46371b469 | ||
|
|
072edefc7b | ||
|
|
4bdabb7f46 | ||
|
|
19f6b919af | ||
|
|
e3f8a918d6 | ||
|
|
668bb94270 | ||
|
|
89e0543e0a | ||
|
|
64927899af | ||
|
|
6695b50965 | ||
|
|
5c02c85126 | ||
|
|
de99c0c7e7 | ||
|
|
9f0348979b | ||
|
|
a496bb0e13 | ||
|
|
275c18df82 | ||
|
|
0d238ae1fe | ||
|
|
66d8f8b0db | ||
|
|
0c5cdc2105 | ||
|
|
84f425a326 | ||
|
|
5b5cd310b9 | ||
|
|
ea85d68a26 | ||
|
|
fb0a883f7b | ||
|
|
64a0efe29a | ||
|
|
1f361b7260 | ||
|
|
763b06477d | ||
|
|
112285c9aa | ||
|
|
cd7d2a0778 | ||
|
|
a4be3f304d | ||
|
|
2b971a09f3 | ||
|
|
88184d14d6 | ||
|
|
844d8eba47 | ||
|
|
5e65945a53 | ||
|
|
428040762f | ||
|
|
35aaddda87 | ||
|
|
30e0a13bc5 | ||
|
|
275c2b1a6b | ||
|
|
e409814cb6 | ||
|
|
24a562da49 | ||
|
|
847c223408 | ||
|
|
acdb624713 | ||
|
|
84febf4b77 | ||
|
|
da52acbec6 | ||
|
|
3cae8e7124 | ||
|
|
8b52387c1a | ||
|
|
2595b9eae7 | ||
|
|
46a8561925 | ||
|
|
bb74cab887 | ||
|
|
dd7f58b9b9 | ||
|
|
ee080222d8 | ||
|
|
c7aaa3ab28 | ||
|
|
fcde01fd4c | ||
|
|
da5169bd55 | ||
|
|
83be334ee8 | ||
|
|
819f76c2b9 | ||
|
|
7171da53e8 | ||
|
|
2a5c403d63 | ||
|
|
c38514934c | ||
|
|
90c4f52b34 | ||
|
|
e93bf9fa0a | ||
|
|
783b16676f | ||
|
|
aa6160ab62 | ||
|
|
aa390dd17e | ||
|
|
6cee3f49bc | ||
|
|
1585cab673 | ||
|
|
a1ebf8556a | ||
|
|
8bae06802b | ||
|
|
5de0173804 | ||
|
|
5d5ee328b0 | ||
|
|
a20f572448 | ||
|
|
28aa1448c1 | ||
|
|
f74aa1e9a6 | ||
|
|
86525570aa | ||
|
|
ec51a6933a | ||
|
|
093b166319 | ||
|
|
815f652f08 | ||
|
|
d11ce781d0 | ||
|
|
08d439129c | ||
|
|
0bea2ea8f9 | ||
|
|
c745bf4291 | ||
|
|
be5a50a000 | ||
|
|
7309a894bc | ||
|
|
9939e325cf | ||
|
|
310f29d3fd | ||
|
|
07db03d6bc | ||
|
|
d68c4b379f | ||
|
|
34668e42b3 | ||
|
|
396a12dfde | ||
|
|
867595e1ef | ||
|
|
c79f4f91a8 | ||
|
|
296011436a | ||
|
|
6659ee6d76 | ||
|
|
bec2f7c9b9 | ||
|
|
4b98ee0644 | ||
|
|
6de7ddf294 | ||
|
|
6f3168e88a | ||
|
|
d1efcb7dd4 | ||
|
|
d4c8cad0e2 | ||
|
|
2010c4ad21 | ||
|
|
b826d59925 | ||
|
|
5e0e42baaf | ||
|
|
5951039894 | ||
|
|
a84332c910 | ||
|
|
79c51540da | ||
|
|
0baa80c235 | ||
|
|
a71aef1731 | ||
|
|
466faba761 | ||
|
|
6aec7f4211 | ||
|
|
0ad2bd4b91 | ||
|
|
dcc8f9fa6c | ||
|
|
d7a93c74aa | ||
|
|
408547611b | ||
|
|
a8f0e79046 | ||
|
|
3e45147497 | ||
|
|
ef7c5c261d | ||
|
|
43fa6e4418 | ||
|
|
5657ff3d34 | ||
|
|
48310d3f5e | ||
|
|
1831a975eb | ||
|
|
a3f29967f7 | ||
|
|
a766a44bcf | ||
|
|
8165b83a27 | ||
|
|
fa62c270e6 | ||
|
|
c03199e78a | ||
|
|
f346503534 | ||
|
|
d43779671f | ||
|
|
7b7ce3a43c | ||
|
|
3ce614039a | ||
|
|
8b229f6413 | ||
|
|
287f1c55ff | ||
|
|
1c6523bcec | ||
|
|
337c6d3e4e | ||
|
|
4a57957420 | ||
|
|
19f07f9aea | ||
|
|
945be9438c | ||
|
|
c633302f31 | ||
|
|
1315ca2a57 | ||
|
|
2f0474a467 | ||
|
|
abe53a8669 | ||
|
|
db95e7291d | ||
|
|
b82c156c7e | ||
|
|
d117593fd1 | ||
|
|
5a8d90cc25 | ||
|
|
20816f346d | ||
|
|
ae54c27805 | ||
|
|
db70a3b2ae | ||
|
|
e3a4ec453c | ||
|
|
f88e9baf15 | ||
|
|
df2a04b4ab | ||
|
|
061fa6cc1b | ||
|
|
13c44ad25c | ||
|
|
d943b2880a | ||
|
|
284285d441 | ||
|
|
2554a67cc7 | ||
|
|
089d919be2 | ||
|
|
d865905743 | ||
|
|
7630ab5807 | ||
|
|
c263532ba3 | ||
|
|
38946ed025 | ||
|
|
0ab1a4aeeb | ||
|
|
dd74b12b48 | ||
|
|
e2cccd8615 | ||
|
|
2205c9a339 | ||
|
|
948a98a871 | ||
|
|
b4ec9f887c | ||
|
|
b99677f985 | ||
|
|
b50d201154 | ||
|
|
25a3ceb94d | ||
|
|
c514fe371a | ||
|
|
9169c70efe | ||
|
|
6a5ad6e81e | ||
|
|
3c07cea229 | ||
|
|
e05b44b06d | ||
|
|
47b1e64059 | ||
|
|
d3f51c611f | ||
|
|
1eb534dd53 | ||
|
|
f211ee8bf1 | ||
|
|
8d43a743a1 | ||
|
|
3041e73b0a | ||
|
|
21123bb029 | ||
|
|
fb8d11650c | ||
|
|
d6a6fb0d67 | ||
|
|
53ad4a910f | ||
|
|
2e73ce5605 | ||
|
|
0906312c02 | ||
|
|
ca20703370 | ||
|
|
2c250050d5 | ||
|
|
259b6050bf | ||
|
|
e9b3cbf3f7 | ||
|
|
d31a6e6179 | ||
|
|
26d8c213b0 | ||
|
|
bcb9491f6a | ||
|
|
355a807775 | ||
|
|
9d2c3ebad3 | ||
|
|
ad063b0634 | ||
|
|
8765538458 | ||
|
|
dd4aa14a8c | ||
|
|
99814539eb | ||
|
|
dbec98ff48 | ||
|
|
e2e14f2184 | ||
|
|
e85291c4ba | ||
|
|
58a5405343 | ||
|
|
4ba85311da | ||
|
|
3cf7003101 | ||
|
|
ae558a5889 | ||
|
|
0b0b762c6c | ||
|
|
b216b9f546 | ||
|
|
fed597c840 | ||
|
|
55a4fd752d | ||
|
|
136b699106 | ||
|
|
fd83bf2089 | ||
|
|
75f075feb0 | ||
|
|
817039ddf3 | ||
|
|
6d6deaf6c4 | ||
|
|
3d4b426137 | ||
|
|
9c63b89bac | ||
|
|
2a6e084219 | ||
|
|
ec120cd64c | ||
|
|
a9173b1aa1 | ||
|
|
89f7f75af2 | ||
|
|
8809ac0c4a | ||
|
|
7a03164a9a | ||
|
|
406254cd04 | ||
|
|
f01eeed9d0 | ||
|
|
5b6439e29d | ||
|
|
38954c2193 | ||
|
|
5954fb280c | ||
|
|
8e63652fb3 | ||
|
|
365dfd5380 | ||
|
|
1c70fb3ba4 | ||
|
|
e5af8e87b3 | ||
|
|
bfbec24f43 | ||
|
|
8dd97a358a | ||
|
|
7290afc6fe | ||
|
|
2ba20369ea | ||
|
|
804aef6548 | ||
|
|
85f49b6af4 | ||
|
|
68afc6011d | ||
|
|
524ffcd0e1 | ||
|
|
a7303205b4 | ||
|
|
ca34c4fd5f | ||
|
|
1be65be68e | ||
|
|
b6a37064e9 | ||
|
|
2e945c07af | ||
|
|
7d1d880a9b | ||
|
|
8a06b2d136 | ||
|
|
7ba8a55fa5 | ||
|
|
ee7dc8e1c5 | ||
|
|
b028c64325 | ||
|
|
79bbbe75d7 | ||
|
|
3556f90d68 | ||
|
|
6d984b505d | ||
|
|
8d9336f9f4 | ||
|
|
2b5e694181 | ||
|
|
aa983e4966 | ||
|
|
424b3a9dfc | ||
|
|
5a3bc7af9a | ||
|
|
4501ec10dc | ||
|
|
75cc77b947 | ||
|
|
699ae176df | ||
|
|
9297b3b850 | ||
|
|
cac5f81388 | ||
|
|
28af8068e9 | ||
|
|
a1d64af7b1 | ||
|
|
edbb79b79c | ||
|
|
a000a7b52e | ||
|
|
0a427541d6 | ||
|
|
1c297c56a2 | ||
|
|
6f9bbc431d | ||
|
|
f62626e3eb | ||
|
|
28fcd75494 | ||
|
|
c98f2dfba9 | ||
|
|
0410771d1b | ||
|
|
b92a5f55b8 | ||
|
|
39a89e8fc7 | ||
|
|
38a8096732 | ||
|
|
d358c839ce | ||
|
|
17901e7bc7 | ||
|
|
0ea16c04cc | ||
|
|
f1e0cd1c9c | ||
|
|
e1f404a011 | ||
|
|
69715d2182 | ||
|
|
0285213140 | ||
|
|
1a907f23f0 | ||
|
|
1296be71ed | ||
|
|
8646246e75 | ||
|
|
5a262d7588 | ||
|
|
0ebcdbbb3f | ||
|
|
891ced0fca | ||
|
|
6276bb3873 | ||
|
|
dbb0cbaff8 | ||
|
|
cfa777260c | ||
|
|
66fc273db6 | ||
|
|
9c9e377cf4 | ||
|
|
2b8925c210 | ||
|
|
79159ae32c | ||
|
|
7edc31048a | ||
|
|
a6f63aea94 | ||
|
|
f75eb24bfe | ||
|
|
a79c380707 | ||
|
|
a617a04295 | ||
|
|
dc16f277ce | ||
|
|
2615205adc | ||
|
|
170e5389b3 | ||
|
|
71caa3356c | ||
|
|
0cf770017d | ||
|
|
77a25eafbb | ||
|
|
fe756799d2 | ||
|
|
0c874f0c3c | ||
|
|
3793d725a7 | ||
|
|
77d77ff056 | ||
|
|
d88c58deae | ||
|
|
bdd331ee08 | ||
|
|
07258deaaf | ||
|
|
7b53e0f953 | ||
|
|
50dac60bc9 | ||
|
|
2ac764bd1a | ||
|
|
82d2851a6b | ||
|
|
7a3be71452 | ||
|
|
977a513ee5 | ||
|
|
22cbebb7a7 | ||
|
|
72b2e6778a | ||
|
|
08babbf38d | ||
|
|
2ae5ae6962 | ||
|
|
fa6331a40a | ||
|
|
cece465947 | ||
|
|
3f97047abc | ||
|
|
b6d5213880 | ||
|
|
0bcb65db29 | ||
|
|
7734656ae3 | ||
|
|
c14e17e271 | ||
|
|
b7a740d0b3 | ||
|
|
1f4ea2c60e | ||
|
|
edb4ff6b98 | ||
|
|
279bb47ab4 | ||
|
|
7ef92748ea | ||
|
|
0e6e614318 | ||
|
|
a5b6c3add7 | ||
|
|
fd30d8b0d1 | ||
|
|
5944acf8a6 | ||
|
|
58ace7c774 | ||
|
|
a07444412b | ||
|
|
339f59a4e8 | ||
|
|
4beb9b3efc | ||
|
|
624c99de8f | ||
|
|
a04cf32a69 | ||
|
|
746c0359d2 | ||
|
|
53b1edd1dc | ||
|
|
e75f11b87a | ||
|
|
c716fbb96e | ||
|
|
854852959c | ||
|
|
e134c85ae7 | ||
|
|
1e1751e451 | ||
|
|
7cd0179adc | ||
|
|
c0543cdbaf | ||
|
|
d681066dc2 | ||
|
|
b81939bff5 | ||
|
|
f8685c97f1 | ||
|
|
11e06c33db | ||
|
|
c0f2f5bcaa | ||
|
|
bfee6402a6 | ||
|
|
4fac62560e | ||
|
|
d780055b0e | ||
|
|
52f33de902 | ||
|
|
4ca84c80c6 | ||
|
|
3f5c53425b | ||
|
|
08f90ce3a6 | ||
|
|
6ee70a852a | ||
|
|
4908dbdee8 | ||
|
|
0d6b32ed0a | ||
|
|
a6573c21e7 | ||
|
|
aca965f111 | ||
|
|
01a8ab7bf0 | ||
|
|
460947a3ac | ||
|
|
5dbd987df3 | ||
|
|
e37fc8c6e5 | ||
|
|
7614776e10 | ||
|
|
4ea4c70443 | ||
|
|
ec1946a9ff | ||
|
|
96f9c09e35 | ||
|
|
e0332deffc | ||
|
|
afe6caf406 | ||
|
|
1385aab65d | ||
|
|
862a9d938c | ||
|
|
80108727c4 | ||
|
|
84e3d6278d | ||
|
|
a1bf324f47 | ||
|
|
1b8f7059e3 | ||
|
|
1db825a733 | ||
|
|
b9fe6f2aed | ||
|
|
7794480da0 | ||
|
|
0171b8b998 | ||
|
|
915764cc52 | ||
|
|
381aa701ce | ||
|
|
76653fcedb | ||
|
|
dd0cfec225 | ||
|
|
67b64e0816 | ||
|
|
7552f5e5da | ||
|
|
9af862b455 | ||
|
|
b7cbd311ba | ||
|
|
f26f7646ba | ||
|
|
0f36dc03c4 | ||
|
|
36b385ed54 | ||
|
|
5e3f2cf25a | ||
|
|
8b0cfab2b2 | ||
|
|
f678629734 | ||
|
|
82a3e49d82 | ||
|
|
ccc9419a58 | ||
|
|
21379de9c3 | ||
|
|
635cb4dc7c | ||
|
|
87df74e4d0 | ||
|
|
45c82a2746 | ||
|
|
5b1a9d8ed8 | ||
|
|
e83cc82f0d | ||
|
|
0752aff55a | ||
|
|
d3c55c2b7c | ||
|
|
bc3938daa7 | ||
|
|
4d4b509ac3 | ||
|
|
304b484529 | ||
|
|
7025d612c1 | ||
|
|
2eb9406611 | ||
|
|
07034daffe | ||
|
|
dca8ecb929 | ||
|
|
dd2eecec42 | ||
|
|
72ba4213d5 | ||
|
|
11dbacab60 | ||
|
|
4caca2ce1a | ||
|
|
90e39e34e9 | ||
|
|
23fe05604b | ||
|
|
9a7171068d | ||
|
|
bb2a3590ad | ||
|
|
280dd205d9 | ||
|
|
2a722644b2 | ||
|
|
de69bb9448 | ||
|
|
5c495265f4 | ||
|
|
9cdf2d8150 | ||
|
|
3b4b500d4f | ||
|
|
de87ed2d31 | ||
|
|
97e0e75ae2 | ||
|
|
6f1e70aae6 | ||
|
|
c8e274110a | ||
|
|
5b8917672c | ||
|
|
b23d15eb11 | ||
|
|
9998c7cde1 | ||
|
|
0cf1061248 | ||
|
|
9261f66fd8 | ||
|
|
00ee9f4960 | ||
|
|
6af1a52305 | ||
|
|
703002bafa | ||
|
|
96eb138410 | ||
|
|
3d4ba6c29b | ||
|
|
ba21a9b3a2 | ||
|
|
5e4c0acc6b | ||
|
|
8104e4bde9 | ||
|
|
763dbfc397 | ||
|
|
e0645b4b63 | ||
|
|
f714759ec7 | ||
|
|
8168e9cca1 | ||
|
|
be470b71ea | ||
|
|
216f39e9bc | ||
|
|
486c4481d8 | ||
|
|
6a154c139f | ||
|
|
d559ac513e | ||
|
|
c2c89c6c6b | ||
|
|
af76c77b18 | ||
|
|
c4be5107df | ||
|
|
c13218d647 | ||
|
|
4ce55a44ba | ||
|
|
905891683b | ||
|
|
f4019f5a5a | ||
|
|
c2844b0545 | ||
|
|
b7aec51ed8 | ||
|
|
e6b9c16d04 | ||
|
|
488943aaa0 | ||
|
|
70e89720d5 | ||
|
|
c3f6153f94 | ||
|
|
87aa3d7c60 | ||
|
|
144a2832b9 | ||
|
|
26c01cefa7 | ||
|
|
91b58bdb3f | ||
|
|
d6287fb5e3 | ||
|
|
a880949836 | ||
|
|
3343601179 | ||
|
|
e5b95540e7 | ||
|
|
b97d9a4fa9 | ||
|
|
fe048f69cd | ||
|
|
83a1663750 | ||
|
|
bbf4e07579 | ||
|
|
76f571f9a9 | ||
|
|
8c53f6ff49 | ||
|
|
08ab13dc4b | ||
|
|
aac9b770fc | ||
|
|
ecf09c4077 | ||
|
|
e3ef10765b | ||
|
|
5bc95e1667 | ||
|
|
552d979039 | ||
|
|
89241013c3 | ||
|
|
1c8dde3b61 | ||
|
|
c09461a9e4 | ||
|
|
30494eee75 | ||
|
|
eb0782ec90 | ||
|
|
c6edde1365 | ||
|
|
5c918a486c | ||
|
|
6e3b5e075a | ||
|
|
8b8d78f456 | ||
|
|
3cb2e74d12 | ||
|
|
41082c5e81 | ||
|
|
10965eaa98 | ||
|
|
4e8ff9ae05 | ||
|
|
654e87a9d5 | ||
|
|
5772021a53 | ||
|
|
ab595a4c8f | ||
|
|
e939c6f91a | ||
|
|
316fd7b036 | ||
|
|
fded216fb6 | ||
|
|
246e10c403 | ||
|
|
5da634ed70 | ||
|
|
bd71ddf0aa | ||
|
|
fc8ec72371 | ||
|
|
1507ca2eaf | ||
|
|
8ed89bca86 | ||
|
|
bee3605275 | ||
|
|
1705a309b2 | ||
|
|
70a273eafd | ||
|
|
faa1b83e9e | ||
|
|
128c69676f | ||
|
|
64683332c7 | ||
|
|
42b090ec0d | ||
|
|
885e073b8a | ||
|
|
bac1311486 | ||
|
|
01d2586f1e | ||
|
|
8e3331ad1d | ||
|
|
7759eb4b6d | ||
|
|
243567bdbb | ||
|
|
131e52b370 | ||
|
|
52b22b3c58 | ||
|
|
edfefabcf8 | ||
|
|
9c627782d4 | ||
|
|
9b1dcb23f8 | ||
|
|
568a71daa0 | ||
|
|
7ee75f5499 | ||
|
|
d3585db4ba | ||
|
|
58aaf98369 | ||
|
|
fa0c458bb3 | ||
|
|
415a86edeb | ||
|
|
410eadf2f5 | ||
|
|
cb1a9aef3c | ||
|
|
3f24ab599c | ||
|
|
ba9f46ef49 | ||
|
|
5502087017 | ||
|
|
5510135084 | ||
|
|
ddecca47fd | ||
|
|
49d2fd685b | ||
|
|
1eabdee253 | ||
|
|
82acccf333 | ||
|
|
c4b88129db | ||
|
|
029535bcea | ||
|
|
4ef89abac7 | ||
|
|
8af257a4cd | ||
|
|
a124dcd4e8 | ||
|
|
fbae2d7330 | ||
|
|
f296fad4bb | ||
|
|
e2d8105f0d | ||
|
|
287c073f00 | ||
|
|
ff1706c729 | ||
|
|
138a060df2 | ||
|
|
6678beadab | ||
|
|
09793fcd59 | ||
|
|
cab503bb2b | ||
|
|
f20db6bbc1 | ||
|
|
d50d4d1a6f | ||
|
|
30548b26e3 | ||
|
|
5bdaf83c67 | ||
|
|
0eb1855345 | ||
|
|
b989518af3 | ||
|
|
5ff6baaf85 | ||
|
|
7b4e4f349e | ||
|
|
0b951ab6b1 | ||
|
|
e6ad2140eb | ||
|
|
f461903a1a | ||
|
|
6d9bd79ccb | ||
|
|
e997af227c | ||
|
|
588df3124c | ||
|
|
40206e0eab | ||
|
|
59b722f663 | ||
|
|
ce94beb068 | ||
|
|
69a979c16b | ||
|
|
b65fd11a36 | ||
|
|
36c9a29a7b | ||
|
|
5c44eb563f | ||
|
|
f946dd4287 | ||
|
|
c4dc285ff0 | ||
|
|
0169b034f3 | ||
|
|
41c4e05b93 | ||
|
|
fb3662127c | ||
|
|
d3378a7991 | ||
|
|
79d5e19a65 | ||
|
|
823706caac | ||
|
|
6ba098d26d | ||
|
|
fbf25c1529 | ||
|
|
aaa8fe6e34 | ||
|
|
214261e764 | ||
|
|
b428b46ff8 | ||
|
|
3e8c5e92cc | ||
|
|
b74cfcfec5 | ||
|
|
bc67756ff6 | ||
|
|
eccd12923b | ||
|
|
8f9ad524c2 | ||
|
|
5d958a4c07 | ||
|
|
f18f58ace0 | ||
|
|
22128781be | ||
|
|
f2f1672ba6 | ||
|
|
36715f54ef | ||
|
|
0f35b92d75 | ||
|
|
34dcff4ce2 | ||
|
|
bcbdfdd7ab | ||
|
|
ca30b99cea | ||
|
|
d2730f6133 | ||
|
|
9e3dd6e5c8 | ||
|
|
0d4c824fbf | ||
|
|
13f51c85ab | ||
|
|
ee0125eff6 | ||
|
|
13354b6e8b | ||
|
|
924a19b8ea | ||
|
|
41adbbdea7 | ||
|
|
b8fd96fc62 | ||
|
|
cab1324d18 | ||
|
|
04ebe966d2 | ||
|
|
95edd6a9de | ||
|
|
e6409b09a3 | ||
|
|
9c015de00b | ||
|
|
3a04778f97 | ||
|
|
9c1893fa6d | ||
|
|
53aea61184 | ||
|
|
b424247daf | ||
|
|
097be61c9f | ||
|
|
9c853594e8 | ||
|
|
b349caeab1 | ||
|
|
593636f135 | ||
|
|
70ea325c75 | ||
|
|
1a9a9cb402 | ||
|
|
9d05a53c89 | ||
|
|
56794e8d7c | ||
|
|
2b2eb853fc | ||
|
|
bf2181f111 | ||
|
|
01ba8d4a9b | ||
|
|
bd0882ccd5 | ||
|
|
0c2564df86 | ||
|
|
824c97d618 | ||
|
|
271d4fa22e | ||
|
|
a3a0202752 | ||
|
|
0da93f3eb5 | ||
|
|
78c7dc95a0 | ||
|
|
f7b7669be6 | ||
|
|
f607cf55c6 | ||
|
|
f90550775c | ||
|
|
3fcc56ebbc | ||
|
|
1147e77d67 | ||
|
|
6a33b6ec33 | ||
|
|
d74c81feee | ||
|
|
ea14dc1a75 | ||
|
|
e1bf2cc626 | ||
|
|
9eda137c77 | ||
|
|
d15c0d046b | ||
|
|
f20bbe05bd | ||
|
|
c560fc5959 | ||
|
|
ee9e814f41 | ||
|
|
9e3d22af2d | ||
|
|
c8ff747194 | ||
|
|
a180b1c400 | ||
|
|
da64639f39 | ||
|
|
faa0f06fe3 | ||
|
|
24e137ca19 | ||
|
|
2b9262f653 | ||
|
|
7bce6696d4 | ||
|
|
6e29ec7a7c | ||
|
|
01ccf679bd | ||
|
|
b55d6742fe | ||
|
|
fc6350cb9a | ||
|
|
9b8b656720 | ||
|
|
8c9f8bdb6d | ||
|
|
eae3b863d0 | ||
|
|
be367eb94b | ||
|
|
aa577ce038 | ||
|
|
53b0b96627 | ||
|
|
5173de5798 | ||
|
|
6457153bda | ||
|
|
f8f188add4 | ||
|
|
b6dfdc4c57 | ||
|
|
385f35d356 | ||
|
|
917eeea48c | ||
|
|
afa48b0cc2 | ||
|
|
94ed186b4c | ||
|
|
8fc1b38359 | ||
|
|
9e66de07f9 | ||
|
|
3265e2c6a2 | ||
|
|
ca7fceaa2c | ||
|
|
2a53abbc20 | ||
|
|
ba9a07c2f2 | ||
|
|
e4ae794bac | ||
|
|
d9b14670ab | ||
|
|
01e8c9dbbe | ||
|
|
c5739b4d53 | ||
|
|
158859006b | ||
|
|
a577bf8faa | ||
|
|
094554366b | ||
|
|
385b48da5c | ||
|
|
1a5a015eb4 | ||
|
|
1acea008c2 | ||
|
|
146ba66b50 | ||
|
|
59a1cc4596 | ||
|
|
39dc4cb46c | ||
|
|
905e97f2ab | ||
|
|
9c3b9b84ae | ||
|
|
a8dbed989b | ||
|
|
78be11b3cf | ||
|
|
6f8824eacb | ||
|
|
a0fcd35183 | ||
|
|
12b5ad644d | ||
|
|
35b0a2b116 | ||
|
|
d5a32543ef | ||
|
|
7aeeeae037 | ||
|
|
161d7c18ff | ||
|
|
940ff6eeaa | ||
|
|
b748fab6e9 | ||
|
|
6442c7e5f7 | ||
|
|
eb640aae00 | ||
|
|
6d126f3956 | ||
|
|
bede1acbce | ||
|
|
d19a0c9c46 | ||
|
|
295de77a7d | ||
|
|
8a394dd471 | ||
|
|
6e6e18c030 | ||
|
|
62897e6d37 | ||
|
|
f55f687a63 | ||
|
|
a4db29c277 | ||
|
|
e2a8e9dce2 | ||
|
|
80d53ff4bd | ||
|
|
be13ef120d | ||
|
|
67373dcb0d | ||
|
|
02e990b2c5 | ||
|
|
f65be04415 | ||
|
|
1a093b0ae3 | ||
|
|
7071a455c5 | ||
|
|
64177df3d9 | ||
|
|
df219dd09b | ||
|
|
59969c3574 | ||
|
|
3b9f4bf825 | ||
|
|
80ecd71fc7 | ||
|
|
5519bc7cbb | ||
|
|
c31f0885a4 | ||
|
|
2501cc57d5 | ||
|
|
fbb46b64f9 | ||
|
|
4d08605b5b | ||
|
|
764c352c8f | ||
|
|
61b9b44fa7 | ||
|
|
7d6eb61f1b | ||
|
|
6d17b9de4e | ||
|
|
ce45c7876c | ||
|
|
7cc3e7e392 | ||
|
|
3a165ad654 | ||
|
|
f04cf3a31e | ||
|
|
4fbfe7bfef | ||
|
|
46a82b69c5 | ||
|
|
0de3ae32c0 | ||
|
|
06e7864174 | ||
|
|
8b60726a48 | ||
|
|
855597bfd9 | ||
|
|
827a31fa02 | ||
|
|
20f04ec6d9 | ||
|
|
83180310af | ||
|
|
829bb7c5a9 | ||
|
|
898d51f92d | ||
|
|
e183854b58 | ||
|
|
2206c4a4d1 | ||
|
|
af11613fba | ||
|
|
2fa07b1dd9 | ||
|
|
803b3fb542 | ||
|
|
abb3829197 | ||
|
|
4104737533 | ||
|
|
9feb9b5262 | ||
|
|
f2cfabcdb8 | ||
|
|
6b2be97c22 | ||
|
|
616d8d39b7 | ||
|
|
69b3e9b10d | ||
|
|
0224c3fbd6 | ||
|
|
78c1bc6b22 | ||
|
|
993d33f779 | ||
|
|
0aa403eca3 | ||
|
|
8d1c7ddb9f | ||
|
|
01e601db14 | ||
|
|
8afe182e0c | ||
|
|
0184993795 | ||
|
|
6b0abed4ee | ||
|
|
2bb52ef6f9 | ||
|
|
bf8b9246fe | ||
|
|
6d4f712f83 | ||
|
|
d2ebcd065e | ||
|
|
28e15f5420 | ||
|
|
a315a3b5c7 | ||
|
|
557b4bbe25 | ||
|
|
10766182bc | ||
|
|
9e4c873b16 | ||
|
|
351f9aedfb | ||
|
|
0db9427377 | ||
|
|
8bdf0694ca | ||
|
|
d82850f145 | ||
|
|
0cea891a98 | ||
|
|
6757db2e53 | ||
|
|
55c9c3bf12 | ||
|
|
e52d43f68b | ||
|
|
cfe9a2476b | ||
|
|
efa8d7670c | ||
|
|
8ddba655df | ||
|
|
5c13115fee | ||
|
|
f948ce4015 | ||
|
|
2cbcd52f35 | ||
|
|
09405fc9f7 | ||
|
|
651517c3a7 | ||
|
|
b0801d469c | ||
|
|
8fbc0e7c46 | ||
|
|
d8728a56bc | ||
|
|
3e150ee47b | ||
|
|
ddc337303c | ||
|
|
996193f41a | ||
|
|
aad8e5320a | ||
|
|
cc28d22c96 | ||
|
|
6770e91d31 | ||
|
|
574b6f49c2 | ||
|
|
f8e56cc099 | ||
|
|
18a06506b8 | ||
|
|
3006f14c8d | ||
|
|
bbdc7423b9 | ||
|
|
379da4ed0d | ||
|
|
cff0fcee16 | ||
|
|
94346fc12f | ||
|
|
257896969a | ||
|
|
9d126bc45a | ||
|
|
5c780e99be | ||
|
|
4682afc2bc | ||
|
|
8633d7751a | ||
|
|
687efaaaf6 | ||
|
|
7c20897036 | ||
|
|
fe665f234d | ||
|
|
bb76365a3a | ||
|
|
e89c6dc256 | ||
|
|
dfe30c16c1 | ||
|
|
824a14ebb5 | ||
|
|
6fa9b86ee7 | ||
|
|
0955e8cc1f | ||
|
|
aad21c8c4a | ||
|
|
b7433ccad6 | ||
|
|
04642b3c6d | ||
|
|
85ac69dbe6 | ||
|
|
c491b9c064 | ||
|
|
d52d32f1b3 | ||
|
|
fee9616708 | ||
|
|
62a36cd3bb | ||
|
|
60f16896ed | ||
|
|
aa63a789dc | ||
|
|
d599c4532c | ||
|
|
684c5a88c7 | ||
|
|
48eec357d7 | ||
|
|
9b72504b30 | ||
|
|
a6acb2a4d0 | ||
|
|
824368e504 | ||
|
|
c91cc8e411 | ||
|
|
72f3b5457e | ||
|
|
e45dfdb3b2 | ||
|
|
19a4f8fc64 | ||
|
|
a8d6c083e3 | ||
|
|
861a66f8cb | ||
|
|
3db60b4fe7 | ||
|
|
c93721258e | ||
|
|
088a6412b1 | ||
|
|
6459f574cc | ||
|
|
fdfafb6e70 | ||
|
|
e0f02c41b1 | ||
|
|
48d5261ba7 | ||
|
|
23c598a907 | ||
|
|
d7b94c7f96 | ||
|
|
3b5bc2c13f | ||
|
|
0b885b3cb4 | ||
|
|
20a875a682 | ||
|
|
34b8c39878 | ||
|
|
a646f72980 | ||
|
|
aa56d1ebea | ||
|
|
0ee938ac9b | ||
|
|
06b2e1f645 | ||
|
|
7e1c58b602 | ||
|
|
e0a21ebfd6 | ||
|
|
e7837c0716 | ||
|
|
b27899ecc4 | ||
|
|
a9e544fd7d | ||
|
|
06a1cfe642 | ||
|
|
cb6d056a1f | ||
|
|
ae93e2aa10 | ||
|
|
7d52884699 | ||
|
|
1442b4d42c | ||
|
|
736a8dc457 | ||
|
|
b06ab27711 | ||
|
|
3a983b428f | ||
|
|
b039b5642f | ||
|
|
e50479cae5 | ||
|
|
fbb88abe85 | ||
|
|
2ec0b63f98 | ||
|
|
207c8d9786 | ||
|
|
a8307abe64 | ||
|
|
1e96c1b7bd | ||
|
|
c42f77cf23 | ||
|
|
d169bc24bf | ||
|
|
4d11e41e97 | ||
|
|
0007579ab8 | ||
|
|
1752c23002 | ||
|
|
732ed57360 | ||
|
|
fabb353158 | ||
|
|
9ce10e7fe7 | ||
|
|
11706c4e3e | ||
|
|
de60d53a78 | ||
|
|
4256d0fd8a | ||
|
|
404073fe7f | ||
|
|
b25d77caee | ||
|
|
5587da946f | ||
|
|
0b06982929 | ||
|
|
e220de5236 | ||
|
|
3fc8e1c339 | ||
|
|
d21407181b | ||
|
|
29e4e506e6 | ||
|
|
1c326029a3 | ||
|
|
4ac85b0702 | ||
|
|
c4db7d1acf | ||
|
|
8939e08ce1 | ||
|
|
7156e47355 | ||
|
|
94ceb95045 | ||
|
|
42d7a48df9 | ||
|
|
4691a6cae1 | ||
|
|
2a46a8a1ed | ||
|
|
ee7099f8fd | ||
|
|
dc5452a315 | ||
|
|
b41d8c3c12 | ||
|
|
b34d5ca3de | ||
|
|
9d3d789890 | ||
|
|
d09693f191 | ||
|
|
e4024015a4 | ||
|
|
180b99c02e | ||
|
|
32579dd25a | ||
|
|
740370b106 | ||
|
|
af99be4cd5 | ||
|
|
d9d0432187 | ||
|
|
6c33462842 | ||
|
|
4bae545c90 | ||
|
|
888181145a | ||
|
|
3d6a2a4966 | ||
|
|
6e1deab0ae | ||
|
|
5df5d55fa4 | ||
|
|
991a04abc5 | ||
|
|
261731c841 | ||
|
|
2af0d6f1a4 | ||
|
|
004f5ccce6 | ||
|
|
7b16fcf2a4 | ||
|
|
f031e93618 | ||
|
|
5adcc7d12f | ||
|
|
73374cb810 | ||
|
|
1b0744dac6 | ||
|
|
b976ac914d | ||
|
|
4eb1ae7853 | ||
|
|
407b87c17b | ||
|
|
34249e9f64 | ||
|
|
2354b9c52f | ||
|
|
77e79ea767 | ||
|
|
128926cac7 | ||
|
|
0dfa61650d | ||
|
|
403fec1454 | ||
|
|
9d479f9061 | ||
|
|
783207fa40 | ||
|
|
ea123b1705 | ||
|
|
8233c0c82a | ||
|
|
95f28eca5b | ||
|
|
00f7b10b0f | ||
|
|
2d87466217 | ||
|
|
bcf9bb8238 | ||
|
|
bc08f81683 | ||
|
|
e3a9081181 | ||
|
|
2de9cc9590 | ||
|
|
a7a744eb6f | ||
|
|
7bed8e184f | ||
|
|
f86481d73e | ||
|
|
6f027460d1 | ||
|
|
f1d95323b2 | ||
|
|
d0a66b70f4 | ||
|
|
a05a4c3741 | ||
|
|
5255a32fac | ||
|
|
a94e6dbe8c | ||
|
|
663a1886e9 | ||
|
|
1a603bd800 | ||
|
|
dd5d407198 | ||
|
|
7a70a6fa69 | ||
|
|
44a6cf9bfc | ||
|
|
8a56a90d16 | ||
|
|
2c44915db9 | ||
|
|
aa34331489 | ||
|
|
50166424c8 | ||
|
|
e4c0fb90dd | ||
|
|
7e4ff7dc86 | ||
|
|
ee228cfff4 | ||
|
|
8f40b2a276 | ||
|
|
d195ad3072 | ||
|
|
75554a2ed6 | ||
|
|
d9f5b681cb | ||
|
|
45d224e922 | ||
|
|
09d8fb9483 | ||
|
|
a526035273 | ||
|
|
f8cb8f31de | ||
|
|
090bdcab68 | ||
|
|
29f3a002c4 | ||
|
|
a9c7b9304e | ||
|
|
0b75075a4f | ||
|
|
881f8463e8 | ||
|
|
92ea6a2bef | ||
|
|
f1cd510058 | ||
|
|
aab1c94e44 | ||
|
|
6d13b1b2fb | ||
|
|
ff4a119c0c | ||
|
|
910803cacf | ||
|
|
55e1ef2cc5 | ||
|
|
4dbd8ee016 | ||
|
|
2652a744d0 | ||
|
|
5ecab55781 | ||
|
|
825bd72050 | ||
|
|
7f6d39383e | ||
|
|
591b71cf18 | ||
|
|
76e9687d6f | ||
|
|
a426c4ea37 | ||
|
|
f27a3c3224 | ||
|
|
c24728b692 | ||
|
|
7b6063f964 | ||
|
|
719c8e2435 | ||
|
|
3ea107792e | ||
|
|
aa67c0e75e | ||
|
|
d13fc42b47 | ||
|
|
541ae99f91 | ||
|
|
a9cd49277b | ||
|
|
e687a63997 | ||
|
|
0006ab14ae | ||
|
|
ca7c25009e | ||
|
|
7701805dc4 | ||
|
|
824bd1e087 | ||
|
|
f78f3e0869 | ||
|
|
912f440176 | ||
|
|
50f698673c | ||
|
|
8571394847 | ||
|
|
08f7fbbd71 | ||
|
|
caa1945daa | ||
|
|
ecd6a86fd3 | ||
|
|
d346438718 | ||
|
|
094d563dbb | ||
|
|
cb6b3e1d85 | ||
|
|
72e14b3688 | ||
|
|
6fbc510aeb | ||
|
|
ffc5e6f0cc | ||
|
|
7600eb4a09 | ||
|
|
d756c45c50 | ||
|
|
9f4f0e8106 | ||
|
|
266e1988f6 | ||
|
|
99691059bf | ||
|
|
4e4fca54c2 | ||
|
|
52e0f06692 | ||
|
|
0416107951 | ||
|
|
ae94ce7430 | ||
|
|
8fe4ca4f07 | ||
|
|
3950b18dc7 | ||
|
|
4750380565 | ||
|
|
3e95056975 | ||
|
|
636ec65c60 | ||
|
|
c491e8bb68 | ||
|
|
78c43e542c | ||
|
|
bba1396770 | ||
|
|
7c167ae49a | ||
|
|
a723a968ba | ||
|
|
f4bb981ad4 | ||
|
|
a2b5596ee1 | ||
|
|
dba0332bc0 | ||
|
|
b6edf82d4e | ||
|
|
3b369c8b03 | ||
|
|
9897335006 | ||
|
|
ced6f0ed96 | ||
|
|
fd7cb38c16 | ||
|
|
a459f468a3 | ||
|
|
803f3e4a14 | ||
|
|
e3e163d453 | ||
|
|
5294f446a2 | ||
|
|
dd2ac61200 | ||
|
|
ef64756334 | ||
|
|
4169c4be05 | ||
|
|
2420eeffd1 | ||
|
|
5b5fe29eb5 | ||
|
|
cf8f31914a | ||
|
|
1dc50eea5d | ||
|
|
1e41c469f0 | ||
|
|
e349df9f4c | ||
|
|
8876658810 | ||
|
|
e9cf546818 | ||
|
|
97a7e46595 | ||
|
|
7f7c2b977c | ||
|
|
337c56da66 | ||
|
|
a0353249f1 | ||
|
|
868a07c322 | ||
|
|
dba2c1d105 | ||
|
|
f4c9ced446 | ||
|
|
1c6da9c0bb | ||
|
|
e3638ced2c | ||
|
|
62b49e8bcc | ||
|
|
9bd9949d68 | ||
|
|
ede710843b | ||
|
|
20f4ee16cc | ||
|
|
3fb3f78446 | ||
|
|
d8967a2bd1 | ||
|
|
c2e2f8de00 | ||
|
|
f2d603108a | ||
|
|
ae1b8a5682 | ||
|
|
0618eb956d | ||
|
|
ae5394ad75 | ||
|
|
d2ba37a419 | ||
|
|
3e85218be9 | ||
|
|
64660df84b | ||
|
|
8e401e662f | ||
|
|
943e960bc0 | ||
|
|
2a40106e70 | ||
|
|
21d3ec4d2d | ||
|
|
d2c7087395 | ||
|
|
6836732a5c | ||
|
|
bd39fbeefd | ||
|
|
faf1970e3a | ||
|
|
ec63ab4e16 | ||
|
|
4a6b0e7241 | ||
|
|
bc1e59a048 | ||
|
|
30d1c9ed9d | ||
|
|
d5570ab55e | ||
|
|
e52b51b5d6 | ||
|
|
e6e0dd35a3 | ||
|
|
d733aac0e8 | ||
|
|
a8296a6b6e | ||
|
|
094f791400 | ||
|
|
82d22d1494 | ||
|
|
d9267f7928 | ||
|
|
972412e436 | ||
|
|
38cf0f2704 | ||
|
|
0443764308 | ||
|
|
7dcb9ffdeb | ||
|
|
fcba1cefce | ||
|
|
bac0002eeb | ||
|
|
6ff09ddfd7 | ||
|
|
6497ee701a | ||
|
|
3669b43332 | ||
|
|
58d75e7bfe | ||
|
|
0147063090 | ||
|
|
19f52313a8 | ||
|
|
706b9e4e09 | ||
|
|
142ef140f0 | ||
|
|
eb019905e4 | ||
|
|
b37096354f | ||
|
|
dc54fa563f | ||
|
|
1b7ad22e2e | ||
|
|
e975ec6200 | ||
|
|
4e62abe542 | ||
|
|
cf24513879 | ||
|
|
6b98958de6 | ||
|
|
3f360c7e7b | ||
|
|
2827a4724b | ||
|
|
b9a7ce65a7 | ||
|
|
6a69200ae7 | ||
|
|
4012e3ff25 | ||
|
|
ebfeda7304 | ||
|
|
f26b91f509 | ||
|
|
32a8866218 | ||
|
|
ff7f20ec8e | ||
|
|
a34601f0ba | ||
|
|
2bc171e520 | ||
|
|
76b09b3c14 | ||
|
|
74c6c4e7c9 | ||
|
|
452babe593 | ||
|
|
d16dd57d85 | ||
|
|
9e30fe4ea5 | ||
|
|
d743f7f4b3 | ||
|
|
8ec3ea04da | ||
|
|
8117b9802b | ||
|
|
08d925a8fa | ||
|
|
58ca49c8bd | ||
|
|
aeb0499833 | ||
|
|
c4a6827ab3 | ||
|
|
3f2d5b380d | ||
|
|
01ec65441e | ||
|
|
80f2699c80 | ||
|
|
70838442c9 | ||
|
|
5d6c9339f8 | ||
|
|
d694525d8f | ||
|
|
c916f5cbd9 | ||
|
|
83bda2c8d5 | ||
|
|
a00086759e | ||
|
|
4b869cfb10 | ||
|
|
f5717348f8 | ||
|
|
4cad29331f | ||
|
|
54c2368dbb | ||
|
|
84a588ccf0 | ||
|
|
cbb09aeb0a | ||
|
|
3ae996c688 | ||
|
|
60d61634e5 | ||
|
|
2c2fe38ad0 | ||
|
|
253605758e | ||
|
|
bdb35f508a | ||
|
|
35e92030f8 | ||
|
|
9fe003df78 | ||
|
|
ba856bf2d4 | ||
|
|
d867cfacb4 | ||
|
|
eecb444772 | ||
|
|
42283e4684 | ||
|
|
343f646660 | ||
|
|
d3bb223898 | ||
|
|
62d1f281c3 | ||
|
|
28d28ecac6 | ||
|
|
5b38e2cb5a | ||
|
|
eb2d93de38 | ||
|
|
e4da16b9d6 | ||
|
|
abef7eb3d2 | ||
|
|
5bde3262d6 | ||
|
|
bfb99d2078 | ||
|
|
8fef939a1a | ||
|
|
336f8fbbd3 | ||
|
|
5275238f51 | ||
|
|
ae847e46e7 | ||
|
|
1ff94e86bd | ||
|
|
6ba5bf45d8 | ||
|
|
c753525085 | ||
|
|
d4e808d45a | ||
|
|
9134955899 | ||
|
|
9c2224f8e9 | ||
|
|
36b162aa53 | ||
|
|
eb83604995 | ||
|
|
90c4e422d8 | ||
|
|
a89f8fd2ce | ||
|
|
0112bb1e05 | ||
|
|
b7993a43fd | ||
|
|
a84361afd3 | ||
|
|
b2580b4b0e | ||
|
|
e3f83f4bda | ||
|
|
66d70c0835 | ||
|
|
0c89dd9555 | ||
|
|
64e83cb287 | ||
|
|
37359969e4 | ||
|
|
1352f6bc39 | ||
|
|
9626f65b6b | ||
|
|
293b0cecaf | ||
|
|
244d23ac0c | ||
|
|
4ef948bf3c | ||
|
|
4b33997678 | ||
|
|
5246a6fad4 | ||
|
|
2433b35727 | ||
|
|
75835c45a3 | ||
|
|
718c25d449 | ||
|
|
785b7aad60 | ||
|
|
85993d2650 | ||
|
|
1104619a52 | ||
|
|
b57f33353d | ||
|
|
459f25b0ef | ||
|
|
cad3da10db | ||
|
|
8402b5b6fa | ||
|
|
b47ac922ad | ||
|
|
324120e69c | ||
|
|
eae20fc537 | ||
|
|
d225dd124b | ||
|
|
3244a922e3 | ||
|
|
11b4b36c3f | ||
|
|
2b4261f15a | ||
|
|
d7fb6fa749 | ||
|
|
9c64b5e753 | ||
|
|
c3c8e512c8 | ||
|
|
5f93c490a5 | ||
|
|
b74fc47e3f | ||
|
|
1866956984 | ||
|
|
e90b4a13b3 | ||
|
|
59202fffe4 | ||
|
|
81e77afaec | ||
|
|
973c2c1786 | ||
|
|
324a9d2480 | ||
|
|
0ed8c57cad | ||
|
|
bcb31b6998 | ||
|
|
7fb929a82d | ||
|
|
7b261077a2 | ||
|
|
43685f69a3 | ||
|
|
9e81fd38e1 | ||
|
|
5b79f1feca | ||
|
|
9eae6d88fd | ||
|
|
b9329f2991 | ||
|
|
c0f1f36f59 | ||
|
|
77d71eb080 | ||
|
|
64f8e5031b | ||
|
|
d50f39c8b8 | ||
|
|
26221653ee | ||
|
|
065529642e | ||
|
|
c32e50462e | ||
|
|
3cbc0e5d7e | ||
|
|
36b1e21c45 | ||
|
|
c084fa05af | ||
|
|
037532d73b | ||
|
|
d532031e3c | ||
|
|
08621aa74d | ||
|
|
09b82ea7cd | ||
|
|
f802b54f6f | ||
|
|
62acdc3b8c | ||
|
|
d7deaf3448 | ||
|
|
52dbc10315 | ||
|
|
188584e832 | ||
|
|
9f900266f4 | ||
|
|
f2439d83f0 | ||
|
|
5734a31b60 | ||
|
|
dfacc611d5 | ||
|
|
dc3055e429 | ||
|
|
5ac721920c | ||
|
|
03476b3a11 | ||
|
|
a47ddb59ae | ||
|
|
1d55691e75 | ||
|
|
5672638a5b | ||
|
|
02c2fe1aeb | ||
|
|
0db820fc98 | ||
|
|
86fc6d2262 | ||
|
|
43263d8e9d | ||
|
|
b261ecb705 | ||
|
|
82074cfc53 | ||
|
|
124d996154 | ||
|
|
1fe093b6b6 | ||
|
|
26847b9fac | ||
|
|
3d2a43f512 | ||
|
|
1059c008e5 | ||
|
|
5703bb61ac | ||
|
|
992f0d6b87 | ||
|
|
a433ef3dfe | ||
|
|
014fc60fc7 | ||
|
|
1939ea93f5 | ||
|
|
c1c36a15c4 | ||
|
|
ecb409bc06 | ||
|
|
d5de27f289 | ||
|
|
53d32a7485 | ||
|
|
a216790c28 | ||
|
|
8d5af96f46 | ||
|
|
23d56249ca | ||
|
|
b75066e299 | ||
|
|
b6d908e16f | ||
|
|
fcb3aa6208 | ||
|
|
e9e7b0c685 | ||
|
|
3d59926d8d | ||
|
|
2b15df7af3 | ||
|
|
8be6ebb1de | ||
|
|
221de3c866 | ||
|
|
dc2148aa15 | ||
|
|
e28c530d13 | ||
|
|
67a6d9b60d | ||
|
|
d0d8477b9f | ||
|
|
de209ecdb9 | ||
|
|
6eb4e707d9 | ||
|
|
8ba2f483bf | ||
|
|
c263a39334 | ||
|
|
dd4f76c5c7 | ||
|
|
98bc5098c9 | ||
|
|
3fad8b5a4b | ||
|
|
f31c74743c | ||
|
|
b5e40f0fa8 | ||
|
|
8034da83cc | ||
|
|
9380869d01 | ||
|
|
1accd936f3 | ||
|
|
00d43e76de | ||
|
|
9c15351828 | ||
|
|
92ec13d886 | ||
|
|
dd2e9ba747 | ||
|
|
e129d02024 | ||
|
|
d3d3454aaa | ||
|
|
cd7aec1636 | ||
|
|
6fc93f64a4 | ||
|
|
4253194fa0 | ||
|
|
88dce3022d | ||
|
|
40eda1c004 | ||
|
|
1fe6db6b2b | ||
|
|
8b90e31ba9 | ||
|
|
5e040d47d6 | ||
|
|
4ec3f8ecea | ||
|
|
84bf91b711 | ||
|
|
7ec663a0c6 | ||
|
|
2ef3931c32 | ||
|
|
f6b2b09911 | ||
|
|
36cf074337 | ||
|
|
506d3759c2 | ||
|
|
a0fe623ab6 | ||
|
|
09cdbfcd5e | ||
|
|
2fb8672d3e | ||
|
|
893bba6548 | ||
|
|
863faa0169 | ||
|
|
69e3f47b95 | ||
|
|
dbe623339c | ||
|
|
095f01302b | ||
|
|
b9edff2179 | ||
|
|
02b617b536 | ||
|
|
4c6a1356a1 | ||
|
|
19f460a9ea | ||
|
|
798dbb408f | ||
|
|
56e6b900db | ||
|
|
68b6fbeefe | ||
|
|
68526da12f | ||
|
|
531c09f5b3 | ||
|
|
b0f6602681 | ||
|
|
55c3b0862c | ||
|
|
9286647262 | ||
|
|
e8f8615d93 | ||
|
|
07b04d6c9a | ||
|
|
600b7591ab | ||
|
|
4c8fe93412 | ||
|
|
4f8c6729ff | ||
|
|
8154c4513e | ||
|
|
40a3b1e4e8 | ||
|
|
c6aad551aa | ||
|
|
c8ac719752 | ||
|
|
928ef731c9 | ||
|
|
1d1c28d5ad | ||
|
|
07ecd8527d | ||
|
|
0e418b2f68 | ||
|
|
6ad89d98a9 | ||
|
|
357b5cd5f3 | ||
|
|
adda008122 | ||
|
|
27dbdb29fc | ||
|
|
047e2b3a4a | ||
|
|
43e927d156 | ||
|
|
7e30319040 | ||
|
|
34cf97a827 | ||
|
|
bccb17ce41 | ||
|
|
6354c32d3b | ||
|
|
939acdd9ca | ||
|
|
9836ec864a | ||
|
|
89b9e55945 | ||
|
|
963e76dea4 | ||
|
|
5e2729ddef | ||
|
|
17377fc92d | ||
|
|
5d0aada871 | ||
|
|
26aff2d744 | ||
|
|
a018a8ab38 | ||
|
|
06ffeee786 | ||
|
|
689ef1254b | ||
|
|
cb99ccf75d | ||
|
|
5ca9d5b915 | ||
|
|
8384fe477a | ||
|
|
60f966e9c2 | ||
|
|
d26120bfbf | ||
|
|
370e2e451f | ||
|
|
e0eda77c6d | ||
|
|
c1953d61c7 | ||
|
|
8fe20369af | ||
|
|
9901d3a736 | ||
|
|
c90eb1cca6 | ||
|
|
4d1fed3d00 | ||
|
|
4807c355e5 | ||
|
|
ce50043524 | ||
|
|
36ad4fdc83 | ||
|
|
a39fb310e1 | ||
|
|
9b64825c69 | ||
|
|
26191448e7 | ||
|
|
f33cdb0de9 | ||
|
|
d5d0c472ed | ||
|
|
f0bae07a2c | ||
|
|
5953d36297 | ||
|
|
2dcbb54095 | ||
|
|
3e4e4eeee8 | ||
|
|
6d8956f68a | ||
|
|
f219b0613c | ||
|
|
d55900561b | ||
|
|
e82681c47f | ||
|
|
408b44913e | ||
|
|
1af154fc96 | ||
|
|
06b3a50e84 | ||
|
|
469a7a997c | ||
|
|
d1ae05166d | ||
|
|
13847b9249 | ||
|
|
8b38131b4b | ||
|
|
39534fb5de | ||
|
|
c0182c373a | ||
|
|
024fb244ef | ||
|
|
1de7296261 | ||
|
|
9502f10689 | ||
|
|
c0cf575ada | ||
|
|
9d0a8d35d8 | ||
|
|
926f7ce4a5 | ||
|
|
59f821f728 | ||
|
|
3052506d31 | ||
|
|
dc7c6d1913 | ||
|
|
b7b617ac28 | ||
|
|
6f7165f9f0 | ||
|
|
648fc78d95 | ||
|
|
17450f1f4b | ||
|
|
7f9003bc83 | ||
|
|
428ef9aba3 | ||
|
|
1a24266f2b | ||
|
|
93ef3954ab | ||
|
|
6cf6e1dcba | ||
|
|
57923529a5 | ||
|
|
be7a1ca111 | ||
|
|
6e7169c72b | ||
|
|
6f60ec571b | ||
|
|
a9ac5bf752 | ||
|
|
1f3fb4b30e | ||
|
|
3d5f533a69 | ||
|
|
0fdc3cb205 | ||
|
|
d2adecbaac | ||
|
|
bbef2ef30e | ||
|
|
f9b060fe82 | ||
|
|
8510d1fc32 | ||
|
|
0527f997c0 | ||
|
|
33d1825551 | ||
|
|
d228436aba | ||
|
|
a198f36bf5 | ||
|
|
c475fb644b | ||
|
|
2d34a1c993 | ||
|
|
7177fd3298 | ||
|
|
7690734052 | ||
|
|
f2888274f9 | ||
|
|
5a443bde70 | ||
|
|
f913790f29 | ||
|
|
64e94708df | ||
|
|
9202d66590 | ||
|
|
b34da1cd40 | ||
|
|
f7e5f021c7 | ||
|
|
5bc6e080de | ||
|
|
d5ebf0477b | ||
|
|
eb6dd2bacf | ||
|
|
aa86561f31 | ||
|
|
f0541171ce | ||
|
|
4c4d293125 | ||
|
|
9706d6e545 | ||
|
|
3e99f25578 | ||
|
|
f7fd9928b7 | ||
|
|
6eb0dd15b4 | ||
|
|
eff0319e40 | ||
|
|
9ec8d70822 | ||
|
|
694a34db9a | ||
|
|
2e3a92df4c | ||
|
|
81a6b49c07 | ||
|
|
37c538ed9b | ||
|
|
d9ae749dcf | ||
|
|
9871989806 | ||
|
|
cbf259b482 | ||
|
|
522a6e27a2 | ||
|
|
b6696f00df | ||
|
|
2fa265007a | ||
|
|
2b5d31b29e | ||
|
|
73bcdb73a7 | ||
|
|
c4667c893b | ||
|
|
0160be06f5 | ||
|
|
4c98f6bcd8 | ||
|
|
a8c10780f2 | ||
|
|
ac6e5ff4b9 | ||
|
|
5ac2f676d7 | ||
|
|
628151e997 | ||
|
|
668d7be259 | ||
|
|
79c4b58c63 | ||
|
|
e4fae59bcf | ||
|
|
0d71347508 | ||
|
|
3e79a3b1e5 | ||
|
|
bacc70a299 | ||
|
|
cd6d3644b9 | ||
|
|
7fc409152f | ||
|
|
1a2152859d | ||
|
|
496572314d | ||
|
|
bfedc2c18b | ||
|
|
8d33a470b1 | ||
|
|
125d2a4533 | ||
|
|
69e6096d14 | ||
|
|
f8efb1fc99 | ||
|
|
c2f0459a36 | ||
|
|
9c4613e5d2 | ||
|
|
b6c86bcacd | ||
|
|
90a9f162d4 | ||
|
|
f96fa3dbeb | ||
|
|
f02a018711 | ||
|
|
b5f43a89ea | ||
|
|
2cf667f055 | ||
|
|
c03c112193 | ||
|
|
aca5eae6d0 | ||
|
|
31b636a423 | ||
|
|
8e1ee5c19f | ||
|
|
603151fe08 | ||
|
|
5a4554d4aa | ||
|
|
527bece4a9 | ||
|
|
633e50e776 | ||
|
|
9109d7b5ac | ||
|
|
eb4fd865d5 | ||
|
|
d8bb48bcee | ||
|
|
4c192d0960 | ||
|
|
fda234cfb8 | ||
|
|
a875d14671 | ||
|
|
c52a3f290b | ||
|
|
8695b8fb3c | ||
|
|
9e163a3c28 | ||
|
|
cc5d2866b1 | ||
|
|
e5c0503797 | ||
|
|
5ceebe1d3c | ||
|
|
1fefd09e1a | ||
|
|
e2bde7a768 | ||
|
|
e8aaa02ba6 | ||
|
|
a81ad4acdc | ||
|
|
43edad2c9d | ||
|
|
3f027cda73 | ||
|
|
7a9ab6e753 | ||
|
|
9f8e3194e4 | ||
|
|
d4b264acbc | ||
|
|
d7e161a161 | ||
|
|
2c90a368f9 | ||
|
|
313a56f6d6 | ||
|
|
1cb23ecb26 | ||
|
|
5c07363335 | ||
|
|
61ddff840a | ||
|
|
3f379b5671 | ||
|
|
3c3bdeec5b | ||
|
|
e521d0f53c | ||
|
|
2f5a3b849c | ||
|
|
b92c22b6df | ||
|
|
6f51876b45 | ||
|
|
db614ecf34 | ||
|
|
ccac3dcf95 | ||
|
|
e32d02c984 | ||
|
|
508d05336b | ||
|
|
77fff8e1bf | ||
|
|
29a38b82ad | ||
|
|
4a89768d02 | ||
|
|
8cec736fea | ||
|
|
f355bef266 | ||
|
|
87bc7ca4cc | ||
|
|
bf61aba351 | ||
|
|
8312e4430c | ||
|
|
c71ad3072f | ||
|
|
ccd93036fb | ||
|
|
c04315805f | ||
|
|
7c6ec3de93 | ||
|
|
d768ad7f0f | ||
|
|
28aa90444a | ||
|
|
b6472ce1af | ||
|
|
7acf400436 | ||
|
|
93b0f3e6ca | ||
|
|
74abe2fa7a | ||
|
|
91d374c514 | ||
|
|
f7c34ea652 | ||
|
|
c3703023dd | ||
|
|
7b2d1da3b7 | ||
|
|
e5a9d64353 | ||
|
|
0b7f273df3 | ||
|
|
9d8383c0fe | ||
|
|
341c48197e | ||
|
|
8a528d3abc | ||
|
|
6620d68c5e | ||
|
|
33b045270b | ||
|
|
b433b7d2ac | ||
|
|
285baa6fb7 | ||
|
|
9a2c83b94c | ||
|
|
10c11cc5e8 | ||
|
|
ece98b55a4 | ||
|
|
a64ce22997 | ||
|
|
270a4262b4 | ||
|
|
b815e169f1 | ||
|
|
a40df40b4c | ||
|
|
a85ed3862b | ||
|
|
3979492914 | ||
|
|
a4865cfdf4 | ||
|
|
4730d80738 | ||
|
|
254045780a | ||
|
|
4a0713370e | ||
|
|
1634a8bdf4 | ||
|
|
48579fe73f | ||
|
|
becb03ad97 | ||
|
|
d0e308a81d | ||
|
|
dfb774714e | ||
|
|
1380902ede | ||
|
|
da32a9facf | ||
|
|
9916abc072 | ||
|
|
1a329539ec | ||
|
|
b6ad8635d6 | ||
|
|
f7c8e9f26c | ||
|
|
9d73d7705d | ||
|
|
8e64cebe57 | ||
|
|
da0c0b3bbe | ||
|
|
979f4f7f20 | ||
|
|
99ee323a58 | ||
|
|
249cb8ecf4 | ||
|
|
dc0de28a77 | ||
|
|
7067836c68 | ||
|
|
acccd5445f | ||
|
|
0927bae5d4 | ||
|
|
590f563150 | ||
|
|
fe45804c37 | ||
|
|
cb9fcb00bd | ||
|
|
b8434a8d56 | ||
|
|
3fede657b9 | ||
|
|
0d0783ba5c | ||
|
|
21a385ab4a | ||
|
|
a6c16c063e | ||
|
|
7204b9bdd8 | ||
|
|
07b2371740 | ||
|
|
6d8e79bbe2 | ||
|
|
cc87c0629a | ||
|
|
bf53697664 | ||
|
|
cea1d4fd47 | ||
|
|
3fd80bb0e2 | ||
|
|
24796539ff | ||
|
|
5543d20441 | ||
|
|
74f0b57ed7 | ||
|
|
86549e142f | ||
|
|
cef5d2ade1 | ||
|
|
6ff95a1b93 | ||
|
|
980bd6cbd6 | ||
|
|
cce1502bfc | ||
|
|
1a7ca763e9 | ||
|
|
d354e443c4 | ||
|
|
8555be060b | ||
|
|
c2a296ae98 | ||
|
|
1ee41f9f97 | ||
|
|
fd9a380fc9 | ||
|
|
ad453115b4 | ||
|
|
8dfde01d86 | ||
|
|
fb0a0ae81c | ||
|
|
807981fe87 | ||
|
|
a75591d0d4 | ||
|
|
3676ca623a | ||
|
|
9fbc97503e | ||
|
|
5ac5d6ee5f | ||
|
|
5da0859cea | ||
|
|
2e8c963d21 | ||
|
|
df8afe1c31 | ||
|
|
663e352956 | ||
|
|
bfe35d5d47 | ||
|
|
d85d72d712 | ||
|
|
1ca83a4a02 | ||
|
|
b79aff6b65 | ||
|
|
6f49d20785 | ||
|
|
95f6f90cb5 | ||
|
|
43a9d1dcd0 | ||
|
|
596e824b54 | ||
|
|
eb1fd2d5f8 | ||
|
|
225753b150 | ||
|
|
41cc1b9377 | ||
|
|
cd817940ae | ||
|
|
c196f77732 | ||
|
|
ccd1623528 | ||
|
|
903c8ca220 | ||
|
|
8e637bd8c7 | ||
|
|
3fb471edad | ||
|
|
d938c531c8 | ||
|
|
3d114f5b91 | ||
|
|
bfc96b0783 | ||
|
|
109bb10110 | ||
|
|
3a36f54096 | ||
|
|
ffc5895ba1 | ||
|
|
84ffebe26c | ||
|
|
47f5c51a87 | ||
|
|
a89122d214 | ||
|
|
9dcc948b3b | ||
|
|
248a0cfed8 | ||
|
|
b9a861c95c | ||
|
|
3cee1275b9 | ||
|
|
5259ae1565 | ||
|
|
5f3d82288d | ||
|
|
5a4caef2db | ||
|
|
bdbb85f245 | ||
|
|
c6a9fb02d0 | ||
|
|
c5c3e2ecb1 | ||
|
|
8f94ea9f6a | ||
|
|
91cab8f15f | ||
|
|
08991a5177 | ||
|
|
cceb350582 | ||
|
|
a074e4433e | ||
|
|
838272240c | ||
|
|
b7eae107ae | ||
|
|
16a9a73ea3 | ||
|
|
1b12e6590f | ||
|
|
759e2fff9d | ||
|
|
ad6b3504ee | ||
|
|
e30ed86153 | ||
|
|
ac2df346ac | ||
|
|
3bbfeaee93 | ||
|
|
cc25ee62cc | ||
|
|
ba13437fce | ||
|
|
4699093c06 | ||
|
|
1a20d42424 | ||
|
|
753be4d2bc | ||
|
|
2882b49676 | ||
|
|
2ae1b5dc84 | ||
|
|
09fdcf2053 | ||
|
|
c61c7962f7 | ||
|
|
5908cd9377 | ||
|
|
949b33a6d1 | ||
|
|
df2d745747 | ||
|
|
cf4130caf9 | ||
|
|
118370de63 | ||
|
|
98a3fff9b9 | ||
|
|
dbf02772c3 | ||
|
|
1f12f3d181 | ||
|
|
f494492459 | ||
|
|
660abb491d | ||
|
|
1fc60f8797 | ||
|
|
afe6180a88 | ||
|
|
8c9e364eec | ||
|
|
65f80c655c | ||
|
|
d1f0578bf8 | ||
|
|
060b2ddfa5 | ||
|
|
dd1c947c38 | ||
|
|
f892212acf | ||
|
|
96ac39601c | ||
|
|
1fc19647e5 | ||
|
|
f6846a2107 | ||
|
|
59b8af2aef | ||
|
|
e06867f155 | ||
|
|
c9597c8fb9 | ||
|
|
94481a672a | ||
|
|
267f444dd1 | ||
|
|
da482e742b | ||
|
|
5e08f15aca | ||
|
|
4c655684a0 | ||
|
|
34f28bb4ad | ||
|
|
e63fcdc9f0 | ||
|
|
b52f9f534d | ||
|
|
0001b9088a | ||
|
|
ddf062ee14 | ||
|
|
d31877a448 | ||
|
|
2c6c2625bf | ||
|
|
04841c940d | ||
|
|
591054ed8f | ||
|
|
07cfc08823 | ||
|
|
d2f989566d | ||
|
|
9da08610ee | ||
|
|
c55f0201fc | ||
|
|
0c46382b6b | ||
|
|
486bb0f5ef | ||
|
|
5541ec44a9 | ||
|
|
40c1f93205 | ||
|
|
a1fe2d9089 | ||
|
|
dae3af1196 | ||
|
|
01629d5d4b | ||
|
|
309760ab36 | ||
|
|
efee4de678 | ||
|
|
23cb3ed30b | ||
|
|
e648dcd8a4 | ||
|
|
b170150db3 | ||
|
|
faf912b29d | ||
|
|
f9e19d85c1 | ||
|
|
c4cdb9cc26 | ||
|
|
0b75747aed | ||
|
|
e7c6882aea | ||
|
|
39b1ce7189 | ||
|
|
9f2925a41f | ||
|
|
a4a8fa10d5 | ||
|
|
e0965f2b5c | ||
|
|
99492b1f4e | ||
|
|
57f10a9cee | ||
|
|
454ca25f11 | ||
|
|
fcee6235a3 | ||
|
|
20a24f680e | ||
|
|
1a63ad67f0 | ||
|
|
8be1e86eec | ||
|
|
b5075b26ae | ||
|
|
0fd2df2e40 | ||
|
|
bb5c50e1d4 | ||
|
|
c653a203de | ||
|
|
9505b119b1 | ||
|
|
309d3a0adc | ||
|
|
867b247af5 | ||
|
|
ff9a6826ac | ||
|
|
76ca736e43 | ||
|
|
de07b02950 | ||
|
|
c34d585a6c | ||
|
|
7bcbeb6578 | ||
|
|
d14150b910 | ||
|
|
b43d452a99 | ||
|
|
125a0e2cfc | ||
|
|
1db4fc9fd4 | ||
|
|
44fdffce41 | ||
|
|
e655ce7547 | ||
|
|
5b441314f1 | ||
|
|
b171f33e59 | ||
|
|
cfa98f9f88 | ||
|
|
535aa119f7 | ||
|
|
f481c02876 | ||
|
|
a0b3249419 | ||
|
|
da60594a5e | ||
|
|
18d32bda91 | ||
|
|
a006cc170e | ||
|
|
929b6afa1a | ||
|
|
ed4fc09592 | ||
|
|
2c3373d7d9 | ||
|
|
ccd96a5edd | ||
|
|
11836e4788 | ||
|
|
6e2986a16d | ||
|
|
2b746ba6ec | ||
|
|
ec9cadd474 | ||
|
|
1581ea3135 | ||
|
|
2ee038b207 | ||
|
|
6b43bbb989 | ||
|
|
61708eab0a | ||
|
|
42004a3377 | ||
|
|
0e004ec570 | ||
|
|
a9ba915972 | ||
|
|
9b9b7b17ef | ||
|
|
84e60b20cd | ||
|
|
7601e2f52c | ||
|
|
c1568f52ed | ||
|
|
dce757f94f | ||
|
|
71c3c93500 | ||
|
|
3d4d8081b3 | ||
|
|
af0f00d115 | ||
|
|
dd1b49aed1 | ||
|
|
fabf7532ef | ||
|
|
856d257adc | ||
|
|
a4da328368 | ||
|
|
c11ea04c96 | ||
|
|
602e6914a4 | ||
|
|
fb53edfd41 | ||
|
|
3f0ccf1748 | ||
|
|
6265ed0ab9 | ||
|
|
add4cf24e3 | ||
|
|
41c9e90852 | ||
|
|
07685110b9 | ||
|
|
5e3a475a87 | ||
|
|
da7795437b | ||
|
|
cb1740ee4a | ||
|
|
ad0be9f6ee | ||
|
|
128223553c | ||
|
|
7e988d2e08 | ||
|
|
e168eeae46 | ||
|
|
bb2baeb1d2 | ||
|
|
0c9c2962c2 | ||
|
|
c23c96cdc6 | ||
|
|
a3fa419f82 | ||
|
|
180c06b39e | ||
|
|
bf40e0aafc | ||
|
|
56a30af52d | ||
|
|
37d6fb6022 | ||
|
|
cb4c5e31b1 | ||
|
|
cd281bc552 | ||
|
|
b9ce7d037f | ||
|
|
7b9bd33bea | ||
|
|
782cda05dc | ||
|
|
b7ca0ef36a | ||
|
|
cd4528324c | ||
|
|
869152424c | ||
|
|
b7f5b8c2d8 | ||
|
|
e660fe25b1 | ||
|
|
aa8ba76e3c | ||
|
|
4c002a127f | ||
|
|
de8d7bb87c | ||
|
|
267d74b381 | ||
|
|
71873df369 | ||
|
|
9c27edc6b6 | ||
|
|
9d3a0e8596 | ||
|
|
90f722e2da | ||
|
|
95eadf2cb9 | ||
|
|
4911a528c4 | ||
|
|
a2c564306f | ||
|
|
cb359ba89d | ||
|
|
ced69489a5 | ||
|
|
c4b24ab952 | ||
|
|
91b12c7eb3 | ||
|
|
91bf272c9b | ||
|
|
ecc3a9edd5 | ||
|
|
f4c5b9adbb | ||
|
|
f3123b6c02 | ||
|
|
60c304667f | ||
|
|
2dec870eaa | ||
|
|
f582c19c67 | ||
|
|
e0f8499484 | ||
|
|
5a42aa3028 | ||
|
|
c9de9810e2 | ||
|
|
35aee0de00 | ||
|
|
7452f1956e | ||
|
|
3f860709bc | ||
|
|
3b04c4725b | ||
|
|
682325f977 | ||
|
|
37c6276197 | ||
|
|
96eaeb2c62 | ||
|
|
9043e69d27 | ||
|
|
b7c7b8a566 | ||
|
|
e8dcfe4a3c | ||
|
|
68b966256e | ||
|
|
20bed61446 | ||
|
|
292965c6a3 | ||
|
|
ace9e9d690 | ||
|
|
defda477c4 | ||
|
|
b3eecf54a5 | ||
|
|
0000caa632 | ||
|
|
627a2691ad | ||
|
|
83613f4576 | ||
|
|
87ac6cae2b | ||
|
|
7f8d1b633c | ||
|
|
9569ff1dc6 | ||
|
|
a75cf60c80 | ||
|
|
67b6e77979 | ||
|
|
b0efc506cd | ||
|
|
d1ee08d442 | ||
|
|
0ba4fac32f | ||
|
|
58270990ed | ||
|
|
0aa5f51bb5 | ||
|
|
3ce5932bbd | ||
|
|
83eeeb4216 | ||
|
|
25315dfdec | ||
|
|
a4c5996f47 | ||
|
|
65c41b6368 | ||
|
|
5162b9def2 | ||
|
|
598929a22f | ||
|
|
098c848e02 | ||
|
|
293333b28e | ||
|
|
f882fe46e2 | ||
|
|
2411b0c9b7 | ||
|
|
9a6a87d9af | ||
|
|
637068236f | ||
|
|
5ebaca5b8d | ||
|
|
493b6924c9 | ||
|
|
ab86052f8a | ||
|
|
79f28c7f10 | ||
|
|
c19c9859e3 | ||
|
|
c16fd94150 | ||
|
|
f1d6352f27 | ||
|
|
9055cdc60d | ||
|
|
e721acd7e8 | ||
|
|
4e45cab2c1 | ||
|
|
389507d92f | ||
|
|
5aa1e08558 | ||
|
|
8d5a760d91 | ||
|
|
f22caca96b | ||
|
|
9ac0397ff9 | ||
|
|
3f32499c4e | ||
|
|
7bac43c5c3 | ||
|
|
f917dbc2ad | ||
|
|
bad489adcc | ||
|
|
9d09b7ea5f | ||
|
|
1b19507ca8 | ||
|
|
15579232f7 | ||
|
|
6b8589f4dc | ||
|
|
64e4d531b3 | ||
|
|
f31ddde36d | ||
|
|
d885fe39f8 | ||
|
|
f42169a8fc | ||
|
|
25685de4fd | ||
|
|
89361db55d | ||
|
|
d53490c67c | ||
|
|
3bb5869183 | ||
|
|
ad90a6c05e | ||
|
|
8b5c371012 | ||
|
|
bd5effe78c | ||
|
|
e6a135273d | ||
|
|
03194d3aae | ||
|
|
5294bee2bf | ||
|
|
e2638aa487 | ||
|
|
0af772f524 | ||
|
|
cf88820069 | ||
|
|
b7a3fc7ab8 |
5
.gitattributes
vendored
Normal file
5
.gitattributes
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
.tag export-subst
|
||||
.gitignore export-ignore
|
||||
.gitattributes export-ignore
|
||||
.commit-template export-ignore
|
||||
binary/ export-ignore
|
||||
162
.gitignore
vendored
162
.gitignore
vendored
@@ -1,8 +1,166 @@
|
||||
.*
|
||||
.gitmodules
|
||||
*build*/
|
||||
*flymake*
|
||||
CMakeLists.txt.user*
|
||||
*~
|
||||
*.autosave
|
||||
doc/_build/*
|
||||
*.kate-swp
|
||||
*.kdev4
|
||||
admin/win/nsi/l10n/pofiles/*.po
|
||||
*.swp
|
||||
*~$
|
||||
build*
|
||||
cscope.*
|
||||
tags
|
||||
t1.cfg
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
build/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
# Roslyn cache directories
|
||||
*.ide/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
#NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_i.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Mac OS X specific
|
||||
shell_integration/MacOSX/*.xcworkspace/xcuserdata/
|
||||
**/.DS_Store
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
## TODO: Comment the next line if you want to checkin your
|
||||
## web deploy settings but do note that will include unencrypted
|
||||
## passwords
|
||||
*.pubxml
|
||||
|
||||
# NuGet Packages
|
||||
packages/*
|
||||
*.nupkg
|
||||
## TODO: If the tool you use requires repositories.config
|
||||
## uncomment the next line
|
||||
#!packages/repositories.config
|
||||
|
||||
# Enable "build/" folder in the NuGet Packages folder since
|
||||
# NuGet packages use it for MSBuild targets.
|
||||
# This line needs to be after the ignore of the build folder
|
||||
# (and the packages folder if the line above has been uncommented)
|
||||
!packages/build/
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
|
||||
# Others
|
||||
sql/
|
||||
*.Cache
|
||||
ClientBin/
|
||||
[Ss]tyle[Cc]op.*
|
||||
~$*
|
||||
*~
|
||||
*.kdev4
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
node_modules/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
|
||||
15
.gitmodules
vendored
Normal file
15
.gitmodules
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
[submodule "doc/ocdoc"]
|
||||
path = doc/ocdoc
|
||||
url = https://github.com/owncloud/documentation
|
||||
[submodule "src/3rdparty/qtmacgoodies"]
|
||||
path = src/3rdparty/qtmacgoodies
|
||||
url = https://github.com/guruz/qtmacgoodies.git
|
||||
[submodule "binary"]
|
||||
path = binary
|
||||
url = git://github.com/owncloud/owncloud-client-binary.git
|
||||
[submodule "src/3rdparty/libcrashreporter-qt"]
|
||||
path = src/3rdparty/libcrashreporter-qt
|
||||
url = git://github.com/dschmidt/libcrashreporter-qt.git
|
||||
[submodule "src/3rdparty/qtkeychain"]
|
||||
path = src/3rdparty/qtkeychain
|
||||
url = https://github.com/frankosterfeld/qtkeychain.git
|
||||
37
.travis.yml
Normal file
37
.travis.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
sudo: required
|
||||
|
||||
language: cpp
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
branches:
|
||||
only:
|
||||
- coverity_scan
|
||||
|
||||
before_install:
|
||||
- sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
|
||||
- sudo sh -c "echo 'deb-src http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
|
||||
- wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_14.04/Release.key
|
||||
- sudo apt-key add - < Release.key
|
||||
- sudo apt-get update
|
||||
- sudo apt-get -y build-dep owncloud-client
|
||||
- checkout=$(git show-ref --head --hash head)
|
||||
- cd ../
|
||||
- wget https://scan.coverity.com/download/linux-64 --post-data "token=$token&project=owncloud%2Fmirall" -O coverity_tool.tgz
|
||||
- mkdir coverity
|
||||
- tar -xvf coverity_tool.tgz -C coverity --strip-components=1
|
||||
- export PATH=$PATH:$PWD/coverity/bin/
|
||||
- cd $TRAVIS_BUILD_DIR
|
||||
|
||||
install:
|
||||
- cd ../
|
||||
- mkdir client-build
|
||||
- cd client-build
|
||||
- cmake -DCMAKE_BUILD_TYPE="Debug" $TRAVIS_BUILD_DIR
|
||||
- cov-build --dir cov-int make
|
||||
- tar czvf client.tgz cov-int
|
||||
- curl --form token=$token --form email=lukas@statuscode.ch --form file=@$PWD/client.tgz --form version="$checkout" --form description="$checkout" https://scan.coverity.com/builds?project=owncloud%2Fmirall
|
||||
|
||||
# Hack to stop processing
|
||||
script: true
|
||||
230
CMakeLists.txt
230
CMakeLists.txt
@@ -1,67 +1,203 @@
|
||||
project(csync C)
|
||||
|
||||
# Required cmake version
|
||||
cmake_minimum_required(VERSION 2.6.0)
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(VERSION 2.8.0)
|
||||
|
||||
# global needed variables
|
||||
set(APPLICATION_NAME ${PROJECT_NAME})
|
||||
project(client)
|
||||
|
||||
set(APPLICATION_VERSION_MAJOR "0")
|
||||
set(APPLICATION_VERSION_MINOR "50")
|
||||
set(APPLICATION_VERSION_PATCH "0")
|
||||
set(OEM_THEME_DIR "" CACHE STRING "Define directory containing a custom theme")
|
||||
if ( EXISTS ${OEM_THEME_DIR}/OEM.cmake )
|
||||
include ( ${OEM_THEME_DIR}/OEM.cmake )
|
||||
else ()
|
||||
include ( ${CMAKE_SOURCE_DIR}/OWNCLOUD.cmake )
|
||||
endif()
|
||||
# need this logic to not mess with re/uninstallations via macosx.pkgproj
|
||||
if(${APPLICATION_REV_DOMAIN} STREQUAL "com.owncloud.desktopclient")
|
||||
set(APPLICATION_REV_DOMAIN_INSTALLER "com.ownCloud.client")
|
||||
else()
|
||||
set(APPLICATION_REV_DOMAIN_INSTALLER ${APPLICATION_REV_DOMAIN})
|
||||
endif()
|
||||
|
||||
set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
|
||||
if (NOT DEFINED APPLICATION_SHORTNAME)
|
||||
set ( APPLICATION_SHORTNAME ${APPLICATION_NAME} )
|
||||
endif()
|
||||
|
||||
set(LIBRARY_VERSION "0.1.4")
|
||||
set(LIBRARY_SOVERSION "0")
|
||||
# For usage in XML files we preprocess
|
||||
string(REPLACE "&" "&" APPLICATION_NAME_XML_ESCAPED "${APPLICATION_NAME}")
|
||||
string(REPLACE "<" "<" APPLICATION_NAME_XML_ESCAPED "${APPLICATION_NAME_XML_ESCAPED}")
|
||||
string(REPLACE ">" ">" APPLICATION_NAME_XML_ESCAPED "${APPLICATION_NAME_XML_ESCAPED}")
|
||||
|
||||
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
|
||||
set(CMAKE_MODULE_PATH
|
||||
${CMAKE_SOURCE_DIR}/cmake/Modules
|
||||
)
|
||||
set(PACKAGE "${APPLICATION_SHORTNAME}-client")
|
||||
set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
|
||||
|
||||
# add definitions
|
||||
include(DefineCMakeDefaults)
|
||||
include(DefinePlatformDefaults)
|
||||
include(DefineCompilerFlags)
|
||||
include(DefineOptions.cmake)
|
||||
include(CPackConfig.cmake)
|
||||
if(NOT CRASHREPORTER_EXECUTABLE)
|
||||
set(CRASHREPORTER_EXECUTABLE "${APPLICATION_EXECUTABLE}_crash_reporter")
|
||||
endif()
|
||||
|
||||
include(Warnings)
|
||||
|
||||
include(${CMAKE_SOURCE_DIR}/VERSION.cmake)
|
||||
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
# disable the crashreporter if libcrashreporter-qt is not available or we're building for ARM
|
||||
if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/3rdparty/libcrashreporter-qt/CMakeLists.txt")
|
||||
set( WITH_CRASHREPORTER OFF )
|
||||
endif()
|
||||
|
||||
if(NOT WITH_CRASHREPORTER)
|
||||
message(STATUS "Build of crashreporter disabled.")
|
||||
endif()
|
||||
|
||||
#####
|
||||
## handle DBUS for Fdo notifications
|
||||
if( UNIX AND NOT APPLE )
|
||||
add_definitions( -DUSE_FDO_NOTIFICATIONS)
|
||||
set(WITH_DBUS ON)
|
||||
endif()
|
||||
####
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(DefineInstallationPaths)
|
||||
|
||||
# disallow in-source build
|
||||
include(MacroEnsureOutOfSourceBuild)
|
||||
macro_ensure_out_of_source_build("${PROJECT_NAME} requires an out of source build. Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there.")
|
||||
|
||||
# add macros
|
||||
include(MacroAddPlugin)
|
||||
include(MacroCopyFile)
|
||||
include(GetGitRevisionDescription)
|
||||
|
||||
if (NOT WIN32)
|
||||
find_package(Iconv)
|
||||
endif (NOT WIN32)
|
||||
find_package(CMocka)
|
||||
if (CMOCKA_FOUND AND UNIT_TESTING)
|
||||
include(AddCMockaTest)
|
||||
endif (CMOCKA_FOUND AND UNIT_TESTING)
|
||||
get_git_head_revision(GIT_REFSPEC GIT_SHA1)
|
||||
|
||||
include(ConfigureChecks.cmake)
|
||||
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
# if we cannot get it from git, directly try .tag (packages)
|
||||
# this will work if the tar balls have been properly created
|
||||
# via git-archive.
|
||||
if (${GIT_SHA1} STREQUAL "GITDIR-NOTFOUND")
|
||||
file(READ ${CMAKE_SOURCE_DIR}/.tag sha1_candidate)
|
||||
string(REPLACE "\n" "" sha1_candidate ${sha1_candidate})
|
||||
if (NOT ${sha1_candidate} STREQUAL "$Format:%H$")
|
||||
message("${sha1_candidate}")
|
||||
set (GIT_SHA1 "${sha1_candidate}")
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS "GIT_SHA1 ${GIT_SHA1}")
|
||||
|
||||
macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake)
|
||||
set(SYSCONFDIR ${SYSCONF_INSTALL_DIR})
|
||||
set(DATADIR ${DATA_INSTALL_DIR})
|
||||
if(WIN32)
|
||||
set(DATADIR "share")
|
||||
endif(WIN32)
|
||||
set(SHAREDIR ${DATADIR})
|
||||
|
||||
if (MEM_NULL_TESTS)
|
||||
add_definitions(-DCSYNC_MEM_NULL_TESTS)
|
||||
endif (MEM_NULL_TESTS)
|
||||
#####
|
||||
## handle BUILD_OWNCLOUD_OSX_BUNDLE
|
||||
# BUILD_OWNCLOUD_OSX_BUNDLE was not initialized OR set to true on OSX
|
||||
if(APPLE AND (NOT DEFINED BUILD_OWNCLOUD_OSX_BUNDLE OR BUILD_OWNCLOUD_OSX_BUNDLE))
|
||||
set(BUILD_OWNCLOUD_OSX_BUNDLE ON)
|
||||
set(OWNCLOUD_OSX_BUNDLE "${APPLICATION_EXECUTABLE}.app")
|
||||
set(LIB_INSTALL_DIR "${APPLICATION_EXECUTABLE}.app/Contents/MacOS")
|
||||
set(BIN_INSTALL_DIR "${APPLICATION_EXECUTABLE}.app/Contents/MacOS")
|
||||
|
||||
# BUILD_OWNCLOUD_OSX_BUNDLE was disabled on OSX
|
||||
elseif(APPLE AND NOT BUILD_OWNCLOUD_OSX_BUNDLE)
|
||||
message(FATAL_ERROR "Building in non-bundle mode on OSX is currently not supported. Comment this error out if you want to work on/test it.")
|
||||
|
||||
# any other platform
|
||||
else()
|
||||
set(BUILD_OWNCLOUD_OSX_BUNDLE OFF)
|
||||
endif()
|
||||
#####
|
||||
|
||||
# this option removes Http authentication, keychain, shibboleth etc and is intended for
|
||||
# external authentication mechanisms
|
||||
option(TOKEN_AUTH_ONLY "TOKEN_AUTH_ONLY" OFF)
|
||||
if(TOKEN_AUTH_ONLY)
|
||||
message("Compiling with token authentication")
|
||||
add_definitions(-DTOKEN_AUTH_ONLY=1)
|
||||
endif()
|
||||
|
||||
option(NO_MSG_HANDLER "Don't redirect QDebug outputs to the log window/file" OFF)
|
||||
if(NO_MSG_HANDLER)
|
||||
add_definitions(-DNO_MSG_HANDLER=1)
|
||||
endif()
|
||||
|
||||
# this option creates only libocsync and libowncloudsync
|
||||
option(BUILD_LIBRARIES_ONLY "BUILD_LIBRARIES_ONLY" OFF)
|
||||
|
||||
# When this option is enabled, 5xx errors are not added to the blacklist
|
||||
# Normally you don't want to enable this option because if a particular file
|
||||
# triggers a bug on the server, you want the file to be blacklisted.
|
||||
option(OWNCLOUD_5XX_NO_BLACKLIST "OWNCLOUD_5XX_NO_BLACKLIST" OFF)
|
||||
if(OWNCLOUD_5XX_NO_BLACKLIST)
|
||||
add_definitions(-DOWNCLOUD_5XX_NO_BLACKLIST=1)
|
||||
endif()
|
||||
|
||||
# When this option is enabled, a rename that is not allowed will be renamed back
|
||||
# do the original as a restoration step. Withut this option, the restoration will
|
||||
# re-download the file instead.
|
||||
# The default is off because we don't want to rename the files back behind the user's back
|
||||
# Added for IL issue #550
|
||||
option(OWNCLOUD_RESTORE_RENAME "OWNCLOUD_RESTORE_RENAME" OFF)
|
||||
if(OWNCLOUD_RESTORE_RENAME)
|
||||
add_definitions(-DOWNCLOUD_RESTORE_RENAME=1)
|
||||
endif()
|
||||
|
||||
|
||||
if(APPLE)
|
||||
set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
|
||||
endif()
|
||||
|
||||
find_package(OpenSSL 1.0.0 REQUIRED)
|
||||
|
||||
if(APPLE)
|
||||
find_package(Sparkle)
|
||||
endif(APPLE)
|
||||
|
||||
if(UNIX)
|
||||
find_package(INotify REQUIRED)
|
||||
else()
|
||||
find_package(INotify)
|
||||
endif()
|
||||
find_package(Sphinx)
|
||||
find_package(PdfLatex)
|
||||
|
||||
find_package(SQLite3 3.8.0 REQUIRED)
|
||||
# On some OS, we want to use our own, not the system sqlite
|
||||
if (USE_OUR_OWN_SQLITE3)
|
||||
include_directories(BEFORE ${SQLITE3_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
find_package(ZLIB)
|
||||
|
||||
configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||
|
||||
configure_file(test/test_journal.db "${CMAKE_BINARY_DIR}/test/test_journal.db" COPYONLY)
|
||||
|
||||
include(OwnCloudCPack.cmake)
|
||||
|
||||
add_definitions(-DUNICODE)
|
||||
add_definitions(-D_UNICODE)
|
||||
if( WIN32 )
|
||||
add_definitions( -D__USE_MINGW_ANSI_STDIO=1 )
|
||||
endif( WIN32 )
|
||||
|
||||
# Handle Translations, pick all client_* files from trans directory.
|
||||
file( GLOB TRANS_FILES ${CMAKE_SOURCE_DIR}/translations/client_*.ts)
|
||||
set(TRANSLATIONS ${TRANS_FILES})
|
||||
|
||||
add_subdirectory(csync)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(modules)
|
||||
add_subdirectory(client)
|
||||
add_subdirectory(config)
|
||||
if(NOT BUILD_LIBRARIES_ONLY)
|
||||
add_subdirectory(shell_integration)
|
||||
add_subdirectory(doc)
|
||||
add_subdirectory(doc/dev)
|
||||
add_subdirectory(admin)
|
||||
endif(NOT BUILD_LIBRARIES_ONLY)
|
||||
|
||||
if (CMOCKA_FOUND AND UNIT_TESTING)
|
||||
add_subdirectory(tests)
|
||||
endif (CMOCKA_FOUND AND UNIT_TESTING)
|
||||
if(UNIT_TESTING)
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
add_subdirectory(test)
|
||||
endif(UNIT_TESTING)
|
||||
|
||||
if(BUILD_OWNCLOUD_OSX_BUNDLE)
|
||||
install(FILES sync-exclude.lst DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/)
|
||||
configure_file(sync-exclude.lst bin/${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/sync-exclude.lst COPYONLY)
|
||||
else()
|
||||
install( FILES sync-exclude.lst DESTINATION ${SYSCONFDIR}/${APPLICATION_SHORTNAME} )
|
||||
configure_file(sync-exclude.lst bin/sync-exclude.lst COPYONLY)
|
||||
endif()
|
||||
|
||||
49
CONTRIBUTING.md
Normal file
49
CONTRIBUTING.md
Normal file
@@ -0,0 +1,49 @@
|
||||
## Submitting Desktop Client issues
|
||||
|
||||
If you have questions about how to use the ownCloud Desktop Client, please
|
||||
direct these to the [mailing list][mailinglist] or our [forum][forum].
|
||||
We are also available on [IRC][irc].
|
||||
|
||||
### Bug Reporting Guidelines
|
||||
* __Important__: Report the issue using our [template][template], it includes all the
|
||||
information we need to track down the issue.
|
||||
* __SECURITY__: Report any potential security bug to security@owncloud.com following our [security policy](https://owncloud.org/security/) instead of filing an issue in our bug tracker
|
||||
* This repository is *only* for issues within the ownCloud desktop client.
|
||||
Issues in other components should be reported in their own repositores:
|
||||
- [ownCloud server](https://github.com/owncloud/core/issues)
|
||||
- [ownCloud apps](https://github.com/owncloud/apps/issues) (e.g. Calendar,
|
||||
Contacts...)
|
||||
- [Android client](https://github.com/owncloud/android/issues)
|
||||
- [iOS client](https://github.com/owncloud/ios-issues/issues)
|
||||
* Search the existing issues first, it's likely that your issue was already
|
||||
reported.
|
||||
|
||||
If your issue appears to be a bug, and hasn't been reported, open a new issue.
|
||||
|
||||
Help us to maximize the effort we can spend fixing issues and adding new
|
||||
features, by not reporting duplicate issues.
|
||||
|
||||
[template]: https://raw.github.com/owncloud/client/master/issue_template.md
|
||||
[mailinglist]: https://mail.kde.org/mailman/listinfo/owncloud
|
||||
[forum]: http://forum.owncloud.org/
|
||||
[irc]: http://webchat.freenode.net/?channels=owncloud&uio=d4
|
||||
|
||||
## Contributing to Source Code
|
||||
|
||||
Thanks for wanting to contribute source code to ownCloud. That's great!
|
||||
|
||||
Before we're able to merge your code to ownCloud Desktop Client, you need to sign
|
||||
our [Contributor Agreement][agreement].
|
||||
|
||||
Please read the [Desktop Client Manual][desktopman] and the [Developer
|
||||
Manuals][devmanual] to get useful info like how to create your first
|
||||
application or how to test the ownCloud code with phpunit.
|
||||
|
||||
[agreement]: http://owncloud.org/about/contributor-agreement/
|
||||
[devmanual]: http://owncloud.org/dev
|
||||
[desktopman]: http://doc.owncloud.org/desktop
|
||||
|
||||
## Translations
|
||||
Please submit translations via [Transifex][transifex].
|
||||
|
||||
[transifex]: https://www.transifex.com/projects/p/owncloud/
|
||||
631
COPYING
631
COPYING
@@ -1,397 +1,221 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
the Program or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
@@ -402,101 +226,114 @@ impose that choice.
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
||||
319
COPYING.documentation
Normal file
319
COPYING.documentation
Normal file
@@ -0,0 +1,319 @@
|
||||
Creative Commons Legal Code
|
||||
|
||||
Attribution 3.0 Unported
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
|
||||
DAMAGES RESULTING FROM ITS USE.
|
||||
|
||||
License
|
||||
|
||||
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
|
||||
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
|
||||
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
|
||||
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
|
||||
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
|
||||
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
|
||||
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
|
||||
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
|
||||
CONDITIONS.
|
||||
|
||||
1. Definitions
|
||||
|
||||
a. "Adaptation" means a work based upon the Work, or upon the Work and
|
||||
other pre-existing works, such as a translation, adaptation,
|
||||
derivative work, arrangement of music or other alterations of a
|
||||
literary or artistic work, or phonogram or performance and includes
|
||||
cinematographic adaptations or any other form in which the Work may be
|
||||
recast, transformed, or adapted including in any form recognizably
|
||||
derived from the original, except that a work that constitutes a
|
||||
Collection will not be considered an Adaptation for the purpose of
|
||||
this License. For the avoidance of doubt, where the Work is a musical
|
||||
work, performance or phonogram, the synchronization of the Work in
|
||||
timed-relation with a moving image ("synching") will be considered an
|
||||
Adaptation for the purpose of this License.
|
||||
b. "Collection" means a collection of literary or artistic works, such as
|
||||
encyclopedias and anthologies, or performances, phonograms or
|
||||
broadcasts, or other works or subject matter other than works listed
|
||||
in Section 1(f) below, which, by reason of the selection and
|
||||
arrangement of their contents, constitute intellectual creations, in
|
||||
which the Work is included in its entirety in unmodified form along
|
||||
with one or more other contributions, each constituting separate and
|
||||
independent works in themselves, which together are assembled into a
|
||||
collective whole. A work that constitutes a Collection will not be
|
||||
considered an Adaptation (as defined above) for the purposes of this
|
||||
License.
|
||||
c. "Distribute" means to make available to the public the original and
|
||||
copies of the Work or Adaptation, as appropriate, through sale or
|
||||
other transfer of ownership.
|
||||
d. "Licensor" means the individual, individuals, entity or entities that
|
||||
offer(s) the Work under the terms of this License.
|
||||
e. "Original Author" means, in the case of a literary or artistic work,
|
||||
the individual, individuals, entity or entities who created the Work
|
||||
or if no individual or entity can be identified, the publisher; and in
|
||||
addition (i) in the case of a performance the actors, singers,
|
||||
musicians, dancers, and other persons who act, sing, deliver, declaim,
|
||||
play in, interpret or otherwise perform literary or artistic works or
|
||||
expressions of folklore; (ii) in the case of a phonogram the producer
|
||||
being the person or legal entity who first fixes the sounds of a
|
||||
performance or other sounds; and, (iii) in the case of broadcasts, the
|
||||
organization that transmits the broadcast.
|
||||
f. "Work" means the literary and/or artistic work offered under the terms
|
||||
of this License including without limitation any production in the
|
||||
literary, scientific and artistic domain, whatever may be the mode or
|
||||
form of its expression including digital form, such as a book,
|
||||
pamphlet and other writing; a lecture, address, sermon or other work
|
||||
of the same nature; a dramatic or dramatico-musical work; a
|
||||
choreographic work or entertainment in dumb show; a musical
|
||||
composition with or without words; a cinematographic work to which are
|
||||
assimilated works expressed by a process analogous to cinematography;
|
||||
a work of drawing, painting, architecture, sculpture, engraving or
|
||||
lithography; a photographic work to which are assimilated works
|
||||
expressed by a process analogous to photography; a work of applied
|
||||
art; an illustration, map, plan, sketch or three-dimensional work
|
||||
relative to geography, topography, architecture or science; a
|
||||
performance; a broadcast; a phonogram; a compilation of data to the
|
||||
extent it is protected as a copyrightable work; or a work performed by
|
||||
a variety or circus performer to the extent it is not otherwise
|
||||
considered a literary or artistic work.
|
||||
g. "You" means an individual or entity exercising rights under this
|
||||
License who has not previously violated the terms of this License with
|
||||
respect to the Work, or who has received express permission from the
|
||||
Licensor to exercise rights under this License despite a previous
|
||||
violation.
|
||||
h. "Publicly Perform" means to perform public recitations of the Work and
|
||||
to communicate to the public those public recitations, by any means or
|
||||
process, including by wire or wireless means or public digital
|
||||
performances; to make available to the public Works in such a way that
|
||||
members of the public may access these Works from a place and at a
|
||||
place individually chosen by them; to perform the Work to the public
|
||||
by any means or process and the communication to the public of the
|
||||
performances of the Work, including by public digital performance; to
|
||||
broadcast and rebroadcast the Work by any means including signs,
|
||||
sounds or images.
|
||||
i. "Reproduce" means to make copies of the Work by any means including
|
||||
without limitation by sound or visual recordings and the right of
|
||||
fixation and reproducing fixations of the Work, including storage of a
|
||||
protected performance or phonogram in digital form or other electronic
|
||||
medium.
|
||||
|
||||
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
|
||||
limit, or restrict any uses free from copyright or rights arising from
|
||||
limitations or exceptions that are provided for in connection with the
|
||||
copyright protection under copyright law or other applicable laws.
|
||||
|
||||
3. License Grant. Subject to the terms and conditions of this License,
|
||||
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
|
||||
perpetual (for the duration of the applicable copyright) license to
|
||||
exercise the rights in the Work as stated below:
|
||||
|
||||
a. to Reproduce the Work, to incorporate the Work into one or more
|
||||
Collections, and to Reproduce the Work as incorporated in the
|
||||
Collections;
|
||||
b. to create and Reproduce Adaptations provided that any such Adaptation,
|
||||
including any translation in any medium, takes reasonable steps to
|
||||
clearly label, demarcate or otherwise identify that changes were made
|
||||
to the original Work. For example, a translation could be marked "The
|
||||
original work was translated from English to Spanish," or a
|
||||
modification could indicate "The original work has been modified.";
|
||||
c. to Distribute and Publicly Perform the Work including as incorporated
|
||||
in Collections; and,
|
||||
d. to Distribute and Publicly Perform Adaptations.
|
||||
e. For the avoidance of doubt:
|
||||
|
||||
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
|
||||
which the right to collect royalties through any statutory or
|
||||
compulsory licensing scheme cannot be waived, the Licensor
|
||||
reserves the exclusive right to collect such royalties for any
|
||||
exercise by You of the rights granted under this License;
|
||||
ii. Waivable Compulsory License Schemes. In those jurisdictions in
|
||||
which the right to collect royalties through any statutory or
|
||||
compulsory licensing scheme can be waived, the Licensor waives the
|
||||
exclusive right to collect such royalties for any exercise by You
|
||||
of the rights granted under this License; and,
|
||||
iii. Voluntary License Schemes. The Licensor waives the right to
|
||||
collect royalties, whether individually or, in the event that the
|
||||
Licensor is a member of a collecting society that administers
|
||||
voluntary licensing schemes, via that society, from any exercise
|
||||
by You of the rights granted under this License.
|
||||
|
||||
The above rights may be exercised in all media and formats whether now
|
||||
known or hereafter devised. The above rights include the right to make
|
||||
such modifications as are technically necessary to exercise the rights in
|
||||
other media and formats. Subject to Section 8(f), all rights not expressly
|
||||
granted by Licensor are hereby reserved.
|
||||
|
||||
4. Restrictions. The license granted in Section 3 above is expressly made
|
||||
subject to and limited by the following restrictions:
|
||||
|
||||
a. You may Distribute or Publicly Perform the Work only under the terms
|
||||
of this License. You must include a copy of, or the Uniform Resource
|
||||
Identifier (URI) for, this License with every copy of the Work You
|
||||
Distribute or Publicly Perform. You may not offer or impose any terms
|
||||
on the Work that restrict the terms of this License or the ability of
|
||||
the recipient of the Work to exercise the rights granted to that
|
||||
recipient under the terms of the License. You may not sublicense the
|
||||
Work. You must keep intact all notices that refer to this License and
|
||||
to the disclaimer of warranties with every copy of the Work You
|
||||
Distribute or Publicly Perform. When You Distribute or Publicly
|
||||
Perform the Work, You may not impose any effective technological
|
||||
measures on the Work that restrict the ability of a recipient of the
|
||||
Work from You to exercise the rights granted to that recipient under
|
||||
the terms of the License. This Section 4(a) applies to the Work as
|
||||
incorporated in a Collection, but this does not require the Collection
|
||||
apart from the Work itself to be made subject to the terms of this
|
||||
License. If You create a Collection, upon notice from any Licensor You
|
||||
must, to the extent practicable, remove from the Collection any credit
|
||||
as required by Section 4(b), as requested. If You create an
|
||||
Adaptation, upon notice from any Licensor You must, to the extent
|
||||
practicable, remove from the Adaptation any credit as required by
|
||||
Section 4(b), as requested.
|
||||
b. If You Distribute, or Publicly Perform the Work or any Adaptations or
|
||||
Collections, You must, unless a request has been made pursuant to
|
||||
Section 4(a), keep intact all copyright notices for the Work and
|
||||
provide, reasonable to the medium or means You are utilizing: (i) the
|
||||
name of the Original Author (or pseudonym, if applicable) if supplied,
|
||||
and/or if the Original Author and/or Licensor designate another party
|
||||
or parties (e.g., a sponsor institute, publishing entity, journal) for
|
||||
attribution ("Attribution Parties") in Licensor's copyright notice,
|
||||
terms of service or by other reasonable means, the name of such party
|
||||
or parties; (ii) the title of the Work if supplied; (iii) to the
|
||||
extent reasonably practicable, the URI, if any, that Licensor
|
||||
specifies to be associated with the Work, unless such URI does not
|
||||
refer to the copyright notice or licensing information for the Work;
|
||||
and (iv) , consistent with Section 3(b), in the case of an Adaptation,
|
||||
a credit identifying the use of the Work in the Adaptation (e.g.,
|
||||
"French translation of the Work by Original Author," or "Screenplay
|
||||
based on original Work by Original Author"). The credit required by
|
||||
this Section 4 (b) may be implemented in any reasonable manner;
|
||||
provided, however, that in the case of a Adaptation or Collection, at
|
||||
a minimum such credit will appear, if a credit for all contributing
|
||||
authors of the Adaptation or Collection appears, then as part of these
|
||||
credits and in a manner at least as prominent as the credits for the
|
||||
other contributing authors. For the avoidance of doubt, You may only
|
||||
use the credit required by this Section for the purpose of attribution
|
||||
in the manner set out above and, by exercising Your rights under this
|
||||
License, You may not implicitly or explicitly assert or imply any
|
||||
connection with, sponsorship or endorsement by the Original Author,
|
||||
Licensor and/or Attribution Parties, as appropriate, of You or Your
|
||||
use of the Work, without the separate, express prior written
|
||||
permission of the Original Author, Licensor and/or Attribution
|
||||
Parties.
|
||||
c. Except as otherwise agreed in writing by the Licensor or as may be
|
||||
otherwise permitted by applicable law, if You Reproduce, Distribute or
|
||||
Publicly Perform the Work either by itself or as part of any
|
||||
Adaptations or Collections, You must not distort, mutilate, modify or
|
||||
take other derogatory action in relation to the Work which would be
|
||||
prejudicial to the Original Author's honor or reputation. Licensor
|
||||
agrees that in those jurisdictions (e.g. Japan), in which any exercise
|
||||
of the right granted in Section 3(b) of this License (the right to
|
||||
make Adaptations) would be deemed to be a distortion, mutilation,
|
||||
modification or other derogatory action prejudicial to the Original
|
||||
Author's honor and reputation, the Licensor will waive or not assert,
|
||||
as appropriate, this Section, to the fullest extent permitted by the
|
||||
applicable national law, to enable You to reasonably exercise Your
|
||||
right under Section 3(b) of this License (right to make Adaptations)
|
||||
but not otherwise.
|
||||
|
||||
5. Representations, Warranties and Disclaimer
|
||||
|
||||
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
|
||||
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
|
||||
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
|
||||
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
|
||||
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
|
||||
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
|
||||
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
|
||||
|
||||
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
|
||||
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
|
||||
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
|
||||
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
|
||||
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
7. Termination
|
||||
|
||||
a. This License and the rights granted hereunder will terminate
|
||||
automatically upon any breach by You of the terms of this License.
|
||||
Individuals or entities who have received Adaptations or Collections
|
||||
from You under this License, however, will not have their licenses
|
||||
terminated provided such individuals or entities remain in full
|
||||
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
|
||||
survive any termination of this License.
|
||||
b. Subject to the above terms and conditions, the license granted here is
|
||||
perpetual (for the duration of the applicable copyright in the Work).
|
||||
Notwithstanding the above, Licensor reserves the right to release the
|
||||
Work under different license terms or to stop distributing the Work at
|
||||
any time; provided, however that any such election will not serve to
|
||||
withdraw this License (or any other license that has been, or is
|
||||
required to be, granted under the terms of this License), and this
|
||||
License will continue in full force and effect unless terminated as
|
||||
stated above.
|
||||
|
||||
8. Miscellaneous
|
||||
|
||||
a. Each time You Distribute or Publicly Perform the Work or a Collection,
|
||||
the Licensor offers to the recipient a license to the Work on the same
|
||||
terms and conditions as the license granted to You under this License.
|
||||
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
|
||||
offers to the recipient a license to the original Work on the same
|
||||
terms and conditions as the license granted to You under this License.
|
||||
c. If any provision of this License is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of
|
||||
the remainder of the terms of this License, and without further action
|
||||
by the parties to this agreement, such provision shall be reformed to
|
||||
the minimum extent necessary to make such provision valid and
|
||||
enforceable.
|
||||
d. No term or provision of this License shall be deemed waived and no
|
||||
breach consented to unless such waiver or consent shall be in writing
|
||||
and signed by the party to be charged with such waiver or consent.
|
||||
e. This License constitutes the entire agreement between the parties with
|
||||
respect to the Work licensed here. There are no understandings,
|
||||
agreements or representations with respect to the Work not specified
|
||||
here. Licensor shall not be bound by any additional provisions that
|
||||
may appear in any communication from You. This License may not be
|
||||
modified without the mutual written agreement of the Licensor and You.
|
||||
f. The rights granted under, and the subject matter referenced, in this
|
||||
License were drafted utilizing the terminology of the Berne Convention
|
||||
for the Protection of Literary and Artistic Works (as amended on
|
||||
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
|
||||
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
|
||||
and the Universal Copyright Convention (as revised on July 24, 1971).
|
||||
These rights and subject matter take effect in the relevant
|
||||
jurisdiction in which the License terms are sought to be enforced
|
||||
according to the corresponding provisions of the implementation of
|
||||
those treaty provisions in the applicable national law. If the
|
||||
standard suite of rights granted under applicable copyright law
|
||||
includes additional rights not granted under this License, such
|
||||
additional rights are deemed to be included in the License; this
|
||||
License is not intended to restrict the license of any rights under
|
||||
applicable law.
|
||||
|
||||
|
||||
Creative Commons Notice
|
||||
|
||||
Creative Commons is not a party to this License, and makes no warranty
|
||||
whatsoever in connection with the Work. Creative Commons will not be
|
||||
liable to You or any party on any legal theory for any damages
|
||||
whatsoever, including without limitation any general, special,
|
||||
incidental or consequential damages arising in connection to this
|
||||
license. Notwithstanding the foregoing two (2) sentences, if Creative
|
||||
Commons has expressly identified itself as the Licensor hereunder, it
|
||||
shall have all rights and obligations of Licensor.
|
||||
|
||||
Except for the limited purpose of indicating to the public that the
|
||||
Work is licensed under the CCPL, Creative Commons does not authorize
|
||||
the use by either party of the trademark "Creative Commons" or any
|
||||
related trademark or logo of Creative Commons without the prior
|
||||
written consent of Creative Commons. Any permitted use will be in
|
||||
compliance with Creative Commons' then-current trademark usage
|
||||
guidelines, as may be published on its website or otherwise made
|
||||
available upon request from time to time. For the avoidance of doubt,
|
||||
this trademark restriction does not form part of this License.
|
||||
|
||||
Creative Commons may be contacted at http://creativecommons.org/.
|
||||
@@ -1,27 +0,0 @@
|
||||
include(InstallRequiredSystemLibraries)
|
||||
|
||||
# For help take a look at:
|
||||
# http://www.cmake.org/Wiki/CMake:CPackConfiguration
|
||||
|
||||
### general settings
|
||||
set(CPACK_PACKAGE_NAME "csync")
|
||||
set(CPACK_PACKAGE_VENDOR "csync")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "User level bidirectional client only file synchronizer")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
|
||||
|
||||
### versions
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR "0")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "50")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH "0")
|
||||
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
|
||||
set(CPACK_GENERATOR "TGZ")
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
|
||||
|
||||
### source package settings
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ")
|
||||
set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/build/;tags;cscope.*")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
|
||||
|
||||
include(CPack)
|
||||
26
CPackOptions.cmake.in
Normal file
26
CPackOptions.cmake.in
Normal file
@@ -0,0 +1,26 @@
|
||||
# This file is configured at cmake time, and loaded at cpack time.
|
||||
# To pass variables to cpack from cmake, they must be configured
|
||||
# in this file.
|
||||
|
||||
if(CPACK_GENERATOR MATCHES "NSIS")
|
||||
SET( CPACK_PACKAGE_ICON @CMAKE_SOURCE_DIR@/admin/win/nsi/installer.ico ) # A branding image that will be displayed on the top bar inside the installer. installer.bmp
|
||||
SET( CPACK_NSIS_COMPRESSOR "/SOLID lzma" ) # The arguments that will be passed to the NSIS SetCompressor command. /SOLID lzma
|
||||
endif(CPACK_GENERATOR MATCHES "NSIS")
|
||||
|
||||
set( CMAKE_SOURCE_DIR @CMAKE_SOURCE_DIR@ )
|
||||
set( CMAKE_BINARY_DIR @CMAKE_BINARY_DIR@ )
|
||||
set( OEM_THEME_DIR @OEM_THEME_DIR@ )
|
||||
|
||||
if ( DEFINED OEM_THEME_DIR AND EXISTS ${OEM_THEME_DIR}/OEM.cmake )
|
||||
include ( ${OEM_THEME_DIR}/OEM.cmake )
|
||||
else ()
|
||||
include ( "${CMAKE_SOURCE_DIR}/OWNCLOUD.cmake" )
|
||||
endif()
|
||||
|
||||
set( CRASHREPORTER_EXECUTABLE @CRASHREPORTER_EXECUTABLE@)
|
||||
|
||||
set( BUILD_OWNCLOUD_OSX_BUNDLE @BUILD_OWNCLOUD_OSX_BUNDLE@)
|
||||
if(APPLE AND NOT BUILD_OWNCLOUD_OSX_BUNDLE)
|
||||
message( FATAL_ERROR "You're trying to build a bundle although you haven't built the client in bundle mode.\n Add -DBUILD_OWNCLOUD_OSX_BUNDLE=ON")
|
||||
endif()
|
||||
|
||||
952
ChangeLog
952
ChangeLog
@@ -1,117 +1,877 @@
|
||||
ChangeLog
|
||||
==========
|
||||
=========
|
||||
|
||||
version 0.50.0 (released 2013-08-01)
|
||||
* Added owncloud module.
|
||||
* Added support for more platforms: FreeBSD, Windows and MacOSX
|
||||
* Added support for more compilers: CLang, MinGW and latest GCC
|
||||
* Added a backup mode to the reconciler.
|
||||
* Added new logging framework (removed log4c dependency).
|
||||
* Added new config parser (removed iniparser dependency).
|
||||
* Added cmocka tests.
|
||||
* Added a way to exported file_tree_walk functions.
|
||||
* Added capabilities for modules.
|
||||
* Added possiblity to push information to the modules.
|
||||
* Added iconv support to support various char sets.
|
||||
* Added csync_commit() to rerun on the same context.
|
||||
* Added content checking in conflict case.
|
||||
* Added callbacks for progress information.
|
||||
* Added get() and put() functions for modules.
|
||||
* Improved database: more performance, more integrity checks
|
||||
* Improved error reporting: status codes, custom errnos
|
||||
* Fixed serveral bugs.
|
||||
* Relicensed libcsync to LGPLv2.1+.
|
||||
version 2.2.4 (release 2016-09-27)
|
||||
* Dolphin Plugin: Use the Application name for the socket path (#5172)
|
||||
* SyncEngine: Fix renaming of folder when file are changed (#5195)
|
||||
* Selective Sync: Fix HTTP request loop and show error in view (#5154)
|
||||
* ConnectionValidator: properly handle error in status.php request (#5188)
|
||||
* Discovery: Set thread priority to low (#5017)
|
||||
* ExcludeFiles: Fix when the folder casing is not the same in the settings and in the FS
|
||||
* ShareLink: Ensure the password line edit is enabled (#5117)
|
||||
|
||||
version 0.44.0 (released 2010-02-15)
|
||||
* Migrated sftp module to libssh 0.4.
|
||||
* Added more cache entries to the default config.
|
||||
* Added missing requirements.
|
||||
* Fixed build warnings.
|
||||
* Fixed some memory leaks using sftp attributes.
|
||||
* Some code cleanups.
|
||||
version 2.2.3 (release 2016-08-08)
|
||||
* SyncEngine: Fix detection of backup (#5104)
|
||||
* Fix bug with overriding URL in config (#5016)
|
||||
* Sharing: Fix bug with file names containing percent encodes (#5042, #5043)
|
||||
* Sharing: Permissions for federated shares on servers >=9.1 (#4996, #5001)
|
||||
* Overlays: Fix issues with file name casing on OS X and Windows
|
||||
* Windows: Skip symlinks and junctions again (#5019)
|
||||
* Only accept notification API Capability if endpoint is OCS-enabled (#5034)
|
||||
* Fix windows HiDPI (#4994)
|
||||
* SocketAPI: Use different pipe name to avoid unusual delay (#4977)
|
||||
* Tray: Add minimal mode as workaround and testing tool for Linux issues (#4985, #4990)
|
||||
* owncloudcmd: Fix --exclude regression #4979
|
||||
* Small memleak: Use the full file stat destructors (#4992)
|
||||
* Fix small QAction memleak (#5008)
|
||||
* Fix crash on shutting down during propagation (#4979)
|
||||
* Decrease memory usage during sync #4979
|
||||
* Setup csync logging earlier to get all log output (#4991)
|
||||
* Enable Shibboleth debug view with OWNCLOUD_SHIBBOLETH_DEBUG env
|
||||
|
||||
version 0.43.0 (released 2009-05-25)
|
||||
* Added SFTP support with libssh 0.3.
|
||||
* Added possibility to pass userdata to the auth function.
|
||||
* Added a better version function.
|
||||
* Fixed CMake build.
|
||||
* Fixed CMake find modules.
|
||||
* Fixed some flaws in cstd functions.
|
||||
* Documented all public functions.
|
||||
version 2.2.2 (release 2016-06-21)
|
||||
* Excludes: Don't redundantly add the same exclude files (memleak) (#4967, #4988)
|
||||
* Excludes: Only log if the pattern was really logged. (#4989)
|
||||
|
||||
version 0.42.0 (released 2009-02-10)
|
||||
* Small fix in the userguide.
|
||||
version 2.2.1 (release 2016-06-06)
|
||||
* Fix out of memory error when too many uploads happen (#4611)
|
||||
* Fix display errors in progress display (#4803 #4856)
|
||||
* LockWatcher: Remember to upload files after they become unlocked (#4865)
|
||||
* Fix overlay icons for files with umlauts (#4884)
|
||||
* Certs: Re-ask for different cert after rejection (#4898, #4911)
|
||||
* Progress: Don't count items without propagation jobs (#4856, #4910)
|
||||
* Utility: Fix for the translation of minutes, second (#4855)
|
||||
* SyncEngine: invalid the blacklist entry when the rename destination change
|
||||
|
||||
version 0.42.0 rc3 (released 2009-01-23)
|
||||
libcsync:
|
||||
* Added checks for unix extensions.
|
||||
* Added more documentation to the userguide.
|
||||
* Fixed loading of plugins.
|
||||
* Fixed call for deletion functions.
|
||||
* Normalize the path to <hostname>/<path> for the statedb filename.
|
||||
* More change name of client options to be more descriptive.
|
||||
version 2.2.0 (release 2016-05-12)
|
||||
* Overlay icons: Refactoring - mainly for performance improvements
|
||||
* Improved error handling with Sync Journal on USB storages (#4632)
|
||||
* Sharing Completion: Improved UI of completion in sharing from desktop. (#3737)
|
||||
* Show server notifications on the client (#3733)
|
||||
* Improved Speed with small files by dynamic parallel request count (#4529)
|
||||
* LockWatcher: Make sure to sync files after apps released exclusive locks on Windows.
|
||||
* Improved handling of Win32 file locks and network files
|
||||
* Workaround Ubuntu 16.04 tray icon bug (#4693)
|
||||
* Removed the Alias field from the folder definition (#4695)
|
||||
* Improved netrc parser (#4691)
|
||||
* Improved user notifications about ignored files and conflicts (#4761, #3222)
|
||||
* Add warnings for old server versions (#4523)
|
||||
* Enable tranportation checksums if the server supports based on server capabilities (#3735)
|
||||
|
||||
version 0.42.0 rc2 (released 2009-01-07)
|
||||
libcsync:
|
||||
* Fixed a bug in the creation of the statedb
|
||||
* Completed userguide
|
||||
* Default Chunk-size changed to 10MB (#4354)
|
||||
* Documentation Improvements, ie. about overlay icons
|
||||
* Translation fixes
|
||||
* Countless other bugfixes
|
||||
* Sqlite Update to recent version
|
||||
* Update of QtKeyChain to support Windows credential store
|
||||
* Packaging of dolphin overlay icon module for bleeding edge distros
|
||||
|
||||
version 0.42.0 rc1 (released 2008-12-04)
|
||||
libcsync:
|
||||
* Reduced calls of syscall functions.
|
||||
* Added own function to create a temporary filename.
|
||||
* Fixed libsmbclient 3.0.x support.
|
||||
version 2.1.1 (release 2016-02-10)
|
||||
* UI improvements for HiDPI screens, error messages, RTL languages
|
||||
* Fix occurences of "Connection Closed" when a new unauthenticated TCP socket is used
|
||||
* Fix undeliberate WiFi scanning done by Qt Network classes
|
||||
* Several fixes/improvements to the sharing dialog
|
||||
* Several fixes/improvements to the server activity tab
|
||||
* Create the directory when using --confdir and it does not exist
|
||||
* Windows Overlay icons: Fix DLL and icon oddities
|
||||
* Mac Overlay icons: Don't install legacy Finder plugin on >= 10.10
|
||||
* Linux Overlay icons: Nemo plugin
|
||||
* Overlay icons: Fix several wrong icon state computations
|
||||
* Allow changeable upload chunk size in owncloud.cfg
|
||||
* Crash fixes on account deletion
|
||||
* Forget password on explicit sign-out
|
||||
* OS X: Fix the file system watcher ignoring unicode paths (#4424)
|
||||
* Windows Installer: Update to NSIS 2.50, fixes possible DLL injection
|
||||
* Sync Engine: .lnk files
|
||||
* Sync Engine: symlinked syn directories
|
||||
* Sync Engine: Windows: Fix deleting and replacing of read-only files (#4308, #4277)
|
||||
* Sync Engine: Fixes for files becoming directories and vice versa (#4302)
|
||||
* Misc other fixes/improvements
|
||||
|
||||
version 0.42.0 beta1 (released 2008-09-10)
|
||||
version 2.1 (release 2015-12-03)
|
||||
* GUI: Added a display of server activities
|
||||
* GUI: Added a separate view for not synced items, ignores, errors
|
||||
* GUI: Improved upload/download progress UI (#3403, #3569)
|
||||
* Allowed sharing with ownCloud internal users and groups from Desktop
|
||||
* Changed files starting in .* to be considered hidden on all platforms (#4023)
|
||||
* Reflect read-only permissions in filesystem (#3244)
|
||||
* Blacklist: Clear on successful chunk upload (#3934)
|
||||
* Improved reconnecting after network change/disconnect (#4167 #3969 ...)
|
||||
* Improved performance in Windows file system discovery
|
||||
* Removed libneon-based propagator. As a consequence, The client can no
|
||||
longer provide bandwith limiting on Linux-distributions where it is
|
||||
using Qt < 5.4
|
||||
* Performance improvements in the logging functions
|
||||
* Ensured that local disk space problems are handled gracefully (#2939)
|
||||
* Improved handling of checksums: transport validation, db (#3735)
|
||||
* For *eml-files don't reupload if size and checksum are unchanged (#3235)
|
||||
* Ensured 403 reply code is handled properly (File Firewall) (#3490)
|
||||
* Reduced number of PROPFIND requests to server(#3964)
|
||||
* GUI: Added Account toolbox widget to keep account actions (#4139)
|
||||
* Tray Menu: Added fixes for Recent Activity menu (#4093, #3969)
|
||||
* FolderMan: Fixed infinite wait on pause (#4093)
|
||||
* Renamed env variables to include unit (#2939)
|
||||
* FolderStatusModel: Attempt to detect removed undecided files (#3612)
|
||||
* SyncEngine: Don't whipe the white list if the sync was aborted (#4018)
|
||||
* Quota: Handle special negative value for the quota (#3940)
|
||||
* State app name in update notification (#4020)
|
||||
* PropagateUpload: Fixed double-emission of finished (#3844)
|
||||
* GUI: Ensured folder names which are excluded from sync can be clicked
|
||||
* Shell Integration: Dolphin support, requires KF 5.16 and KDE Application 15.12
|
||||
* FolderStatusModel: Ensured reset also if a folder was renamed (#4011)
|
||||
* GUI: Fixed accessiblity of remaing items in full settings toolbar (#3795)
|
||||
* Introduced the term "folder sync connection" in more places (#3757)
|
||||
* AccountSettings: Don't disable pause when offline (#4010)
|
||||
* Fixed handling of hidden files (#3980)
|
||||
* Handle download errors while resuming as soft errors (#4000)
|
||||
* SocketAPI: Ensured that the command isn't trimmed (#3297)
|
||||
* Shutdown socket API before removing the db (#3824)
|
||||
* GUI: Made "Keep" default in the delete-all dialog (#3824)
|
||||
* owncloudcmd: Introduced return code 0 for --version and --help
|
||||
* owncloudcmd: Added --max-sync-retries (#4037)
|
||||
* owncloudcmd: Don't do a check that file are older than 2s (#4160)
|
||||
* Fixed getting size for selective sync (#3986)
|
||||
* Re-added close button in the settings window (#3713)
|
||||
* Added abililty to handle storage limitations gracefully (#3736)
|
||||
* Updated 3rdparty dependencies: sqlite version 3.9.1
|
||||
* Organized patches to our base Qt version into admin/qt/patches
|
||||
* Plus: A lot of unmentioned improvements and fixes
|
||||
|
||||
libcsync:
|
||||
* Added a sftp module using libssh
|
||||
* Added user guide (just a start)
|
||||
* Added testcase for update detection
|
||||
* Added a function to parse an uri to cstdlib
|
||||
* Updated the manpage
|
||||
* Fixed some segfaults in cstdlib
|
||||
* Fixed some memory leaks
|
||||
version 2.0.2 (release 2015-10-21)
|
||||
* csync_file_stat_s: Save a bit of memory
|
||||
* Shibboleth: Add our base user agent to WebKit
|
||||
* SelectiveSync: Increase folder list timeout to 60
|
||||
* Propagation: Try another sync on 423 Locked (#3387)
|
||||
* Propagation: Make 423 Locked a soft error (#3387)
|
||||
* Propagation: Reset upload blacklist if a chunk succeeds
|
||||
* Application: Fix crash on early shutdown (#3898)
|
||||
* Linux: Don't show settings dialog always when launched twice (#3273, #3771, #3485)
|
||||
* win32 vio: Add the OPEN_REPARSE_POINTS flag to the CreateFileW call. (#3813)
|
||||
* AccountSettings: only expand root elements on single click.
|
||||
* AccountSettings: Do not allow to expand the folder list when disconnected.
|
||||
* Use application SHORT name for the name of the MacOSX pkg file (ownBrander).
|
||||
* FolderMan: Fix for removing a syncing folder (#3843)
|
||||
* ConnectionMethodDialog: Don't be insecure on close (#3863)
|
||||
* Updater: Ensure folders are not removed (#3747)
|
||||
* Folder settings: Ensure path is cleaned (#3811)
|
||||
* Propagator: Simplify sub job finished counting (#3844)
|
||||
* Share dialog: Hide settings dialog before showing (#3783)
|
||||
* UI: Only expand 1 level in folder list (#3585)
|
||||
* UI: Allow folder expanding from button click (#3585)
|
||||
* UI: Expand folder treeview on single click (#3585)
|
||||
* GUI: Change tray menu order (#3657)
|
||||
* GUI: Replace term "sign in" with "Log in" and friends.
|
||||
* SetupPage: Fix crash caused by uninitialized Account object.
|
||||
* Use a themable WebDAV path all over.
|
||||
* Units: Back to the "usual" mix units (JEDEC standard).
|
||||
* csync io: Full UNC path support on Win (#3748)
|
||||
* Tray: Don't use the tray workaround with the KDE theme (#3706, #3765)
|
||||
* ShareDialog: Fix folder display (#3659)
|
||||
* AccountSettings: Restore from legacy only once (#3565)
|
||||
* SSL Certificate Error Dialog: show account name (#3729)
|
||||
* Tray notification: Don't show a message about modified folder (#3613)
|
||||
* PropagateLocalRemove: remove entries from the DB even if there was an error.
|
||||
* Settings UI improvements (eg. #3713, #3721, #3619 and others)
|
||||
* Folder: Do not create the sync folder if it does not exist (#3692)
|
||||
* Shell integration: don't show share menu item for top level folders
|
||||
* Tray: Hide while modifying menus (#3656, #3672)
|
||||
* AddFolder: Improve remote path selection error handling (#3573)
|
||||
* csync_update: Use excluded_traversal() to improve performance (#3638)
|
||||
* csync_excluded: Add fast _traversal() function (#3638)
|
||||
* csync_exclude: Speed up significantly (#3638)
|
||||
* AccountSettings: Adjust quota info design (#3644, #3651)
|
||||
* Adjust buttons on remove folder/account questions (#3654)
|
||||
|
||||
csync:
|
||||
* Improved the auth callback
|
||||
version 2.0.1 (release 2015-09-01)
|
||||
* AccountWizard: fix when the theme specify a override URL (#3699)
|
||||
|
||||
version 0.42.0 alpha4 (released 2008-07-02)
|
||||
version 2.0.0 (release 2015-08-25)
|
||||
* Add support for multiple accounts (#3084)
|
||||
* Do not sync down new big folders from server without users consent (#3148)
|
||||
* Integrate Selective Sync into the default UI
|
||||
* OS X: Support native finder integration for 10.10 Yosemite (#2340)
|
||||
* Fix situation where client would not reconnect after timeout (#2321)
|
||||
* Use SI units for the file sizes
|
||||
* Improve progress reporting during sync (better estimations, show all files, show all bandwidth)
|
||||
* Windows: Support paths >255 characters (#57) by using Windows API instead of POSIX API
|
||||
* Windows, OS X: Allow to not sync hidden files (#2086)
|
||||
* OS X: Show file name in UI if file has invalid UTF-8 in file name
|
||||
* Sharing: Make use of Capability API (#3439)
|
||||
* Sharing: Do not allow sharing the root folder (#3495)
|
||||
* Sharing: Show thumbnail
|
||||
* Client Updater: Check for updates periodically, not only once per run (#3044)
|
||||
* Windows: Remove misleading option to remove sync data (#3461)
|
||||
* Windows: Do not provoke AD account locking if password changes (#2186)
|
||||
* Windows: Fix installer when installing unprivileged (#2616, #2568)
|
||||
* Quota: Only refresh from server when UI is shown
|
||||
* SSL Button: Show more information
|
||||
* owncloudcmd: Fix --httpproxy (#3465)
|
||||
* System proxy: Ask user for credentials if needed
|
||||
* Several fixes and performance improvements in the sync engine
|
||||
* Network: Try to use SSL session tickets/identifiers. Check the SSL button to see if they are used.
|
||||
* Bandwidth Throttling: Provide automatic limit setting for downloads (#3084)
|
||||
* Systray: Workaround for issue with Qt 5.5.0 #3656
|
||||
|
||||
libcsync:
|
||||
* Added the possibility to run csync completely without a journal
|
||||
* Improved chmod calls during propagation. Most of the time we use the
|
||||
default mode and don't need to call chmod.
|
||||
* Improved the exclude list handling in the file tree walker. This
|
||||
increased the speed of the update detection.
|
||||
* Fixed csync on PPC
|
||||
* Fixed serveral small bugs
|
||||
version 1.8.4 (release 2015-07-13)
|
||||
* Release to ship a security release of openSSL. No source changes of the ownCloud Client code.
|
||||
|
||||
csync:
|
||||
* Added commandline option to run csync completely without a journal
|
||||
* Added a manpage
|
||||
version 1.8.3 (release 2015-06-23)
|
||||
* Fix a bug in the Windows Installer that could crash explorer (#3320)
|
||||
* Reduce 'Connection closed' errors (#3318, #3313, #3298)
|
||||
* Ignores: Force a remote discovery after ignore list change (#3172)
|
||||
* Shibboleth: Avoid crash by letting the webview use its own QNAM (#3359)
|
||||
* System Ignores: Removed *.tmp from system ignore again. If a user
|
||||
wants to ignore *.tmp, it needs to be added to the user ignore list.
|
||||
|
||||
version 0.42.0 alpha3 (released 2008-06-25)
|
||||
version 1.8.2 (release 2015-06-08)
|
||||
* Improve reporting of server error messages (#3220)
|
||||
* Discovery: Ignore folders with any 503 (#3113)
|
||||
* Wizard: Show server error message if possible (#3220)
|
||||
* QNAM: Fix handling of mitm cert changes (#3283)
|
||||
* Win32: Installer translations added (#3277)
|
||||
* Win32: Allow concurrent OEM (un-)installers (#3272)
|
||||
* Win32: Make Setup/Update Mutex theme-unique (#3272)
|
||||
* HTTP: Add the branding name to the UserAgent string
|
||||
* ConnectonValidator: Always run with new credentials (#3266)
|
||||
* Recall Feature: Admins can trigger an upload of a file from
|
||||
client to server again (#3246)
|
||||
* Propagator: Add 'Content-Length: 0' header to MKCOL request (#3256)
|
||||
* Switch on checksum verification through branding or config
|
||||
* Add ability for checksum verification of up and download
|
||||
* Fix opening external links for some labels (#3135)
|
||||
* AccountState: Run only a single validator, allow error message
|
||||
overriding (#3236, #3153)
|
||||
* SyncJournalDB: Minor fixes and simplificatons
|
||||
* SyncEngine: Force re-read of folder Etags for upgrades from
|
||||
1.8.0 and 1.8.1
|
||||
* Propagator: Limit length of temporary file name (#2789)
|
||||
* ShareDialog: Password ui fixes (#3189)
|
||||
* Fix startup hang by removing QSettings lock file (#3175)
|
||||
* Wizard: Allow SSL cert dialog to show twice (#3168)
|
||||
* ProtocolWidget: Fix rename message (#3210)
|
||||
* Discovery: Test better, treat invalid hrefs as error (#3176)
|
||||
* Propagator: Overwrite local data only if unchanged (#3156)
|
||||
* ShareDialog: Improve error reporting for share API fails
|
||||
* OSX Updater: Only allow updates only if in /Applications (#2931)
|
||||
* Wizard: Fix lock icon (#1447)
|
||||
* Fix compilation with GCC 5
|
||||
* Treat any 503 error as temporary (#3113)
|
||||
* Work around for the Qt PUT corruption bug (#2425)
|
||||
* OSX Shell integration: Optimizations
|
||||
* Windows Shell integration: Optimizations
|
||||
.. more than 250 commits since 1.8.1
|
||||
|
||||
libcsync:
|
||||
* Added a tree merger to write a complete journal
|
||||
* Added support to run csync without a journal
|
||||
* Fixed kerberos support in csync_smb module
|
||||
* Fixed closing of files after the copy
|
||||
* Fixed update detection to detect special files (fifo, pipes,
|
||||
char devices, ..)
|
||||
* Fixed O_NOATIME flag on open() if we don't have the permission
|
||||
version 1.8.1 (release 2015-05-07)
|
||||
* Make "operation canceled" error a soft error
|
||||
* Do not throw an error for files that are scheduled to be removed,
|
||||
but can not be found on the server. #2919
|
||||
* Windows: Reset QNAM to proper function after hibernation. #2899 #2895 #2973
|
||||
* Fix argument verification of --confdir #2453
|
||||
* Fix a crash when accessing a dangling UploadDevice pointer #2984
|
||||
* Add-folder wizard: Make sure there is a scrollbar if folder names
|
||||
are too long #2962
|
||||
* Add-folder Wizard: Select the newly created folder
|
||||
* Activity: Correctly restore column sizes #3005
|
||||
* SSL Button: do not crash on empty certificate chain
|
||||
* SSL Button: Make menu creation lazy #3007 #2990
|
||||
* Lookup system proxy async to avoid hangs #2993 #2802
|
||||
* ShareDialog: Some GUI refinements
|
||||
* ShareDialog: On creation of a share always retrieve the share
|
||||
This makes sure that if a default expiration date is set this is reflected
|
||||
in the dialog. #2889
|
||||
* ShareDialog: Only show share dialog if we are connected.
|
||||
* HttpCreds: Fill pw dialog with previous password. #2848 #2879
|
||||
* HttpCreds: Delete password from old location. #2186
|
||||
* Do not store Session Cookies in the client cookie storage
|
||||
* CookieJar: Don't accidentally overwrite cookies. #2808
|
||||
* ProtocolWidget: Always add seconds to the DateTime locale. #2535
|
||||
* Updater: Give context as to which app is about to be updated #3040
|
||||
* Windows: Add version information for owncloud.exe. This should help us know
|
||||
what version or build number a crash report was generated with.
|
||||
* Fix a crash on shutdown in ~SocketApi #3057
|
||||
* SyncEngine: Show more timing measurements #3064
|
||||
* Discovery: Add warning if returned etag is 0
|
||||
* Fix a crash caused by an invalid DiscoveryDirectoryResult::iterator #3051
|
||||
* Sync: Fix sync of deletions during 503. #2894
|
||||
* Handle redirect of auth request. #3082
|
||||
* Discovery: Fix parsing of broken XML replies, which fixes local file disappearing #3102
|
||||
* Migration: Silently restore files that were deleted locally by bug #3102
|
||||
* Sort folder sizes SelectiveSyncTreeView numerically #3112
|
||||
* Sync: PropagateDownload: Read the mtime from the file system after writing it #3103
|
||||
* Sync: Propagate download: Fix restoring files for which the conflict file exists #3106
|
||||
* Use identical User Agents and version for csync and the Qt parts
|
||||
* Prevent another crash in ~SocketApi #3118
|
||||
* Windows: Fix rename of finished file. #3073
|
||||
* AccountWizard: Fix auth error handling. #3155
|
||||
* Documentation fixes
|
||||
* Infrastructure/build fixes
|
||||
* Win32/OS X: Apply patch from OpenSSL to handle oudated intermediates gracefully #3087
|
||||
|
||||
csync:
|
||||
* Add a variable to run csync completely without a journal
|
||||
version 1.8.0 (release 2015-03-17)
|
||||
* Mac OS: HIDPI support
|
||||
* Support Sharing from desktop: Added a share dialog that can be
|
||||
opened by context menu in the file managers (Win, Mac, Nautilus)
|
||||
Supports public links with password enforcement
|
||||
* Enhanced usage of parallel HTTP requests for ownCloud 8 servers
|
||||
* Renamed github repository from mirall to client.
|
||||
* Mac OS: Use native notification support
|
||||
* Selective Sync: allow to enforce selective sync in brandings.
|
||||
* Added ability to build on Windows utilizing MingGW
|
||||
* SQLite database fixes if running on FAT filesystems
|
||||
* Improved detection of changing files to upload from local
|
||||
* Preparations for the multi-account feature
|
||||
* Fixed experience for Window manager without system tray
|
||||
* Build with Qt 5.4
|
||||
* Dropped libneon dependency if Qt 5.4 is available
|
||||
* Keep files open very short, that avoid lock problems on Windows
|
||||
especially with office software but also others.
|
||||
* Merged some NetBSD patches
|
||||
* Selective sync support for owncloudcmd
|
||||
* Reorganize the source repository
|
||||
* Prepared direct download
|
||||
* Added Crashreporter feature to be switched on on demand
|
||||
* A huge amount of bug fixes in all areas of the client.
|
||||
* almost 700 commits since 1.7.1
|
||||
|
||||
version 0.42.0 alpha2 (released 2008-06-16)
|
||||
version 1.7.1 (release 2014-12-18)
|
||||
* Documentation fixes and updates
|
||||
* Nautilus Python plugin fixed for Python 3
|
||||
* GUI wording fixes plus improved log messages
|
||||
* Fix hidning of the database files in the sync directories
|
||||
* Compare http download size with the header value to avoid broken
|
||||
downloads, bug #2528
|
||||
* Avoid initial ETag fetch job at startup, which is not needed.
|
||||
* Add chunk size http header to PUT requests
|
||||
* Fixed deteteCookie method of our CookieJar, fix for Shibboleth
|
||||
* Added fallback for distros where XDG_RUNTIME_DIR is undefined
|
||||
* Fix the setup wizard, bug #1989, #2264
|
||||
* Fix scheduling of ETag check jobs, bug #2553
|
||||
* Fix to avoid syncing more than one folder at a time, bug #2407
|
||||
* Use fife minutes timeout for all network jobs
|
||||
* Cleanup for Folderwizard wording
|
||||
* Improve journal check: Remove corrupted journal files, bug #2547
|
||||
* Fix item count in progress dialog for deletes, bug #1132
|
||||
* Display correct file count on deletion (#1132)
|
||||
* Fix reinitializing the folder using the wizard in certain cases (#2606)
|
||||
* Mac OS: Fixed branding of the pkg file
|
||||
* Mac OS: Fix display of overlay icons in certain situations (#1132)
|
||||
* Mac OS: Use a bundled version of OpenSSL (#764, #2600, #2510)
|
||||
* Win32: improved filesystem watcher
|
||||
* Win32: Improve threading with shell integration
|
||||
* Win32: Upgraded to OpenSSL 1.0.1j
|
||||
* Win32: Improve reliability of Installer, fix removal of Shell Extensions
|
||||
|
||||
libcsync:
|
||||
* Peformance improvements
|
||||
* Add more directories to the standard exclude file
|
||||
* Bugfixes
|
||||
version 1.7.0 (release 2014-11-07)
|
||||
|
||||
version 0.42.0 alpha1 (released 2008-06-02)
|
||||
* oC7 Sharing: Handle new sharing options of ownCloud 7 correctly.
|
||||
* Added Selective sync: Ability to unselect server folders which are
|
||||
excluded from syncing, plus GUI and setup GUI
|
||||
* Added overlay icons for Windows Explorer, Mac OS Finder and GNOME Nautilus.
|
||||
Information is provided by the client via a local socket / named pipe API
|
||||
which provides information about the sync status of files.
|
||||
* Improved local change detection: consider file size, detect files
|
||||
with ongoing changes and do not upload immediately
|
||||
* Improved HTTP request timeout handler: all successful requests reset
|
||||
the timeout counter
|
||||
* Improvements for syncing command line tool: netrc support, improved
|
||||
SSL support, non interactive mode
|
||||
* Permission system: ownCloud 7 delivers file and folder permissions,
|
||||
added ability to deal with it for shared folders and more.
|
||||
* Ignore handling: Do not recurse into ignored or excluded directories
|
||||
* Major sync journal database improvements for more stability and performance
|
||||
* New library interface to sqlite3
|
||||
* Improve "resync handling" if errors occur
|
||||
* Blacklist improvements
|
||||
* Improved logging: more useful meta info, removed noise
|
||||
* Updated to latest Qt5 versions on Windows and OS X
|
||||
* Fixed data loss when renaming a download temporary fails and there was
|
||||
a conflict at the same time.
|
||||
* Fixed missing warnings about reusing a sync folder when the back button
|
||||
was used in the advanced folder setup wizard.
|
||||
* The 'Retry Sync' button now also restarts all downloads.
|
||||
* Clean up temporary downloads and some extra database files when wiping a
|
||||
folder.
|
||||
* OS X: Sparkle update to provide pkg format properly
|
||||
* OS X: Change distribution format from dmg to pkg with new installer.
|
||||
* Windows: Fix handling of filenames with trailing dot or space
|
||||
* Windows: Don't use the wrong way to get file mtimes in the legacy propagator.
|
||||
|
||||
version 1.6.4 (release 2014-10-22)
|
||||
* Fix startup logic, fixes bug #1989
|
||||
* Fix raise dialog on X11
|
||||
* Win32: fix overflow when computing the size of file > 4GiB
|
||||
* Use a fixed function to get files modification time, the
|
||||
original one was broken for certain timezone issues, see
|
||||
core bug #9781 for details
|
||||
* Added some missing copyright headers
|
||||
* Avoid data corruption due to wrong error handling, bug #2280
|
||||
* Do improved request timeout handling to reduce the number of
|
||||
timed out jobs, bug #2155
|
||||
version 1.6.3 (release 2014-09-03)
|
||||
* Fixed updater on OS X
|
||||
* Fixed memory leak in SSL button that could lead to quick memory draining
|
||||
* Fixed upload problem with files >4 GB
|
||||
* MacOSX, Linux: Bring Settings window to front properly
|
||||
* Branded clients: If no configuration is detected, try to import the data
|
||||
from a previously configured community edition.
|
||||
|
||||
version 1.6.2 (release 2014-07-28 )
|
||||
* Limit the HTTP buffer size when downloading to limit memory consumption.
|
||||
* Another small mem leak fixed in HTTP Credentials.
|
||||
* Fix local file name clash detection for MacOSX.
|
||||
* Limit maximum wait time to ten seconds in network limiting.
|
||||
* Fix data corruption while trying to resume and the server does
|
||||
not support it.
|
||||
* HTTP Credentials: Read password from legacy place if not found.
|
||||
* Shibboleth: Fix the waiting curser that would not disapear (#1915)
|
||||
* Limit memory usage to avoid mem wasting and crashes
|
||||
* Propagator: Fix crash when logging out during upload (#1957)
|
||||
* Propagator_qnam: Fix signal slot connection (#1963)
|
||||
* Use more elaborated way to detect that the server was reconfigured (#1948)
|
||||
* Setup Wizard: Reconfigure Server also if local path was changed (#1948)
|
||||
|
||||
version 1.6.1 (release 2014-06-26 )
|
||||
* Fix 'precondition failed' bug with broken upload
|
||||
* Fix openSSL problems for windows deployment
|
||||
* Fix syncing a folder with '#' in the name
|
||||
* Fix #1845: do not update parent directory etag before sub
|
||||
directories are removed
|
||||
* Fix reappearing directories if dirs are removed during its
|
||||
upload
|
||||
* Fix app version in settings dialog, General tab
|
||||
* Fix crash in FolderWizard when going offline
|
||||
* Shibboleth fixes
|
||||
* More specific error messages (file remove during upload, open
|
||||
local sync file)
|
||||
* Use QSet rather than QHash in SyncEngine (save memory)
|
||||
* Fix some memory leaks
|
||||
* Fix some thread race problems, ie. wait for neon thread to finish
|
||||
before the propagator is shut down
|
||||
* Fix a lot of issues and warnings found by Coverity
|
||||
* Fix Mac some settings dialog problems
|
||||
|
||||
|
||||
version 1.6.0 (release 2014-05-30 )
|
||||
* Minor GUI improvements
|
||||
* Qt5 compile issues fixed
|
||||
* Ignore sync log file in filewatcher
|
||||
* Install libocsync to private library dir and use rpath to localize
|
||||
* Fix reconnect after server disconnect
|
||||
* Fix "unknown action" display in Activity window
|
||||
* Fix memory leaks
|
||||
* Respect XDG_CONFIG_HOME environment var
|
||||
* Handle empty fileids in the journal correctly
|
||||
* Add abilility to compile libowncloudsync without GUI dependendy
|
||||
* Fix SSL error with previously-expired CAs on Windows
|
||||
* Fix incorrect folder pause state after start
|
||||
* Fix a couple of actual potential crashes
|
||||
* Improve Cookie support (e.g. for cookie-based load-balancers)
|
||||
* Introduce a general timeout of 300s for network operations
|
||||
* Improve error handling, blacklisting
|
||||
* Job-based change propagation, enables faster parallel up/downloads
|
||||
(right now only if no bandwidth limit is set and no proxy is used)
|
||||
* Significantly reduced CPU load when checking for local and remote changes
|
||||
* Speed up file stat code on Windows
|
||||
* Enforce Qt5 for Windows and Mac OS X builds
|
||||
* Improved owncloudcmd: SSL support, documentation
|
||||
* Added advanced logging of operations (file .???.log in sync
|
||||
directory)
|
||||
* Avoid creating a temporary copy of the sync database (.ctmp)
|
||||
* Enable support for TLS 1.2 negotiation on platforms that use
|
||||
Qt 5.2 or later
|
||||
* Forward server exception messages to client error messages
|
||||
* Mac OS X: Support Notification Center in OS X 10.8+
|
||||
* Mac OS X: Use native settings dialog
|
||||
* Mac OS X: Fix UI inconsistencies on Mavericks
|
||||
* Shibboleth: Warn if authenticating with a different user
|
||||
* Remove vio abstraction in csync
|
||||
* Avoid data loss when a client file system is not case sensitive
|
||||
|
||||
version 1.5.3 (release 2014-03-10 )
|
||||
* Fix usage of proxies after first sync run (#1502, #1524, #1459, #1521)
|
||||
* Do not wipe the credentials from config for reconnect (#1499, #1503)
|
||||
* Do not erase the full account config if an old version of the client stored
|
||||
the password (related to above)
|
||||
* Fix layout of the network tab (fixes #1491)
|
||||
* Handle authentication requests by a Shibboleth IdP
|
||||
* Shibboleth: If no connection is available, don't open the login window
|
||||
* [Packaging] Debian/Ubuntu: ship sync-exclude.lst
|
||||
* [Packaging] Fix issues with access to gnome keychain in Fedora and RHEL6
|
||||
* [Packaging] Ensure all sub packages get updated
|
||||
* [Packaging] Fix incorrect path in desktop file (RHEL6/CentOS6)
|
||||
|
||||
version 1.5.2 (release 2014-02-26 )
|
||||
* Fix behavior when attempting to rename Shared folder
|
||||
* Fix potential endless sync loops on Mac OS (#1463)
|
||||
* Fix potential crash when pausing during update phase (#1442)
|
||||
* Fix handing of shared directories
|
||||
* Fix online state handling (#1441, #1459)
|
||||
* Fix potential crash in c_iconv on Mac OS
|
||||
* Fix certificate chain display in SSLButton
|
||||
* Fix sporadicly appearing multiple auth prompts on sign-in
|
||||
* Show correct state icon in Account Settings right away
|
||||
* Re-fetch content that gets deleted from read only shared directories
|
||||
* Do not store the password in the config file, erase existing ones (#1469)
|
||||
* Shibboleth: Close browser window after login
|
||||
* Shibboleth: Proper invalidation if timeout during sync
|
||||
* Shibboleth: Do not pop up IdP login immediately when modifying account
|
||||
* Shibboleth: Avoid auth on restart by storing cookies in the wallet
|
||||
* Fix license headers
|
||||
|
||||
version 1.5.1 (release 2014-02-13 )
|
||||
* Added an auto updater that updates the client if a
|
||||
more recent version was found automatically (Windows, Mac OS X)
|
||||
* Added a button to the account dialog that gives information
|
||||
about the encryption layer used for communication, plus a
|
||||
certificate information widget
|
||||
* Preserve the permission settings of local files rather than
|
||||
setting them to a default (Bug #820)
|
||||
* Handle windows lnk files correctly (Bug #1307)
|
||||
* Detect removes and renames in read only shares and
|
||||
restore the gone away files. (Bug #1386)
|
||||
* Fixes sign in/sign out and password dialog. (Bug #1353)
|
||||
* Fixed error messages (Bug #1394)
|
||||
* Lots of fixes for building with Qt5
|
||||
* Changes to network limits are now also applied during a
|
||||
sync run
|
||||
* Fixed mem leak after via valgrind on Mac
|
||||
* Imported the ocsync library into miralls repository.
|
||||
Adopted all build systems and packaging to that.
|
||||
* Introduce a new linux packaging scheme following the
|
||||
debian upstream scheme
|
||||
* Use a refactored Linux file system watcher based on
|
||||
inotify, incl. unit tests
|
||||
* Wizard: Gracefully fall back to HTTP if HTTPS connection
|
||||
fails, issuing a warning
|
||||
* Fixed translation misses in the propagator
|
||||
* Fixes in proxy configuration
|
||||
* Fixes in sync journal handling
|
||||
* Fix the upload progress if the local source is still
|
||||
changing when the upload begins.
|
||||
* Add proxy support to owncloud commandline client
|
||||
* NSIS fixes
|
||||
* A lot of other fixes and minor improvements
|
||||
* Improve Qt5 compatability
|
||||
|
||||
version 1.5.0 (release 2013-12-12 ), csync 0.91.4 required
|
||||
* New owncloud propagator that skips the vio abstraction layer
|
||||
* Add owncloudcmd to replace the ocsync command line tool
|
||||
* Localize Windows installer
|
||||
* Allow to sign in and out
|
||||
* Ask for password if missing
|
||||
* Introduce activity view
|
||||
* Introduce black list for files which could not be synced
|
||||
* Enabling accessbility by shipping accessibility enables on OS X (#736)
|
||||
* Toggle Settings window when clicking on systray icon on Win and KDE (#896)
|
||||
* FolderWizard: Sanitize error detection (#1201)
|
||||
* Set proper enable state of blacklist button after the dialog was opened
|
||||
* Set proper tooltips in blacklist
|
||||
* Translatable error messages for file errors
|
||||
* Add man page for owncloudcmd (#1234)
|
||||
* Don't close setup wizard when the initial sync run is started
|
||||
* Close the sync journal if a folder gets removed (#1252)
|
||||
* Activity: Avoid horizontal scrollbar (#1213)
|
||||
* Fix crash (#1229)
|
||||
* Resize wizard appropriately (#1130)
|
||||
* Fix account identity test (#1231)
|
||||
* Maintain the file type correctly
|
||||
* Display rename-target in sync protocol action column
|
||||
* Let recursive removal also remove the top dir
|
||||
* If item is a directory, remove its contents from the database as well (#1257)
|
||||
* Install headers for owncloudsync library
|
||||
* Fix opening the explorer with a selected file in Windows (#1249)
|
||||
* Add build number into versioning scheme
|
||||
* Windows: Fix rename of temporary files
|
||||
* Windows: Fix move file operation
|
||||
|
||||
version 1.4.2 (release 2013-10-18 ), csync 0.90.4 required
|
||||
* Do not show the warning icon in the tray (#944)
|
||||
* Fix manual proxy support when switching (#1016)
|
||||
* Add folder column to detailed sync protocol (#1037)
|
||||
* Fix possible endless loop in inotify (#1041)
|
||||
* Do not elide the progress text (#1049)
|
||||
* Fix high CPU load (#1073)
|
||||
* Reconnect if network is unavailable after startup (#1080)
|
||||
* Ensure paused folder stays paused when syncing with more than one folder (#1083)
|
||||
* Don't show desktop notification when the user doesn't want to (#1093)
|
||||
* System tray: Avoid quick flickering up of the ok-icon for the sync prepare state
|
||||
* Progress: Do not show progress if nothing is transmitted
|
||||
* Progress: Show number of deletes.
|
||||
|
||||
version 1.4.1 (release 2013-09-24 ), csync 0.90.1 required
|
||||
|
||||
* Translation and documentation fixes.
|
||||
* Fixed error display in settings/status dialog, displays multi
|
||||
line error messages now correctly.
|
||||
* Wait up to 30 secs before complaining about missing systray
|
||||
Fixes bug #949
|
||||
* Fixed utf8 issues with basic auth authentication, fixes bug #941
|
||||
* Fixed remote folder selector, avoid recursive syncing, fixes bug #962
|
||||
* Handle and display network problems at startup correctly.
|
||||
* Enable and disable the folder watcher during syncs correctly.
|
||||
* Fix setting of thread priority.
|
||||
* Fixed file size display.
|
||||
* Fixed various folder wizard issues, bug #992
|
||||
* Made "Sync started" message optional, fixes bug #934
|
||||
* Fixed shutdown, avoid crashed config on win32, fixes bug #945
|
||||
* Pop up config wizard if no server url is configured, fixes bug #1018
|
||||
* Settings: calculate sidebar width dynamically, fixes bug #1020
|
||||
* Fixed a crash if sync folders were removed, fixes bug #713
|
||||
* Do proper resync after network disconnect, fixes bug #1007
|
||||
* Various minor code fixes
|
||||
|
||||
version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required
|
||||
|
||||
* New Scheduler: Only sync when there are actual changes in the server
|
||||
* Add a Settings Dialog, move Proxy Settings there
|
||||
* Transform folder Status Dialog into Account Settings, provide feedback via context menu
|
||||
* Add Bandwidth Control
|
||||
* Add a visual storage/quota indicator (context menu and account settings)
|
||||
* Add progress indication (context menu and account settings)
|
||||
* Introduce a sync history, persisting results across syncs
|
||||
* Move ability to switch to mono icons from a switch to a Settings option
|
||||
* Add "Launch on System Startup" GUI option
|
||||
* Add "Show Desktop Nofications"GUI option (enabled by default)
|
||||
top optionally disable sync notifications
|
||||
* Add Help item, pointing to online reference
|
||||
* Implement graphical selection of remote folders in FolderWizard
|
||||
* Allow custom ignore patterns
|
||||
* Add an editor for ingore patterns
|
||||
* ALlow to flag certain ignore patterns as discardable
|
||||
* Ensure to ship with all valid translations
|
||||
* Progress Dialog now preserves the last syncned items across sync runs
|
||||
* Split Setup Wizard into multiple pages again
|
||||
* Implement "--logfile -" to log to stdout
|
||||
* Add preliminary support for Shibboleth authentication
|
||||
* Linux: Provide more icon sizes
|
||||
* Linux: Do not trigger notifier on ignored files
|
||||
* Windows: Reduce priority of CSync thread
|
||||
* Documentation: Prem. updates to reflect UI changes
|
||||
* Significant code refactorings
|
||||
* Require Qt 4.7
|
||||
* Known issue: Under certain conditions, a file will only get uploaded after up to five minutes
|
||||
|
||||
version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required
|
||||
|
||||
* Default proxy port to 8080
|
||||
* Don't lose proxy settings when changing passwords
|
||||
* Support SOCKS5 proxy (useful in combination with ssh *D)
|
||||
* Propagate proxy changes to csync at runtime
|
||||
* Improve proxy wizard
|
||||
* Display proxy errors
|
||||
* Solved problems with lock files
|
||||
* Warn if for some reason all files are scheduled for removal on either side
|
||||
* Avoid infinite loop if authentication fails in certain cases
|
||||
* Fix reading the password from the config in certain cases
|
||||
* Do not crash when configured sync target disappears
|
||||
* Make --help work on windows
|
||||
* Make sync feedback less ambiguous.
|
||||
* Fix icon tray tooltip sometimes showing repeated content
|
||||
* More use of native directory separators on Windows
|
||||
* Remove journal when reusing a directory that used to have a journal before
|
||||
* Visual clean up of status dialog items
|
||||
* Wizard: When changing the URL or user name, allow the user to push his data
|
||||
to the new location or wipe the folder and start from scratch
|
||||
* Wizard: Make setting a custom folder as a sync target work again
|
||||
* Fix application icon
|
||||
* User-Agent now contains "Mozilla/5.0" and the Platform name (for firewall/proxy compat)
|
||||
* Server side directory moves will be detected
|
||||
* New setup wizard, defaulting to root syncing (only for new setups)
|
||||
* Improved thread stop/termination
|
||||
|
||||
version 1.2.5 (release 2013-04-23 ), csync 0.70.7 required
|
||||
* [Fixes] NSIS installer fixes
|
||||
* [Fixes] Fix crash race by making certificateChain() thread safe
|
||||
* [Fixes] Build with older CMake versions (CentOS/RHEL 6)
|
||||
* [Fixes] Wording in GUI
|
||||
* [Fixes] Silently ignore "installed = true" status.php
|
||||
* Set log verbosity before calling csync_init.
|
||||
* GUI feedback for the statistics copy action
|
||||
* Safer approach for detecting duplicate sync runs
|
||||
|
||||
version 1.2.4 (release 2013-04-11 ), csync 0.70.6 required
|
||||
* [Fixes] Clarify string in folder wizard
|
||||
* [Fixes] Fixed some valgrind warnings
|
||||
* [Fixes] Ensure that only one sync thread can ever run
|
||||
* [Fixes] Fix default config storage path
|
||||
* [Fixes] Skip folders with no absolute path
|
||||
* [Fixes] Allow setting the configuration directory on command line
|
||||
|
||||
version 1.2.3 (release 2013-04-02 ), csync 0.70.5 required
|
||||
* [Fixes] Unbreak self-signed certificate handling
|
||||
|
||||
version 1.2.2 (release 2013-04-02 ), csync 0.70.5 required
|
||||
* [Fixes] Do not crash when local file tree contains symlinks
|
||||
* [Fixes] Correctly handle locked files on Windows
|
||||
* [Fixes] Display errors in all members of the SSL chain
|
||||
* [Fixes] Enable Accessibility features on Windows
|
||||
* [Fixes] Make setupFavLink work properly on Mac OS
|
||||
* [Fixes] Ignore temporary files created by MS Office
|
||||
* [Gui] Support Nautilus in setupFavLink
|
||||
|
||||
version 1.2.1 (release 2013-02-26 ), csync 0.70.4 required
|
||||
* [Fixes] Leave configured folders on configuration changes.
|
||||
* [Fixes] Do not allow to finish the setup dialog if connection can't be established.
|
||||
* [Fixes] Better handling of credentials in setup dialog.
|
||||
* [Fixes] Do not leak fd's to /dev/null when using gnutls
|
||||
* [Fixes] Stop sync scheduling when configuration wizard starts.
|
||||
* [Fixes] Clear pending network requests when stepping back in config wizard.
|
||||
* [Fixes] User password dialog asynchronous issues.
|
||||
* [Fixes] Make folderman starting and stoping the scheduling.
|
||||
* [Fixes] Various minor fixes and cleanups.
|
||||
* [Fixes] Crash on pausing sync
|
||||
* [Fixes] Stale lock file after pausing sync
|
||||
* [App] Load translations from app dir or bundle as well.
|
||||
* [Platform] Build fixes and simplifications, ie. build only one lib.
|
||||
* [Platform] Added some getter/setters for configuration values.
|
||||
* [Platform] Added man pages.
|
||||
* [Platform] Simplified/fixed credential store usage and custom configs.
|
||||
* [Platform] Added soname version to libowncloudsync.
|
||||
* [Platform] Pull in Qt translations
|
||||
* [Gui] Make sync result popups less annoyingq
|
||||
* [Gui] Fix for result popup
|
||||
|
||||
version 1.2.0 (release 2013-01-24 ), csync 0.70.2 required
|
||||
* [GUI] New status dialog to show a detailed list of synced files.
|
||||
* [GUI] New tray notifications about synced files.
|
||||
* [GUI] New platform specific icon set.
|
||||
* [App] Using cross platform QtKeychain library to store credentials crypted.
|
||||
* [App] Use cross platform notification for changes in the local file system rather than regular poll.
|
||||
* [Fixes] Improved SSL Certificate handling and SSL fixes troughout syncing.
|
||||
* [Fixes] Fixed proxy authentication.
|
||||
* [Fixes] Allow brackets in folder name alias.
|
||||
* [Fixes] Lots of other minor fixes.
|
||||
* [Platform] cmake fixes.
|
||||
* [Platform] Improved, more detailed error reporting.
|
||||
|
||||
version 1.1.4 (release 2012-12-19 ), csync 0.60.4 required
|
||||
* No changes to mirall, only csync fixes.
|
||||
|
||||
version 1.1.3 (release 2012-11-30 ), csync 0.60.3 required
|
||||
* No changes to mirall, only csync fixes.
|
||||
|
||||
version 1.1.2 (release 2012-11-26 ), csync 0.60.2 required
|
||||
* [Fixes] Allow to properly cancel the password dialog.
|
||||
* [Fixes] Share folder name correctly percent encoded with old Qt
|
||||
4.6 builds ie. Debian.
|
||||
* [Fixes] If local sync dir is not existing, create it.
|
||||
* [Fixes] lots of other minor fixes.
|
||||
* [GUI] Display error messages in status dialog.
|
||||
* [GUI] GUI fixes for the connection wizard.
|
||||
* [GUI] Show username for connection in statusdialog.
|
||||
* [GUI] Show intro wizard on new connection setup.
|
||||
* [APP] Use CredentialStore to better support various credential
|
||||
backends.
|
||||
* [APP] Handle missing local folder more robust: Create it if
|
||||
missing instead of ignoring.
|
||||
* [APP] Simplify treewalk code.
|
||||
* [Platform] Fix Mac building
|
||||
|
||||
version 1.1.1 (release 2012-10-18), csync 0.60.1 required
|
||||
* [GUI] Allow changing folder name in single folder mode
|
||||
* [GUI] Windows: Add license to installer
|
||||
* [GUI] owncloud --logwindow will bring up the log window
|
||||
in an already running instance
|
||||
* [Fixes] Make sure SSL errors are always handled
|
||||
* [Fixes] Allow special characters in folder alias
|
||||
* [Fixes] Proper workaround for Menu bug in Ubuntu
|
||||
* [Fixes] csync: Fix improper memory cleanup which could
|
||||
cause memory leaks and crashes
|
||||
* [Fixes] csync: Fix memory leak
|
||||
* [Fixes] csync: Allow single quote (') in file names
|
||||
* [Fixes] csync: Remove stray temporary files
|
||||
|
||||
* [GUI] Reworked tray context menu.
|
||||
* [GUI] Users can now sync the server root folder.
|
||||
* [Fixes] Proxy support: now supports Proxy Auto-Configuration (PAC)
|
||||
on Windows, reliability fixes across all OSes.
|
||||
* [Fixes] Url entry field in setup assistant handles http/https correctly.
|
||||
* [Fixes] Button enable state in status dialog.
|
||||
* [Fixes] Crash fixed on ending the client, tray icon related.
|
||||
* [Fixes] Crash through wrong delete operator.
|
||||
* [MacOS] behave correctly on retina displays.
|
||||
* [MacOS] fix focus policy.
|
||||
* [MacOS] Packaging improvements.
|
||||
* [MacOS] Packaging improvements.
|
||||
* [Platform] Windows: Setup closes client prior to uninstall.
|
||||
* [Platform] Windows: ownCloud gets added to autorun by default.
|
||||
* [Platform] insert correct version info from cmake.
|
||||
* [Platform] csync conf file and database were moved to the users app data
|
||||
directory, away from the .csync dir.
|
||||
* Renamed exclude.lst to sync-exclude.lst and moved it to
|
||||
/etc/appName()/ for more clean packaging. From the user path,
|
||||
still exclude.lst is read if sync-exclude.lst is not existing.
|
||||
* Placed custom.ini with customization options to /etc/appName()
|
||||
|
||||
version 1.0.5 (release 2012-08-14), csync 0.50.8 required
|
||||
* [Fixes] Fixed setup dialog: Really use https if checkbox is activated.
|
||||
|
||||
version 1.0.4 (release 2012-08-10), csync 0.50.8 required
|
||||
* [APP] ownCloud is now a single instance app, can not start twice any more.
|
||||
* [APP] Proxy support
|
||||
* [APP] Handle HTTP redirection correctly, note new url.
|
||||
* [APP] More relaxed handling of read only directories in the sync paths.
|
||||
* [APP] Started to split off a library with sync functionality, eg for KDE
|
||||
* [APP] Make ownCloud Info class a singleton, more robust.
|
||||
* [GUI] New, simplified connection wizard.
|
||||
* [GUI] Added ability for customized theming.
|
||||
* [GUI] Improved icon size handling.
|
||||
* [GUI] Removed Log Window Button, log available through command line.
|
||||
* [GUI] Proxy configuration dialog added.
|
||||
* [GUI] Added Translations to languages Slovenian, Polish, Catalan,
|
||||
Portuguese (Brazil), German, Greek, Spanish, Czech, Italian, Slovak,
|
||||
French, Russian, Japanese, Swedish, Portuguese (Portugal)
|
||||
all with translation rate >90%.
|
||||
* [Fixes] Loading of self signed certs into Networkmanager (#oc-843)
|
||||
* [Fixes] Win32: Handle SSL dll loading correctly.
|
||||
* [Fixes] Many other small fixes and improvements.
|
||||
|
||||
version 1.0.3 (release 2012-06-19), csync 0.50.7 required
|
||||
* [GUI] Added a log window which catches the logging if required and
|
||||
allows to save for information.
|
||||
* [CMI] Added options --help, --logfile and --logflush
|
||||
* [APP] Allow to specify sync frequency in the config file.
|
||||
* [Fixes] Do not use csync database files from a sync before.
|
||||
* [Fixes] In Connection wizard, write the final config onyl if
|
||||
the user really accepted. Also remove the former database.
|
||||
* [Fixes] More user expected behaviour deletion of sync folder local
|
||||
and remote.
|
||||
* [Fixes] Allow special characters in the sync directory names
|
||||
* [Fixes] Win32: Fixed directory removal with special character dirs.
|
||||
* [Fixes] MacOS: Do not flood the system log any more
|
||||
* [Fixes] MacOS: Put app translations to correct places
|
||||
* [Fixes] Win32: Fix loading of csync state db.
|
||||
* [Fixes] Improved some english grammar.
|
||||
* [Platform] Added krazy2 static code checks.
|
||||
|
||||
version 1.0.2 (release 2012-05-18), csync 0.50.6 required
|
||||
* [GUI] New icon set for ownCloud client
|
||||
* [GUI] No splashscreen any more (oC Bug #498)
|
||||
* [GUI] Russian translation added
|
||||
* [GUI] Added 'open ownCloud' to traymenu
|
||||
* [GUI] "Pause" and "Resume" instead of Enable/Disable
|
||||
* [Fixes] Long running syncs can be interrupted now.
|
||||
* [Fixes] Dialogs comes to front on click
|
||||
* [Fixes] Open local sync folder from tray and status for win32
|
||||
* [Fixes] Load exclude.lst correctly on MacOSX
|
||||
+ csync fixes.
|
||||
|
||||
version 1.0.1 (release 2012-04-18), csync 0.50.5 required
|
||||
* [Security] Support SSL Connections
|
||||
* [Security] SSL Warning dialog
|
||||
* [Security] Do not store password in clear text anymore
|
||||
* [Security] Restrict credentials to the configured host
|
||||
* [Security] Added ability to forbid local password storage.
|
||||
* [Fixes] Various fixes of the startup behaviour.
|
||||
* [Fixes] Various fixes in sync status display
|
||||
* [GUI] Various error messages for user display improved.
|
||||
* [GUI] fixed terms and Translations
|
||||
* [GUI] fixed translation loading
|
||||
* [Intern] Migrate old credentials to new format
|
||||
* [Intern] Some code refactorings, got rid of rotten QWebDav lib
|
||||
* [Intern] lots of cmake cleanups
|
||||
* [Intern] Backport to Qt Version 4.6 for compat. with older distros.
|
||||
* [Platform] MacOSX porting efforts
|
||||
* [Platform] MacOSX Bundle creation added
|
||||
* [Platform] Enabled ranslations on Windows.
|
||||
|
||||
* Initial release
|
||||
|
||||
58
Jenkinsfile
vendored
Normal file
58
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
#!groovy
|
||||
|
||||
node('CLIENT') {
|
||||
stage 'Checkout'
|
||||
checkout scm
|
||||
sh '''git submodule update --init'''
|
||||
|
||||
stage 'Qt4'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DUNIT_TESTING=1 -DBUILD_WITH_QT4=ON ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
stage 'Qt4 - clang'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUNIT_TESTING=1 -DBUILD_WITH_QT4=ON ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
stage 'Qt5'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DUNIT_TESTING=1 -DBUILD_WITH_QT4=OFF ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
stage 'Qt5 - clang'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUNIT_TESTING=1 -DBUILD_WITH_QT4=OFF ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
|
||||
stage 'Win32'
|
||||
def win32 = docker.image('deepdiver/docker-owncloud-client-win32:latest')
|
||||
win32.pull() // make sure we have the latest available from Docker Hub
|
||||
win32.inside {
|
||||
sh '''
|
||||
rm -rf build-win32
|
||||
mkdir build-win32
|
||||
cd build-win32
|
||||
../admin/win/download_runtimes.sh
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../admin/win/Toolchain-mingw32-openSUSE.cmake -DWITH_CRASHREPORTER=ON
|
||||
make -j4
|
||||
make package
|
||||
ctest .
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
18
OWNCLOUD.cmake
Normal file
18
OWNCLOUD.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
set( APPLICATION_NAME "ownCloud" )
|
||||
set( APPLICATION_EXECUTABLE "owncloud" )
|
||||
set( APPLICATION_DOMAIN "owncloud.com" )
|
||||
set( APPLICATION_VENDOR "ownCloud" )
|
||||
set( APPLICATION_UPDATE_URL "https://updates.owncloud.com/client/" CACHE string "URL for updater" )
|
||||
|
||||
set( THEME_CLASS "ownCloudTheme" )
|
||||
set( APPLICATION_REV_DOMAIN "com.owncloud.desktopclient" )
|
||||
set( WIN_SETUP_BITMAP_PATH "${CMAKE_SOURCE_DIR}/admin/win/nsi" )
|
||||
|
||||
set( MAC_INSTALLER_BACKGROUND_FILE "${CMAKE_SOURCE_DIR}/admin/osx/installer-background.png" CACHE STRING "The MacOSX installer background image")
|
||||
|
||||
# set( THEME_INCLUDE "${OEM_THEME_DIR}/mytheme.h" )
|
||||
# set( APPLICATION_LICENSE "${OEM_THEME_DIR}/license.txt )
|
||||
|
||||
option( WITH_CRASHREPORTER "Build crashreporter" OFF )
|
||||
set( CRASHREPORTER_SUBMIT_URL "https://crash-reports.owncloud.com/submit" CACHE string "URL for crash reporter" )
|
||||
set( CRASHREPORTER_ICON ":/owncloud-icon.png" )
|
||||
67
OwnCloudCPack.cmake
Normal file
67
OwnCloudCPack.cmake
Normal file
@@ -0,0 +1,67 @@
|
||||
include( InstallRequiredSystemLibraries )
|
||||
|
||||
set( CPACK_PACKAGE_CONTACT "Dominik Schmidt <domme@tomahawk-player.org>" )
|
||||
|
||||
if ( DEFINED OEM_THEME_DIR AND EXISTS ${OEM_THEME_DIR}/OEM.cmake )
|
||||
include ( "${OEM_THEME_DIR}/OEM.cmake" )
|
||||
else ()
|
||||
include ( "${CMAKE_SOURCE_DIR}/OWNCLOUD.cmake" )
|
||||
endif()
|
||||
|
||||
include( VERSION.cmake )
|
||||
set( CPACK_PACKAGE_VERSION_MAJOR ${MIRALL_VERSION_MAJOR} )
|
||||
set( CPACK_PACKAGE_VERSION_MINOR ${MIRALL_VERSION_MINOR} )
|
||||
set( CPACK_PACKAGE_VERSION_PATCH ${MIRALL_VERSION_PATCH} )
|
||||
set( CPACK_PACKAGE_VERSION_BUILD ${MIRALL_VERSION_BUILD} )
|
||||
set( CPACK_PACKAGE_VERSION ${MIRALL_VERSION_FULL}${MIRALL_VERSION_SUFFIX} )
|
||||
|
||||
if(APPLE)
|
||||
set( CPACK_GENERATOR "DragNDrop" )
|
||||
set( CPACK_SOURCE_GENERATOR "")
|
||||
set( CPACK_PACKAGE_FILE_NAME ${APPLICATION_SHORTNAME}-${CPACK_PACKAGE_VERSION} )
|
||||
set( CPACK_PACKAGE_ICON ${CMAKE_BINARY_DIR}/src/gui/ownCloud.icns)
|
||||
|
||||
set( CPACK_DMG_DS_STORE "${CMAKE_SOURCE_DIR}/admin/osx/DS_Store.in")
|
||||
# set( CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_SOURCE_DIR}/admin/osx/DMGBackground.png" )
|
||||
|
||||
set( CPACK_DMG_FORMAT "UDBZ" )
|
||||
set( CPACK_DMG_VOLUME_NAME "${APPLICATION_SHORTNAME}")
|
||||
|
||||
# did not work with cmake 2.8.7, so we override MacOSXBundleInfo.plist.in
|
||||
#set( CPACK_BUNDLE_PLIST ${CMAKE_SOURCE_DIR}/admin/osx/Info.plist )
|
||||
|
||||
# do we need these?
|
||||
#set( CPACK_SYSTEM_NAME "OSX" )
|
||||
#set( CPACK_PACKAGE_NAME "FOO" )
|
||||
#set( CPACK_BUNDLE_NAME "BAR" )
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
if(WIN32)
|
||||
set( CPACK_PACKAGE_FILE_NAME ${APPLICATION_SHORTNAME}-${CPACK_PACKAGE_VERSION}-setup )
|
||||
# Package file name without extension. Also a directory of installer cmake-2.5.0-Linux-i686
|
||||
# CPACK_GENERATOR CPack generator to be used STGZ;TGZ;TZ
|
||||
# CPACK_INCLUDE_TOPLEVEL_DIRECTORY Controls whether CPack adds a top-level directory, usually of the form ProjectName-Version-OS, to the top of package tree. 0 to disable, 1 to enable
|
||||
# CPACK_INSTALL_CMAKE_PROJECTS List of four values: Build directory, Project Name, Project Component, Directory in the package /home/andy/vtk/CMake-bin;CMake;ALL;/
|
||||
set( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md" ) # File used as a description of a project /path/to/project/ReadMe.txt
|
||||
set( CPACK_PACKAGE_DESCRIPTION_SUMMARY "${APPLICATION_NAME} Syncing Client" ) # Description summary of a project
|
||||
# CPACK_PACKAGE_EXECUTABLES List of pairs of executables and labels. Used by the NSIS generator to create Start Menu shortcuts. ccmake;CMake
|
||||
set( CPACK_PACKAGE_INSTALL_DIRECTORY ${APPLICATION_SHORTNAME} ) # Installation directory on the target system -> C:\Program Files\fellody
|
||||
set( CPACK_PACKAGE_INSTALL_REGISTRY_KEY ${APPLICATION_SHORTNAME} ) # Registry key used when installing this project CMake 2.5.0
|
||||
set( CPACK_PACKAGE_NAME ${APPLICATION_NAME} ) # Package name, defaults to the project name
|
||||
set( CPACK_PACKAGE_VENDOR "http://${APPLICATION_DOMAIN}" ) # Package vendor name
|
||||
endif()
|
||||
|
||||
# set( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt" ) # License file for the project, used by the STGZ, NSIS, and PackageMaker generators. /home/andy/vtk/CMake/Copyright.txt
|
||||
|
||||
|
||||
set( CPACK_TOPLEVEL_TAG "unused" ) # Directory for the installed files. - needed to provide anything to avoid an error# CPACK_INSTALL_COMMANDS Extra commands to install components.
|
||||
|
||||
|
||||
# Set the options file that needs to be included inside CMakeCPackOptions.cmake
|
||||
configure_file("${CMAKE_SOURCE_DIR}/CPackOptions.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/CPackOptions.cmake" @ONLY)
|
||||
set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CPackOptions.cmake") # File included at cpack time, once per generator after setting CPACK_GENERATOR to the actual generator being used; allows per-generator setting of CPACK_* variables at cpack time. ${PROJECT_BINARY_DIR}/CPackOptions.cmake
|
||||
include(CPack)
|
||||
74
README.md
Normal file
74
README.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# ownCloud Desktop Client
|
||||
|
||||
| Job | State |
|
||||
|-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| client-build-matrix | [](https://ci.owncloud.org/job/client-build-matrix-linux/) |
|
||||
| client-test-matrix-linux-no-build | [](https://ci.owncloud.org/job/client-test-matrix-linux-no-build/) |
|
||||
| coverity_scan | [](https://scan.coverity.com/projects/owncloud-mirall)
|
||||
|
||||
## Introduction
|
||||
|
||||
The ownCloud Desktop Client is a tool to synchronize files from ownCloud Server
|
||||
with your computer.
|
||||
|
||||
## Download
|
||||
|
||||
### Binary packages
|
||||
|
||||
* Refer to the download page https://owncloud.org/install/#install-clients
|
||||
|
||||
### Source code
|
||||
|
||||
The ownCloud Desktop Client is developed in Git. Since Git makes it easy to
|
||||
fork and improve the source code and to adapt it to your need, many copies
|
||||
can be found on the Internet, in particular on GitHub. However, the
|
||||
authoritative repository maintained by the developers is located at
|
||||
https://github.com/owncloud/client.
|
||||
|
||||
## Building the source code
|
||||
|
||||
[Building the Client](http://doc.owncloud.org/desktop/2.0/building.html)
|
||||
in the ownCloud Desktop Client manual.
|
||||
|
||||
## Maintainers and Contributors
|
||||
|
||||
The maintainers of this repository are:
|
||||
|
||||
* Klaas Freitag <freitag@owncloud.com>
|
||||
* Daniel Molkentin <danimo@owncloud.com>
|
||||
* Markus Goetz <guruz@owncloud.com>
|
||||
* Olivier Goffart <ogoffart@owncloud.com>
|
||||
|
||||
ownCloud Desktop Client is developed by the ownCloud community and receives
|
||||
patches from a variety of authors.
|
||||
|
||||
## Reporting issues and contributing
|
||||
|
||||
If you find any bugs or have any suggestion for improvement, please
|
||||
file an issue at https://github.com/owncloud/client/issues. Do not
|
||||
contact the authors directly by mail, as this increases the chance
|
||||
of your report being lost.
|
||||
|
||||
If you created a patch, please submit a [Pull
|
||||
Request](https://github.com/owncloud/client/pulls). For non-trivial
|
||||
patches, we need you to sign the [Contributor
|
||||
Agreement](https://owncloud.org/contribute/agreement) before
|
||||
we can accept your patch.
|
||||
|
||||
If you want to contact us, e.g. before starting a more complex feature,
|
||||
you can join us at
|
||||
[#owncloud-client-dev](irc://irc.freenode.net/#owncloud-client-dev).
|
||||
|
||||
## License
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
|
||||
26
VERSION.cmake
Normal file
26
VERSION.cmake
Normal file
@@ -0,0 +1,26 @@
|
||||
set( MIRALL_VERSION_MAJOR 2 )
|
||||
set( MIRALL_VERSION_MINOR 2 )
|
||||
set( MIRALL_VERSION_PATCH 4 )
|
||||
set( MIRALL_VERSION_YEAR 2016 )
|
||||
set( MIRALL_SOVERSION 0 )
|
||||
|
||||
if ( NOT DEFINED MIRALL_VERSION_SUFFIX )
|
||||
set( MIRALL_VERSION_SUFFIX "") #e.g. beta1, beta2, rc1
|
||||
endif( NOT DEFINED MIRALL_VERSION_SUFFIX )
|
||||
|
||||
if( NOT DEFINED MIRALL_VERSION_BUILD )
|
||||
set( MIRALL_VERSION_BUILD "0" ) # Integer ID. Generated by the build system
|
||||
endif( NOT DEFINED MIRALL_VERSION_BUILD )
|
||||
# Composite defines
|
||||
# Used e.g. for libraries Keep at x.y.z.
|
||||
set( MIRALL_VERSION "${MIRALL_VERSION_MAJOR}.${MIRALL_VERSION_MINOR}.${MIRALL_VERSION_PATCH}" )
|
||||
# Version with Build ID. Used in the installer
|
||||
set( MIRALL_VERSION_FULL ${MIRALL_VERSION} )
|
||||
set( MIRALL_VERSION_STRING ${MIRALL_VERSION} )
|
||||
set( MIRALL_VERSION_FULL "${MIRALL_VERSION_FULL}.${MIRALL_VERSION_BUILD}" )
|
||||
|
||||
set( MIRALL_VERSION_STRING "${MIRALL_VERSION}${MIRALL_VERSION_SUFFIX}" )
|
||||
|
||||
if( MIRALL_VERSION_BUILD )
|
||||
set( MIRALL_VERSION_STRING "${MIRALL_VERSION_STRING} (build ${MIRALL_VERSION_BUILD})" )
|
||||
endif( MIRALL_VERSION_BUILD )
|
||||
2
admin/CMakeLists.txt
Normal file
2
admin/CMakeLists.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# traverse into osx subdirectory to install and patch the create-pack script
|
||||
add_subdirectory(osx)
|
||||
17
admin/osx/CMakeLists.txt
Normal file
17
admin/osx/CMakeLists.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
|
||||
# Check if varialbe MAC_INSTALLER_BACKGROUND_FILE is defined. That might come
|
||||
# from the OEM.cmake for branded clients or from OWNCLOUD.cmake for the non
|
||||
# branded client.
|
||||
# Make sure that the MAC_INSTALLER_BACKGROUND_FILE contains the full path, ie.
|
||||
# includes CMAKE_SOURCE_DIR or so.
|
||||
|
||||
if (DEFINED MAC_INSTALLER_BACKGROUND_FILE )
|
||||
set(MAC_INSTALLER_DO_CUSTOM_BACKGROUND "1")
|
||||
else()
|
||||
set(MAC_INSTALLER_DO_CUSTOM_BACKGROUND "0")
|
||||
endif()
|
||||
|
||||
configure_file(create_mac_pkg.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/create_mac.sh)
|
||||
configure_file(macosx.pkgproj ${CMAKE_CURRENT_BINARY_DIR}/macosx.pkgproj)
|
||||
configure_file(pre_install.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/pre_install.sh)
|
||||
configure_file(post_install.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/post_install.sh)
|
||||
BIN
admin/osx/DMGBackground.png
Normal file
BIN
admin/osx/DMGBackground.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
admin/osx/DS_Store.in
Normal file
BIN
admin/osx/DS_Store.in
Normal file
Binary file not shown.
74
admin/osx/create_mac_pkg.sh.cmake
Executable file
74
admin/osx/create_mac_pkg.sh.cmake
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script to create the Mac installer using the packages tool from
|
||||
# http://s.sudre.free.fr/Software/Packages/about.html
|
||||
#
|
||||
|
||||
[ "$#" -lt 2 ] && echo "Usage: create_mac_pkg.sh <CMAKE_INSTALL_DIR> <build dir> <installer sign identity>" && exit
|
||||
|
||||
# the path of installation must be given as parameter
|
||||
if [ -z "$1" ]; then
|
||||
echo "ERROR: Provide the path to CMAKE_INSTALL_DIR to this script as first parameter."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$2" ]; then
|
||||
echo "ERROR: Provide the path to build directory as second parameter."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
install_path="$1"
|
||||
build_path="$2"
|
||||
identity="$3"
|
||||
prjfile=$build_path/admin/osx/macosx.pkgproj
|
||||
|
||||
# The name of the installer package
|
||||
installer="@APPLICATION_SHORTNAME@-@MIRALL_VERSION_FULL@@MIRALL_VERSION_SUFFIX@"
|
||||
installer_file="$installer.pkg"
|
||||
installer_file_tar="$installer.pkg.tar"
|
||||
installer_file_tar_bz2="$installer.pkg.tar.bz2"
|
||||
installer_file_tbz="$installer.pkg.tbz"
|
||||
|
||||
# set the installer name to the copied prj config file
|
||||
/usr/local/bin/packagesutil --file $prjfile set project name "$installer"
|
||||
|
||||
# The command line tool of the "Packages" tool, see link above.
|
||||
pkgbuild=/usr/local/bin/packagesbuild
|
||||
|
||||
$pkgbuild -F $install_path $prjfile
|
||||
rc=$?
|
||||
|
||||
if [ $rc == 0 ]; then
|
||||
echo "Successfully created $installer_file"
|
||||
else
|
||||
echo "Failed to create $installer_file"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
# Sign the finished package if desired.
|
||||
if [ ! -z "$identity" ]; then
|
||||
echo "Will try to sign the installer"
|
||||
pushd $install_path
|
||||
productsign --sign "$identity" "$installer_file" "$installer_file.new"
|
||||
mv "$installer_file".new "$installer_file"
|
||||
popd
|
||||
else
|
||||
echo "No certificate given, will not sign the pkg"
|
||||
fi
|
||||
|
||||
# FIXME: OEMs?
|
||||
# they will need to do their own signing..
|
||||
|
||||
|
||||
# Sparkle wants a tbz, it cannot install raw pkg
|
||||
cd $install_path
|
||||
tar cf "$installer_file_tar" "$installer_file"
|
||||
bzip2 -9 "$installer_file_tar"
|
||||
mv "$installer_file_tar_bz2" "$installer_file_tbz"
|
||||
rc=$?
|
||||
if [ $rc == 0 ]; then
|
||||
echo "Successfully created $installer_file"
|
||||
else
|
||||
echo "Failed to create $installer_file"
|
||||
exit 3
|
||||
fi
|
||||
BIN
admin/osx/deny_autoupdate_com.owncloud.desktopclient.plist
Normal file
BIN
admin/osx/deny_autoupdate_com.owncloud.desktopclient.plist
Normal file
Binary file not shown.
77
admin/osx/gen_sym_files.py
Executable file
77
admin/osx/gen_sym_files.py
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import logging, os, re, subprocess, sys
|
||||
import os.path
|
||||
import pdb, pprint
|
||||
|
||||
if len(sys.argv) < 4:
|
||||
print("Usage:")
|
||||
print("\tgen_sym_files.py <path to breakpad's dump_syms> <path to owncloud.app> <symbol output dir>")
|
||||
print("")
|
||||
print("Symbols will be created in './symbols'")
|
||||
sys.exit(1)
|
||||
|
||||
dump_symsPath = sys.argv[1]
|
||||
bundlePath = sys.argv[2]
|
||||
outPath = sys.argv[3]
|
||||
macOsDir = os.path.join(bundlePath, 'Contents', 'MacOS')
|
||||
pluginsDir = os.path.join(bundlePath, 'Contents', 'PlugIns')
|
||||
|
||||
def resolvePath(input):
|
||||
resolved = re.sub(r'@\w+', macOsDir, input)
|
||||
return os.path.normpath(resolved)
|
||||
|
||||
def extractDeps(macho):
|
||||
deps = [macho]
|
||||
otool = subprocess.Popen(['otool', '-L', macho], stdout=subprocess.PIPE)
|
||||
for l in otool.communicate()[0].splitlines():
|
||||
if 'is not an object file' in l:
|
||||
return []
|
||||
m = re.search(r'@[^\s]+', l)
|
||||
if m:
|
||||
path = resolvePath(m.group(0))
|
||||
if not os.path.exists(path):
|
||||
logging.warning("Non-existant file found in dependencies, ignoring: [%s]", path)
|
||||
continue
|
||||
deps.append(path)
|
||||
return deps
|
||||
|
||||
def findDeps():
|
||||
deps = []
|
||||
for f in os.listdir(macOsDir):
|
||||
path = os.path.join(macOsDir, f)
|
||||
if not os.path.islink(path):
|
||||
deps += extractDeps(path)
|
||||
for root, dirs, files in os.walk(pluginsDir):
|
||||
for f in files:
|
||||
path = os.path.join(root, f)
|
||||
deps += extractDeps(path)
|
||||
return sorted(set(deps))
|
||||
|
||||
def dumpSyms(deps):
|
||||
for dep in deps:
|
||||
print("Generating symbols for [%s]" % dep)
|
||||
with open('temp.sym', 'w') as temp:
|
||||
subprocess.check_call([dump_symsPath, dep], stdout=temp)
|
||||
with open('temp.sym', 'r') as temp:
|
||||
header = temp.readline()
|
||||
fields = header.split()
|
||||
key, name = fields[3:5]
|
||||
destDir = '%s/%s/%s/' % (outPath, name, key)
|
||||
destPath = destDir + name + '.sym'
|
||||
if os.path.exists(destPath):
|
||||
logging.warning("Symbols already exist: [%s]", destPath)
|
||||
continue
|
||||
if not os.path.exists(destDir):
|
||||
os.makedirs(destDir)
|
||||
os.rename('temp.sym', destPath)
|
||||
|
||||
def strip(deps):
|
||||
for dep in deps:
|
||||
print("Stripping symbols off [%s]" % dep)
|
||||
subprocess.check_call(['strip', '-S', dep])
|
||||
|
||||
print('=== Generating symbols for [%s] in [%s]' % (bundlePath, outPath))
|
||||
deps = findDeps()
|
||||
dumpSyms(deps)
|
||||
strip(deps)
|
||||
BIN
admin/osx/installer-background.png
Normal file
BIN
admin/osx/installer-background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
51
admin/osx/installer-background.svg
Normal file
51
admin/osx/installer-background.svg
Normal file
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
enable-background="new 0 0 595.275 311.111"
|
||||
xml:space="preserve"
|
||||
height="200"
|
||||
width="320"
|
||||
version="1.1"
|
||||
y="0px"
|
||||
x="0px"
|
||||
viewBox="0 0 35 0"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="installer-background.svg"><metadata
|
||||
id="metadata12"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs10" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1002"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.734375"
|
||||
inkscape:cx="-49.141255"
|
||||
inkscape:cy="236.17459"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" /><path
|
||||
style="text-indent:0;text-transform:none;block-progression:tb;color:#000000;fill:#ffffff;fill-opacity:1;enable-background:accumulate"
|
||||
d="m 75.63384,28.421489 c -29.36582,0 -53.09172,23.724901 -53.09172,53.091701 0,12.1047 4.03087,23.2455 10.82647,32.1667 14.74225,-17.0631 36.50138,-27.8988 60.79508,-27.8988 11.88546,0 23.15644,2.6467 33.31219,7.2871 0.82221,-3.7185 1.24924,-7.5856 1.24924,-11.555 0,-29.3658 -23.72491,-53.091701 -53.09172,-53.091701 z M 6.30358,52.98809 c -15.29297,0 -27.58645,12.3977 -27.58645,27.6906 0,4.9515 1.27738,9.6301 3.53933,13.6373 9.22826,-5.206 19.89756,-8.2239 31.23002,-8.2239 1.09366,0 2.14708,0.039 3.22713,0.1052 -0.12231,-1.5502 -0.20806,-3.103 -0.20806,-4.6844 0,-8.5178 1.85002,-16.6223 5.10106,-23.9429 -4.37708,-2.9351 -9.62115,-4.5803 -15.30284,-4.5803 z m 130.95716,19.0502 c -1.12983,0 -2.21885,0.1381 -3.33122,0.2078 0.48121,3.0338 0.83274,6.097 0.83274,9.2651 0,4.9298 -0.62692,9.6869 -1.7697,14.2616 13.39754,7.4144 24.52385,18.5084 31.8547,31.9586 7.60342,-3.9586 16.08566,-6.4754 25.08804,-7.0787 -2.32015,-27.2093 -24.86184,-48.6137 -52.67416,-48.6137 z m -43.09675,19.7789 c -41.09117,0 -74.32775,33.2333 -74.32775,74.3278 0,41.0911 33.23329,74.3277 74.32775,74.3277 41.09447,0 74.32775,-33.2366 74.32775,-74.3277 0,-41.0945 -33.23657,-74.3278 -74.32775,-74.3278 z m -80.67652,0.3117 c -31.87937,0 -57.67166,25.792 -57.67166,57.6717 0,18.7668 8.94156,35.3802 22.79774,45.9078 5.84147,-11.2667 17.57406,-18.9461 31.1258,-18.9461 1.63789,0 3.21,0.1986 4.78871,0.4169 -0.49554,-3.6054 -0.72871,-7.2937 -0.72871,-11.0346 0,-17.8847 5.82174,-34.4234 15.71907,-47.7819 -5.92466,-7.4133 -10.1643,-16.321 -11.97162,-26.025 -1.33935,-0.092 -2.69673,-0.2078 -4.05979,-0.2078 z m 180.71831,34.3544 c -9.68,0 -18.74781,2.4714 -26.75364,6.6625 4.54607,10.0696 7.07867,21.2422 7.07867,32.9998 0,22.0146 -8.85114,42.0052 -23.21431,56.5275 10.5516,11.7145 25.861,19.0503 42.88961,19.0503 31.87937,0 57.67165,-25.7916 57.67165,-57.6717 0,-31.8793 -25.79195,-57.5664 -57.67165,-57.5664 z m -244.00885,7.5998 c -29.3701,0 -53.19693,23.6164 -53.19693,52.9832 0,29.3669 23.82815,53.1937 53.19364,53.1937 11.17727,0 21.53161,-3.4825 30.08487,-9.369 -3.5344,-5.492 -5.62151,-12.0581 -5.62151,-19.0503 0,-3.6291 0.53552,-7.1158 1.56148,-10.4099 -16.01267,-11.5721 -26.44131,-30.4034 -26.44131,-51.6319 0,-5.394 0.71083,-10.6098 1.97792,-15.6152 -0.52591,-0.013 -1.03171,-0.1052 -1.56152,-0.1052 z m 312.19495,45.5955 c -1.56661,0 -3.08252,0.1789 -4.58026,0.4169 0.0829,1.3242 0.1039,2.6108 0.1039,3.9559 0,16.9326 -6.68118,32.3015 -17.4889,43.7214 5.31706,6.1831 13.12695,10.0976 21.96526,10.0976 16.09849,0 29.14785,-12.9451 29.14785,-29.0439 0,-16.0985 -13.04936,-29.1479 -29.14785,-29.1479 z m -252.64924,3.1229 c -16.09783,0 -29.04395,12.9461 -29.04395,29.044 0,16.0978 12.94612,29.1478 29.04395,29.1478 12.33919,0 22.81287,-7.6994 27.06599,-18.5298 -10.378,-10.57 -17.83675,-24.0544 -21.13213,-39.0363 -1.92854,-0.3985 -3.88588,-0.6247 -5.93386,-0.6247 z"
|
||||
id="path6"
|
||||
inkscape:connector-curvature="0" /></svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
BIN
admin/osx/installer-background_2x.png
Normal file
BIN
admin/osx/installer-background_2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
349
admin/osx/macdeployqt.py
Executable file
349
admin/osx/macdeployqt.py
Executable file
@@ -0,0 +1,349 @@
|
||||
#!/usr/bin/python
|
||||
# This file is part of ownCloud.
|
||||
# It was inspired in large part by the macdeploy script in Clementine
|
||||
# and Tomahawk
|
||||
#
|
||||
# ownCloud is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# ownCLoud is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with ownCloud. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import commands
|
||||
import sys
|
||||
from glob import glob
|
||||
|
||||
def QueryQMake(attrib):
|
||||
return subprocess.check_output([qmake_path, '-query', attrib]).rstrip('\n')
|
||||
|
||||
FRAMEWORK_SEARCH_PATH=[
|
||||
'/Library/Frameworks',
|
||||
os.path.join(os.environ['HOME'], 'Library/Frameworks')
|
||||
]
|
||||
|
||||
LIBRARY_SEARCH_PATH=['/usr/local/lib', '.']
|
||||
|
||||
QT_PLUGINS = [
|
||||
'sqldrivers/libqsqlite.dylib',
|
||||
'platforms/libqcocoa.dylib',
|
||||
'imageformats/libqgif.dylib',
|
||||
'imageformats/libqico.dylib',
|
||||
'imageformats/libqjpeg.dylib',
|
||||
'imageformats/libqsvg.dylib',
|
||||
'imageformats/libqmng.dylib',
|
||||
]
|
||||
|
||||
QT_PLUGINS_SEARCH_PATH=[
|
||||
# os.path.join(os.environ['QTDIR'], 'plugins'),
|
||||
'/usr/local/Cellar/qt/5.2.1/plugins',
|
||||
]
|
||||
|
||||
|
||||
class Error(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class CouldNotFindQtPluginErrorFindFrameworkError(Error):
|
||||
pass
|
||||
|
||||
|
||||
class InstallNameToolError(Error):
|
||||
pass
|
||||
|
||||
|
||||
class CouldNotFindQtPluginError(Error):
|
||||
pass
|
||||
|
||||
|
||||
class CouldNotFindScriptPluginError(Error):
|
||||
pass
|
||||
|
||||
class CouldNotFindFrameworkError(Error):
|
||||
pass
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
print 'Usage: %s <bundle.app> <path-to-qmake>' % sys.argv[0]
|
||||
exit()
|
||||
|
||||
def is_exe(fpath):
|
||||
return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
|
||||
|
||||
bundle_dir = sys.argv[1]
|
||||
qmake_path = sys.argv[2]
|
||||
|
||||
bundle_name = os.path.basename(bundle_dir).split('.')[0]
|
||||
|
||||
commands = []
|
||||
|
||||
binary_dir = os.path.join(bundle_dir, 'Contents', 'MacOS')
|
||||
frameworks_dir = os.path.join(bundle_dir, 'Contents', 'Frameworks')
|
||||
commands.append(['mkdir', '-p', frameworks_dir])
|
||||
resources_dir = os.path.join(bundle_dir, 'Contents', 'Resources')
|
||||
commands.append(['mkdir', '-p', resources_dir])
|
||||
plugins_dir = os.path.join(bundle_dir, 'Contents', 'PlugIns')
|
||||
binaries = [i for i in glob(os.path.join(bundle_dir, 'Contents', 'MacOS', "*")) if is_exe(i)];
|
||||
|
||||
|
||||
fixed_libraries = []
|
||||
fixed_frameworks = []
|
||||
|
||||
def WriteQtConf():
|
||||
print "Writing qt.conf..."
|
||||
with open(os.path.join(resources_dir, 'qt.conf'), 'w') as f:
|
||||
f.write("[Paths]\nPlugins = PlugIns\n");
|
||||
f.close()
|
||||
|
||||
def GetBrokenLibraries(binary):
|
||||
#print "Checking libs for binary: %s" % binary
|
||||
output = subprocess.Popen(['otool', '-L', binary], stdout=subprocess.PIPE).communicate()[0]
|
||||
broken_libs = {
|
||||
'frameworks': [],
|
||||
'libs': []}
|
||||
for line in [x.split(' ')[0].lstrip() for x in output.split('\n')[1:]]:
|
||||
#print "Checking line: %s" % line
|
||||
if not line: # skip empty lines
|
||||
continue
|
||||
if os.path.basename(binary) == os.path.basename(line):
|
||||
#print "mnope %s-%s" % (os.path.basename(binary), os.path.basename(line))
|
||||
continue
|
||||
if re.match(r'^\s*/System/', line):
|
||||
continue # System framework
|
||||
elif re.match(r'^\s*/usr/lib/', line):
|
||||
#print "unix style system lib"
|
||||
continue # unix style system library
|
||||
elif re.match(r'Breakpad', line):
|
||||
continue # Manually added by cmake.
|
||||
elif re.match(r'^\s*@executable_path', line) or re.match(r'^\s*@loader_path', line):
|
||||
# Potentially already fixed library
|
||||
if '.framework' in line:
|
||||
relative_path = os.path.join(*line.split('/')[3:])
|
||||
if not os.path.exists(os.path.join(frameworks_dir, relative_path)):
|
||||
broken_libs['frameworks'].append(relative_path)
|
||||
else:
|
||||
relative_path = os.path.join(*line.split('/')[1:])
|
||||
#print "RELPATH %s %s" % (relative_path, os.path.join(binary_dir, relative_path))
|
||||
if not os.path.exists(os.path.join(binary_dir, relative_path)):
|
||||
broken_libs['libs'].append(relative_path)
|
||||
elif re.search(r'\w+\.framework', line):
|
||||
broken_libs['frameworks'].append(line)
|
||||
else:
|
||||
broken_libs['libs'].append(line)
|
||||
|
||||
return broken_libs
|
||||
|
||||
def FindFramework(path):
|
||||
search_pathes = FRAMEWORK_SEARCH_PATH
|
||||
search_pathes.insert(0, QueryQMake('QT_INSTALL_LIBS'))
|
||||
for search_path in search_pathes:
|
||||
# The following two lines are needed for a custom built Qt from version 5.5 on, possibly not for the one from the Qt SDK.
|
||||
# Looks like the upstream macdeployqt also had an issue there https://bugreports.qt.io/browse/QTBUG-47868
|
||||
if path.find( "\@rpath/"):
|
||||
path = path.replace("@rpath/", "")
|
||||
abs_path = os.path.join(search_path, path)
|
||||
if os.path.exists(abs_path):
|
||||
return abs_path
|
||||
|
||||
raise CouldNotFindFrameworkError(path)
|
||||
|
||||
def FindLibrary(path):
|
||||
if os.path.exists(path):
|
||||
return path
|
||||
search_pathes = LIBRARY_SEARCH_PATH
|
||||
search_pathes.insert(0, QueryQMake('QT_INSTALL_LIBS'))
|
||||
for search_path in search_pathes:
|
||||
abs_path = os.path.join(search_path, path)
|
||||
if os.path.exists(abs_path):
|
||||
return abs_path
|
||||
else: # try harder---look for lib name in library folders
|
||||
newpath = os.path.join(search_path,os.path.basename(path))
|
||||
if os.path.exists(newpath):
|
||||
return newpath
|
||||
|
||||
return ""
|
||||
#raise CouldNotFindFrameworkError(path)
|
||||
|
||||
def FixAllLibraries(broken_libs):
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFramework(framework)
|
||||
for lib in broken_libs['libs']:
|
||||
FixLibrary(lib)
|
||||
|
||||
def FixFramework(path):
|
||||
if path in fixed_libraries:
|
||||
return
|
||||
else:
|
||||
fixed_libraries.append(path)
|
||||
abs_path = FindFramework(path)
|
||||
broken_libs = GetBrokenLibraries(abs_path)
|
||||
FixAllLibraries(broken_libs)
|
||||
|
||||
new_path = CopyFramework(abs_path)
|
||||
id = os.sep.join(new_path.split(os.sep)[3:])
|
||||
FixFrameworkId(new_path, id)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, new_path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, new_path)
|
||||
|
||||
def FixLibrary(path):
|
||||
if path in fixed_libraries or FindSystemLibrary(os.path.basename(path)) is not None:
|
||||
return
|
||||
else:
|
||||
fixed_libraries.append(path)
|
||||
abs_path = FindLibrary(path)
|
||||
if abs_path == "":
|
||||
print "Could not resolve %s, not fixing!" % path
|
||||
return
|
||||
broken_libs = GetBrokenLibraries(abs_path)
|
||||
FixAllLibraries(broken_libs)
|
||||
|
||||
new_path = CopyLibrary(abs_path)
|
||||
FixLibraryId(new_path)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, new_path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, new_path)
|
||||
|
||||
def FixPlugin(abs_path, subdir):
|
||||
broken_libs = GetBrokenLibraries(abs_path)
|
||||
FixAllLibraries(broken_libs)
|
||||
|
||||
new_path = CopyPlugin(abs_path, subdir)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, new_path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, new_path)
|
||||
|
||||
def FixBinary(path):
|
||||
broken_libs = GetBrokenLibraries(path)
|
||||
FixAllLibraries(broken_libs)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, path)
|
||||
|
||||
def CopyLibrary(path):
|
||||
new_path = os.path.join(binary_dir, os.path.basename(path))
|
||||
args = ['ditto', '--arch=x86_64', path, new_path]
|
||||
commands.append(args)
|
||||
args = ['chmod', 'u+w', new_path]
|
||||
commands.append(args)
|
||||
return new_path
|
||||
|
||||
def CopyPlugin(path, subdir):
|
||||
new_path = os.path.join(plugins_dir, subdir, os.path.basename(path))
|
||||
args = ['mkdir', '-p', os.path.dirname(new_path)]
|
||||
commands.append(args)
|
||||
args = ['ditto', '--arch=x86_64', path, new_path]
|
||||
commands.append(args)
|
||||
args = ['chmod', 'u+w', new_path]
|
||||
commands.append(args)
|
||||
return new_path
|
||||
|
||||
def CopyFramework(source_dylib):
|
||||
parts = source_dylib.split(os.sep)
|
||||
print "CopyFramework:", source_dylib
|
||||
for i, part in enumerate(parts):
|
||||
matchObj = re.match(r'(\w+\.framework)', part)
|
||||
if matchObj:
|
||||
framework = matchObj.group(1)
|
||||
dylib_name = parts[-1]
|
||||
source_path = os.path.join('/', *parts[:i+1])
|
||||
dest_path = os.path.join(frameworks_dir, framework)
|
||||
dest_dylib_path = os.path.join(frameworks_dir, *parts[i:-1])
|
||||
break
|
||||
if os.path.exists(dest_path):
|
||||
print dest_path, "already exists, skipping copy..."
|
||||
return os.path.join(dest_dylib_path, dylib_name)
|
||||
|
||||
args = ['mkdir', '-p', dest_dylib_path]
|
||||
commands.append(args)
|
||||
args = ['ditto', '--arch=x86_64', source_dylib, dest_dylib_path]
|
||||
commands.append(args)
|
||||
args = ['chmod', 'u+w', os.path.join(dest_dylib_path, parts[-1])]
|
||||
commands.append(args)
|
||||
args = ['ln', '-s', '5', os.path.join(dest_path, 'Versions', 'Current')]
|
||||
commands.append(args)
|
||||
args = ['ln', '-s', os.path.join('Versions', 'Current', dylib_name), os.path.join(dest_path, dylib_name)]
|
||||
commands.append(args)
|
||||
args = ['ln', '-s', os.path.join('Versions', 'Current', 'Resources'), os.path.join(dest_path, 'Resources')]
|
||||
commands.append(args)
|
||||
args = ['cp', '-r', os.path.join(source_path, 'Versions', '5', 'Resources'), os.path.join(dest_path, 'Versions', '5')]
|
||||
commands.append(args)
|
||||
|
||||
return os.path.join(dest_dylib_path, dylib_name)
|
||||
|
||||
def FixId(path, library_name):
|
||||
id = '@executable_path/../Frameworks/%s' % library_name
|
||||
args = ['install_name_tool', '-id', id, path]
|
||||
commands.append(args)
|
||||
|
||||
def FixLibraryId(path):
|
||||
library_name = os.path.basename(path)
|
||||
FixId(path, library_name)
|
||||
|
||||
def FixFrameworkId(path, id):
|
||||
FixId(path, id)
|
||||
|
||||
def FixInstallPath(library_path, library, new_path):
|
||||
args = ['install_name_tool', '-change', library_path, new_path, library]
|
||||
commands.append(args)
|
||||
|
||||
def FindSystemLibrary(library_name):
|
||||
for path in ['/lib', '/usr/lib']:
|
||||
full_path = os.path.join(path, library_name)
|
||||
if os.path.exists(full_path):
|
||||
return full_path
|
||||
return None
|
||||
|
||||
def FixLibraryInstallPath(library_path, library):
|
||||
system_library = FindSystemLibrary(os.path.basename(library_path))
|
||||
if system_library is None:
|
||||
new_path = '@executable_path/../MacOS/%s' % os.path.basename(library_path)
|
||||
FixInstallPath(library_path, library, new_path)
|
||||
else:
|
||||
FixInstallPath(library_path, library, system_library)
|
||||
|
||||
def FixFrameworkInstallPath(library_path, library):
|
||||
parts = library_path.split(os.sep)
|
||||
for i, part in enumerate(parts):
|
||||
if re.match(r'\w+\.framework', part):
|
||||
full_path = os.path.join(*parts[i:])
|
||||
break
|
||||
new_path = '@executable_path/../Frameworks/%s' % full_path
|
||||
FixInstallPath(library_path, library, new_path)
|
||||
|
||||
def FindQtPlugin(name):
|
||||
search_path = QT_PLUGINS_SEARCH_PATH
|
||||
search_path.insert(0, QueryQMake('QT_INSTALL_PLUGINS'))
|
||||
for path in search_path:
|
||||
if os.path.exists(path):
|
||||
if os.path.exists(os.path.join(path, name)):
|
||||
return os.path.join(path, name)
|
||||
raise CouldNotFindQtPluginError(name)
|
||||
|
||||
for binary in binaries:
|
||||
FixBinary(binary)
|
||||
|
||||
for plugin in QT_PLUGINS:
|
||||
FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin))
|
||||
|
||||
if len(sys.argv) <= 2:
|
||||
print 'Will run %d commands:' % len(commands)
|
||||
for command in commands:
|
||||
print ' '.join(command)
|
||||
|
||||
for command in commands:
|
||||
p = subprocess.Popen(command)
|
||||
os.waitpid(p.pid, 0)
|
||||
|
||||
WriteQtConf()
|
||||
1470
admin/osx/macosx.pkgproj
Normal file
1470
admin/osx/macosx.pkgproj
Normal file
File diff suppressed because it is too large
Load Diff
21
admin/osx/post_install.sh.cmake
Normal file
21
admin/osx/post_install.sh.cmake
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
osascript << EOF
|
||||
tell application "Finder"
|
||||
activate
|
||||
select the last Finder window
|
||||
reveal POSIX file "/Applications/@APPLICATION_EXECUTABLE@.app"
|
||||
end tell
|
||||
EOF
|
||||
|
||||
# Always enable the new 10.10 finder plugin if available
|
||||
if [ -x "$(command -v pluginkit)" ]; then
|
||||
# add it to DB. This happens automatically too but we try to push it a bit harder for issue #3463
|
||||
pluginkit -a "/Applications/@APPLICATION_EXECUTABLE@.app/Contents/PlugIns/FinderSyncExt.appex/"
|
||||
# Since El Capitan we need to sleep #4650
|
||||
sleep 10s
|
||||
# enable it
|
||||
pluginkit -e use -i @APPLICATION_REV_DOMAIN@.FinderSyncExt
|
||||
fi
|
||||
|
||||
exit 0
|
||||
9
admin/osx/pre_install.sh.cmake
Normal file
9
admin/osx/pre_install.sh.cmake
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
# kill the old version. see issue #2044
|
||||
killall @APPLICATION_EXECUTABLE@
|
||||
|
||||
# Unload the Finder plugin. see issue #2105
|
||||
killall Finder
|
||||
|
||||
exit 0
|
||||
19
admin/osx/sign_app.sh
Executable file
19
admin/osx/sign_app.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh -xe
|
||||
|
||||
[ "$#" -lt 2 ] && echo "Usage: sign_app.sh <app> <identity> <team_identifier>" && exit
|
||||
|
||||
src_app="$1"
|
||||
identity="$2"
|
||||
team_identifier="$3"
|
||||
|
||||
codesign -s "$identity" --force --preserve-metadata=entitlements --verbose=4 --deep "$src_app"
|
||||
|
||||
# Verify the signature
|
||||
codesign -dv $src_app
|
||||
codesign --verify -v $src_app
|
||||
spctl -a -t exec -vv $src_app
|
||||
|
||||
# Validate that the key used for signing the binary matches the expected TeamIdentifier
|
||||
# needed to pass the SocketApi through the sandbox
|
||||
codesign -dv $src_app 2>&1 | grep "TeamIdentifier=$team_identifier"
|
||||
exit $?
|
||||
40
admin/osx/sign_dmg.sh
Executable file
40
admin/osx/sign_dmg.sh
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
[ "$#" -lt 2 ] && echo "Usage: sign_dmg.sh <dmg> <identity>" && exit
|
||||
|
||||
src_dmg="$1"
|
||||
tmp_dmg="writable_$1"
|
||||
signed_dmg="signed_$1"
|
||||
identity="$2"
|
||||
|
||||
QT_FMWKS=`basename ${TMP_APP}/Contents/Frameworks`/Qt*
|
||||
QT_FMWK_VERSION="5"
|
||||
|
||||
fix_frameworks() {
|
||||
TMP_APP=$1
|
||||
QT_FMWK_PATH=$2
|
||||
QT_FMWKS=$3/Qt*.framework
|
||||
|
||||
echo "Patching Qt frameworks..."
|
||||
for FMWK in $QT_FMWKS; do
|
||||
FMWK_NAME=`basename -s .framework $FMWK`
|
||||
FMWK=`basename $FMWK`
|
||||
FMWK_PATH="${TMP_APP}/Contents/Frameworks/${FMWK}"
|
||||
mkdir -p "${FMWK_PATH}/Versions/${QT_FMWK_VERSION}/Resources/"
|
||||
cp -avf "${QT_FMWK_PATH}/${FMWK}/Contents/Info.plist" "${FMWK_PATH}/Versions/${QT_FMWK_VERSION}/Resources"
|
||||
(cd "${FMWK_PATH}" && ln -sf "Versions/${QT_FMWK_VERSION}/Resources" "Resources")
|
||||
perl -pi -e "s/${FMWK_NAME}_debug/${FMWK_NAME}/" "${FMWK_PATH}/Resources/Info.plist"
|
||||
done
|
||||
}
|
||||
|
||||
mount="/Volumes/$(basename "$src_dmg"|sed 's,-\([0-9]\)\(.*\),,')"
|
||||
test -e "$tmp_dmg" && rm -rf "$tmp_dmg"
|
||||
hdiutil convert "$src_dmg" -format UDRW -o "$tmp_dmg"
|
||||
hdiutil attach "$tmp_dmg"
|
||||
pushd "$mount"
|
||||
fix_frameworks "$mount"/*.app `qmake -query QT_INSTALL_LIBS` "$mount"/*.app/Contents/Frameworks
|
||||
codesign -s "$identity" --deep "$mount"/*.app
|
||||
popd
|
||||
diskutil eject "$mount"
|
||||
test -e "$signed_dmg" && rm -rf "$signed_dmg"
|
||||
hdiutil convert "$tmp_dmg" -format UDBZ -o "$signed_dmg"
|
||||
12
admin/osx/sparkle/dsa_pub.pem
Normal file
12
admin/osx/sparkle/dsa_pub.pem
Normal file
@@ -0,0 +1,12 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBtzCCASsGByqGSM44BAEwggEeAoGBANC50nTWzroQwwawgaV4jd5TjjqbGKDH
|
||||
6CWbZzyfJ246mJcrwTfM2h5Z80GwLSNFBIjtLGpFd7Wd+CI1dY8oIOYxnYgWDSJC
|
||||
Al1RMoUSSwx0LRr8J3gojcvvsrhk/t57o9bjXynE2tiP1fwzPb+B3NH/02fMnzfH
|
||||
k+B8/8GOnX8dAhUA9PZ1QrH/mN+7ckiGjmoegZdv9tMCgYBPEj2850r8+9tXljU4
|
||||
X0s1NKBfiyhBGw/quJMZ3k0fQ/tpOyYwXYBg+9GBVc4pF1CKMVGoBS6XnLrZ1OkC
|
||||
OP9g+NNH5cLOKrBxjtd1GPG8UF/sZpak2sVfuNKzRtFT/6WFHc3f7C+LiDFZ2aPO
|
||||
A+Kr5MZJ8xxYDYj16WV2nKgoQgOBhQACgYEAuQzycfUZKm7MR9WZSFF9uQ3N3SQr
|
||||
PKYggCl6GTdWYmrsFyXLEBmb3m2qXxx9AcfR2LdkTp/CRCzm+HD6wyHVAAVG2kI2
|
||||
mWafcahlx/lVMd2yytdRE5pjpjLxw7rrt/fvSZsGwUswQJLl4iDWoE+mFfaaZnnM
|
||||
JKoiKLX7LUFOPaU=
|
||||
-----END PUBLIC KEY-----
|
||||
21
admin/osx/sparkle/example_update_rss.rss
Normal file
21
admin/osx/sparkle/example_update_rss.rss
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<channel>
|
||||
<title>oC</title>
|
||||
<link>127.0.0.1/test.rss</link>
|
||||
<description>Most recent changes with links to updates.</description>
|
||||
<language>en</language>
|
||||
<item>
|
||||
<title>Version 1.5.1.2180-nightly20140202</title>
|
||||
<pubDate>Wed, 09 Feb 2013 19:20:11 +0000</pubDate>
|
||||
<enclosure url="http://127.0.0.1:8080/signed_ownCloud-1.5.1.2180-nightly20140202.dmg"
|
||||
sparkle:version="1.5.1.2180-nightly20140202"
|
||||
length="21078089"
|
||||
type="application/octet-stream"
|
||||
sparkle:dsaSignature="MCwCFA/RpP/MvNS1SpjD/2/U6RPyju3HAhQteFXvpUjTnNv3sC/lGkxtEkoB4Q=="
|
||||
/>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From ea4dcc5931d455e4ee3e958ffa54a9f54ab022c8 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Mon, 5 Jan 2015 10:45:25 +0100
|
||||
Subject: [PATCH 1/3] Fix crash on Mac OS if PAC URL contains non-URL legal
|
||||
chars
|
||||
|
||||
macQueryInternal() was retrieving the PAC URL string as-entered by
|
||||
the user in the 'Proxies' tab of the system network settings dialog
|
||||
and passing it to CFURLCreateWithString().
|
||||
|
||||
CFURLCreateWithString() returns null if the input string contains
|
||||
non-URL legal chars or is empty.
|
||||
|
||||
Change-Id: I9166d0433a62c7b2274b5435a7dea0a16997d10e
|
||||
Patch-By: Robert Knight
|
||||
Task-number: QTBUG-36787
|
||||
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
|
||||
Reviewed-by: Markus Goetz <markus@woboq.com>
|
||||
---
|
||||
src/network/kernel/qnetworkproxy_mac.cpp | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
index 7d26246..81bce0c 100644
|
||||
--- a/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
@@ -221,7 +221,11 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
|
||||
int enabled;
|
||||
if (CFNumberGetValue(pacEnabled, kCFNumberIntType, &enabled) && enabled) {
|
||||
// PAC is enabled
|
||||
- CFStringRef cfPacLocation = (CFStringRef)CFDictionaryGetValue(dict, kSCPropNetProxiesProxyAutoConfigURLString);
|
||||
+ // kSCPropNetProxiesProxyAutoConfigURLString returns the URL string
|
||||
+ // as entered in the system proxy configuration dialog
|
||||
+ CFStringRef pacLocationSetting = (CFStringRef)CFDictionaryGetValue(dict, kSCPropNetProxiesProxyAutoConfigURLString);
|
||||
+ QCFType<CFStringRef> cfPacLocation = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, pacLocationSetting, NULL, NULL,
|
||||
+ kCFStringEncodingUTF8);
|
||||
|
||||
if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) {
|
||||
QCFType<CFDataRef> pacData;
|
||||
--
|
||||
1.8.3.4 (Apple Git-47)
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From a83e4d1d9dd90d4563ce60f27dfb7802a780e33e Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Mon, 5 Jan 2015 11:42:52 +0100
|
||||
Subject: [PATCH 2/3] Fix possible crash when passing an invalid PAC URL
|
||||
|
||||
This commit checks whether CFURLCreateWithString() succeeded.
|
||||
|
||||
It does not appear to be possible to enter an empty URL directly in the
|
||||
PAC configuration dialog but I can't rule out the possibility
|
||||
that it could find its way into the settings via some other means.
|
||||
|
||||
Change-Id: I6c2053d385503bf0330f5ae9fb1ec36a473d425d
|
||||
Patch-By: Robert Knight
|
||||
Task-number: QTBUG-36787
|
||||
Reviewed-by: Markus Goetz <markus@woboq.com>
|
||||
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
|
||||
---
|
||||
src/network/kernel/qnetworkproxy_mac.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
index 81bce0c..6be032e 100644
|
||||
--- a/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
@@ -230,6 +230,10 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
|
||||
if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) {
|
||||
QCFType<CFDataRef> pacData;
|
||||
QCFType<CFURLRef> pacUrl = CFURLCreateWithString(kCFAllocatorDefault, cfPacLocation, NULL);
|
||||
+ if (!pacUrl) {
|
||||
+ qWarning("Invalid PAC URL \"%s\"", qPrintable(QCFString::toQString(cfPacLocation)));
|
||||
+ return result;
|
||||
+ }
|
||||
SInt32 errorCode;
|
||||
if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault, pacUrl, &pacData, NULL, NULL, &errorCode)) {
|
||||
QString pacLocation = QCFString::toQString(cfPacLocation);
|
||||
--
|
||||
1.8.3.4 (Apple Git-47)
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 83bd9393e5564ea9168fda90c0f44456633a483a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Mon, 5 Jan 2015 15:22:57 +0100
|
||||
Subject: [PATCH 3/3] Fix crash if PAC script retrieval returns a null CFData
|
||||
instance
|
||||
|
||||
The documentation for CFURLCreateDataAndPropertiesFromResource()
|
||||
does not make this clear but from looking at the CFNetwork implementation
|
||||
and a user stacktrace it appears that this function can return true
|
||||
but not set the data argument under certain circumstances.
|
||||
|
||||
Change-Id: I48034a640d6f47a51cd5883bbafacad4bcbd0415
|
||||
Task-number: QTBUG-36787
|
||||
Patch-By: Robert Knight
|
||||
Reviewed-by: Markus Goetz <markus@woboq.com>
|
||||
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
|
||||
---
|
||||
src/network/kernel/qnetworkproxy_mac.cpp | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
index 6be032e..a1ac349 100644
|
||||
--- a/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
@@ -240,7 +240,10 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
|
||||
qWarning("Unable to get the PAC script at \"%s\" (%s)", qPrintable(pacLocation), cfurlErrorDescription(errorCode));
|
||||
return result;
|
||||
}
|
||||
-
|
||||
+ if (!pacData) {
|
||||
+ qWarning("\"%s\" returned an empty PAC script", qPrintable(QCFString::toQString(cfPacLocation)));
|
||||
+ return result;
|
||||
+ }
|
||||
QCFType<CFStringRef> pacScript = CFStringCreateFromExternalRepresentation(kCFAllocatorDefault, pacData, kCFStringEncodingISOLatin1);
|
||||
if (!pacScript) {
|
||||
// This should never happen, but the documentation says it may return NULL if there was a problem creating the object.
|
||||
--
|
||||
1.8.3.4 (Apple Git-47)
|
||||
|
||||
32
admin/qt/patches/0004-Cocoa-Fix-systray-SVG-icons.patch
Normal file
32
admin/qt/patches/0004-Cocoa-Fix-systray-SVG-icons.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
From 22f3d359350fd65e4bbe2e9420fcc4460e8a590a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@digia.com>
|
||||
Date: Tue, 10 Mar 2015 22:37:39 +0100
|
||||
Subject: [PATCH] Cocoa: Fix systray SVG icons.
|
||||
|
||||
Regression caused by f3699510.
|
||||
|
||||
Task-number: QTBUG-44686
|
||||
Change-Id: I546422a67d4da29fac196025b09bddcb45c1b641
|
||||
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
|
||||
---
|
||||
src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
index e449fd3..8a35705 100755
|
||||
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
@@ -234,6 +234,10 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
}
|
||||
}
|
||||
|
||||
+ // Handle SVG icons, which do not return anything for availableSizes().
|
||||
+ if (!selectedSize.isValid())
|
||||
+ selectedSize = icon.actualSize(QSize(maxPixmapHeight, maxPixmapHeight), mode);
|
||||
+
|
||||
QPixmap pixmap = icon.pixmap(selectedSize, mode);
|
||||
|
||||
// Draw a low-resolution icon if there is not enough pixels for a retina
|
||||
--
|
||||
1.9.1
|
||||
|
||||
115
admin/qt/patches/0005-OSX-Fix-disapearing-tray-icon.patch
Normal file
115
admin/qt/patches/0005-OSX-Fix-disapearing-tray-icon.patch
Normal file
@@ -0,0 +1,115 @@
|
||||
From ee7fea33383726f0bb72e8082a357820e3ee3675 Mon Sep 17 00:00:00 2001
|
||||
From: Jocelyn Turcotte <jturcotte@woboq.com>
|
||||
Date: Tue, 24 Feb 2015 17:02:02 +0100
|
||||
Subject: [PATCH] OSX Fix disapearing tray icon
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It would happen together with an error:
|
||||
QPainter::begin: Paint device returned engine == 0
|
||||
and would be caused by the size provided to QIcon::pixmap being empty,
|
||||
itself caused by the availableSizes list being empty for the Selected
|
||||
mode.
|
||||
|
||||
This bug was most often hidden by the fact that the Selected icon mode
|
||||
was not triggered properly since we usually only set menuVisible after
|
||||
calling updateIcon, and most of the time when it did, we would overwrite
|
||||
it right after with a Normal mode icon.
|
||||
|
||||
Fix the issue by disabling the broken feature completely since the
|
||||
default Selected icon is grayed out while tray icons are now usually
|
||||
black (or white when selected). To support the dark menu bar mode on
|
||||
10.10 we'll need to use NSImage's setTemplate anyway and that
|
||||
knowing in advance if we can invert the colors ourselves would also
|
||||
better solve the menuVisible usecase.
|
||||
|
||||
Task-number: QTBUG-42910
|
||||
Change-Id: If9ec9659af28ecceb841bfc2f11721e6029fe891
|
||||
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
||||
---
|
||||
src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm | 17 +++--------------
|
||||
1 file changed, 3 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
index 8a35705..d366a3c 100755
|
||||
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
@@ -102,7 +102,6 @@ QT_USE_NAMESPACE
|
||||
QCocoaSystemTrayIcon *systray;
|
||||
NSStatusItem *item;
|
||||
QCocoaMenu *menu;
|
||||
- bool menuVisible;
|
||||
QIcon icon;
|
||||
QT_MANGLE_NAMESPACE(QNSImageView) *imageCell;
|
||||
}
|
||||
@@ -202,8 +201,6 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
|
||||
m_sys->item->icon = icon;
|
||||
|
||||
- const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
|
||||
-
|
||||
// The reccomended maximum title bar icon height is 18 points
|
||||
// (device independent pixels). The menu height on past and
|
||||
// current OS X versions is 22 points. Provide some future-proofing
|
||||
@@ -218,9 +215,8 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
// devicePixelRatio for the "best" screen on the system.
|
||||
qreal devicePixelRatio = qApp->devicePixelRatio();
|
||||
const int maxPixmapHeight = maxImageHeight * devicePixelRatio;
|
||||
- const QIcon::Mode mode = menuVisible ? QIcon::Selected : QIcon::Normal;
|
||||
QSize selectedSize;
|
||||
- Q_FOREACH (const QSize& size, sortByHeight(icon.availableSizes(mode))) {
|
||||
+ Q_FOREACH (const QSize& size, sortByHeight(icon.availableSizes())) {
|
||||
// Select a pixmap based on the height. We want the largest pixmap
|
||||
// with a height smaller or equal to maxPixmapHeight. The pixmap
|
||||
// may rectangular; assume it has a reasonable size. If there is
|
||||
@@ -236,9 +232,9 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
|
||||
// Handle SVG icons, which do not return anything for availableSizes().
|
||||
if (!selectedSize.isValid())
|
||||
- selectedSize = icon.actualSize(QSize(maxPixmapHeight, maxPixmapHeight), mode);
|
||||
+ selectedSize = icon.actualSize(QSize(maxPixmapHeight, maxPixmapHeight));
|
||||
|
||||
- QPixmap pixmap = icon.pixmap(selectedSize, mode);
|
||||
+ QPixmap pixmap = icon.pixmap(selectedSize);
|
||||
|
||||
// Draw a low-resolution icon if there is not enough pixels for a retina
|
||||
// icon. This prevents showing a small icon on retina displays.
|
||||
@@ -385,9 +381,6 @@ QT_END_NAMESPACE
|
||||
Q_UNUSED(notification);
|
||||
down = NO;
|
||||
|
||||
- parent->systray->updateIcon(parent->icon);
|
||||
- parent->menuVisible = false;
|
||||
-
|
||||
[self setNeedsDisplay:YES];
|
||||
}
|
||||
|
||||
@@ -397,8 +390,6 @@ QT_END_NAMESPACE
|
||||
int clickCount = [mouseEvent clickCount];
|
||||
[self setNeedsDisplay:YES];
|
||||
|
||||
- parent->systray->updateIcon(parent->icon);
|
||||
-
|
||||
if (clickCount == 2) {
|
||||
[self menuTrackingDone:nil];
|
||||
[parent doubleClickSelector:self];
|
||||
@@ -454,7 +445,6 @@ QT_END_NAMESPACE
|
||||
if (self) {
|
||||
item = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
|
||||
menu = 0;
|
||||
- menuVisible = false;
|
||||
systray = sys;
|
||||
imageCell = [[QNSImageView alloc] initWithParent:self];
|
||||
[item setView: imageCell];
|
||||
@@ -498,7 +488,6 @@ QT_END_NAMESPACE
|
||||
selector:@selector(menuTrackingDone:)
|
||||
name:NSMenuDidEndTrackingNotification
|
||||
object:m];
|
||||
- menuVisible = true;
|
||||
[item popUpStatusItemMenu: m];
|
||||
}
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From f3cd07c11e0b7327ffc629f48a89c8c457cdba75 Mon Sep 17 00:00:00 2001
|
||||
From: Jocelyn Turcotte <jturcotte@woboq.com>
|
||||
Date: Fri, 6 Mar 2015 16:12:37 +0100
|
||||
Subject: [PATCH] Fix -force-debug-info with macx-clang
|
||||
|
||||
---
|
||||
mkspecs/common/clang.conf | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf
|
||||
index 2c29bb8..110d380 100644
|
||||
--- a/mkspecs/common/clang.conf
|
||||
+++ b/mkspecs/common/clang.conf
|
||||
@@ -20,11 +20,13 @@ QMAKE_CFLAGS_ISYSTEM = -isystem
|
||||
QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CFLAGS_LTCG = -flto
|
||||
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = $$QMAKE_CFLAGS_OPTIMIZE -g
|
||||
|
||||
QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
|
||||
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
||||
QMAKE_CXXFLAGS_CXX11 = -std=c++11
|
||||
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
|
||||
QMAKE_LFLAGS_CXX11 =
|
||||
QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
||||
--
|
||||
2.2.0
|
||||
|
||||
@@ -0,0 +1,691 @@
|
||||
From cff39fba10ffc10ee4dcfdc66ff6528eb26462d3 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Goetz <markus@woboq.com>
|
||||
Date: Fri, 10 Apr 2015 14:09:53 +0200
|
||||
Subject: [PATCH] QNAM: Fix upload corruptions when server closes connection
|
||||
|
||||
This patch fixes several upload corruptions if the server closes the connection
|
||||
while/before we send data into it. They happen inside multiple places in the HTTP
|
||||
layer and are explained in the comments.
|
||||
Corruptions are:
|
||||
* The upload byte device has an in-flight signal with pending upload data, if
|
||||
it gets reset (because server closes the connection) then the re-send of the
|
||||
request was sometimes taking this stale in-flight pending upload data.
|
||||
* Because some signals were DirectConnection and some were QueuedConnection, there
|
||||
was a chance that a direct signal overtakes a queued signal. The state machine
|
||||
then sent data down the socket which was buffered there (and sent later) although
|
||||
it did not match the current state of the state machine when it was actually sent.
|
||||
* A socket was seen as being able to have requests sent even though it was not
|
||||
encrypted yet. This relates to the previous corruption where data is stored inside
|
||||
the socket's buffer and then sent later.
|
||||
|
||||
The included auto test produces all fixed corruptions, I detected no regressions
|
||||
via the other tests.
|
||||
This code also adds a bit of sanity checking to protect from possible further
|
||||
problems.
|
||||
|
||||
[ChangeLog][QtNetwork] Fix HTTP(s) upload corruption when server closes connection
|
||||
|
||||
Change-Id: I54c883925ec897050941498f139c4b523030432e
|
||||
Reviewed-by: Peter Hartmann <peter-qt@hartmann.tk>
|
||||
---
|
||||
src/corelib/io/qnoncontiguousbytedevice.cpp | 18 +++
|
||||
src/corelib/io/qnoncontiguousbytedevice_p.h | 4 +
|
||||
.../access/qhttpnetworkconnectionchannel.cpp | 35 ++++-
|
||||
.../access/qhttpnetworkconnectionchannel_p.h | 2 +
|
||||
src/network/access/qhttpprotocolhandler.cpp | 7 +
|
||||
src/network/access/qhttpthreaddelegate_p.h | 36 ++++-
|
||||
src/network/access/qnetworkreplyhttpimpl.cpp | 25 ++-
|
||||
src/network/access/qnetworkreplyhttpimpl_p.h | 7 +-
|
||||
.../access/qnetworkreply/tst_qnetworkreply.cpp | 175 ++++++++++++++++++++-
|
||||
9 files changed, 279 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/io/qnoncontiguousbytedevice.cpp b/src/corelib/io/qnoncontiguousbytedevice.cpp
|
||||
index 11510a8..760ca3d 100644
|
||||
--- a/src/corelib/io/qnoncontiguousbytedevice.cpp
|
||||
+++ b/src/corelib/io/qnoncontiguousbytedevice.cpp
|
||||
@@ -236,6 +236,11 @@ qint64 QNonContiguousByteDeviceByteArrayImpl::size()
|
||||
return byteArray->size();
|
||||
}
|
||||
|
||||
+qint64 QNonContiguousByteDeviceByteArrayImpl::pos()
|
||||
+{
|
||||
+ return currentPosition;
|
||||
+}
|
||||
+
|
||||
QNonContiguousByteDeviceRingBufferImpl::QNonContiguousByteDeviceRingBufferImpl(QSharedPointer<QRingBuffer> rb)
|
||||
: QNonContiguousByteDevice(), currentPosition(0)
|
||||
{
|
||||
@@ -273,6 +278,11 @@ bool QNonContiguousByteDeviceRingBufferImpl::atEnd()
|
||||
return currentPosition >= size();
|
||||
}
|
||||
|
||||
+qint64 QNonContiguousByteDeviceRingBufferImpl::pos()
|
||||
+{
|
||||
+ return currentPosition;
|
||||
+}
|
||||
+
|
||||
bool QNonContiguousByteDeviceRingBufferImpl::reset()
|
||||
{
|
||||
if (resetDisabled)
|
||||
@@ -406,6 +416,14 @@ qint64 QNonContiguousByteDeviceIoDeviceImpl::size()
|
||||
return device->size() - initialPosition;
|
||||
}
|
||||
|
||||
+qint64 QNonContiguousByteDeviceIoDeviceImpl::pos()
|
||||
+{
|
||||
+ if (device->isSequential())
|
||||
+ return -1;
|
||||
+
|
||||
+ return device->pos();
|
||||
+}
|
||||
+
|
||||
QByteDeviceWrappingIoDevice::QByteDeviceWrappingIoDevice(QNonContiguousByteDevice *bd) : QIODevice((QObject*)0)
|
||||
{
|
||||
byteDevice = bd;
|
||||
diff --git a/src/corelib/io/qnoncontiguousbytedevice_p.h b/src/corelib/io/qnoncontiguousbytedevice_p.h
|
||||
index c05ae11..4d7b7b0 100644
|
||||
--- a/src/corelib/io/qnoncontiguousbytedevice_p.h
|
||||
+++ b/src/corelib/io/qnoncontiguousbytedevice_p.h
|
||||
@@ -61,6 +61,7 @@ public:
|
||||
virtual const char* readPointer(qint64 maximumLength, qint64 &len) = 0;
|
||||
virtual bool advanceReadPointer(qint64 amount) = 0;
|
||||
virtual bool atEnd() = 0;
|
||||
+ virtual qint64 pos() { return -1; }
|
||||
virtual bool reset() = 0;
|
||||
void disableReset();
|
||||
bool isResetDisabled() { return resetDisabled; }
|
||||
@@ -106,6 +107,7 @@ public:
|
||||
bool atEnd();
|
||||
bool reset();
|
||||
qint64 size();
|
||||
+ qint64 pos() Q_DECL_OVERRIDE;
|
||||
protected:
|
||||
QByteArray* byteArray;
|
||||
qint64 currentPosition;
|
||||
@@ -121,6 +123,7 @@ public:
|
||||
bool atEnd();
|
||||
bool reset();
|
||||
qint64 size();
|
||||
+ qint64 pos() Q_DECL_OVERRIDE;
|
||||
protected:
|
||||
QSharedPointer<QRingBuffer> ringBuffer;
|
||||
qint64 currentPosition;
|
||||
@@ -138,6 +141,7 @@ public:
|
||||
bool atEnd();
|
||||
bool reset();
|
||||
qint64 size();
|
||||
+ qint64 pos() Q_DECL_OVERRIDE;
|
||||
protected:
|
||||
QIODevice* device;
|
||||
QByteArray* currentReadBuffer;
|
||||
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
index 9f63280..49c6793 100644
|
||||
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
@@ -106,15 +106,19 @@ void QHttpNetworkConnectionChannel::init()
|
||||
socket->setProxy(QNetworkProxy::NoProxy);
|
||||
#endif
|
||||
|
||||
+ // We want all signals (except the interactive ones) be connected as QueuedConnection
|
||||
+ // because else we're falling into cases where we recurse back into the socket code
|
||||
+ // and mess up the state. Always going to the event loop (and expecting that when reading/writing)
|
||||
+ // is safer.
|
||||
QObject::connect(socket, SIGNAL(bytesWritten(qint64)),
|
||||
this, SLOT(_q_bytesWritten(qint64)),
|
||||
- Qt::DirectConnection);
|
||||
+ Qt::QueuedConnection);
|
||||
QObject::connect(socket, SIGNAL(connected()),
|
||||
this, SLOT(_q_connected()),
|
||||
- Qt::DirectConnection);
|
||||
+ Qt::QueuedConnection);
|
||||
QObject::connect(socket, SIGNAL(readyRead()),
|
||||
this, SLOT(_q_readyRead()),
|
||||
- Qt::DirectConnection);
|
||||
+ Qt::QueuedConnection);
|
||||
|
||||
// The disconnected() and error() signals may already come
|
||||
// while calling connectToHost().
|
||||
@@ -143,13 +147,13 @@ void QHttpNetworkConnectionChannel::init()
|
||||
// won't be a sslSocket if encrypt is false
|
||||
QObject::connect(sslSocket, SIGNAL(encrypted()),
|
||||
this, SLOT(_q_encrypted()),
|
||||
- Qt::DirectConnection);
|
||||
+ Qt::QueuedConnection);
|
||||
QObject::connect(sslSocket, SIGNAL(sslErrors(QList<QSslError>)),
|
||||
this, SLOT(_q_sslErrors(QList<QSslError>)),
|
||||
Qt::DirectConnection);
|
||||
QObject::connect(sslSocket, SIGNAL(encryptedBytesWritten(qint64)),
|
||||
this, SLOT(_q_encryptedBytesWritten(qint64)),
|
||||
- Qt::DirectConnection);
|
||||
+ Qt::QueuedConnection);
|
||||
|
||||
if (ignoreAllSslErrors)
|
||||
sslSocket->ignoreSslErrors();
|
||||
@@ -186,8 +190,11 @@ void QHttpNetworkConnectionChannel::close()
|
||||
// pendingEncrypt must only be true in between connected and encrypted states
|
||||
pendingEncrypt = false;
|
||||
|
||||
- if (socket)
|
||||
+ if (socket) {
|
||||
+ // socket can be 0 since the host lookup is done from qhttpnetworkconnection.cpp while
|
||||
+ // there is no socket yet.
|
||||
socket->close();
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -353,6 +360,14 @@ bool QHttpNetworkConnectionChannel::ensureConnection()
|
||||
}
|
||||
return false;
|
||||
}
|
||||
+
|
||||
+ // This code path for ConnectedState
|
||||
+ if (pendingEncrypt) {
|
||||
+ // Let's only be really connected when we have received the encrypted() signal. Else the state machine seems to mess up
|
||||
+ // and corrupt the things sent to the server.
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -659,6 +674,12 @@ bool QHttpNetworkConnectionChannel::isSocketReading() const
|
||||
void QHttpNetworkConnectionChannel::_q_bytesWritten(qint64 bytes)
|
||||
{
|
||||
Q_UNUSED(bytes);
|
||||
+ if (ssl) {
|
||||
+ // In the SSL case we want to send data from encryptedBytesWritten signal since that one
|
||||
+ // is the one going down to the actual network, not only into some SSL buffer.
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
// bytes have been written to the socket. write even more of them :)
|
||||
if (isSocketWriting())
|
||||
sendRequest();
|
||||
@@ -734,7 +755,7 @@ void QHttpNetworkConnectionChannel::_q_connected()
|
||||
|
||||
// ### FIXME: if the server closes the connection unexpectedly, we shouldn't send the same broken request again!
|
||||
//channels[i].reconnectAttempts = 2;
|
||||
- if (pendingEncrypt) {
|
||||
+ if (ssl || pendingEncrypt) { // FIXME: Didn't work properly with pendingEncrypt only, we should refactor this into an EncrypingState
|
||||
#ifndef QT_NO_SSL
|
||||
if (connection->sslContext().isNull()) {
|
||||
// this socket is making the 1st handshake for this connection,
|
||||
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
|
||||
index 692c0e6..231fe11 100644
|
||||
--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
|
||||
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
|
||||
@@ -83,6 +83,8 @@ typedef QPair<QHttpNetworkRequest, QHttpNetworkReply*> HttpMessagePair;
|
||||
class QHttpNetworkConnectionChannel : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
+ // TODO: Refactor this to add an EncryptingState (and remove pendingEncrypt).
|
||||
+ // Also add an Unconnected state so IdleState does not have double meaning.
|
||||
enum ChannelState {
|
||||
IdleState = 0, // ready to send request
|
||||
ConnectingState = 1, // connecting to host
|
||||
diff --git a/src/network/access/qhttpprotocolhandler.cpp b/src/network/access/qhttpprotocolhandler.cpp
|
||||
index 28e10f7..3357948 100644
|
||||
--- a/src/network/access/qhttpprotocolhandler.cpp
|
||||
+++ b/src/network/access/qhttpprotocolhandler.cpp
|
||||
@@ -368,6 +368,13 @@ bool QHttpProtocolHandler::sendRequest()
|
||||
// nothing to read currently, break the loop
|
||||
break;
|
||||
} else {
|
||||
+ if (m_channel->written != uploadByteDevice->pos()) {
|
||||
+ // Sanity check. This was useful in tracking down an upload corruption.
|
||||
+ qWarning() << "QHttpProtocolHandler: Internal error in sendRequest. Expected to write at position" << m_channel->written << "but read device is at" << uploadByteDevice->pos();
|
||||
+ Q_ASSERT(m_channel->written == uploadByteDevice->pos());
|
||||
+ m_connection->d_func()->emitReplyError(m_socket, m_reply, QNetworkReply::ProtocolFailure);
|
||||
+ return false;
|
||||
+ }
|
||||
qint64 currentWriteSize = m_socket->write(readPointer, currentReadSize);
|
||||
if (currentWriteSize == -1 || currentWriteSize != currentReadSize) {
|
||||
// socket broke down
|
||||
diff --git a/src/network/access/qhttpthreaddelegate_p.h b/src/network/access/qhttpthreaddelegate_p.h
|
||||
index 1661082..b553409 100644
|
||||
--- a/src/network/access/qhttpthreaddelegate_p.h
|
||||
+++ b/src/network/access/qhttpthreaddelegate_p.h
|
||||
@@ -187,6 +187,7 @@ protected:
|
||||
QByteArray m_dataArray;
|
||||
bool m_atEnd;
|
||||
qint64 m_size;
|
||||
+ qint64 m_pos; // to match calls of haveDataSlot with the expected position
|
||||
public:
|
||||
QNonContiguousByteDeviceThreadForwardImpl(bool aE, qint64 s)
|
||||
: QNonContiguousByteDevice(),
|
||||
@@ -194,7 +195,8 @@ public:
|
||||
m_amount(0),
|
||||
m_data(0),
|
||||
m_atEnd(aE),
|
||||
- m_size(s)
|
||||
+ m_size(s),
|
||||
+ m_pos(0)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -202,6 +204,11 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
+ qint64 pos() Q_DECL_OVERRIDE
|
||||
+ {
|
||||
+ return m_pos;
|
||||
+ }
|
||||
+
|
||||
const char* readPointer(qint64 maximumLength, qint64 &len)
|
||||
{
|
||||
if (m_amount > 0) {
|
||||
@@ -229,11 +236,10 @@ public:
|
||||
|
||||
m_amount -= a;
|
||||
m_data += a;
|
||||
+ m_pos += a;
|
||||
|
||||
- // To main thread to inform about our state
|
||||
- emit processedData(a);
|
||||
-
|
||||
- // FIXME possible optimization, already ask user thread for some data
|
||||
+ // To main thread to inform about our state. The m_pos will be sent as a sanity check.
|
||||
+ emit processedData(m_pos, a);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -250,10 +256,21 @@ public:
|
||||
{
|
||||
m_amount = 0;
|
||||
m_data = 0;
|
||||
+ m_dataArray.clear();
|
||||
+
|
||||
+ if (wantDataPending) {
|
||||
+ // had requested the user thread to send some data (only 1 in-flight at any moment)
|
||||
+ wantDataPending = false;
|
||||
+ }
|
||||
|
||||
// Communicate as BlockingQueuedConnection
|
||||
bool b = false;
|
||||
emit resetData(&b);
|
||||
+ if (b) {
|
||||
+ // the reset succeeded, we're at pos 0 again
|
||||
+ m_pos = 0;
|
||||
+ // the HTTP code will anyway abort the request if !b.
|
||||
+ }
|
||||
return b;
|
||||
}
|
||||
|
||||
@@ -264,8 +281,13 @@ public:
|
||||
|
||||
public slots:
|
||||
// From user thread:
|
||||
- void haveDataSlot(QByteArray dataArray, bool dataAtEnd, qint64 dataSize)
|
||||
+ void haveDataSlot(qint64 pos, QByteArray dataArray, bool dataAtEnd, qint64 dataSize)
|
||||
{
|
||||
+ if (pos != m_pos) {
|
||||
+ // Sometimes when re-sending a request in the qhttpnetwork* layer there is a pending haveData from the
|
||||
+ // user thread on the way to us. We need to ignore it since it is the data for the wrong(later) chunk.
|
||||
+ return;
|
||||
+ }
|
||||
wantDataPending = false;
|
||||
|
||||
m_dataArray = dataArray;
|
||||
@@ -285,7 +307,7 @@ signals:
|
||||
|
||||
// to main thread:
|
||||
void wantData(qint64);
|
||||
- void processedData(qint64);
|
||||
+ void processedData(qint64 pos, qint64 amount);
|
||||
void resetData(bool *b);
|
||||
};
|
||||
|
||||
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
|
||||
index 4ce7303..974a101 100644
|
||||
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
|
||||
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
|
||||
@@ -424,6 +424,7 @@ QNetworkReplyHttpImplPrivate::QNetworkReplyHttpImplPrivate()
|
||||
, synchronous(false)
|
||||
, state(Idle)
|
||||
, statusCode(0)
|
||||
+ , uploadByteDevicePosition(false)
|
||||
, uploadDeviceChoking(false)
|
||||
, outgoingData(0)
|
||||
, bytesUploaded(-1)
|
||||
@@ -863,9 +864,9 @@ void QNetworkReplyHttpImplPrivate::postRequest()
|
||||
q, SLOT(uploadByteDeviceReadyReadSlot()),
|
||||
Qt::QueuedConnection);
|
||||
|
||||
- // From main thread to user thread:
|
||||
- QObject::connect(q, SIGNAL(haveUploadData(QByteArray,bool,qint64)),
|
||||
- forwardUploadDevice, SLOT(haveDataSlot(QByteArray,bool,qint64)), Qt::QueuedConnection);
|
||||
+ // From user thread to http thread:
|
||||
+ QObject::connect(q, SIGNAL(haveUploadData(qint64,QByteArray,bool,qint64)),
|
||||
+ forwardUploadDevice, SLOT(haveDataSlot(qint64,QByteArray,bool,qint64)), Qt::QueuedConnection);
|
||||
QObject::connect(uploadByteDevice.data(), SIGNAL(readyRead()),
|
||||
forwardUploadDevice, SIGNAL(readyRead()),
|
||||
Qt::QueuedConnection);
|
||||
@@ -873,8 +874,8 @@ void QNetworkReplyHttpImplPrivate::postRequest()
|
||||
// From http thread to user thread:
|
||||
QObject::connect(forwardUploadDevice, SIGNAL(wantData(qint64)),
|
||||
q, SLOT(wantUploadDataSlot(qint64)));
|
||||
- QObject::connect(forwardUploadDevice, SIGNAL(processedData(qint64)),
|
||||
- q, SLOT(sentUploadDataSlot(qint64)));
|
||||
+ QObject::connect(forwardUploadDevice,SIGNAL(processedData(qint64, qint64)),
|
||||
+ q, SLOT(sentUploadDataSlot(qint64,qint64)));
|
||||
QObject::connect(forwardUploadDevice, SIGNAL(resetData(bool*)),
|
||||
q, SLOT(resetUploadDataSlot(bool*)),
|
||||
Qt::BlockingQueuedConnection); // this is the only one with BlockingQueued!
|
||||
@@ -1268,12 +1269,22 @@ void QNetworkReplyHttpImplPrivate::replySslConfigurationChanged(const QSslConfig
|
||||
void QNetworkReplyHttpImplPrivate::resetUploadDataSlot(bool *r)
|
||||
{
|
||||
*r = uploadByteDevice->reset();
|
||||
+ if (*r) {
|
||||
+ // reset our own position which is used for the inter-thread communication
|
||||
+ uploadByteDevicePosition = 0;
|
||||
+ }
|
||||
}
|
||||
|
||||
// Coming from QNonContiguousByteDeviceThreadForwardImpl in HTTP thread
|
||||
-void QNetworkReplyHttpImplPrivate::sentUploadDataSlot(qint64 amount)
|
||||
+void QNetworkReplyHttpImplPrivate::sentUploadDataSlot(qint64 pos, qint64 amount)
|
||||
{
|
||||
+ if (uploadByteDevicePosition + amount != pos) {
|
||||
+ // Sanity check, should not happen.
|
||||
+ error(QNetworkReply::UnknownNetworkError, "");
|
||||
+ return;
|
||||
+ }
|
||||
uploadByteDevice->advanceReadPointer(amount);
|
||||
+ uploadByteDevicePosition += amount;
|
||||
}
|
||||
|
||||
// Coming from QNonContiguousByteDeviceThreadForwardImpl in HTTP thread
|
||||
@@ -1298,7 +1309,7 @@ void QNetworkReplyHttpImplPrivate::wantUploadDataSlot(qint64 maxSize)
|
||||
QByteArray dataArray(data, currentUploadDataLength);
|
||||
|
||||
// Communicate back to HTTP thread
|
||||
- emit q->haveUploadData(dataArray, uploadByteDevice->atEnd(), uploadByteDevice->size());
|
||||
+ emit q->haveUploadData(uploadByteDevicePosition, dataArray, uploadByteDevice->atEnd(), uploadByteDevice->size());
|
||||
}
|
||||
|
||||
void QNetworkReplyHttpImplPrivate::uploadByteDeviceReadyReadSlot()
|
||||
diff --git a/src/network/access/qnetworkreplyhttpimpl_p.h b/src/network/access/qnetworkreplyhttpimpl_p.h
|
||||
index 77d9c5a..1940922 100644
|
||||
--- a/src/network/access/qnetworkreplyhttpimpl_p.h
|
||||
+++ b/src/network/access/qnetworkreplyhttpimpl_p.h
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
|
||||
Q_PRIVATE_SLOT(d_func(), void resetUploadDataSlot(bool *r))
|
||||
Q_PRIVATE_SLOT(d_func(), void wantUploadDataSlot(qint64))
|
||||
- Q_PRIVATE_SLOT(d_func(), void sentUploadDataSlot(qint64))
|
||||
+ Q_PRIVATE_SLOT(d_func(), void sentUploadDataSlot(qint64,qint64))
|
||||
Q_PRIVATE_SLOT(d_func(), void uploadByteDeviceReadyReadSlot())
|
||||
Q_PRIVATE_SLOT(d_func(), void emitReplyUploadProgress(qint64, qint64))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_cacheSaveDeviceAboutToClose())
|
||||
@@ -144,7 +144,7 @@ signals:
|
||||
|
||||
void startHttpRequestSynchronously();
|
||||
|
||||
- void haveUploadData(QByteArray dataArray, bool dataAtEnd, qint64 dataSize);
|
||||
+ void haveUploadData(const qint64 pos, QByteArray dataArray, bool dataAtEnd, qint64 dataSize);
|
||||
};
|
||||
|
||||
class QNetworkReplyHttpImplPrivate: public QNetworkReplyPrivate
|
||||
@@ -195,6 +195,7 @@ public:
|
||||
// upload
|
||||
QNonContiguousByteDevice* createUploadByteDevice();
|
||||
QSharedPointer<QNonContiguousByteDevice> uploadByteDevice;
|
||||
+ qint64 uploadByteDevicePosition;
|
||||
bool uploadDeviceChoking; // if we couldn't readPointer() any data at the moment
|
||||
QIODevice *outgoingData;
|
||||
QSharedPointer<QRingBuffer> outgoingDataBuffer;
|
||||
@@ -283,7 +284,7 @@ public:
|
||||
// From QNonContiguousByteDeviceThreadForwardImpl in HTTP thread:
|
||||
void resetUploadDataSlot(bool *r);
|
||||
void wantUploadDataSlot(qint64);
|
||||
- void sentUploadDataSlot(qint64);
|
||||
+ void sentUploadDataSlot(qint64, qint64);
|
||||
|
||||
// From user's QNonContiguousByteDevice
|
||||
void uploadByteDeviceReadyReadSlot();
|
||||
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
|
||||
index 3ccedf6..d2edf67 100644
|
||||
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
|
||||
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
|
||||
@@ -457,6 +457,10 @@ private Q_SLOTS:
|
||||
|
||||
void putWithRateLimiting();
|
||||
|
||||
+#ifndef QT_NO_SSL
|
||||
+ void putWithServerClosingConnectionImmediately();
|
||||
+#endif
|
||||
+
|
||||
// NOTE: This test must be last!
|
||||
void parentingRepliesToTheApp();
|
||||
private:
|
||||
@@ -4718,18 +4722,22 @@ void tst_QNetworkReply::ioPostToHttpNoBufferFlag()
|
||||
class SslServer : public QTcpServer {
|
||||
Q_OBJECT
|
||||
public:
|
||||
- SslServer() : socket(0) {};
|
||||
+ SslServer() : socket(0), m_ssl(true) {}
|
||||
void incomingConnection(qintptr socketDescriptor) {
|
||||
QSslSocket *serverSocket = new QSslSocket;
|
||||
serverSocket->setParent(this);
|
||||
|
||||
if (serverSocket->setSocketDescriptor(socketDescriptor)) {
|
||||
+ connect(serverSocket, SIGNAL(readyRead()), this, SLOT(readyReadSlot()));
|
||||
+ if (!m_ssl) {
|
||||
+ emit newPlainConnection(serverSocket);
|
||||
+ return;
|
||||
+ }
|
||||
QString testDataDir = QFileInfo(QFINDTESTDATA("rfc3252.txt")).absolutePath();
|
||||
if (testDataDir.isEmpty())
|
||||
testDataDir = QCoreApplication::applicationDirPath();
|
||||
|
||||
connect(serverSocket, SIGNAL(encrypted()), this, SLOT(encryptedSlot()));
|
||||
- connect(serverSocket, SIGNAL(readyRead()), this, SLOT(readyReadSlot()));
|
||||
serverSocket->setProtocol(QSsl::AnyProtocol);
|
||||
connect(serverSocket, SIGNAL(sslErrors(QList<QSslError>)), serverSocket, SLOT(ignoreSslErrors()));
|
||||
serverSocket->setLocalCertificate(testDataDir + "/certs/server.pem");
|
||||
@@ -4740,11 +4748,12 @@ public:
|
||||
}
|
||||
}
|
||||
signals:
|
||||
- void newEncryptedConnection();
|
||||
+ void newEncryptedConnection(QSslSocket *s);
|
||||
+ void newPlainConnection(QSslSocket *s);
|
||||
public slots:
|
||||
void encryptedSlot() {
|
||||
socket = (QSslSocket*) sender();
|
||||
- emit newEncryptedConnection();
|
||||
+ emit newEncryptedConnection(socket);
|
||||
}
|
||||
void readyReadSlot() {
|
||||
// for the incoming sockets, not the server socket
|
||||
@@ -4753,6 +4762,7 @@ public slots:
|
||||
|
||||
public:
|
||||
QSslSocket *socket;
|
||||
+ bool m_ssl;
|
||||
};
|
||||
|
||||
// very similar to ioPostToHttpUploadProgress but for SSL
|
||||
@@ -4780,7 +4790,7 @@ void tst_QNetworkReply::ioPostToHttpsUploadProgress()
|
||||
QNetworkReplyPtr reply(manager.post(request, sourceFile));
|
||||
|
||||
QSignalSpy spy(reply.data(), SIGNAL(uploadProgress(qint64,qint64)));
|
||||
- connect(&server, SIGNAL(newEncryptedConnection()), &QTestEventLoop::instance(), SLOT(exitLoop()));
|
||||
+ connect(&server, SIGNAL(newEncryptedConnection(QSslSocket*)), &QTestEventLoop::instance(), SLOT(exitLoop()));
|
||||
connect(reply, SIGNAL(sslErrors(QList<QSslError>)), reply.data(), SLOT(ignoreSslErrors()));
|
||||
|
||||
// get the request started and the incoming socket connected
|
||||
@@ -4788,7 +4798,7 @@ void tst_QNetworkReply::ioPostToHttpsUploadProgress()
|
||||
QVERIFY(!QTestEventLoop::instance().timeout());
|
||||
QTcpSocket *incomingSocket = server.socket;
|
||||
QVERIFY(incomingSocket);
|
||||
- disconnect(&server, SIGNAL(newEncryptedConnection()), &QTestEventLoop::instance(), SLOT(exitLoop()));
|
||||
+ disconnect(&server, SIGNAL(newEncryptedConnection(QSslSocket*)), &QTestEventLoop::instance(), SLOT(exitLoop()));
|
||||
|
||||
|
||||
incomingSocket->setReadBufferSize(1*1024);
|
||||
@@ -7905,6 +7915,159 @@ void tst_QNetworkReply::putWithRateLimiting()
|
||||
}
|
||||
|
||||
|
||||
+#ifndef QT_NO_SSL
|
||||
+
|
||||
+class PutWithServerClosingConnectionImmediatelyHandler: public QObject
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+public:
|
||||
+ bool m_parsedHeaders;
|
||||
+ QByteArray m_receivedData;
|
||||
+ QByteArray m_expectedData;
|
||||
+ QSslSocket *m_socket;
|
||||
+ PutWithServerClosingConnectionImmediatelyHandler(QSslSocket *s, QByteArray expected) :m_parsedHeaders(false), m_expectedData(expected), m_socket(s)
|
||||
+ {
|
||||
+ m_socket->setParent(this);
|
||||
+ connect(m_socket, SIGNAL(readyRead()), SLOT(readyReadSlot()));
|
||||
+ connect(m_socket, SIGNAL(disconnected()), SLOT(disconnectedSlot()));
|
||||
+ }
|
||||
+signals:
|
||||
+ void correctFileUploadReceived();
|
||||
+ void corruptFileUploadReceived();
|
||||
+
|
||||
+public slots:
|
||||
+ void closeDelayed() {
|
||||
+ m_socket->close();
|
||||
+ }
|
||||
+
|
||||
+ void readyReadSlot()
|
||||
+ {
|
||||
+ QByteArray data = m_socket->readAll();
|
||||
+ m_receivedData += data;
|
||||
+ if (!m_parsedHeaders && m_receivedData.contains("\r\n\r\n")) {
|
||||
+ m_parsedHeaders = true;
|
||||
+ QTimer::singleShot(qrand()%10, this, SLOT(closeDelayed())); // simulate random network latency
|
||||
+ // This server simulates a web server connection closing, e.g. because of Apaches MaxKeepAliveRequests or KeepAliveTimeout
|
||||
+ // In this case QNAM needs to re-send the upload data but it had a bug which then corrupts the upload
|
||||
+ // This test catches that.
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ void disconnectedSlot()
|
||||
+ {
|
||||
+ if (m_parsedHeaders) {
|
||||
+ //qDebug() << m_receivedData.left(m_receivedData.indexOf("\r\n\r\n"));
|
||||
+ m_receivedData = m_receivedData.mid(m_receivedData.indexOf("\r\n\r\n")+4); // check only actual data
|
||||
+ }
|
||||
+ if (m_receivedData.length() > 0 && !m_expectedData.startsWith(m_receivedData)) {
|
||||
+ // We had received some data but it is corrupt!
|
||||
+ qDebug() << "CORRUPT" << m_receivedData.count();
|
||||
+
|
||||
+ // Use this to track down the pattern of the corruption and conclude the source
|
||||
+// QFile a("/tmp/corrupt");
|
||||
+// a.open(QIODevice::WriteOnly);
|
||||
+// a.write(m_receivedData);
|
||||
+// a.close();
|
||||
+
|
||||
+// QFile b("/tmp/correct");
|
||||
+// b.open(QIODevice::WriteOnly);
|
||||
+// b.write(m_expectedData);
|
||||
+// b.close();
|
||||
+ //exit(1);
|
||||
+ emit corruptFileUploadReceived();
|
||||
+ } else {
|
||||
+ emit correctFileUploadReceived();
|
||||
+ }
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+class PutWithServerClosingConnectionImmediatelyServer: public SslServer
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+public:
|
||||
+ int m_correctUploads;
|
||||
+ int m_corruptUploads;
|
||||
+ int m_repliesFinished;
|
||||
+ int m_expectedReplies;
|
||||
+ QByteArray m_expectedData;
|
||||
+ PutWithServerClosingConnectionImmediatelyServer() : SslServer(), m_correctUploads(0), m_corruptUploads(0), m_repliesFinished(0), m_expectedReplies(0)
|
||||
+ {
|
||||
+ QObject::connect(this, SIGNAL(newEncryptedConnection(QSslSocket*)), this, SLOT(createHandlerForConnection(QSslSocket*)));
|
||||
+ QObject::connect(this, SIGNAL(newPlainConnection(QSslSocket*)), this, SLOT(createHandlerForConnection(QSslSocket*)));
|
||||
+ }
|
||||
+
|
||||
+public slots:
|
||||
+ void createHandlerForConnection(QSslSocket* s) {
|
||||
+ PutWithServerClosingConnectionImmediatelyHandler *handler = new PutWithServerClosingConnectionImmediatelyHandler(s, m_expectedData);
|
||||
+ handler->setParent(this);
|
||||
+ QObject::connect(handler, SIGNAL(correctFileUploadReceived()), this, SLOT(increaseCorrect()));
|
||||
+ QObject::connect(handler, SIGNAL(corruptFileUploadReceived()), this, SLOT(increaseCorrupt()));
|
||||
+ }
|
||||
+ void increaseCorrect() {
|
||||
+ m_correctUploads++;
|
||||
+ }
|
||||
+ void increaseCorrupt() {
|
||||
+ m_corruptUploads++;
|
||||
+ }
|
||||
+ void replyFinished() {
|
||||
+ m_repliesFinished++;
|
||||
+ if (m_repliesFinished == m_expectedReplies) {
|
||||
+ QTestEventLoop::instance().exitLoop();
|
||||
+ }
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+
|
||||
+
|
||||
+void tst_QNetworkReply::putWithServerClosingConnectionImmediately()
|
||||
+{
|
||||
+ const int numUploads = 40;
|
||||
+ qint64 wantedSize = 512*1024; // 512 kB
|
||||
+ QByteArray sourceFile;
|
||||
+ for (int i = 0; i < wantedSize; ++i) {
|
||||
+ sourceFile += (char)'a' +(i%26);
|
||||
+ }
|
||||
+ bool withSsl = false;
|
||||
+
|
||||
+ for (int s = 0; s <= 1; s++) {
|
||||
+ withSsl = (s == 1);
|
||||
+ // Test also needs to run several times because of 9c2ecf89
|
||||
+ for (int j = 0; j < 20; j++) {
|
||||
+ // emulate a minimal https server
|
||||
+ PutWithServerClosingConnectionImmediatelyServer server;
|
||||
+ server.m_ssl = withSsl;
|
||||
+ server.m_expectedData = sourceFile;
|
||||
+ server.m_expectedReplies = numUploads;
|
||||
+ server.listen(QHostAddress(QHostAddress::LocalHost), 0);
|
||||
+
|
||||
+ for (int i = 0; i < numUploads; i++) {
|
||||
+ // create the request
|
||||
+ QUrl url = QUrl(QString("http%1://127.0.0.1:%2/file=%3").arg(withSsl ? "s" : "").arg(server.serverPort()).arg(i));
|
||||
+ QNetworkRequest request(url);
|
||||
+ QNetworkReply *reply = manager.put(request, sourceFile);
|
||||
+ connect(reply, SIGNAL(sslErrors(QList<QSslError>)), reply, SLOT(ignoreSslErrors()));
|
||||
+ connect(reply, SIGNAL(finished()), &server, SLOT(replyFinished()));
|
||||
+ reply->setParent(&server);
|
||||
+ }
|
||||
+
|
||||
+ // get the request started and the incoming socket connected
|
||||
+ QTestEventLoop::instance().enterLoop(10);
|
||||
+
|
||||
+ //qDebug() << "correct=" << server.m_correctUploads << "corrupt=" << server.m_corruptUploads << "expected=" <<numUploads;
|
||||
+
|
||||
+ // Sanity check because ecause of 9c2ecf89 most replies will error out but we want to make sure at least some of them worked
|
||||
+ QVERIFY(server.m_correctUploads > 5);
|
||||
+ // Because actually important is that we don't get any corruption:
|
||||
+ QCOMPARE(server.m_corruptUploads, 0);
|
||||
+
|
||||
+ server.close();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
|
||||
// NOTE: This test must be last testcase in tst_qnetworkreply!
|
||||
void tst_QNetworkReply::parentingRepliesToTheApp()
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,434 @@
|
||||
From eae0cb09f1310e755c2aff7c1112f7a6c09d7a53 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Goetz <markus@woboq.com>
|
||||
Date: Fri, 19 Jun 2015 15:35:34 +0200
|
||||
Subject: [PATCH] Network: Fix up previous corruption patch
|
||||
|
||||
This is a fix-up for cff39fba10ffc10ee4dcfdc66ff6528eb26462d3.
|
||||
That patch lead to some internal state issues that lead to the QTBUG-47048
|
||||
or to QNetworkReply objects erroring with "Connection Closed" when
|
||||
the server closed the Keep-Alive connection.
|
||||
|
||||
This patch changes the QNAM socket slot connections to be DirectConnection.
|
||||
We don't close the socket anymore in slots where it is anyway in a closed state
|
||||
afterwards. This prevents event/stack recursions.
|
||||
We also flush QSslSocket/QTcpSocket receive buffers when receiving a disconnect
|
||||
so that the developer always gets the full decrypted data from the buffers.
|
||||
|
||||
[ChangeLog][QtNetwork] Fix HTTP issues with "Unknown Error" and "Connection Closed"
|
||||
[ChangeLog][QtNetwork][Sockets] Read OS/encrypted read buffers when connection
|
||||
closed by server.
|
||||
|
||||
Change-Id: Ib4d6a2d0d988317e3a5356f36e8dbcee4590beed
|
||||
Task-number: QTBUG-47048
|
||||
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
||||
Reviewed-by: Richard J. Moore <rich@kde.org>
|
||||
---
|
||||
src/network/access/qhttpnetworkconnection.cpp | 1 -
|
||||
.../access/qhttpnetworkconnectionchannel.cpp | 108 +++++++++++++--------
|
||||
.../access/qhttpnetworkconnectionchannel_p.h | 1 +
|
||||
src/network/access/qhttpnetworkreply.cpp | 2 +-
|
||||
src/network/access/qhttpprotocolhandler.cpp | 1 -
|
||||
src/network/socket/qabstractsocket.cpp | 7 +-
|
||||
src/network/ssl/qsslsocket.cpp | 8 ++
|
||||
src/network/ssl/qsslsocket_openssl.cpp | 7 ++
|
||||
.../access/qnetworkreply/tst_qnetworkreply.cpp | 9 +-
|
||||
9 files changed, 94 insertions(+), 50 deletions(-)
|
||||
|
||||
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
|
||||
index 365ce55..543c70e 100644
|
||||
--- a/src/network/access/qhttpnetworkconnection.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnection.cpp
|
||||
@@ -917,7 +917,6 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest()
|
||||
for (int i = 0; i < channelCount; ++i) {
|
||||
if (channels[i].resendCurrent && (channels[i].state != QHttpNetworkConnectionChannel::ClosingState)) {
|
||||
channels[i].resendCurrent = false;
|
||||
- channels[i].state = QHttpNetworkConnectionChannel::IdleState;
|
||||
|
||||
// if this is not possible, error will be emitted and connection terminated
|
||||
if (!channels[i].resetUploadData())
|
||||
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
index 49c6793..e2f6307 100644
|
||||
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
@@ -58,6 +58,11 @@ QT_BEGIN_NAMESPACE
|
||||
|
||||
// TODO: Put channel specific stuff here so it does not polute qhttpnetworkconnection.cpp
|
||||
|
||||
+// Because in-flight when sending a request, the server might close our connection (because the persistent HTTP
|
||||
+// connection times out)
|
||||
+// We use 3 because we can get a _q_error 3 times depending on the timing:
|
||||
+static const int reconnectAttemptsDefault = 3;
|
||||
+
|
||||
QHttpNetworkConnectionChannel::QHttpNetworkConnectionChannel()
|
||||
: socket(0)
|
||||
, ssl(false)
|
||||
@@ -69,7 +74,7 @@ QHttpNetworkConnectionChannel::QHttpNetworkConnectionChannel()
|
||||
, resendCurrent(false)
|
||||
, lastStatus(0)
|
||||
, pendingEncrypt(false)
|
||||
- , reconnectAttempts(2)
|
||||
+ , reconnectAttempts(reconnectAttemptsDefault)
|
||||
, authMethod(QAuthenticatorPrivate::None)
|
||||
, proxyAuthMethod(QAuthenticatorPrivate::None)
|
||||
, authenticationCredentialsSent(false)
|
||||
@@ -106,19 +111,18 @@ void QHttpNetworkConnectionChannel::init()
|
||||
socket->setProxy(QNetworkProxy::NoProxy);
|
||||
#endif
|
||||
|
||||
- // We want all signals (except the interactive ones) be connected as QueuedConnection
|
||||
- // because else we're falling into cases where we recurse back into the socket code
|
||||
- // and mess up the state. Always going to the event loop (and expecting that when reading/writing)
|
||||
- // is safer.
|
||||
+ // After some back and forth in all the last years, this is now a DirectConnection because otherwise
|
||||
+ // the state inside the *Socket classes gets messed up, also in conjunction with the socket notifiers
|
||||
+ // which behave slightly differently on Windows vs Linux
|
||||
QObject::connect(socket, SIGNAL(bytesWritten(qint64)),
|
||||
this, SLOT(_q_bytesWritten(qint64)),
|
||||
- Qt::QueuedConnection);
|
||||
+ Qt::DirectConnection);
|
||||
QObject::connect(socket, SIGNAL(connected()),
|
||||
this, SLOT(_q_connected()),
|
||||
- Qt::QueuedConnection);
|
||||
+ Qt::DirectConnection);
|
||||
QObject::connect(socket, SIGNAL(readyRead()),
|
||||
this, SLOT(_q_readyRead()),
|
||||
- Qt::QueuedConnection);
|
||||
+ Qt::DirectConnection);
|
||||
|
||||
// The disconnected() and error() signals may already come
|
||||
// while calling connectToHost().
|
||||
@@ -129,10 +133,10 @@ void QHttpNetworkConnectionChannel::init()
|
||||
qRegisterMetaType<QAbstractSocket::SocketError>();
|
||||
QObject::connect(socket, SIGNAL(disconnected()),
|
||||
this, SLOT(_q_disconnected()),
|
||||
- Qt::QueuedConnection);
|
||||
+ Qt::DirectConnection);
|
||||
QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
|
||||
this, SLOT(_q_error(QAbstractSocket::SocketError)),
|
||||
- Qt::QueuedConnection);
|
||||
+ Qt::DirectConnection);
|
||||
|
||||
|
||||
#ifndef QT_NO_NETWORKPROXY
|
||||
@@ -147,13 +151,13 @@ void QHttpNetworkConnectionChannel::init()
|
||||
// won't be a sslSocket if encrypt is false
|
||||
QObject::connect(sslSocket, SIGNAL(encrypted()),
|
||||
this, SLOT(_q_encrypted()),
|
||||
- Qt::QueuedConnection);
|
||||
+ Qt::DirectConnection);
|
||||
QObject::connect(sslSocket, SIGNAL(sslErrors(QList<QSslError>)),
|
||||
this, SLOT(_q_sslErrors(QList<QSslError>)),
|
||||
Qt::DirectConnection);
|
||||
QObject::connect(sslSocket, SIGNAL(encryptedBytesWritten(qint64)),
|
||||
this, SLOT(_q_encryptedBytesWritten(qint64)),
|
||||
- Qt::QueuedConnection);
|
||||
+ Qt::DirectConnection);
|
||||
|
||||
if (ignoreAllSslErrors)
|
||||
sslSocket->ignoreSslErrors();
|
||||
@@ -397,7 +401,7 @@ void QHttpNetworkConnectionChannel::allDone()
|
||||
|
||||
// reset the reconnection attempts after we receive a complete reply.
|
||||
// in case of failures, each channel will attempt two reconnects before emitting error.
|
||||
- reconnectAttempts = 2;
|
||||
+ reconnectAttempts = reconnectAttemptsDefault;
|
||||
|
||||
// now the channel can be seen as free/idle again, all signal emissions for the reply have been done
|
||||
if (state != QHttpNetworkConnectionChannel::ClosingState)
|
||||
@@ -651,6 +655,15 @@ void QHttpNetworkConnectionChannel::closeAndResendCurrentRequest()
|
||||
QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
+void QHttpNetworkConnectionChannel::resendCurrentRequest()
|
||||
+{
|
||||
+ requeueCurrentlyPipelinedRequests();
|
||||
+ if (reply)
|
||||
+ resendCurrent = true;
|
||||
+ if (qobject_cast<QHttpNetworkConnection*>(connection))
|
||||
+ QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
|
||||
+}
|
||||
+
|
||||
bool QHttpNetworkConnectionChannel::isSocketBusy() const
|
||||
{
|
||||
return (state & QHttpNetworkConnectionChannel::BusyState);
|
||||
@@ -694,8 +707,8 @@ void QHttpNetworkConnectionChannel::_q_disconnected()
|
||||
return;
|
||||
}
|
||||
|
||||
- // read the available data before closing
|
||||
- if (isSocketWaiting() || isSocketReading()) {
|
||||
+ // read the available data before closing (also done in _q_error for other codepaths)
|
||||
+ if ((isSocketWaiting() || isSocketReading()) && socket->bytesAvailable()) {
|
||||
if (reply) {
|
||||
state = QHttpNetworkConnectionChannel::ReadingState;
|
||||
_q_receiveReply();
|
||||
@@ -707,7 +720,8 @@ void QHttpNetworkConnectionChannel::_q_disconnected()
|
||||
state = QHttpNetworkConnectionChannel::IdleState;
|
||||
|
||||
requeueCurrentlyPipelinedRequests();
|
||||
- close();
|
||||
+
|
||||
+ pendingEncrypt = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -789,11 +803,19 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
|
||||
errorCode = QNetworkReply::ConnectionRefusedError;
|
||||
break;
|
||||
case QAbstractSocket::RemoteHostClosedError:
|
||||
- // try to reconnect/resend before sending an error.
|
||||
- // while "Reading" the _q_disconnected() will handle this.
|
||||
- if (state != QHttpNetworkConnectionChannel::IdleState && state != QHttpNetworkConnectionChannel::ReadingState) {
|
||||
+ // This error for SSL comes twice in a row, first from SSL layer ("The TLS/SSL connection has been closed") then from TCP layer.
|
||||
+ // Depending on timing it can also come three times in a row (first time when we try to write into a closing QSslSocket).
|
||||
+ // The reconnectAttempts handling catches the cases where we can re-send the request.
|
||||
+ if (!reply && state == QHttpNetworkConnectionChannel::IdleState) {
|
||||
+ // Not actually an error, it is normal for Keep-Alive connections to close after some time if no request
|
||||
+ // is sent on them. No need to error the other replies below. Just bail out here.
|
||||
+ // The _q_disconnected will handle the possibly pipelined replies
|
||||
+ return;
|
||||
+ } else if (state != QHttpNetworkConnectionChannel::IdleState && state != QHttpNetworkConnectionChannel::ReadingState) {
|
||||
+ // Try to reconnect/resend before sending an error.
|
||||
+ // While "Reading" the _q_disconnected() will handle this.
|
||||
if (reconnectAttempts-- > 0) {
|
||||
- closeAndResendCurrentRequest();
|
||||
+ resendCurrentRequest();
|
||||
return;
|
||||
} else {
|
||||
errorCode = QNetworkReply::RemoteHostClosedError;
|
||||
@@ -818,24 +840,15 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
|
||||
// we can ignore the readbuffersize as the data is already
|
||||
// in memory and we will not receive more data on the socket.
|
||||
reply->setReadBufferSize(0);
|
||||
+ reply->setDownstreamLimited(false);
|
||||
_q_receiveReply();
|
||||
-#ifndef QT_NO_SSL
|
||||
- if (ssl) {
|
||||
- // QT_NO_OPENSSL. The QSslSocket can still have encrypted bytes in the plainsocket.
|
||||
- // So we need to check this if the socket is a QSslSocket. When the socket is flushed
|
||||
- // it will force a decrypt of the encrypted data in the plainsocket.
|
||||
- QSslSocket *sslSocket = static_cast<QSslSocket*>(socket);
|
||||
- qint64 beforeFlush = sslSocket->encryptedBytesAvailable();
|
||||
- while (sslSocket->encryptedBytesAvailable()) {
|
||||
- sslSocket->flush();
|
||||
- _q_receiveReply();
|
||||
- qint64 afterFlush = sslSocket->encryptedBytesAvailable();
|
||||
- if (afterFlush == beforeFlush)
|
||||
- break;
|
||||
- beforeFlush = afterFlush;
|
||||
- }
|
||||
+ if (!reply) {
|
||||
+ // No more reply assigned after the previous call? Then it had been finished successfully.
|
||||
+ requeueCurrentlyPipelinedRequests();
|
||||
+ state = QHttpNetworkConnectionChannel::IdleState;
|
||||
+ QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
|
||||
+ return;
|
||||
}
|
||||
-#endif
|
||||
}
|
||||
|
||||
errorCode = QNetworkReply::RemoteHostClosedError;
|
||||
@@ -846,7 +859,7 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
|
||||
case QAbstractSocket::SocketTimeoutError:
|
||||
// try to reconnect/resend before sending an error.
|
||||
if (state == QHttpNetworkConnectionChannel::WritingState && (reconnectAttempts-- > 0)) {
|
||||
- closeAndResendCurrentRequest();
|
||||
+ resendCurrentRequest();
|
||||
return;
|
||||
}
|
||||
errorCode = QNetworkReply::TimeoutError;
|
||||
@@ -860,7 +873,7 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
|
||||
case QAbstractSocket::ProxyConnectionClosedError:
|
||||
// try to reconnect/resend before sending an error.
|
||||
if (reconnectAttempts-- > 0) {
|
||||
- closeAndResendCurrentRequest();
|
||||
+ resendCurrentRequest();
|
||||
return;
|
||||
}
|
||||
errorCode = QNetworkReply::ProxyConnectionClosedError;
|
||||
@@ -868,7 +881,7 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
|
||||
case QAbstractSocket::ProxyConnectionTimeoutError:
|
||||
// try to reconnect/resend before sending an error.
|
||||
if (reconnectAttempts-- > 0) {
|
||||
- closeAndResendCurrentRequest();
|
||||
+ resendCurrentRequest();
|
||||
return;
|
||||
}
|
||||
errorCode = QNetworkReply::ProxyTimeoutError;
|
||||
@@ -916,8 +929,18 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
|
||||
// send the next request
|
||||
QMetaObject::invokeMethod(that, "_q_startNextRequest", Qt::QueuedConnection);
|
||||
|
||||
- if (that) //signal emission triggered event loop
|
||||
- close();
|
||||
+ if (that) {
|
||||
+ //signal emission triggered event loop
|
||||
+ if (!socket)
|
||||
+ state = QHttpNetworkConnectionChannel::IdleState;
|
||||
+ else if (socket->state() == QAbstractSocket::UnconnectedState)
|
||||
+ state = QHttpNetworkConnectionChannel::IdleState;
|
||||
+ else
|
||||
+ state = QHttpNetworkConnectionChannel::ClosingState;
|
||||
+
|
||||
+ // pendingEncrypt must only be true in between connected and encrypted states
|
||||
+ pendingEncrypt = false;
|
||||
+ }
|
||||
}
|
||||
|
||||
#ifndef QT_NO_NETWORKPROXY
|
||||
@@ -941,7 +964,8 @@ void QHttpNetworkConnectionChannel::_q_proxyAuthenticationRequired(const QNetwor
|
||||
|
||||
void QHttpNetworkConnectionChannel::_q_uploadDataReadyRead()
|
||||
{
|
||||
- sendRequest();
|
||||
+ if (reply)
|
||||
+ sendRequest();
|
||||
}
|
||||
|
||||
#ifndef QT_NO_SSL
|
||||
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
|
||||
index 231fe11..a834b7d 100644
|
||||
--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
|
||||
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
|
||||
@@ -169,6 +169,7 @@ public:
|
||||
|
||||
void handleUnexpectedEOF();
|
||||
void closeAndResendCurrentRequest();
|
||||
+ void resendCurrentRequest();
|
||||
|
||||
bool isSocketBusy() const;
|
||||
bool isSocketWriting() const;
|
||||
diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp
|
||||
index 55863a3..8b71bd8 100644
|
||||
--- a/src/network/access/qhttpnetworkreply.cpp
|
||||
+++ b/src/network/access/qhttpnetworkreply.cpp
|
||||
@@ -191,7 +191,7 @@ QByteArray QHttpNetworkReply::readAny()
|
||||
return QByteArray();
|
||||
|
||||
// we'll take the last buffer, so schedule another read from http
|
||||
- if (d->downstreamLimited && d->responseData.bufferCount() == 1)
|
||||
+ if (d->downstreamLimited && d->responseData.bufferCount() == 1 && !isFinished())
|
||||
d->connection->d_func()->readMoreLater(this);
|
||||
return d->responseData.read();
|
||||
}
|
||||
diff --git a/src/network/access/qhttpprotocolhandler.cpp b/src/network/access/qhttpprotocolhandler.cpp
|
||||
index 3357948..380aaac 100644
|
||||
--- a/src/network/access/qhttpprotocolhandler.cpp
|
||||
+++ b/src/network/access/qhttpprotocolhandler.cpp
|
||||
@@ -250,7 +250,6 @@ bool QHttpProtocolHandler::sendRequest()
|
||||
if (!m_reply) {
|
||||
// heh, how should that happen!
|
||||
qWarning() << "QAbstractProtocolHandler::sendRequest() called without QHttpNetworkReply";
|
||||
- m_channel->state = QHttpNetworkConnectionChannel::IdleState;
|
||||
return false;
|
||||
}
|
||||
|
||||
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
|
||||
index 2666771..0e82d4a 100644
|
||||
--- a/src/network/socket/qabstractsocket.cpp
|
||||
+++ b/src/network/socket/qabstractsocket.cpp
|
||||
@@ -768,6 +768,7 @@ bool QAbstractSocketPrivate::canReadNotification()
|
||||
void QAbstractSocketPrivate::canCloseNotification()
|
||||
{
|
||||
Q_Q(QAbstractSocket);
|
||||
+ // Note that this method is only called on Windows. Other platforms close in the canReadNotification()
|
||||
|
||||
#if defined (QABSTRACTSOCKET_DEBUG)
|
||||
qDebug("QAbstractSocketPrivate::canCloseNotification()");
|
||||
@@ -777,7 +778,11 @@ void QAbstractSocketPrivate::canCloseNotification()
|
||||
if (isBuffered) {
|
||||
// Try to read to the buffer, if the read fail we can close the socket.
|
||||
newBytes = buffer.size();
|
||||
- if (!readFromSocket()) {
|
||||
+ qint64 oldReadBufferMaxSize = readBufferMaxSize;
|
||||
+ readBufferMaxSize = 0; // temporarily disable max read buffer, we want to empty the OS buffer
|
||||
+ bool hadReadFromSocket = readFromSocket();
|
||||
+ readBufferMaxSize = oldReadBufferMaxSize;
|
||||
+ if (!hadReadFromSocket) {
|
||||
q->disconnectFromHost();
|
||||
return;
|
||||
}
|
||||
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
|
||||
index c1fab94..2b9e923 100644
|
||||
--- a/src/network/ssl/qsslsocket.cpp
|
||||
+++ b/src/network/ssl/qsslsocket.cpp
|
||||
@@ -2294,6 +2294,14 @@ void QSslSocketPrivate::_q_errorSlot(QAbstractSocket::SocketError error)
|
||||
qCDebug(lcSsl) << "\tstate =" << q->state();
|
||||
qCDebug(lcSsl) << "\terrorString =" << q->errorString();
|
||||
#endif
|
||||
+ // this moves encrypted bytes from plain socket into our buffer
|
||||
+ if (plainSocket->bytesAvailable()) {
|
||||
+ qint64 tmpReadBufferMaxSize = readBufferMaxSize;
|
||||
+ readBufferMaxSize = 0; // reset temporarily so the plain sockets completely drained drained
|
||||
+ transmit();
|
||||
+ readBufferMaxSize = tmpReadBufferMaxSize;
|
||||
+ }
|
||||
+
|
||||
q->setSocketError(plainSocket->error());
|
||||
q->setErrorString(plainSocket->errorString());
|
||||
emit q->error(error);
|
||||
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
index ac4336a..94655fe 100644
|
||||
--- a/src/network/ssl/qsslsocket_openssl.cpp
|
||||
+++ b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
@@ -1419,6 +1419,13 @@ void QSslSocketBackendPrivate::disconnected()
|
||||
{
|
||||
if (plainSocket->bytesAvailable() <= 0)
|
||||
destroySslContext();
|
||||
+ else {
|
||||
+ // Move all bytes into the plain buffer
|
||||
+ qint64 tmpReadBufferMaxSize = readBufferMaxSize;
|
||||
+ readBufferMaxSize = 0; // reset temporarily so the plain socket buffer is completely drained
|
||||
+ transmit();
|
||||
+ readBufferMaxSize = tmpReadBufferMaxSize;
|
||||
+ }
|
||||
//if there is still buffered data in the plain socket, don't destroy the ssl context yet.
|
||||
//it will be destroyed when the socket is deleted.
|
||||
}
|
||||
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
|
||||
index d2edf67..138f528 100644
|
||||
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
|
||||
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
|
||||
@@ -1051,7 +1051,7 @@ protected:
|
||||
// clean up QAbstractSocket's residue:
|
||||
while (client->bytesToWrite() > 0) {
|
||||
qDebug() << "Still having" << client->bytesToWrite() << "bytes to write, doing that now";
|
||||
- if (!client->waitForBytesWritten(2000)) {
|
||||
+ if (!client->waitForBytesWritten(10000)) {
|
||||
qDebug() << "ERROR: FastSender:" << client->error() << "cleaning up residue";
|
||||
return;
|
||||
}
|
||||
@@ -1071,7 +1071,7 @@ protected:
|
||||
measuredSentBytes += writeNextData(client, bytesToWrite);
|
||||
|
||||
while (client->bytesToWrite() > 0) {
|
||||
- if (!client->waitForBytesWritten(2000)) {
|
||||
+ if (!client->waitForBytesWritten(10000)) {
|
||||
qDebug() << "ERROR: FastSender:" << client->error() << "during blocking write";
|
||||
return;
|
||||
}
|
||||
@@ -7946,7 +7946,7 @@ public slots:
|
||||
m_receivedData += data;
|
||||
if (!m_parsedHeaders && m_receivedData.contains("\r\n\r\n")) {
|
||||
m_parsedHeaders = true;
|
||||
- QTimer::singleShot(qrand()%10, this, SLOT(closeDelayed())); // simulate random network latency
|
||||
+ QTimer::singleShot(qrand()%60, this, SLOT(closeDelayed())); // simulate random network latency
|
||||
// This server simulates a web server connection closing, e.g. because of Apaches MaxKeepAliveRequests or KeepAliveTimeout
|
||||
// In this case QNAM needs to re-send the upload data but it had a bug which then corrupts the upload
|
||||
// This test catches that.
|
||||
@@ -8052,11 +8052,12 @@ void tst_QNetworkReply::putWithServerClosingConnectionImmediately()
|
||||
|
||||
// get the request started and the incoming socket connected
|
||||
QTestEventLoop::instance().enterLoop(10);
|
||||
+ QVERIFY(!QTestEventLoop::instance().timeout());
|
||||
|
||||
//qDebug() << "correct=" << server.m_correctUploads << "corrupt=" << server.m_corruptUploads << "expected=" <<numUploads;
|
||||
|
||||
// Sanity check because ecause of 9c2ecf89 most replies will error out but we want to make sure at least some of them worked
|
||||
- QVERIFY(server.m_correctUploads > 5);
|
||||
+ QVERIFY(server.m_correctUploads > 2);
|
||||
// Because actually important is that we don't get any corruption:
|
||||
QCOMPARE(server.m_corruptUploads, 0);
|
||||
|
||||
--
|
||||
1.9.1
|
||||
@@ -0,0 +1,64 @@
|
||||
From bc32c0ebc0bc00db84ca2f28eb16ab2e5b53a1b6 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Goetz <markus@woboq.com>
|
||||
Date: Fri, 24 Jul 2015 09:53:20 +0200
|
||||
Subject: [PATCH] QNAM: Fix reply deadlocks on server closing connection
|
||||
|
||||
The _q_readyRead can also be called from readMoreLater() because we implemented
|
||||
it so that bandwidth limited reading can be implemented.
|
||||
This can lead to a race condition if the socket is closing at the specific moment
|
||||
and then deadlock the channel: It will stay unusable with a zombie request.
|
||||
The fix in QHttpProtocolaHandler checks if there is actually bytes available to read
|
||||
from the socket and only then continue.
|
||||
|
||||
The fix in the HTTP channel needs to be done to properly finish the reply in
|
||||
cases of a server replying with HTTP/1.0 or "Connection: close".
|
||||
The delayed incovation of _q_receiveReply will properly finish up the reply.
|
||||
|
||||
Change-Id: I19ce2ae595f91d56386cc7406ccacc9935672b6b
|
||||
Reviewed-by: Richard J. Moore <rich@kde.org>
|
||||
---
|
||||
src/network/access/qhttpnetworkconnectionchannel.cpp | 4 ++++
|
||||
src/network/access/qhttpprotocolhandler.cpp | 7 ++++++-
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
index 7428f9b..257aa13 100644
|
||||
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
@@ -829,11 +829,15 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
|
||||
|
||||
if (!reply->d_func()->expectContent()) {
|
||||
// No content expected, this is a valid way to have the connection closed by the server
|
||||
+ // We need to invoke this asynchronously to make sure the state() of the socket is on QAbstractSocket::UnconnectedState
|
||||
+ QMetaObject::invokeMethod(this, "_q_receiveReply", Qt::QueuedConnection);
|
||||
return;
|
||||
}
|
||||
if (reply->contentLength() == -1 && !reply->d_func()->isChunked()) {
|
||||
// There was no content-length header and it's not chunked encoding,
|
||||
// so this is a valid way to have the connection closed by the server
|
||||
+ // We need to invoke this asynchronously to make sure the state() of the socket is on QAbstractSocket::UnconnectedState
|
||||
+ QMetaObject::invokeMethod(this, "_q_receiveReply", Qt::QueuedConnection);
|
||||
return;
|
||||
}
|
||||
// ok, we got a disconnect even though we did not expect it
|
||||
diff --git a/src/network/access/qhttpprotocolhandler.cpp b/src/network/access/qhttpprotocolhandler.cpp
|
||||
index ab2e3da..a208315 100644
|
||||
--- a/src/network/access/qhttpprotocolhandler.cpp
|
||||
+++ b/src/network/access/qhttpprotocolhandler.cpp
|
||||
@@ -237,7 +237,12 @@ void QHttpProtocolHandler::_q_readyRead()
|
||||
}
|
||||
|
||||
if (m_channel->isSocketWaiting() || m_channel->isSocketReading()) {
|
||||
- m_channel->state = QHttpNetworkConnectionChannel::ReadingState;
|
||||
+ if (m_socket->bytesAvailable()) {
|
||||
+ // We might get a spurious call from readMoreLater()
|
||||
+ // call of the QHttpNetworkConnection even while the socket is disconnecting.
|
||||
+ // Therefore check if there is actually bytes available before changing the channel state.
|
||||
+ m_channel->state = QHttpNetworkConnectionChannel::ReadingState;
|
||||
+ }
|
||||
if (m_reply)
|
||||
_q_receiveReply();
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 63cf5d3d26a6f65938c3cdec1734eac9faaaf8cb Mon Sep 17 00:00:00 2001
|
||||
From: Markus Goetz <markus@woboq.com>
|
||||
Date: Tue, 22 Sep 2015 14:26:24 -0400
|
||||
Subject: [PATCH] QNAM: Assign proper channel before sslErrors() emission
|
||||
|
||||
There can be a race condition where another channel connects
|
||||
and gets the sslErrors() from the socket first. Then the
|
||||
QSslConfiguration from the wrong socket (the default
|
||||
channel 0's socket) was used.
|
||||
|
||||
Task-number: QTBUG-18722
|
||||
Change-Id: Ibbfa48c27f181563745daf540fa792a57cc09682
|
||||
Reviewed-by: Richard J. Moore <rich@kde.org>
|
||||
---
|
||||
src/network/access/qhttpnetworkconnectionchannel.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
index 257aa13..477cba2 100644
|
||||
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
@@ -1066,6 +1066,8 @@ void QHttpNetworkConnectionChannel::_q_sslErrors(const QList<QSslError> &errors)
|
||||
connection->d_func()->pauseConnection();
|
||||
if (pendingEncrypt && !reply)
|
||||
connection->d_func()->dequeueRequest(socket);
|
||||
+ if (reply) // a reply was actually dequeued.
|
||||
+ reply->d_func()->connectionChannel = this; // set correct channel like in sendRequest() and queueRequest();
|
||||
if (connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP) {
|
||||
if (reply)
|
||||
emit reply->sslErrors(errors);
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
From 0df5d079290b4c3b13e58e9397fabdc1dfdba96b Mon Sep 17 00:00:00 2001
|
||||
From: Ulf Hermann <ulf.hermann@theqtcompany.com>
|
||||
Date: Fri, 25 Sep 2015 13:23:46 +0200
|
||||
Subject: [PATCH] Don't let closed http sockets pass as valid connections
|
||||
|
||||
A QAbstractSocket can be close()'d at any time, independently of its
|
||||
current connection state. being closed means that we cannot use it to
|
||||
read or write data, but internally it might still have some data to
|
||||
send or receive, for example to an http server. We can even get a
|
||||
connected() signal after close()'ing the socket.
|
||||
|
||||
We need to catch this condition and mark any pending data not yet
|
||||
written to the socket for resending.
|
||||
|
||||
Task-number: QTBUG-48326
|
||||
Change-Id: I6f61c35f2c567f2a138f8cfe9ade7fd1ec039be6
|
||||
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
||||
---
|
||||
.../access/qhttpnetworkconnectionchannel.cpp | 7 ++-
|
||||
.../tst_qhttpnetworkconnection.cpp | 54 ++++++++++++++++++++++
|
||||
2 files changed, 60 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
index 293909c..b4eda34 100644
|
||||
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
|
||||
@@ -272,7 +272,12 @@ bool QHttpNetworkConnectionChannel::ensureConnection()
|
||||
QAbstractSocket::SocketState socketState = socket->state();
|
||||
|
||||
// resend this request after we receive the disconnected signal
|
||||
- if (socketState == QAbstractSocket::ClosingState) {
|
||||
+ // If !socket->isOpen() then we have already called close() on the socket, but there was still a
|
||||
+ // pending connectToHost() for which we hadn't seen a connected() signal, yet. The connected()
|
||||
+ // has now arrived (as indicated by socketState != ClosingState), but we cannot send anything on
|
||||
+ // such a socket anymore.
|
||||
+ if (socketState == QAbstractSocket::ClosingState ||
|
||||
+ (socketState != QAbstractSocket::UnconnectedState && !socket->isOpen())) {
|
||||
if (reply)
|
||||
resendCurrent = true;
|
||||
return false;
|
||||
diff --git a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
|
||||
index 5d072af..0d188a8 100644
|
||||
--- a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
|
||||
+++ b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "private/qhttpnetworkconnection_p.h"
|
||||
#include "private/qnoncontiguousbytedevice_p.h"
|
||||
#include <QAuthenticator>
|
||||
+#include <QTcpServer>
|
||||
|
||||
#include "../../../network-settings.h"
|
||||
|
||||
@@ -106,6 +107,8 @@ private Q_SLOTS:
|
||||
|
||||
void getAndThenDeleteObject();
|
||||
void getAndThenDeleteObject_data();
|
||||
+
|
||||
+ void overlappingCloseAndWrite();
|
||||
};
|
||||
|
||||
tst_QHttpNetworkConnection::tst_QHttpNetworkConnection()
|
||||
@@ -1112,6 +1115,57 @@ void tst_QHttpNetworkConnection::getAndThenDeleteObject()
|
||||
}
|
||||
}
|
||||
|
||||
+class TestTcpServer : public QTcpServer
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+public:
|
||||
+ TestTcpServer() : errorCodeReports(0)
|
||||
+ {
|
||||
+ connect(this, &QTcpServer::newConnection, this, &TestTcpServer::onNewConnection);
|
||||
+ QVERIFY(listen(QHostAddress::LocalHost));
|
||||
+ }
|
||||
+
|
||||
+ int errorCodeReports;
|
||||
+
|
||||
+public slots:
|
||||
+ void onNewConnection()
|
||||
+ {
|
||||
+ QTcpSocket *socket = nextPendingConnection();
|
||||
+ if (!socket)
|
||||
+ return;
|
||||
+ // close socket instantly!
|
||||
+ connect(socket, &QTcpSocket::readyRead, socket, &QTcpSocket::close);
|
||||
+ }
|
||||
+
|
||||
+ void onReply(QNetworkReply::NetworkError code)
|
||||
+ {
|
||||
+ QCOMPARE(code, QNetworkReply::RemoteHostClosedError);
|
||||
+ ++errorCodeReports;
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+void tst_QHttpNetworkConnection::overlappingCloseAndWrite()
|
||||
+{
|
||||
+ // server accepts connections, but closes the socket instantly
|
||||
+ TestTcpServer server;
|
||||
+ QNetworkAccessManager accessManager;
|
||||
+
|
||||
+ // ten requests are scheduled. All should result in an RemoteHostClosed...
|
||||
+ QUrl url;
|
||||
+ url.setScheme(QStringLiteral("http"));
|
||||
+ url.setHost(server.serverAddress().toString());
|
||||
+ url.setPort(server.serverPort());
|
||||
+ for (int i = 0; i < 10; ++i) {
|
||||
+ QNetworkRequest request(url);
|
||||
+ QNetworkReply *reply = accessManager.get(request);
|
||||
+ // Not using Qt5 connection syntax here because of overly baroque syntax to discern between
|
||||
+ // different error() methods.
|
||||
+ QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
|
||||
+ &server, SLOT(onReply(QNetworkReply::NetworkError)));
|
||||
+ }
|
||||
+
|
||||
+ QTRY_COMPARE(server.errorCodeReports, 10);
|
||||
+}
|
||||
|
||||
|
||||
QTEST_MAIN(tst_QHttpNetworkConnection)
|
||||
--
|
||||
1.9.1
|
||||
@@ -0,0 +1,113 @@
|
||||
From c056e63cea1915667997c982f48296ce5acdcc80 Mon Sep 17 00:00:00 2001
|
||||
From: Lorn Potter <lorn.potter@gmail.com>
|
||||
Date: Tue, 2 Jun 2015 13:22:23 +1000
|
||||
Subject: [PATCH] Make sure to report correct NetworkAccessibility
|
||||
|
||||
Task-number: QTBUG-46323
|
||||
Change-Id: Ibdeb3280091a97d785d4314340678a63e88fb219
|
||||
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
|
||||
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
||||
---
|
||||
src/network/access/qnetworkaccessmanager.cpp | 25 +++++++++++++++++--------
|
||||
src/network/access/qnetworkaccessmanager_p.h | 2 ++
|
||||
2 files changed, 19 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
|
||||
index e878feb..84931cb 100644
|
||||
--- a/src/network/access/qnetworkaccessmanager.cpp
|
||||
+++ b/src/network/access/qnetworkaccessmanager.cpp
|
||||
@@ -472,11 +472,11 @@ QNetworkAccessManager::QNetworkAccessManager(QObject *parent)
|
||||
// the QNetworkSession's signals
|
||||
connect(&d->networkConfigurationManager, SIGNAL(onlineStateChanged(bool)),
|
||||
SLOT(_q_onlineStateChanged(bool)));
|
||||
- // we would need all active configurations to check for
|
||||
- // d->networkConfigurationManager.isOnline(), which is asynchronous
|
||||
- // and potentially expensive. We can just check the configuration here
|
||||
- d->online = (d->networkConfiguration.state() & QNetworkConfiguration::Active);
|
||||
}
|
||||
+ // we would need all active configurations to check for
|
||||
+ // d->networkConfigurationManager.isOnline(), which is asynchronous
|
||||
+ // and potentially expensive. We can just check the configuration here
|
||||
+ d->online = (d->networkConfiguration.state() & QNetworkConfiguration::Active);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -946,6 +946,7 @@ QNetworkConfiguration QNetworkAccessManager::activeConfiguration() const
|
||||
void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkAccessibility accessible)
|
||||
{
|
||||
Q_D(QNetworkAccessManager);
|
||||
+ d->defaultAccessControl = false;
|
||||
|
||||
if (d->networkAccessible != accessible) {
|
||||
NetworkAccessibility previous = networkAccessible();
|
||||
@@ -964,7 +965,6 @@ void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkA
|
||||
QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccessible() const
|
||||
{
|
||||
Q_D(const QNetworkAccessManager);
|
||||
-
|
||||
if (d->networkSessionRequired) {
|
||||
QSharedPointer<QNetworkSession> networkSession(d->getNetworkSession());
|
||||
if (networkSession) {
|
||||
@@ -975,7 +975,13 @@ QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccess
|
||||
return NotAccessible;
|
||||
} else {
|
||||
// Network accessibility is either disabled or unknown.
|
||||
- return (d->networkAccessible == NotAccessible) ? NotAccessible : UnknownAccessibility;
|
||||
+ if (d->defaultAccessControl) {
|
||||
+ if (d->online)
|
||||
+ return d->networkAccessible;
|
||||
+ else
|
||||
+ return NotAccessible;
|
||||
+ }
|
||||
+ return (d->networkAccessible);
|
||||
}
|
||||
} else {
|
||||
if (d->online)
|
||||
@@ -1568,7 +1574,7 @@ void QNetworkAccessManagerPrivate::createSession(const QNetworkConfiguration &co
|
||||
if (!networkSessionStrongRef) {
|
||||
online = false;
|
||||
|
||||
- if (networkAccessible == QNetworkAccessManager::NotAccessible)
|
||||
+ if (networkAccessible == QNetworkAccessManager::NotAccessible || !online)
|
||||
emit q->networkAccessibleChanged(QNetworkAccessManager::NotAccessible);
|
||||
else
|
||||
emit q->networkAccessibleChanged(QNetworkAccessManager::UnknownAccessibility);
|
||||
@@ -1616,11 +1622,14 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession
|
||||
if (online) {
|
||||
if (state != QNetworkSession::Connected && state != QNetworkSession::Roaming) {
|
||||
online = false;
|
||||
- emit q->networkAccessibleChanged(QNetworkAccessManager::NotAccessible);
|
||||
+ networkAccessible = QNetworkAccessManager::NotAccessible;
|
||||
+ emit q->networkAccessibleChanged(networkAccessible);
|
||||
}
|
||||
} else {
|
||||
if (state == QNetworkSession::Connected || state == QNetworkSession::Roaming) {
|
||||
online = true;
|
||||
+ if (defaultAccessControl)
|
||||
+ networkAccessible = QNetworkAccessManager::Accessible;
|
||||
emit q->networkAccessibleChanged(networkAccessible);
|
||||
}
|
||||
}
|
||||
diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h
|
||||
index f513324..c715da0 100644
|
||||
--- a/src/network/access/qnetworkaccessmanager_p.h
|
||||
+++ b/src/network/access/qnetworkaccessmanager_p.h
|
||||
@@ -84,6 +84,7 @@ public:
|
||||
initializeSession(true),
|
||||
#endif
|
||||
cookieJarCreated(false),
|
||||
+ defaultAccessControl(true),
|
||||
authenticationManager(QSharedPointer<QNetworkAccessAuthenticationManager>::create())
|
||||
{ }
|
||||
~QNetworkAccessManagerPrivate();
|
||||
@@ -164,6 +165,7 @@ public:
|
||||
#endif
|
||||
|
||||
bool cookieJarCreated;
|
||||
+ bool defaultAccessControl;
|
||||
|
||||
// The cache with authorization data:
|
||||
QSharedPointer<QNetworkAccessAuthenticationManager> authenticationManager;
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,233 @@
|
||||
From bb281eea179d50a413f4ec1ff172d27ee48d3a41 Mon Sep 17 00:00:00 2001
|
||||
From: Lorn Potter <lorn.potter@gmail.com>
|
||||
Date: Fri, 17 Jul 2015 15:32:23 +1000
|
||||
Subject: [PATCH] Make sure networkAccessibilityChanged is emitted
|
||||
|
||||
Task-number: QTBUG-46323
|
||||
Change-Id: I8297072b62763136f457ca6ae15282d1c22244f4
|
||||
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
|
||||
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
||||
---
|
||||
src/network/access/qnetworkaccessmanager.cpp | 70 +++++++++++++++-------
|
||||
src/network/access/qnetworkaccessmanager_p.h | 14 ++++-
|
||||
.../tst_qnetworkaccessmanager.cpp | 31 +++++-----
|
||||
3 files changed, 77 insertions(+), 38 deletions(-)
|
||||
|
||||
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
|
||||
index 84931cb..f9e9513 100644
|
||||
--- a/src/network/access/qnetworkaccessmanager.cpp
|
||||
+++ b/src/network/access/qnetworkaccessmanager.cpp
|
||||
@@ -278,7 +278,8 @@ static void ensureInitialized()
|
||||
|
||||
\snippet code/src_network_access_qnetworkaccessmanager.cpp 4
|
||||
|
||||
- Network requests can be reenabled again by calling
|
||||
+ Network requests can be re-enabled again, and this property will resume to
|
||||
+ reflect the actual device state by calling
|
||||
|
||||
\snippet code/src_network_access_qnetworkaccessmanager.cpp 5
|
||||
|
||||
@@ -467,16 +468,12 @@ QNetworkAccessManager::QNetworkAccessManager(QObject *parent)
|
||||
qRegisterMetaType<QSharedPointer<char> >();
|
||||
|
||||
#ifndef QT_NO_BEARERMANAGEMENT
|
||||
- if (!d->networkSessionRequired) {
|
||||
- // if a session is required, we track online state through
|
||||
- // the QNetworkSession's signals
|
||||
- connect(&d->networkConfigurationManager, SIGNAL(onlineStateChanged(bool)),
|
||||
- SLOT(_q_onlineStateChanged(bool)));
|
||||
- }
|
||||
- // we would need all active configurations to check for
|
||||
- // d->networkConfigurationManager.isOnline(), which is asynchronous
|
||||
- // and potentially expensive. We can just check the configuration here
|
||||
- d->online = (d->networkConfiguration.state() & QNetworkConfiguration::Active);
|
||||
+ // if a session is required, we track online state through
|
||||
+ // the QNetworkSession's signals if a request is already made.
|
||||
+ // we need to track current accessibility state by default
|
||||
+ //
|
||||
+ connect(&d->networkConfigurationManager, SIGNAL(onlineStateChanged(bool)),
|
||||
+ SLOT(_q_onlineStateChanged(bool)));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -946,7 +943,8 @@ QNetworkConfiguration QNetworkAccessManager::activeConfiguration() const
|
||||
void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkAccessibility accessible)
|
||||
{
|
||||
Q_D(QNetworkAccessManager);
|
||||
- d->defaultAccessControl = false;
|
||||
+
|
||||
+ d->defaultAccessControl = accessible == NotAccessible ? false : true;
|
||||
|
||||
if (d->networkAccessible != accessible) {
|
||||
NetworkAccessibility previous = networkAccessible();
|
||||
@@ -965,6 +963,10 @@ void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkA
|
||||
QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccessible() const
|
||||
{
|
||||
Q_D(const QNetworkAccessManager);
|
||||
+
|
||||
+ if (d->networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined))
|
||||
+ return UnknownAccessibility;
|
||||
+
|
||||
if (d->networkSessionRequired) {
|
||||
QSharedPointer<QNetworkSession> networkSession(d->getNetworkSession());
|
||||
if (networkSession) {
|
||||
@@ -1622,32 +1624,56 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession
|
||||
if (online) {
|
||||
if (state != QNetworkSession::Connected && state != QNetworkSession::Roaming) {
|
||||
online = false;
|
||||
- networkAccessible = QNetworkAccessManager::NotAccessible;
|
||||
- emit q->networkAccessibleChanged(networkAccessible);
|
||||
+ if (networkAccessible != QNetworkAccessManager::NotAccessible) {
|
||||
+ networkAccessible = QNetworkAccessManager::NotAccessible;
|
||||
+ emit q->networkAccessibleChanged(networkAccessible);
|
||||
+ }
|
||||
}
|
||||
} else {
|
||||
if (state == QNetworkSession::Connected || state == QNetworkSession::Roaming) {
|
||||
online = true;
|
||||
if (defaultAccessControl)
|
||||
- networkAccessible = QNetworkAccessManager::Accessible;
|
||||
- emit q->networkAccessibleChanged(networkAccessible);
|
||||
+ if (networkAccessible != QNetworkAccessManager::Accessible) {
|
||||
+ networkAccessible = QNetworkAccessManager::Accessible;
|
||||
+ emit q->networkAccessibleChanged(networkAccessible);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void QNetworkAccessManagerPrivate::_q_onlineStateChanged(bool isOnline)
|
||||
{
|
||||
- // if the user set a config, we only care whether this one is active.
|
||||
+ Q_Q(QNetworkAccessManager);
|
||||
+ // if the user set a config, we only care whether this one is active.
|
||||
// Otherwise, this QNAM is online if there is an online config.
|
||||
if (customNetworkConfiguration) {
|
||||
online = (networkConfiguration.state() & QNetworkConfiguration::Active);
|
||||
} else {
|
||||
- if (isOnline && online != isOnline) {
|
||||
- networkSessionStrongRef.clear();
|
||||
- networkSessionWeakRef.clear();
|
||||
+ if (online != isOnline) {
|
||||
+ if (isOnline) {
|
||||
+ networkSessionStrongRef.clear();
|
||||
+ networkSessionWeakRef.clear();
|
||||
+ }
|
||||
+ online = isOnline;
|
||||
+ }
|
||||
+ }
|
||||
+ if (online) {
|
||||
+ if (defaultAccessControl) {
|
||||
+ if (networkAccessible != QNetworkAccessManager::Accessible) {
|
||||
+ networkAccessible = QNetworkAccessManager::Accessible;
|
||||
+ emit q->networkAccessibleChanged(networkAccessible);
|
||||
+ }
|
||||
+ }
|
||||
+ } else if (networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined)) {
|
||||
+ if (networkAccessible != QNetworkAccessManager::UnknownAccessibility) {
|
||||
+ networkAccessible = QNetworkAccessManager::UnknownAccessibility;
|
||||
+ emit q->networkAccessibleChanged(networkAccessible);
|
||||
+ }
|
||||
+ } else {
|
||||
+ if (networkAccessible != QNetworkAccessManager::NotAccessible) {
|
||||
+ networkAccessible = QNetworkAccessManager::NotAccessible;
|
||||
+ emit q->networkAccessibleChanged(networkAccessible);
|
||||
}
|
||||
-
|
||||
- online = isOnline;
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h
|
||||
index c715da0..54ae114 100644
|
||||
--- a/src/network/access/qnetworkaccessmanager_p.h
|
||||
+++ b/src/network/access/qnetworkaccessmanager_p.h
|
||||
@@ -78,7 +78,6 @@ public:
|
||||
customNetworkConfiguration(false),
|
||||
networkSessionRequired(networkConfigurationManager.capabilities()
|
||||
& QNetworkConfigurationManager::NetworkSessionRequired),
|
||||
- networkAccessible(QNetworkAccessManager::Accessible),
|
||||
activeReplyCount(0),
|
||||
online(false),
|
||||
initializeSession(true),
|
||||
@@ -86,7 +85,18 @@ public:
|
||||
cookieJarCreated(false),
|
||||
defaultAccessControl(true),
|
||||
authenticationManager(QSharedPointer<QNetworkAccessAuthenticationManager>::create())
|
||||
- { }
|
||||
+ {
|
||||
+#ifndef QT_NO_BEARERMANAGEMENT
|
||||
+ // we would need all active configurations to check for
|
||||
+ // d->networkConfigurationManager.isOnline(), which is asynchronous
|
||||
+ // and potentially expensive. We can just check the configuration here
|
||||
+ online = (networkConfiguration.state().testFlag(QNetworkConfiguration::Active));
|
||||
+ if (online)
|
||||
+ networkAccessible = QNetworkAccessManager::Accessible;
|
||||
+ else
|
||||
+ networkAccessible = QNetworkAccessManager::NotAccessible;
|
||||
+#endif
|
||||
+ }
|
||||
~QNetworkAccessManagerPrivate();
|
||||
|
||||
void _q_replyFinished();
|
||||
diff --git a/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp b/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
|
||||
index b4e4b9c..8ecb57d 100644
|
||||
--- a/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
|
||||
+++ b/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
|
||||
@@ -74,6 +74,10 @@ void tst_QNetworkAccessManager::networkAccessible()
|
||||
// if there is no session, we cannot know in which state we are in
|
||||
QNetworkAccessManager::NetworkAccessibility initialAccessibility =
|
||||
manager.networkAccessible();
|
||||
+
|
||||
+ if (initialAccessibility == QNetworkAccessManager::UnknownAccessibility)
|
||||
+ QSKIP("Unknown accessibility", SkipAll);
|
||||
+
|
||||
QCOMPARE(manager.networkAccessible(), initialAccessibility);
|
||||
|
||||
manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);
|
||||
@@ -94,29 +98,28 @@ void tst_QNetworkAccessManager::networkAccessible()
|
||||
QCOMPARE(manager.networkAccessible(), initialAccessibility);
|
||||
|
||||
QNetworkConfigurationManager configManager;
|
||||
- bool sessionRequired = (configManager.capabilities()
|
||||
- & QNetworkConfigurationManager::NetworkSessionRequired);
|
||||
QNetworkConfiguration defaultConfig = configManager.defaultConfiguration();
|
||||
if (defaultConfig.isValid()) {
|
||||
manager.setConfiguration(defaultConfig);
|
||||
|
||||
- // the accessibility has not changed if no session is required
|
||||
- if (sessionRequired) {
|
||||
+ QCOMPARE(spy.count(), 0);
|
||||
+
|
||||
+ if (defaultConfig.state().testFlag(QNetworkConfiguration::Active))
|
||||
+ QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible);
|
||||
+ else
|
||||
+ QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
|
||||
+
|
||||
+ manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);
|
||||
+
|
||||
+ if (defaultConfig.state().testFlag(QNetworkConfiguration::Active)) {
|
||||
QCOMPARE(spy.count(), 1);
|
||||
- QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(),
|
||||
- QNetworkAccessManager::Accessible);
|
||||
+ QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()),
|
||||
+ QNetworkAccessManager::NotAccessible);
|
||||
} else {
|
||||
QCOMPARE(spy.count(), 0);
|
||||
}
|
||||
- QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible);
|
||||
-
|
||||
- manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);
|
||||
-
|
||||
- QCOMPARE(spy.count(), 1);
|
||||
- QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()),
|
||||
- QNetworkAccessManager::NotAccessible);
|
||||
- QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
|
||||
}
|
||||
+ QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
|
||||
#endif
|
||||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From e996d68f6130847637ba287518cff1289cfa48e5 Mon Sep 17 00:00:00 2001
|
||||
From: Lorn Potter <lorn.potter@gmail.com>
|
||||
Date: Fri, 6 Nov 2015 14:22:44 +1000
|
||||
Subject: [PATCH] Make UnknownAccessibility not block requests
|
||||
|
||||
This allows requests to proceed without needing bearer plugins.
|
||||
|
||||
Task-number: QTBUG-49267
|
||||
Change-Id: Ie5ce188ddefebd14d666bb5846e8f93ee2925ed1
|
||||
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
|
||||
---
|
||||
src/network/access/qnetworkaccessmanager.cpp | 3 +--
|
||||
src/network/access/qnetworkaccessmanager_p.h | 2 ++
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
|
||||
index 086140f..0e5870a 100644
|
||||
--- a/src/network/access/qnetworkaccessmanager.cpp
|
||||
+++ b/src/network/access/qnetworkaccessmanager.cpp
|
||||
@@ -976,7 +976,6 @@ QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccess
|
||||
else
|
||||
return NotAccessible;
|
||||
} else {
|
||||
- // Network accessibility is either disabled or unknown.
|
||||
if (d->defaultAccessControl) {
|
||||
if (d->online)
|
||||
return d->networkAccessible;
|
||||
@@ -1161,7 +1160,7 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
|
||||
#ifndef QT_NO_BEARERMANAGEMENT
|
||||
// Return a disabled network reply if network access is disabled.
|
||||
// Except if the scheme is empty or file://.
|
||||
- if (!d->networkAccessible && !isLocalFile) {
|
||||
+ if (d->networkAccessible == NotAccessible && !isLocalFile) {
|
||||
return new QDisabledNetworkReply(this, req, op);
|
||||
}
|
||||
|
||||
diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h
|
||||
index 54ae114..3fc33b5 100644
|
||||
--- a/src/network/access/qnetworkaccessmanager_p.h
|
||||
+++ b/src/network/access/qnetworkaccessmanager_p.h
|
||||
@@ -93,6 +93,8 @@ public:
|
||||
online = (networkConfiguration.state().testFlag(QNetworkConfiguration::Active));
|
||||
if (online)
|
||||
networkAccessible = QNetworkAccessManager::Accessible;
|
||||
+ else if (networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined))
|
||||
+ networkAccessible = QNetworkAccessManager::UnknownAccessibility;
|
||||
else
|
||||
networkAccessible = QNetworkAccessManager::NotAccessible;
|
||||
#endif
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
From 06818f6d1c602aa3c4f9356324866432d2dd0195 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Mon, 16 Nov 2015 15:02:37 +0100
|
||||
Subject: [PATCH 1/2] Remove legacy platform code in QSslSocket for OS X < 10.5
|
||||
|
||||
This avoids manual symbol lookups and makes the code more readable.
|
||||
Mark identical code.
|
||||
|
||||
Also use smart pointers instead of manual memory management.
|
||||
|
||||
(Backport of d42d7781f1cd62c3c7c008859507f24a1ff5bb2a to Qt 5.4)
|
||||
|
||||
Change-Id: I62820313dce87de6623cdc87b6e1361200ed7822
|
||||
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
|
||||
|
||||
Conflicts:
|
||||
src/network/ssl/qsslsocket_openssl.cpp
|
||||
---
|
||||
src/network/ssl/qsslsocket_openssl.cpp | 83 +++++++++++-----------------------
|
||||
src/network/ssl/qsslsocket_p.h | 6 +--
|
||||
2 files changed, 28 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
index 13fc534..7d0fe00 100644
|
||||
--- a/src/network/ssl/qsslsocket_openssl.cpp
|
||||
+++ b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
@@ -69,14 +69,19 @@
|
||||
#include <QtCore/qvarlengtharray.h>
|
||||
#include <QLibrary> // for loading the security lib for the CA store
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
+#ifdef Q_OS_DARWIN
|
||||
+# include <private/qcore_mac_p.h>
|
||||
+#endif
|
||||
+
|
||||
+#ifdef Q_OS_OSX
|
||||
+# include <Security/Security.h>
|
||||
+#endif
|
||||
+
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
-#if defined(Q_OS_MACX)
|
||||
-#define kSecTrustSettingsDomainSystem 2 // so we do not need to include the header file
|
||||
- PtrSecCertificateCopyData QSslSocketPrivate::ptrSecCertificateCopyData = 0;
|
||||
- PtrSecTrustSettingsCopyCertificates QSslSocketPrivate::ptrSecTrustSettingsCopyCertificates = 0;
|
||||
- PtrSecTrustCopyAnchorCertificates QSslSocketPrivate::ptrSecTrustCopyAnchorCertificates = 0;
|
||||
-#elif defined(Q_OS_WIN)
|
||||
+#if defined(Q_OS_WIN)
|
||||
PtrCertOpenSystemStoreW QSslSocketPrivate::ptrCertOpenSystemStoreW = 0;
|
||||
PtrCertFindCertificateInStore QSslSocketPrivate::ptrCertFindCertificateInStore = 0;
|
||||
PtrCertCloseStore QSslSocketPrivate::ptrCertCloseStore = 0;
|
||||
@@ -482,23 +487,7 @@ void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
|
||||
|
||||
#ifndef QT_NO_LIBRARY
|
||||
//load symbols needed to receive certificates from system store
|
||||
-#if defined(Q_OS_MACX)
|
||||
- QLibrary securityLib("/System/Library/Frameworks/Security.framework/Versions/Current/Security");
|
||||
- if (securityLib.load()) {
|
||||
- ptrSecCertificateCopyData = (PtrSecCertificateCopyData) securityLib.resolve("SecCertificateCopyData");
|
||||
- if (!ptrSecCertificateCopyData)
|
||||
- qWarning("could not resolve symbols in security library"); // should never happen
|
||||
-
|
||||
- ptrSecTrustSettingsCopyCertificates = (PtrSecTrustSettingsCopyCertificates) securityLib.resolve("SecTrustSettingsCopyCertificates");
|
||||
- if (!ptrSecTrustSettingsCopyCertificates) { // method was introduced in Leopard, use legacy method if it's not there
|
||||
- ptrSecTrustCopyAnchorCertificates = (PtrSecTrustCopyAnchorCertificates) securityLib.resolve("SecTrustCopyAnchorCertificates");
|
||||
- if (!ptrSecTrustCopyAnchorCertificates)
|
||||
- qWarning("could not resolve symbols in security library"); // should never happen
|
||||
- }
|
||||
- } else {
|
||||
- qWarning("could not load security library");
|
||||
- }
|
||||
-#elif defined(Q_OS_WIN)
|
||||
+#if defined(Q_OS_WIN)
|
||||
HINSTANCE hLib = LoadLibraryW(L"Crypt32");
|
||||
if (hLib) {
|
||||
#if defined(Q_OS_WINCE)
|
||||
@@ -635,40 +624,22 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
timer.start();
|
||||
#endif
|
||||
QList<QSslCertificate> systemCerts;
|
||||
-#if defined(Q_OS_MACX)
|
||||
- CFArrayRef cfCerts;
|
||||
- OSStatus status = 1;
|
||||
-
|
||||
- CFDataRef SecCertificateCopyData (
|
||||
- SecCertificateRef certificate
|
||||
- );
|
||||
-
|
||||
- if (ptrSecCertificateCopyData) {
|
||||
- if (ptrSecTrustSettingsCopyCertificates)
|
||||
- status = ptrSecTrustSettingsCopyCertificates(kSecTrustSettingsDomainSystem, &cfCerts);
|
||||
- else if (ptrSecTrustCopyAnchorCertificates)
|
||||
- status = ptrSecTrustCopyAnchorCertificates(&cfCerts);
|
||||
- if (!status) {
|
||||
- CFIndex size = CFArrayGetCount(cfCerts);
|
||||
- for (CFIndex i = 0; i < size; ++i) {
|
||||
- SecCertificateRef cfCert = (SecCertificateRef)CFArrayGetValueAtIndex(cfCerts, i);
|
||||
- CFDataRef data;
|
||||
-
|
||||
- data = ptrSecCertificateCopyData(cfCert);
|
||||
-
|
||||
- if (data == NULL) {
|
||||
- qWarning("error retrieving a CA certificate from the system store");
|
||||
- } else {
|
||||
- QByteArray rawCert = QByteArray::fromRawData((const char *)CFDataGetBytePtr(data), CFDataGetLength(data));
|
||||
- systemCerts.append(QSslCertificate::fromData(rawCert, QSsl::Der));
|
||||
- CFRelease(data);
|
||||
- }
|
||||
+ // note: also check implementation in openssl_mac.cpp
|
||||
+#if defined(Q_OS_OSX)
|
||||
+ // SecTrustSettingsCopyCertificates is not defined on iOS.
|
||||
+ QCFType<CFArrayRef> cfCerts;
|
||||
+
|
||||
+ OSStatus status = SecTrustSettingsCopyCertificates(kSecTrustSettingsDomainSystem, &cfCerts);
|
||||
+ if (status == noErr ) {
|
||||
+ const CFIndex size = CFArrayGetCount(cfCerts);
|
||||
+ for (CFIndex i = 0; i < size; ++i) {
|
||||
+ SecCertificateRef cfCert = (SecCertificateRef)CFArrayGetValueAtIndex(cfCerts, i);
|
||||
+ QCFType<CFDataRef> derData = SecCertificateCopyData(cfCert);
|
||||
+ if (derData == NULL) {
|
||||
+ qWarning("error retrieving a CA certificate from the system store");
|
||||
+ } else {
|
||||
+ systemCerts << QSslCertificate(QByteArray::fromCFData(derData), QSsl::Der);
|
||||
}
|
||||
- CFRelease(cfCerts);
|
||||
- }
|
||||
- else {
|
||||
- // no detailed error handling here
|
||||
- qWarning("could not retrieve system CA certificates");
|
||||
}
|
||||
}
|
||||
#elif defined(Q_OS_WIN)
|
||||
diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h
|
||||
index 6e7a2c5..c1a6f05 100644
|
||||
--- a/src/network/ssl/qsslsocket_p.h
|
||||
+++ b/src/network/ssl/qsslsocket_p.h
|
||||
@@ -145,11 +145,7 @@ public:
|
||||
static bool isMatchingHostname(const QSslCertificate &cert, const QString &peerName);
|
||||
Q_AUTOTEST_EXPORT static bool isMatchingHostname(const QString &cn, const QString &hostname);
|
||||
|
||||
-#if defined(Q_OS_MACX)
|
||||
- static PtrSecCertificateCopyData ptrSecCertificateCopyData;
|
||||
- static PtrSecTrustSettingsCopyCertificates ptrSecTrustSettingsCopyCertificates;
|
||||
- static PtrSecTrustCopyAnchorCertificates ptrSecTrustCopyAnchorCertificates;
|
||||
-#elif defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
|
||||
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
|
||||
static PtrCertOpenSystemStoreW ptrCertOpenSystemStoreW;
|
||||
static PtrCertFindCertificateInStore ptrCertFindCertificateInStore;
|
||||
static PtrCertCloseStore ptrCertCloseStore;
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,279 @@
|
||||
From 6b9366e7748857f14d5b0f92ced70c08ab5235b7 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <danimo@owncloud.com>
|
||||
Date: Wed, 25 Nov 2015 12:37:27 +0100
|
||||
Subject: [PATCH 2/2] QSslSocket: evaluate CAs in all keychain categories
|
||||
|
||||
This will make sure that certs in the domainUser (login),
|
||||
and domainAdmin (per machine) keychain are being picked up
|
||||
in systemCaCertificates() in addition to the (usually immutable)
|
||||
DomainSystem keychain.
|
||||
|
||||
Also consider the trust settings on OS X: If a certificate
|
||||
is either fully trusted or trusted for the purpose of SSL,
|
||||
it will be accepted.
|
||||
|
||||
[ChangeLog][Platform Specific Changes] OS X now accepts trusted
|
||||
certificates from the login and system keychains.
|
||||
|
||||
(Backport of fe3a84138e266c425f11353f7d8dc28a588af89e to Qt 5.4)
|
||||
|
||||
Task-number: QTBUG-32898
|
||||
Change-Id: Ia23083d5af74388eeee31ba07239735cbbe64368
|
||||
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
|
||||
---
|
||||
src/network/ssl/qsslsocket.cpp | 4 +
|
||||
src/network/ssl/qsslsocket_mac_shared.cpp | 148 ++++++++++++++++++++++++++++++
|
||||
src/network/ssl/qsslsocket_openssl.cpp | 30 +-----
|
||||
src/network/ssl/ssl.pri | 4 +-
|
||||
4 files changed, 158 insertions(+), 28 deletions(-)
|
||||
create mode 100644 src/network/ssl/qsslsocket_mac_shared.cpp
|
||||
|
||||
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
|
||||
index 8887f47..6347c20 100644
|
||||
--- a/src/network/ssl/qsslsocket.cpp
|
||||
+++ b/src/network/ssl/qsslsocket.cpp
|
||||
@@ -1446,6 +1446,10 @@ QList<QSslCertificate> QSslSocket::defaultCaCertificates()
|
||||
returned by defaultCaCertificates(). You can replace that database
|
||||
with your own with setDefaultCaCertificates().
|
||||
|
||||
+ \note: On OS X, only certificates that are either trusted for all
|
||||
+ purposes or trusted for the purpose of SSL in the keychain will be
|
||||
+ returned.
|
||||
+
|
||||
\sa caCertificates(), defaultCaCertificates(), setDefaultCaCertificates()
|
||||
*/
|
||||
QList<QSslCertificate> QSslSocket::systemCaCertificates()
|
||||
diff --git a/src/network/ssl/qsslsocket_mac_shared.cpp b/src/network/ssl/qsslsocket_mac_shared.cpp
|
||||
new file mode 100644
|
||||
index 0000000..60fea4c
|
||||
--- /dev/null
|
||||
+++ b/src/network/ssl/qsslsocket_mac_shared.cpp
|
||||
@@ -0,0 +1,148 @@
|
||||
+/****************************************************************************
|
||||
+**
|
||||
+** Copyright (C) 2015 The Qt Company Ltd.
|
||||
+** Copyright (C) 2015 ownCloud Inc
|
||||
+** Contact: http://www.qt.io/licensing/
|
||||
+**
|
||||
+** This file is part of the QtNetwork module of the Qt Toolkit.
|
||||
+**
|
||||
+** $QT_BEGIN_LICENSE:LGPL21$
|
||||
+** Commercial License Usage
|
||||
+** Licensees holding valid commercial Qt licenses may use this file in
|
||||
+** accordance with the commercial license agreement provided with the
|
||||
+** Software or, alternatively, in accordance with the terms contained in
|
||||
+** a written agreement between you and The Qt Company. For licensing terms
|
||||
+** and conditions see http://www.qt.io/terms-conditions. For further
|
||||
+** information use the contact form at http://www.qt.io/contact-us.
|
||||
+**
|
||||
+** GNU Lesser General Public License Usage
|
||||
+** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
+** General Public License version 2.1 or version 3 as published by the Free
|
||||
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
||||
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
||||
+** following information to ensure the GNU Lesser General Public License
|
||||
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
||||
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
+**
|
||||
+** As a special exception, The Qt Company gives you certain additional
|
||||
+** rights. These rights are described in The Qt Company LGPL Exception
|
||||
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
+**
|
||||
+** $QT_END_LICENSE$
|
||||
+**
|
||||
+****************************************************************************/
|
||||
+
|
||||
+//#define QSSLSOCKET_DEBUG
|
||||
+//#define QT_DECRYPT_SSL_TRAFFIC
|
||||
+
|
||||
+#include "qsslsocket.h"
|
||||
+
|
||||
+#ifndef QT_NO_OPENSSL
|
||||
+# include "qsslsocket_openssl_p.h"
|
||||
+# include "qsslsocket_openssl_symbols_p.h"
|
||||
+#endif
|
||||
+
|
||||
+#include "qsslcertificate_p.h"
|
||||
+
|
||||
+#ifdef Q_OS_DARWIN
|
||||
+# include <private/qcore_mac_p.h>
|
||||
+#endif
|
||||
+
|
||||
+#include <QtCore/qdebug.h>
|
||||
+
|
||||
+#ifdef Q_OS_OSX
|
||||
+# include <Security/Security.h>
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+QT_BEGIN_NAMESPACE
|
||||
+
|
||||
+#ifdef Q_OS_OSX
|
||||
+namespace {
|
||||
+
|
||||
+bool hasTrustedSslServerPolicy(SecPolicyRef policy, CFDictionaryRef props) {
|
||||
+ QCFType<CFDictionaryRef> policyProps = SecPolicyCopyProperties(policy);
|
||||
+ // only accept certificates with policies for SSL server validation for now
|
||||
+ if (CFEqual(CFDictionaryGetValue(policyProps, kSecPolicyOid), kSecPolicyAppleSSL)) {
|
||||
+ CFBooleanRef policyClient;
|
||||
+ if (CFDictionaryGetValueIfPresent(policyProps, kSecPolicyClient, reinterpret_cast<const void**>(&policyClient)) &&
|
||||
+ CFEqual(policyClient, kCFBooleanTrue)) {
|
||||
+ return false; // no client certs
|
||||
+ }
|
||||
+ if (!CFDictionaryContainsKey(props, kSecTrustSettingsResult)) {
|
||||
+ // as per the docs, no trust settings result implies full trust
|
||||
+ return true;
|
||||
+ }
|
||||
+ CFNumberRef number = static_cast<CFNumberRef>(CFDictionaryGetValue(props, kSecTrustSettingsResult));
|
||||
+ SecTrustSettingsResult settingsResult;
|
||||
+ CFNumberGetValue(number, kCFNumberSInt32Type, &settingsResult);
|
||||
+ switch (settingsResult) {
|
||||
+ case kSecTrustSettingsResultTrustRoot:
|
||||
+ case kSecTrustSettingsResultTrustAsRoot:
|
||||
+ return true;
|
||||
+ default:
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+bool isCaCertificateTrusted(SecCertificateRef cfCert, int domain)
|
||||
+{
|
||||
+ QCFType<CFArrayRef> cfTrustSettings;
|
||||
+ OSStatus status = SecTrustSettingsCopyTrustSettings(cfCert, domain, &cfTrustSettings);
|
||||
+ if (status == noErr) {
|
||||
+ CFIndex size = CFArrayGetCount(cfTrustSettings);
|
||||
+ // if empty, trust for everything (as per the Security Framework documentation)
|
||||
+ if (size == 0) {
|
||||
+ return true;
|
||||
+ } else {
|
||||
+ for (CFIndex i = 0; i < size; ++i) {
|
||||
+ CFDictionaryRef props = static_cast<CFDictionaryRef>(CFArrayGetValueAtIndex(cfTrustSettings, i));
|
||||
+ if (CFDictionaryContainsKey(props, kSecTrustSettingsPolicy)) {
|
||||
+ if (hasTrustedSslServerPolicy((SecPolicyRef)CFDictionaryGetValue(props, kSecTrustSettingsPolicy), props))
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ qWarning("Error receiving trust for a CA certificate");
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+} // anon namespace
|
||||
+#endif // Q_OS_OSX
|
||||
+
|
||||
+QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
+{
|
||||
+ ensureInitialized();
|
||||
+
|
||||
+ QList<QSslCertificate> systemCerts;
|
||||
+ // SecTrustSettingsCopyCertificates is not defined on iOS.
|
||||
+#ifdef Q_OS_OSX
|
||||
+ QCFType<CFArrayRef> cfCerts;
|
||||
+ // iterate through all enum members, order:
|
||||
+ // kSecTrustSettingsDomainUser, kSecTrustSettingsDomainAdmin, kSecTrustSettingsDomainSystem
|
||||
+ for (int dom = kSecTrustSettingsDomainUser; dom <= kSecTrustSettingsDomainSystem; dom++) {
|
||||
+ OSStatus status = SecTrustSettingsCopyCertificates(dom, &cfCerts);
|
||||
+ if (status == noErr) {
|
||||
+ const CFIndex size = CFArrayGetCount(cfCerts);
|
||||
+ for (CFIndex i = 0; i < size; ++i) {
|
||||
+ SecCertificateRef cfCert = (SecCertificateRef)CFArrayGetValueAtIndex(cfCerts, i);
|
||||
+ QCFType<CFDataRef> derData = SecCertificateCopyData(cfCert);
|
||||
+ if (::isCaCertificateTrusted(cfCert, dom)) {
|
||||
+ if (derData == NULL) {
|
||||
+ qWarning("Error retrieving a CA certificate from the system store");
|
||||
+ } else {
|
||||
+ systemCerts << QSslCertificate(QByteArray::fromCFData(derData), QSsl::Der);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+ return systemCerts;
|
||||
+}
|
||||
+
|
||||
+QT_END_NAMESPACE
|
||||
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
index 7d0fe00..7415e32 100644
|
||||
--- a/src/network/ssl/qsslsocket_openssl.cpp
|
||||
+++ b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
@@ -71,14 +71,6 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
-#ifdef Q_OS_DARWIN
|
||||
-# include <private/qcore_mac_p.h>
|
||||
-#endif
|
||||
-
|
||||
-#ifdef Q_OS_OSX
|
||||
-# include <Security/Security.h>
|
||||
-#endif
|
||||
-
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
@@ -616,6 +608,7 @@ void QSslSocketPrivate::resetDefaultCiphers()
|
||||
setDefaultCiphers(defaultCiphers);
|
||||
}
|
||||
|
||||
+#ifndef Q_OS_DARWIN // Apple implementation in qsslsocket_mac_shared.cpp
|
||||
QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
{
|
||||
ensureInitialized();
|
||||
@@ -624,25 +617,7 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
timer.start();
|
||||
#endif
|
||||
QList<QSslCertificate> systemCerts;
|
||||
- // note: also check implementation in openssl_mac.cpp
|
||||
-#if defined(Q_OS_OSX)
|
||||
- // SecTrustSettingsCopyCertificates is not defined on iOS.
|
||||
- QCFType<CFArrayRef> cfCerts;
|
||||
-
|
||||
- OSStatus status = SecTrustSettingsCopyCertificates(kSecTrustSettingsDomainSystem, &cfCerts);
|
||||
- if (status == noErr ) {
|
||||
- const CFIndex size = CFArrayGetCount(cfCerts);
|
||||
- for (CFIndex i = 0; i < size; ++i) {
|
||||
- SecCertificateRef cfCert = (SecCertificateRef)CFArrayGetValueAtIndex(cfCerts, i);
|
||||
- QCFType<CFDataRef> derData = SecCertificateCopyData(cfCert);
|
||||
- if (derData == NULL) {
|
||||
- qWarning("error retrieving a CA certificate from the system store");
|
||||
- } else {
|
||||
- systemCerts << QSslCertificate(QByteArray::fromCFData(derData), QSsl::Der);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-#elif defined(Q_OS_WIN)
|
||||
+#if defined(Q_OS_WIN)
|
||||
if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) {
|
||||
HCERTSTORE hSystemStore;
|
||||
#if defined(Q_OS_WINCE)
|
||||
@@ -719,6 +694,7 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
|
||||
return systemCerts;
|
||||
}
|
||||
+#endif // Q_OS_DARWIN
|
||||
|
||||
void QSslSocketBackendPrivate::startClientEncryption()
|
||||
{
|
||||
diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
|
||||
index 384e149..9546f18 100644
|
||||
--- a/src/network/ssl/ssl.pri
|
||||
+++ b/src/network/ssl/ssl.pri
|
||||
@@ -45,7 +45,9 @@ contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
|
||||
ssl/qsslsocket_openssl.cpp \
|
||||
ssl/qsslsocket_openssl_symbols.cpp
|
||||
|
||||
-android:!android-no-sdk: SOURCES += ssl/qsslsocket_openssl_android.cpp
|
||||
+ darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp
|
||||
+
|
||||
+ android:!android-no-sdk: SOURCES += ssl/qsslsocket_openssl_android.cpp
|
||||
|
||||
# Add optional SSL libs
|
||||
# Static linking of OpenSSL with msvc:
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
From ae9d3f4c6c1a732788cd1f24c6a928cee16c3991 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Tue, 27 Jan 2015 16:58:32 +0100
|
||||
Subject: [PATCH] Win32: Re-init system proxy if internet settings change
|
||||
|
||||
Because Proxy Auto Configuration performs DNS lookups,
|
||||
the proxy settings are being cached. For long-running
|
||||
programs this means that once users switch e.g. from or
|
||||
to company networks with a proxy, they instantly will
|
||||
lose connectivity because we cache the old setting.
|
||||
|
||||
To remedy this, we monitor the Registry (locations
|
||||
courtesy of Chromium's platform support) for changes
|
||||
in its settings, and requery for the current proxy in
|
||||
that case.
|
||||
|
||||
Task-number: QTBUG-3470
|
||||
Task-number: QTBUG-29990
|
||||
Change-Id: Id25a51387bcd232c5f879cea0371038986d0e2de
|
||||
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
|
||||
---
|
||||
src/network/kernel/qnetworkproxy_win.cpp | 86 +++++++++++++++++++++++++++++++-
|
||||
1 file changed, 84 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkproxy_win.cpp b/src/network/kernel/qnetworkproxy_win.cpp
|
||||
index da2c020..f7741ce 100644
|
||||
--- a/src/network/kernel/qnetworkproxy_win.cpp
|
||||
+++ b/src/network/kernel/qnetworkproxy_win.cpp
|
||||
@@ -345,12 +345,66 @@ static QList<QNetworkProxy> parseServerList(const QNetworkProxyQuery &query, con
|
||||
return removeDuplicateProxies(result);
|
||||
}
|
||||
|
||||
+#if !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
|
||||
+namespace {
|
||||
+class QRegistryWatcher {
|
||||
+public:
|
||||
+ void addLocation(HKEY hive, const QString& path)
|
||||
+ {
|
||||
+ HKEY openedKey;
|
||||
+ if (RegOpenKeyEx(hive, reinterpret_cast<const wchar_t*>(path.utf16()), 0, KEY_READ, &openedKey) != ERROR_SUCCESS)
|
||||
+ return;
|
||||
+
|
||||
+ const DWORD filter = REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES |
|
||||
+ REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY;
|
||||
+
|
||||
+ // Watch the registry key for a change of value.
|
||||
+ HANDLE handle = CreateEvent(NULL, true, false, NULL);
|
||||
+ if (RegNotifyChangeKeyValue(openedKey, true, filter, handle, true) != ERROR_SUCCESS) {
|
||||
+ CloseHandle(handle);
|
||||
+ return;
|
||||
+ }
|
||||
+ m_watchEvents.append(handle);
|
||||
+ m_registryHandles.append(openedKey);
|
||||
+ }
|
||||
+
|
||||
+ bool hasChanged() const {
|
||||
+ return !isEmpty() &&
|
||||
+ WaitForMultipleObjects(m_watchEvents.size(), m_watchEvents.data(), false, 0) < WAIT_OBJECT_0 + m_watchEvents.size();
|
||||
+ }
|
||||
+
|
||||
+ bool isEmpty() const {
|
||||
+ return m_watchEvents.isEmpty();
|
||||
+ }
|
||||
+
|
||||
+ void clear() {
|
||||
+ foreach (HANDLE event, m_watchEvents)
|
||||
+ CloseHandle(event);
|
||||
+ foreach (HKEY key, m_registryHandles)
|
||||
+ RegCloseKey(key);
|
||||
+
|
||||
+ m_watchEvents.clear();
|
||||
+ m_registryHandles.clear();
|
||||
+ }
|
||||
+
|
||||
+ ~QRegistryWatcher() {
|
||||
+ clear();
|
||||
+ }
|
||||
+
|
||||
+private:
|
||||
+ QVector<HANDLE> m_watchEvents;
|
||||
+ QVector<HKEY> m_registryHandles;
|
||||
+};
|
||||
+} // namespace
|
||||
+#endif // !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
|
||||
+
|
||||
class QWindowsSystemProxy
|
||||
{
|
||||
public:
|
||||
QWindowsSystemProxy();
|
||||
~QWindowsSystemProxy();
|
||||
void init();
|
||||
+ void reset();
|
||||
|
||||
QMutex mutex;
|
||||
|
||||
@@ -361,7 +415,9 @@ public:
|
||||
QStringList proxyServerList;
|
||||
QStringList proxyBypass;
|
||||
QList<QNetworkProxy> defaultResult;
|
||||
-
|
||||
+#if !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
|
||||
+ QRegistryWatcher proxySettingsWatcher;
|
||||
+#endif
|
||||
bool initialized;
|
||||
bool functional;
|
||||
bool isAutoConfig;
|
||||
@@ -381,16 +437,42 @@ QWindowsSystemProxy::~QWindowsSystemProxy()
|
||||
ptrWinHttpCloseHandle(hHttpSession);
|
||||
}
|
||||
|
||||
+void QWindowsSystemProxy::reset()
|
||||
+{
|
||||
+ autoConfigUrl.clear();
|
||||
+ proxyServerList.clear();
|
||||
+ proxyBypass.clear();
|
||||
+ defaultResult.clear();
|
||||
+ defaultResult << QNetworkProxy::NoProxy;
|
||||
+ functional = false;
|
||||
+ isAutoConfig = false;
|
||||
+}
|
||||
+
|
||||
void QWindowsSystemProxy::init()
|
||||
{
|
||||
- if (initialized)
|
||||
+ bool proxySettingsChanged = false;
|
||||
+#if !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
|
||||
+ proxySettingsChanged = proxySettingsWatcher.hasChanged();
|
||||
+#endif
|
||||
+
|
||||
+ if (initialized && !proxySettingsChanged)
|
||||
return;
|
||||
initialized = true;
|
||||
|
||||
+ reset();
|
||||
+
|
||||
#ifdef Q_OS_WINCE
|
||||
// Windows CE does not have any of the following API
|
||||
return;
|
||||
#else
|
||||
+
|
||||
+#if !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
|
||||
+ proxySettingsWatcher.clear(); // needs reset to trigger a new detection
|
||||
+ proxySettingsWatcher.addLocation(HKEY_CURRENT_USER, QStringLiteral("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"));
|
||||
+ proxySettingsWatcher.addLocation(HKEY_LOCAL_MACHINE, QStringLiteral("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"));
|
||||
+ proxySettingsWatcher.addLocation(HKEY_LOCAL_MACHINE, QStringLiteral("Software\\Policies\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"));
|
||||
+#endif
|
||||
+
|
||||
// load the winhttp.dll library
|
||||
QSystemLibrary lib(L"winhttp");
|
||||
if (!lib.load())
|
||||
--
|
||||
1.9.1
|
||||
@@ -0,0 +1,32 @@
|
||||
From c1a67e7dc3a6f8876efa32cdbabbfde1c5a37bc6 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Tue, 31 Mar 2015 17:43:44 +0200
|
||||
Subject: [PATCH] Windows: Do not crash if SSL context is gone after root cert
|
||||
lookup
|
||||
|
||||
On Windows, we perform an extra certificate lookup for root CAs that
|
||||
are not in Windows' (minimal) root store. This check can take up to
|
||||
15 seconds. The SSL context can already be gone once we return. Hence
|
||||
we now check for a non-null SSL context on Windows before proceeding.
|
||||
|
||||
Change-Id: I1951569d9b17da33fa604f7c9d8b33255acf200d
|
||||
Reviewed-by: Richard J. Moore <rich@kde.org>
|
||||
---
|
||||
src/network/ssl/qsslsocket_openssl.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
index 0e1a3e5..b132aec 100644
|
||||
--- a/src/network/ssl/qsslsocket_openssl.cpp
|
||||
+++ b/src/network/ssl/qsslsocket_openssl.cpp
|
||||
@@ -1281,7 +1281,7 @@ void QSslSocketBackendPrivate::_q_caRootLoaded(QSslCertificate cert, QSslCertifi
|
||||
if (plainSocket)
|
||||
plainSocket->resume();
|
||||
paused = false;
|
||||
- if (checkSslErrors())
|
||||
+ if (checkSslErrors() && ssl)
|
||||
continueHandshake();
|
||||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
@@ -0,0 +1,39 @@
|
||||
From cf6881c03d9f08c6ace83defe461423bb87f30d8 Mon Sep 17 00:00:00 2001
|
||||
From: =?utf8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@theqtcompany.com>
|
||||
Date: Fri, 15 Jan 2016 14:15:51 +0100
|
||||
Subject: [PATCH] OS X: Ensure system tray icon is prepared even when menu bar
|
||||
is hidden
|
||||
|
||||
On OS X 10.11 (El Capitan) the system menu bar can be automatically
|
||||
hidden, in which case the menu bar height is reported to be 0 when
|
||||
using the menuBarHeight API.
|
||||
|
||||
This resulted in failing to prepare an image for the system tray
|
||||
icon item, making the tray item "invisible".
|
||||
|
||||
Instead we now use the [[NSStatusBar systemStatusBar] thickness]
|
||||
API, which returns the correct height regardless of the menu bar
|
||||
being hidden or not.
|
||||
|
||||
Task-number: QTBUG-48960
|
||||
Change-Id: I208fb8df13754964a6f254cadfbff06dd56c6bab
|
||||
---
|
||||
src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
index a3ffb5b..8152c57 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
@@ -198,7 +198,7 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
// current OS X versions is 22 points. Provide some future-proofing
|
||||
// by deriving the icon height from the menu height.
|
||||
const int padding = 4;
|
||||
- const int menuHeight = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
|
||||
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
|
||||
const int maxImageHeight = menuHeight - padding;
|
||||
|
||||
// Select pixmap based on the device pixel height. Ideally we would use
|
||||
--
|
||||
2.6.2.2.g1b5ffa3
|
||||
|
||||
55
admin/qt/patches/README.md
Normal file
55
admin/qt/patches/README.md
Normal file
@@ -0,0 +1,55 @@
|
||||
## Patches used
|
||||
|
||||
There are our patches on top of Qt 5.4.0, which we are currently
|
||||
using for our binary packages on Windows and Mac OS X. Most of them
|
||||
have been sent upstream and are part of newer Qt releases.
|
||||
|
||||
All changes are designed to up upstream, and all those that are
|
||||
special hacks to Qt will bear a NOUPSTREAM in their name
|
||||
|
||||
The git-style numeration is ordered by order of creation, their
|
||||
purpose is outlined in each patches' front matter.
|
||||
|
||||
### Part of Qt v5.4.1 and later
|
||||
* 0001-Fix-crash-on-Mac-OS-if-PAC-URL-contains-non-URL-lega.patch
|
||||
* 0002-Fix-possible-crash-when-passing-an-invalid-PAC-URL.patch
|
||||
* 0003-Fix-crash-if-PAC-script-retrieval-returns-a-null-CFD.patch
|
||||
|
||||
### Part of Qt v5.4.2 and later
|
||||
* 0004-Cocoa-Fix-systray-SVG-icons.patch
|
||||
* 0005-OSX-Fix-disapearing-tray-icon.patch
|
||||
* 0007-QNAM-Fix-upload-corruptions-when-server-closes-conne.patch
|
||||
* 0018-Windows-Do-not-crash-if-SSL-context-is-gone-after-ro.patch
|
||||
|
||||
### Part of Qt v5.5.0 and later
|
||||
* 0017-Win32-Re-init-system-proxy-if-internet-settings-chan.patch
|
||||
|
||||
### Part of Qt v5.5.1 and later
|
||||
* 0007-X-Network-Fix-up-previous-corruption-patch.patch
|
||||
* 0008-QNAM-Fix-reply-deadlocks-on-server-closing-connectio.patch
|
||||
* 0014-Fix-SNI-for-TlsV1_0OrLater-TlsV1_1OrLater-and-TlsV1_.patch
|
||||
* 0016-Fix-possible-crash-when-passing-an-invalid-PAC-URL.patch
|
||||
* 0011-Make-sure-to-report-correct-NetworkAccessibility.patch
|
||||
|
||||
### Part of Qt v5.5.2 (UNRELEASED!)
|
||||
* 0009-QNAM-Assign-proper-channel-before-sslErrors-emission.patch
|
||||
* 0010-Don-t-let-closed-http-sockets-pass-as-valid-connecti.patch
|
||||
* 0012-Make-sure-networkAccessibilityChanged-is-emitted.patch
|
||||
|
||||
### Part of Qt v5.6 and later
|
||||
* 0009-QNAM-Assign-proper-channel-before-sslErrors-emission.patch
|
||||
* 0010-Don-t-let-closed-http-sockets-pass-as-valid-connecti.patch
|
||||
* 0011-Make-sure-to-report-correct-NetworkAccessibility.patch
|
||||
* 0012-Make-sure-networkAccessibilityChanged-is-emitted.patch
|
||||
* 0013-Make-UnknownAccessibility-not-block-requests.patch
|
||||
* 0019-Ensure-system-tray-icon-is-prepared-even-when-menu-bar.patch
|
||||
|
||||
### Part of Qt 5.7 and later
|
||||
* 0015-Remove-legacy-platform-code-in-QSslSocket-for-OS-X-1.patch
|
||||
|
||||
### Not submitted upstream to be part of any release:
|
||||
* 0006-Fix-force-debug-info-with-macx-clang_NOUPSTREAM.patch
|
||||
This is only needed if you intent to harvest debugging symbols
|
||||
for breakpad.
|
||||
|
||||
|
||||
34
admin/win/Toolchain-mingw32-openSUSE.cmake
Normal file
34
admin/win/Toolchain-mingw32-openSUSE.cmake
Normal file
@@ -0,0 +1,34 @@
|
||||
SET(MINGW_PREFIX "i686-w64-mingw32")
|
||||
|
||||
# this one is important
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
|
||||
# specify the cross compiler
|
||||
SET(CMAKE_C_COMPILER ${MINGW_PREFIX}-gcc)
|
||||
SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}-g++)
|
||||
SET(CMAKE_RC_COMPILER ${MINGW_PREFIX}-windres)
|
||||
|
||||
# where is the target environment containing libraries
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/${MINGW_PREFIX}/sys-root/mingw)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
|
||||
## configure qt variables
|
||||
# generic
|
||||
SET(QMAKESPEC win32-g++-cross)
|
||||
|
||||
# dirs
|
||||
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
|
||||
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt5/plugins)
|
||||
SET(QT_MKSPECS_DIR ${CMAKE_FIND_ROOT_PATH}/share/qt5/mkspecs)
|
||||
SET(QT_QT_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/include)
|
||||
|
||||
# qt tools
|
||||
SET(QT_QMAKE_EXECUTABLE ${MINGW_PREFIX}-qmake )
|
||||
SET(QT_MOC_EXECUTABLE ${MINGW_PREFIX}-moc)
|
||||
SET(QT_RCC_EXECUTABLE ${MINGW_PREFIX}-rcc)
|
||||
SET(QT_UIC_EXECUTABLE ${MINGW_PREFIX}-uic)
|
||||
SET(QT_LRELEASE_EXECUTABLE ${MINGW_PREFIX}-lrelease)
|
||||
30
admin/win/create_stable_toolchain.sh
Executable file
30
admin/win/create_stable_toolchain.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# This script creates a new windows toolchain repository in OBS.
|
||||
# It only works for versions that do not yet exist.
|
||||
#
|
||||
# Make sure to adopt the variable stableversion.
|
||||
|
||||
# Set the new stable version accordingly:
|
||||
stableversion=2.1
|
||||
targetproject="isv:ownCloud:toolchains:mingw:win32:${stableversion}"
|
||||
|
||||
# Create the new repo
|
||||
|
||||
# get the xml build description of the stable repo
|
||||
xml=`osc meta prj isv:ownCloud:toolchains:mingw:win32:stable`
|
||||
stable_xml="${xml/stable/$stableversion}"
|
||||
|
||||
echo $stable_xml
|
||||
|
||||
echo $stable_xml | osc meta prj -F - ${targetproject}
|
||||
|
||||
|
||||
# now copy all packages
|
||||
packs=`osc ls isv:ownCloud:toolchains:mingw:win32:stable`
|
||||
|
||||
for pack in $packs
|
||||
do
|
||||
osc copypac isv:ownCloud:toolchains:mingw:win32:stable $pack $targetproject
|
||||
done
|
||||
37
admin/win/docker/Dockerfile
Normal file
37
admin/win/docker/Dockerfile
Normal file
@@ -0,0 +1,37 @@
|
||||
FROM opensuse:42.1
|
||||
|
||||
MAINTAINER Daniel Molkentin <danimo@owncloud.com>
|
||||
|
||||
ENV TERM ansi
|
||||
ENV HOME /root
|
||||
|
||||
ENV REFRESHED_AT 20160421
|
||||
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys refresh
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/windows:/mingw/openSUSE_42.1/windows:mingw.repo
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/isv:ownCloud:toolchains:mingw:win32:2.2/openSUSE_Leap_42.1/isv:ownCloud:toolchains:mingw:win32:2.2.repo
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys install cmake make mingw32-cross-binutils mingw32-cross-cpp mingw32-cross-gcc \
|
||||
mingw32-cross-gcc-c++ mingw32-cross-pkg-config mingw32-filesystem \
|
||||
mingw32-headers mingw32-runtime site-config mingw32-libwebp \
|
||||
mingw32-cross-libqt5-qmake mingw32-cross-libqt5-qttools mingw32-libqt5* \
|
||||
mingw32-qt5keychain* mingw32-angleproject* \
|
||||
mingw32-cross-nsis mingw32-libopenssl* \
|
||||
mingw32-sqlite* kdewin-png2ico \
|
||||
osslsigncode wget
|
||||
|
||||
# RPM depends on curl for installs from HTTP
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys install curl
|
||||
|
||||
# sudo needed for building as user
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys install sudo
|
||||
|
||||
# Use packaged UAC dependencies
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys install mingw32-cross-nsis-plugin-uac mingw32-cross-nsis-plugin-nsprocess
|
||||
|
||||
# Required for checksumming
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys install mingw32-zlib-devel
|
||||
|
||||
# Required for windres not to crash
|
||||
RUN zypper --non-interactive --gpg-auto-import-keys install glibc-locale
|
||||
|
||||
CMD /bin/bash
|
||||
19
admin/win/docker/build.sh
Executable file
19
admin/win/docker/build.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "Usage: $(basename $0) directory_relative_to_home [uid]"
|
||||
exit
|
||||
fi
|
||||
|
||||
useradd user -u ${2:-1000}
|
||||
su - user << EOF
|
||||
cd /home/user/$1
|
||||
rm -rf build-win32
|
||||
mkdir build-win32
|
||||
cd build-win32
|
||||
../admin/win/download_runtimes.sh
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../admin/win/Toolchain-mingw32-openSUSE.cmake -DWITH_CRASHREPORTER=ON
|
||||
make -j4
|
||||
make package
|
||||
ctest .
|
||||
EOF
|
||||
19
admin/win/download_runtimes.sh
Executable file
19
admin/win/download_runtimes.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
#VS2013
|
||||
base_url=http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3
|
||||
tmp_path=${1:-/tmp/.vcredist}
|
||||
|
||||
mkdir -p $tmp_path
|
||||
|
||||
copy_cached_file() {
|
||||
file=$1
|
||||
if [ ! -e $tmp_path/$file ]; then
|
||||
wget -O $tmp_path/$file $base_url/$file
|
||||
fi
|
||||
cp -a $tmp_path/$file $PWD
|
||||
}
|
||||
|
||||
copy_cached_file "vcredist_x64.exe"
|
||||
copy_cached_file "vcredist_x86.exe"
|
||||
|
||||
3
admin/win/nsi/.directory
Normal file
3
admin/win/nsi/.directory
Normal file
@@ -0,0 +1,3 @@
|
||||
[Dolphin]
|
||||
PreviewsShown=true
|
||||
Timestamp=2012,4,1,13,48,38
|
||||
28
admin/win/nsi/README.md
Normal file
28
admin/win/nsi/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Windows Installer Translations
|
||||
|
||||
## Introduction
|
||||
|
||||
Translations on transifex: http://www.transifex.com/projects/p/owncloud/resource/client-nsis/
|
||||
|
||||
Daily sync job: https://ci.owncloud.org/view/translation-sync/job/translation-sync-client-nsis/
|
||||
|
||||
## How to add a new translation string?
|
||||
|
||||
0. Add the string to the pofiles/messages.pot manually. This step is necessary
|
||||
for the upload of strings to be translated to transifex
|
||||
|
||||
1. Run bin/l10n.sh to properly generate declarations.nsh and English.nsh
|
||||
|
||||
2. If you want to test your installer right away you need to add the new string
|
||||
at least to l10n/English.nsh
|
||||
|
||||
|
||||
## How to add a new language?
|
||||
|
||||
0. Add the new language to l10n/.tx/config which holds the explicit list of
|
||||
languages to be downloaded from transifex on each translation sync run.
|
||||
|
||||
1. Add the new language to l10n/languages.nsh
|
||||
|
||||
2. In NSIS.template.in the language has to be added in the macro SETLANG.
|
||||
|
||||
0
admin/win/nsi/RELEASE_NOTES.txt
Normal file
0
admin/win/nsi/RELEASE_NOTES.txt
Normal file
BIN
admin/win/nsi/installer.ico
Normal file
BIN
admin/win/nsi/installer.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
48
admin/win/nsi/l10n/.tx/config
Normal file
48
admin/win/nsi/l10n/.tx/config
Normal file
@@ -0,0 +1,48 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[owncloud.client-nsis]
|
||||
host = https://www.transifex.com
|
||||
source_file = pofiles/messages.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
minimum_perc = 5
|
||||
|
||||
# simple one-to-one language mappings
|
||||
trans.ca = pofiles/ca.po
|
||||
trans.el = pofiles/el.po
|
||||
trans.es_AR = pofiles/es_AR.po
|
||||
trans.es = pofiles/es.po
|
||||
trans.eu = pofiles/eu.po
|
||||
trans.fa = pofiles/fa.po
|
||||
trans.fr = pofiles/fr.po
|
||||
trans.gl = pofiles/gl.po
|
||||
trans.it = pofiles/it.po
|
||||
trans.nb_NO = pofiles/nb_NO.po
|
||||
trans.nl = pofiles/nl.po
|
||||
trans.pl = pofiles/pl.po
|
||||
trans.pt_BR = pofiles/pt_BR.po
|
||||
trans.ru = pofiles/ru.po
|
||||
trans.sl = pofiles/sl.po
|
||||
trans.sv = pofiles/sv.po
|
||||
trans.tr = pofiles/tr.po
|
||||
trans.uk = pofiles/uk.po
|
||||
trans.zh_CN = pofiles/zh_CN.po
|
||||
trans.zh_TW = pofiles/zh_TW.po
|
||||
|
||||
# special handling below
|
||||
|
||||
# de_DE holds the formal translation which we want as default
|
||||
trans.de_DE = pofiles/de.po
|
||||
|
||||
# choose one of the given translations on transifex as default
|
||||
trans.pt_PT = pofiles/pt.po
|
||||
|
||||
# choose a special language as more generic default
|
||||
trans.cs_CZ = pofiles/cs.po
|
||||
trans.et_EE = pofiles/et.po
|
||||
trans.fi_FI = pofiles/fi.po
|
||||
trans.hu_HU = pofiles/hu.po
|
||||
trans.ja_JP = pofiles/ja.po
|
||||
trans.sk_SK = pofiles/sk.po
|
||||
trans.th_TH = pofiles/th.po
|
||||
43
admin/win/nsi/l10n/Basque.nsh
Normal file
43
admin/win/nsi/l10n/Basque.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Erakutsi bertsio-berritze oharrak"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Gelditu beharreko ${APPLICATION_EXECUTABLE} prozesua(k) aurkitu dira.$\nNahi duzu instalatzaileak zure partetik hauek gelditzea?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "${APPLICATION_EXECUTABLE} prozesuak hiltzen."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "kill prozesua ez da aurkitu!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "${APPLICATION_NAME}ren bertsio zaharrago bat instalatuta dago. Aholkatzen da hau desinstalatzea berria instalatu baino lehen. Hautatu nahi duzun aukera eta sakatu Hurrengoa jarraitzeko."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Desinstalatu instalatu baino lehen"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Ez desinstalatu"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Dagoeneko Instalatuta"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Hautatu nola nahi duzun ${APPLICATION_NAME} instalatzea."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "${APPLICATION_NAME}ren bertsio berriago bat instalatuta dago! Ez da aholkatzen bertsio zaharrago bat instalatzea. Benetan bertsio zaharrago hau instalatu nahi baduzu, hobe da lehenengo bertsio berria desinstalatzea. Hautatu nahi duzun aukera eta sakatu Hurrengoa jarraitzeko."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Gehitu/Berrinstalatu osagaiak"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstalatu ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalatu ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Hautatu zer mantenu aukera egin nahi duzun."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "${APPLICATION_NAME} ezinbestekoak instalatzen."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Windows Explorerekin Integrazioa"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Windows Explorerekin Integrazioa Instalatzen"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Hasierako Menuko Lasterbidea"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Hasierako Menuan ${APPLICATION_NAME}rako Abiarazle bizkorra sortzen."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Mahaigaineko Lasterbidea"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Mahaigaineko Lasterbideak Sortzen"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Abiarazle Bizkorreko Lasterbidea"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Abiarazle Bizkorreko Lasterbidea Sortzen"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} ezinbestekoak."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} lasterbidea."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "${APPLICATION_NAME}rako mahaigaineko lasterbidea."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "${APPLICATION_NAME}erako Abiarazle Bizkorreko Lasterbidea."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Desinstalatzailea idazten"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Instalatzaileko Erregistroko Giltzak idazten"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Bukatuta"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Ez dirudi ${APPLICATION_NAME} '$INSTDIR'.$ direktorioan instalatuta dagoenik.$\n$\nJarraitu hala ere (ez da aholkatzen)?"
|
||||
StrCpy $UNINSTALL_ABORT "Desinstalazioak erabiltzaileak bertan behera utzi du"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Abiarazle Bizkorreko Lasterbidea (E/E)"
|
||||
StrCpy $INIT_NO_DESKTOP "Mahaigaineko Lasterbidea (dagoena berridazten du)"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Instalatzaileak administratzaile baimenak behar ditu, saiatu berriro"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Instalatzailea dagoeneko martxan da."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Desinstalatzaile honek administratzaile baimenak behar ditu, saiatu berriro"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Desinstalatzailea dagoeneko martxan da."
|
||||
StrCpy $SectionGroup_Shortcuts "Lasterbideak"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Logon service is not running, aborting!"
|
||||
43
admin/win/nsi/l10n/Catalan.nsh
Normal file
43
admin/win/nsi/l10n/Catalan.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar les notes de versió"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "S'ha trobat el(s) procés ${APPLICATION_EXECUTABLE} que s'ha d'aturar.$\nVoleu que l'instal·lador l'aturi?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "S'estan matant els processos ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Procés per matar no trobat!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Una versió anterior de ${APPLICATION_NAME} està instal·lada en el vostre sistema. Es recomana desinstal·lar la versió actual abans d'instal·lar. Seleccioneu l'operació que desitjeu realitzar i feu clic a Següent per continuar."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Desinstal·lar abans d'instal·lar"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "No instal·lar"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Ja instal·lat"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Trieu la manera com voleu instal·lar ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Una versió més recent de ${APPLICATION_NAME} ja està instal.lada!! No es recomana instal.lar una versió més antiga. Si realment voleu instal.lar una versió més antiga, és millor primer desinstal.lar la versió actual. Seleccioni l'operació que desitjeu realitzar i feu clic a Següent per a continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Afegir/Reinstal.lar components"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstal.lar ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstal.lar ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolliu l'opció de manteniment per executar-ho."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Instal·lant ${APPLICATION_NAME} essencial."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integració per Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instal·lant integració per Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Accés directe del programa al menú d'inici"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Afegint la drecera per ${APPLICATION_NAME} al menú d'inici."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Drecera a l'escriptori"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creant les dreceres a l'escriptori"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Drecera d'inici ràpid"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creant la drecera per l'inici ràpid"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} essencial."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Drecera ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Drecera a l'escrptori per ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Drecera d'inici ràpid per ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Escrivint el desinstal·lador"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Escrivint les claus del registre de l'instal·lador"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Acabat"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "No sembla que ${APPLICATION_NAME} estigui instal·lat en la carpeta '$INSTDIR'.$\n$\nContinuo igualment (no recomanat)?"
|
||||
StrCpy $UNINSTALL_ABORT "La desinstal·lació s'ha cancel·lat."
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Drecera d'inici ràpid (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Drecera de l'escrpitori (sobreescriu l'existent)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "No es pot elevar, error:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Aquest instal·lador requereix accés d'administrador, intenteu-ho de nou"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "L'instal·lador ja s'està executant."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Aquest desinstal·lador requereix accés d'administrador, intenteu-ho de nou."
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "El desinstal·lador ja s'està executant."
|
||||
StrCpy $SectionGroup_Shortcuts "Dreceres"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Logon service is not running, aborting!"
|
||||
43
admin/win/nsi/l10n/Czech.nsh
Normal file
43
admin/win/nsi/l10n/Czech.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Zobrazit pozn mky k vyd n¡"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Nalezen proces(y) ${APPLICATION_EXECUTABLE}, kter‚ je nutn‚ ukonŸit .$\nPýejete si, aby je instal tor za v s ukonŸil?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "UkonŸuji procesy ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Proces k ukonŸen¡ nebyl nalezen! "
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Starç¡ verze ${APPLICATION_NAME} je nainstalov na na tomto syst‚mu. DoporuŸuje se pýedem tuto verzi odinstalovat. Zvolte operaci, kterou chcete uskuteŸnit, a kliknØte na tlaŸ¡tko Dalç¡ pro pokraŸov n¡."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Odinstalovat pýed instalac¡"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Neodinstalov vat"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Ji§ nainstalov no"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Zvolte, jak chcete ${APPLICATION_NAME} nainstalovat."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "NovØjç¡ verze aplikace ${APPLICATION_NAME} je ji§ nainstalov na. Instalace starç¡ verze se nedoporuŸuje. Pokud opravdu chcete tuto starç¡ verzi nainstalovat, je lepç¡ nejprve odinstalovat souŸasnou verzi. Zvolte po§adovanou operaci a kliknØte na Dalç¡ pro pokraŸov n¡."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} je ji§ nainstalov na.$\n$\nZvolte po§adovanou operaci a kliknØte na Dalç¡ pro pokraŸov n¡."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Pýidat Ÿi znovu instalovat komponenty"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Odinstalovat ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Odinstalovat ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Vyberte mo§nost £dr§by k proveden¡."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Instaluj¡ se n le§itosti ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integrace do pr…zkumn¡ka Windows"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalace integrace do pr…zkumn¡ka Windows"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Z stupce v Nab¡dce Start"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Pýid v m z stupce pro ${APPLICATION_NAME} do Nab¡dky Start."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Z stupce na ploçe"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Vytv ý¡m z stupce na ploçe"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Z stupce v panelu rychl‚ho spuçtØn¡"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Vytv ý¡m z stupce v panelu rychl‚ho spuçtØn¡"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "N le§itosti ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Z stupce ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Z stupce na ploçe pro ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Z stupce rychl‚ho spuçtØn¡ pro ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Zapisuji odinstal tor"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Zapisuji instal tor do registr…"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "DokonŸeno"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Nezd se, §e ${APPLICATION_NAME} je nainstalov na ve slo§ce '$INSTDIR'.$\n$\nChcete pokraŸovat (nedoporuŸuje se)?"
|
||||
StrCpy $UNINSTALL_ABORT "Odinstalace zruçena u§ivatelem"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Z stupce rychl‚ho spuçtØn¡ (nen¡ k dispozici)"
|
||||
StrCpy $INIT_NO_DESKTOP "Z stupce na ploçe (pýep¡çe existuj¡c¡)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Nelze zvìçit, chyba:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Tento instal tor vy§aduje spr vcovsk opr vnØn¡, opakujte znovu"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Instal tor je ji§ spuçtØn."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tento odinstal tor vy§aduje spr vcovsk opr vnØn¡, opakujte znovu"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Slu§ba pýihl çen¡ nebا¡, ukonŸuji!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Odinstal tor je ji§ spuçtØn."
|
||||
StrCpy $SectionGroup_Shortcuts "Z stupci"
|
||||
43
admin/win/nsi/l10n/Dutch.nsh
Normal file
43
admin/win/nsi/l10n/Dutch.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Toon opmerkingen bij deze uitgave"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Gevonden ${APPLICATION_EXECUTABLE} proces(sen) moet worden gestopt.$\nWilt u dat het installatieprogramma dat voor u doet?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Stoppen ${APPLICATION_EXECUTABLE} processen."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Het te stoppen proces is niet gevonden!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Er is een oudere versie van ${APPLICATION_NAME} geïnstalleerd op uw systeem. geadviseerd wordt om de huidige versie te de-installeren voordat de nieuwe versie wordt geïnstalleerd. Selecteer de uit te voeren actie en klik op Verder om door te gaan."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Verwijder oude versie"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Behoud oude versie"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Al geïnstalleerd"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Kies hoe u ${APPLICATION_NAME} wilt installeren."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Er is al een recentere versie van ${APPLICATION_NAME} geïnstalleerd! Installeren van een oudere versie wordt niet aangeraden. Als u echt de oudere versie wilt installeren, adviseren we de huidige versie eerst te verwijderen. Kies de actie die u wilt uitvoeren en druk op Verder om door te gaan."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is al geïnstalleerd.$\n$\nKies de actie die u uit wil voeren en druk op Verder om door te gaan."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Toevoegen/herinstalleren componenten"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "De-installeer ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "De-installeer ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Kies de uit te voeren onderhoudsoptie."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Installeren ${APPLICATION_NAME} basis."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integratie binnen Windows Verkenner"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installeren Integratie binnen Windows Verkenner"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Startmenu snelkoppeling"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Toevoegen snelkoppeling voor ${APPLICATION_NAME} aan het Startmenu."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Werkblad snelkoppeling"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Aanmaken werkblad snelkoppelingen"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Snelstart snelkoppeling"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Aanmaken snelstart snelkoppeling"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} basis."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} snelkoppeling."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Werkblad snelkoppeling voor ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Snelstart snelkoppeling voor ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Wegschrijven Uninstaller"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Wegschrijven installer Registersleutels"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Klaar"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Het lijkt er niet op dat ${APPLICATION_NAME} is geïnstalleerd in de map '$INSTDIR'.$\n$\nToch doorgaan (niet aangeraden)?"
|
||||
StrCpy $UNINSTALL_ABORT "De-installatie afgebroken door de gebruiker"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Snelstart snelkoppeling (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Bureaublad snelkoppeling (overschrijft huidige)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Kan niet verhogen, fout:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Dit installatieprogramma vereist beheerdersrechten. Probeer het opnieuw"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "De Installer is al gestart."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Deze uninstaller vereist Beheerderstoegang, probeer opnieuw"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "De aanmeldprocedure is niet actief; er wordt afgebroken!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "De uninstaller is al gestart."
|
||||
StrCpy $SectionGroup_Shortcuts "Snelkoppelingen"
|
||||
43
admin/win/nsi/l10n/English.nsh
Normal file
43
admin/win/nsi/l10n/English.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Show release notes"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Killing ${APPLICATION_EXECUTABLE} processes."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Process to kill not found!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "An older version of ${APPLICATION_NAME} is installed on your system. It is recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Uninstall before installing"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Do not uninstall"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Already Installed"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Choose how you want to install ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "A newer version of ${APPLICATION_NAME} is already installed! It is not recommended that you install an older version. If you really want to install this older version, it is better to uninstall the current version first. Select the operation you want to perform and click Next to continue."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Add/Reinstall components"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Uninstall ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Uninstall ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integration for Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installing Integration for Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start Menu Program Shortcut"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adding shortcut for ${APPLICATION_NAME} to the Start Menu."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Desktop Shortcut"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creating Desktop Shortcuts"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Quick Launch Shortcut"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creating Quick Launch Shortcut"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} essentials."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} shortcut."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Desktop shortcut for ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Quick Launch shortcut for ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Writing Uninstaller"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Writing Installer Registry Keys"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Finished"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "It does not appear that ${APPLICATION_NAME} is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?"
|
||||
StrCpy $UNINSTALL_ABORT "Uninstall aborted by user"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Quick Launch Shortcut (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Desktop Shortcut (overwrites existing)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "This installer requires admin access, try again"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "The installer is already running."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "This uninstaller requires admin access, try again"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Logon service is not running, aborting!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "The uninstaller is already running."
|
||||
StrCpy $SectionGroup_Shortcuts "Shortcuts"
|
||||
43
admin/win/nsi/l10n/Estonian.nsh
Normal file
43
admin/win/nsi/l10n/Estonian.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Näita väljalaske märkmeid"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Leitud protsess(id) ${processName} mis tuleks peatada. $\nKas soovid, et installer seiskaks need?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "${APPLICATION_EXECUTABLE} protsessi lõpetamine."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Ei leitud protsessi, mida tappa!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Üks vanem versioon ${APPLICATION_NAME} on juba paigaldatud. On soovitav see eemaldada enne uue paigaldamist. Vali tehtav toiming ning kliki Jätka."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Eemalda enne paigaldamist"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Ära paigalda"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Juba paigaldatud"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Vali, kuidas sa soovid paigaldada ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Uuem versioon ${APPLICATION_NAME} on juba paigaldatud! Vanema versiooni paigaldus ei ole soovitatav. Kui tõesti tahad paigaldada vanemat versiooni, siis on parem esmalt eemaldada olemasolev. Vali tehtav toiming ning kliki Jätka."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Lisa/Taaspaigalda komponente"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstalli ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalli ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Vali hooldustegevus, mida sa soovid sooritada."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Paigaldan ${APPLICATION_NAME} põhiosa."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integreerimine Windows Exploreriga"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Paigalda Windows Exploreriga integreerimine"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start Menüü programmide otsetee"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Lisan ${APPLICATION_NAME} otsetee Start menüüsse."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Töölaua otsetee"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Töölaua otseteede loomine"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Kiirvaliku otsetee"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Kiirvaliku otsetee loomine"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} põhiosa."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} otsetee."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Töölaua otsetee rakendusele ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Kiirvaliku otsetee rakendusele ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Desinstallija kirjutamine"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Kirjutan paigaldaja registri võtmeid"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Lõpetatud"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Ei leia, et ${APPLICATION_NAME} oleks paigaldatud kataloogi '$INSTDIR'.$\n$\nJätkata sellele vaatamata (pole soovitav)?"
|
||||
StrCpy $UNINSTALL_ABORT "Desinstallimine on kasutaja poolt katkestatud"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Kiirvaliku otsetee (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Ikoon töölaual (kirjutab olemasoleva üle)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Ei suuda ülendada õigusi, viga: "
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "See paigaldaja vajab admini ligipääsu, proovi uuesti"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Paigaldaja on juba käimas."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "See desinstallija vajab admini ligipääsu, proovi uuesti"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Sisselogimisteenus ei tööta, katkestamine!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "See desinstallija on juba käimas."
|
||||
StrCpy $SectionGroup_Shortcuts "Otseteed"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
43
admin/win/nsi/l10n/Farsi.nsh
Normal file
43
admin/win/nsi/l10n/Farsi.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "نمایش پادداشت های انتشار نسخه"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "${APPLICATION_EXECUTABLE} پردازش (ها) که باید متوقف شوند را پیدا کرد. $\nآیا میخواهیم برنامه نصاب این پردازشها را برای شما متوقف کند ؟"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "حذف پردازشهای ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "پردازش برای از بین بردن یافت نشد!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "نسخهی قدیمی از برنامه ${APPLICATION_NAME} بر روی سیستم شما نصب شده است، پیشنهاد میشود نسخهی فعلی را قبل از نصب حذف کنید. عملیات مورد نظر را انتخاب کنید و برای ادامه روی دکمه Next کلیک کنید."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "عمل حذف را قبل از نصب انجام دهید"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "حذف نکن"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "از قبل نصب شده است"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "نحوهی نصب ${APPLICATION_NAME} را انتخاب کنید."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "نسخه جدیدتری از برنامه ${APPLICATION_NAME} بر روی سیستم شما نصب شده است، نصب نسخهی قدیمیتر پیشنهاد نمیشود. درصورتیکه میخواهید نسخهی قدیمی را نصب کنید، حذف نسخهی کنونی قبل از اجرای نصب جدید پیشنهاد میشود. عملیات مورد نظر را انتخاب و بر روی دکمهی Next کلیک کنید."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "نسخه ${VERSION} از ${APPLICATION_NAME} هماکنون نصب شده است.$↩$\nعملیات مورد نظر را انتخاب و بر روی دکمه Next کلیک کنید."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "افزودن/نصب مجدد اجزا"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "حذف ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "حذف ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "گزینه نگهداری را به منظور اجرا انتخاب کنید."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "نصب ضروریات ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "یکپارچهسازی با Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "نصب یکپارچهساز با Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "بازکردن میانبر منو برنامه"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "افزودن میانبر ${APPLICATION_NAME} به استارت منو ."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "میانبر دسکتاپ"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "ایجاد میانبر دسکتاپ"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "میانبر بازکردن سریع"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "ایجاد میانبر اجرای سریع"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "ملزومات ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "میانبر ${APPLICATION_NAME} "
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "میانبر دسکتاپ برای ${APPLICATION_NAME} ."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "میانبر اجرای سریع برای ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_FILE_Detail "نوشتن حذف کننده"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "در حال نوشتن کلید های رجیستری نصاب"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "اتمام"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "به نظر نمی رسد نرم افزار ${APPLICATION_NAME} در '$INSTDIR'.$\n$\nنصب شده باشد.$\nآیا می خواهید ادامه دهید ( توصیه نشده است ) ؟"
|
||||
StrCpy $UNINSTALL_ABORT "عمل حذف توسط کاربر متوقف شد"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "میانبر بازکردن سریع ( N/A )"
|
||||
StrCpy $INIT_NO_DESKTOP "میانبر دسکتاپ (رونویسی وجود دارد)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "مشکل در بالااوردن ، خطا : "
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "برای نصب، دسترسی مدیر سیستم نیاز است، مجددا تلاش کنید"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "نصاب از قبل در حال اجراست."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "حذف برنامه نیاز به دسترسی مدیر دارد ، لطفا دوباره سعی کنید"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "سرویس ورود اجرا نیست، درحال لغو نصب!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "حذف کننده از قبل در حال اجراست."
|
||||
StrCpy $SectionGroup_Shortcuts "میانبرها"
|
||||
43
admin/win/nsi/l10n/Finnish.nsh
Normal file
43
admin/win/nsi/l10n/Finnish.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Näytä julkaisutiedot"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Havaittiin sovelluksen ${APPLICATION_EXECUTABLE} prosessi (tai prosesseja) jotka pitäisi pysäyttää.$\nHaluatko että asennusohjelma pysäyttää nämä puolestasi?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Pysäytetään sovelluksen ${APPLICATION_EXECUTABLE} prosessit."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Tapettavaa prosessia ei löytynyt!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Vanhempi versio sovelluksesta ${APPLICATION_NAME} on jo asennettu. On suositeltavaa että poistat vanhan asennuksen ensin. Valitse mikä toiminto suoritetaan ja napsauta Seuraava jatkaaksesi."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Poista ennen asentamista"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Älä poista"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Asennettu jo"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Valitse miten ${APPLICATION_NAME} asennetaan."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Uudempi versio sovelluksesta ${APPLICATION_NAME} on jo asennettu! Vanhan version asennus ei ole suositeltavaa. Jos todella haluat asentaa vanhemman version, kannattaa poistaa nykyisen version asennus ensin. Valitse minkä toimenpiteen haluat suorittaa ja paina Seuraava jatkaaksesi."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} on jo asennettu.$\n$\nValitse haluamasi toiminto ja napsauta Seuraava jatkaaksesi."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Lisää/uudelleenasenna komponentteja"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Poista ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Poista ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Valitse suoritettava huoltotoimenpide."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Asennetaan sovelluksen ${APPLICATION_NAME} välttämättömyyksiä."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integraatio Windows Exploreriin"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Asennetaan integraatiota Windows Exploreriin"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Käynnistä-valikon pikakuvake"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Lisätään ${APPLICATION_NAME}-pikakuvake Käynnistä-valikkoon."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Työpöydän pikakuvake"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Luodaan työpöydän pikakuvakkeet"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Pikakäynnistyksen pikakuvake"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Luodaan pikakuvaketta pikakäynnistykseen"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} välttämättömyydet."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME}-pikakuvake."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Sovelluksen ${APPLICATION_NAME} työpyötäpikakuvake."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Pikakäynnistyksen pikakuvake sovellukselle ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Kirjoitetaan poisto-ohjelmaa"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Kirjoitetaan asennusohjelman rekisteriavaimia"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Valmis"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Vaikuttaa siltä että sovellus ${APPLICATION_NAME} on asennettu kansioon '$INSTDIR'.$\n$\nHaluatko jatkaa tästä huolimatta (ei suositeltavaa)?"
|
||||
StrCpy $UNINSTALL_ABORT "Poistaminen keskeytettiin käyttäjän toimesta"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Pikakäynnistyksen pikakuvake (-)"
|
||||
StrCpy $INIT_NO_DESKTOP "Työpöydän pikakuvake (korvaa nykyinen)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Kohottaminen ei onnistu, virhe:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Tämä asennusohjelma vaatii ylläpitäjän oikeudet, yritä uudelleen."
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Asennusohjelma on jo käynnissä."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tämä poisto-ohjelma vaatii ylläpitäjän oikeudet, yritä uudelleen."
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Kirjautumispalvelu ei ole käynnissä, perutaan!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Poisto-ohjelma on jo käynnissä."
|
||||
StrCpy $SectionGroup_Shortcuts "Pikakuvakkeet"
|
||||
43
admin/win/nsi/l10n/French.nsh
Normal file
43
admin/win/nsi/l10n/French.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Afficher les notes de version"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Les processus ${APPLICATION_EXECUTABLE} en cours d’exécution doivent être stoppés avant de poursuivre.$\nVoulez-vous que le programme d’installation s’en charge pour vous ?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Fermeture des processus ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Le processus à stopper n'a pas été trouvé !"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Une ancienne version de ${APPLICATION_NAME} est installée sur votre système. Il est recommandé de désinstaller cette version avant de continuer. Sélectionnez l'opération que vous voulez exécuter et cliquez sur Suivant pour continuer."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Désinstaller avant d'installer à nouveau"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Ne pas désinstaller"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Déjà installé"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Choisissez comment installer ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Une version plus récente de ${APPLICATION_NAME} est déjà installée ! Il n'est pas recommandé d'installer une version plus ancienne. Si vous voulez vraiment installer cette version plus ancienne, il est préférable de d'abord désinstaller la version courante. Sélectionnez l'opération que vous voulez exécuter et cliquez sur Suivant pour continuer."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} est déjà installé.$\n$\nSélectionnez l'opération que vous souhaitez effectuer et cliquez sur Suivant pour continuer."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Ajouter/Réinstaller des composants"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Désinstaller ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Désinstaller ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choisir l'opération de maintenance à effectuer."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Installation des essentiels de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Intégration à l'Explorateur Windows"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installation de l'intégration à l'Explorateur Windows..."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Raccourci programme du menu Démarrer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Ajout d'un raccourci pour ${APPLICATION_NAME} au menu Démarrer."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Raccourci Bureau"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Création d'un raccourci sur le Bureau"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Raccourci de lancement rapide"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Création d'un raccourci de lancement rapide"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "Essentiels de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Raccourci de ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Raccourci Bureau de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Raccourci de lancement rapide de ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Écriture du désinstallateur"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Écriture des clefs de registre du désinstallateur"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Terminé"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Il semble que ${APPLICATION_NAME} ne soit pas installé dans le dossier '$INSTDIR'.$\n$\nVoulez-vous poursuivre (non recommandé) ?"
|
||||
StrCpy $UNINSTALL_ABORT "Désinstallation interrompue par l'utilisateur"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Raccourci de lancement rapide (non disponible)"
|
||||
StrCpy $INIT_NO_DESKTOP "Raccourci bureau (remplace l’existant)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Échec d'élévation, erreur :"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Cet installateur requiert les droits administrateur, essayez à nouveau"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Une installation est déjà en cours."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Ce désinstallateur requiert les droits administrateur, essayez à nouveau"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Service de logon non lancé ! Abandon."
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Une désinstallation est déjà en cours."
|
||||
StrCpy $SectionGroup_Shortcuts "Raccourcis"
|
||||
43
admin/win/nsi/l10n/Galician.nsh
Normal file
43
admin/win/nsi/l10n/Galician.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Amosar as notas de publicación"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Atopáronse procesos ${APPLICATION_EXECUTABLE} que teñen que ser detidos.$\nQuere que sexa o instalador quen o(s) deteña?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Matando os procesos ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Non se atopou o proceso para matalo!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "No seu sistema hai instalada unha versión anterior de ${APPLICATION_NAME}. Recomendámoslle que desinstale a versión actual antes de instalar. Seleccione a operación que quere realizar e prema en Seguinte para continuar."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Desinstalar antes de instalar"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Non desinstalar"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Xa instalado"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Escolla como quere instalar ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Ten instalada unha versión actualizada do ${APPLICATION_NAME}! recomendámoslle que non instale unha versión anterior. Se realmente quere instalar esta versión máis antiga, é preferíbel que desinstale a versión actual antes de instalar. Seleccione a operación que quere realizar e prema en Seguinte para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Engadir/reinstalar compoñentes"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolla a opción de mantemento a realizar."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Instalando ${APPLICATION_NAME} esenciais."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integración con Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalando a integración con Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Acceso directo ao programa no menú de inicio"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Engadindo o acceso directo a ${APPLICATION_NAME} no menú de inicio"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Acceso directo no escritorio"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creando os accesos directos no escritorio"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Acceso de inicio rápido"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creando o acceso de inicio rápido"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} esenciais."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Acceso directo ao ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Acceso directo no escritorio para "
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Acceso de inicio rápido para ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Escribindo o desinstalador"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Escribindo o instalador nas chaves do rexistro"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Rematado"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Semella que ${APPLICATION_NAME} non está instalado no directorio «$INSTDIR».$\n$\nContinuar aínda así (non recomendado)?"
|
||||
StrCpy $UNINSTALL_ABORT "A desinstalación foi interrompida polo usuario."
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Acceso de inicio rápido (n/d)"
|
||||
StrCpy $INIT_NO_DESKTOP "Atallo no escritorio (sobrescribe o existente)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Non foi posíbel elevalo, erro:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Este instalador require acceso de administrador, ténteo de novo"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "O instalador xa está en execución."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador require acceso de administrador, ténteo de novo"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "O servizo de acceso non está en execución, cancelando!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador xa está en execución."
|
||||
StrCpy $SectionGroup_Shortcuts "Atallos"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
43
admin/win/nsi/l10n/German.nsh
Normal file
43
admin/win/nsi/l10n/German.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Release-Informationen anzeigen"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "${APPLICATION_EXECUTABLE} Prozess(e) gefunden, die gestoppt werden müssen.$\nWollen Sie, dass der Installer diese nun für Sie stoppt?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Stoppe ${APPLICATION_EXECUTABLE} Prozess(e)."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Prozess zum Beenden nicht gefunden!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Eine ältere Version von ${APPLICATION_NAME} ist auf Ihrem System installiert. Es wird empfohlen, diese Version zunächst zu entfernen. Wählen Sie unter folgenden Vorgehenweisen und wählen Sie $\"Weiter$\"."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Vor der Installation entfernen"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Nicht entfernen"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Bereits installiert"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Wählen Sie die Methode, mit der sie ${APPLICATION_NAME} installieren wollen."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Eine neuere Version von ${APPLICATION_NAME} ist bereits installiert! Es wird nicht empfohlen, eine ältere Version zu installieren. Wollen Sie dies trotzdem tun, so sollten Sie die aktuelle Version zunächst entfernen. Wählen Sie eine Vorgehensweise und wählen dann $\"Weiter$\"."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} ist bereits installiert. $\nWählen Sie eine Vorgehensweise und klicken Sie auf $\"Weiter$\"."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Komponenten hinzufügen"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} entfernen"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} entfernen"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Wählen Sie zur Ausführung die Wartungsoption."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Installiere ${APPLICATION_NAME} Basis."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integration in den Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installiere Integration in den Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Installiere Verknüpfung im Programmmenü"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Füge Verknüpfung für ${APPLICATION_NAME} dem Startmenü hinzu."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Desktop-Verknüpfung"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Erstellt Desktop-Verknüpfung"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Schnellstart-Verknüpfung"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Erstelle Schnellstart-Verknüpfung"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} Basis."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} Verknüfung."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Desktop-Verknüpfung für ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Schnellstart-Verknüpfung für ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Schreibe Uninstaller"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Schreibe Registrierungseinträge"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Abgeschlossen"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Es scheint, als ob ${APPLICATION_NAME} nicht im Verzeichnis '$INSTDIR' installiert ist.$\n$\nTrotzdem fortfahren (nicht empfohlen)?"
|
||||
StrCpy $UNINSTALL_ABORT "Deinstallation vom Benutzer abgebrochen"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Schnellstart-Verknüpfung (Nicht verfügbar)"
|
||||
StrCpy $INIT_NO_DESKTOP "Desktop-Verknüpfung (überschreibt vorhandene)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Rechte können nicht erhöht werden, Fehler:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Dieses Installationsprogramm erfordert Administrator-Rechte, bitte erneut versuchen"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Das Installationsprogramm wird bereits ausgeführt."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Das Deinstallationsprogramm erfordert Administrator-Rechte. Bitte erneut versuchen."
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Anmeldedienst läuft nicht, abbruch!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Das Deinstallationsprogramm wird bereits ausgeführt."
|
||||
StrCpy $SectionGroup_Shortcuts "Verknüpfungen"
|
||||
43
admin/win/nsi/l10n/Greek.nsh
Normal file
43
admin/win/nsi/l10n/Greek.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Εμφάνιση σημειώσεων έκδοσης"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Βρέθηκε η(οι) διεργασία(ες) ${APPLICATION_EXECUTABLE} η(οι) οποία(ες) θα πρέπει να τερματιστεί(ούν).$\nΘα θέλατε να την(τις) τερματίσει ο βοηθός εγκατάστασης για εσάς;"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Τερματισμός διεργασιών ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Δεν βρέθηκε διεργασία για βίαιο τερματισμό!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Μια παλαιότερη έκδοση της ${APPLICATION_NAME} είναι εγκατεστημένη στο σύστημά σας. Είναι προτεινόμενο να απεγκαταστήσετε την τρέχουσα έκδοση πριν την εγκατάσταση. Επιλέξτε τη διαδικασία που επιθυμείτε να εκτελέσετε και πατήστε Επόμενο για να συνεχίσετε."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Απεγκατάσταση πριν την εγκατάσταση"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Να μην απεγκατασταθεί"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Ήδη εγκατεστημένη"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Επιλέξτε πώς θέλετε να εγκαταστήσετε την ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Μια νεώτερη έκδοση της ${APPLICATION_NAME} είναι ήδη εγκατεστημένη! Δεν συνίσταται να εγκαταστείσετε μια παλαιότερη έκδοση. Εάν θέλετε πραγματικά να εγκαταστήσετε αυτήν την παλαιότερη έκδοση, είναι καλύτερο να απεγκαταστήσετε την τρέχουσα έκδοση πρώτα. Επιλέξτε τη διαδικασία που επιθυμείτε να εκτελέσετε και επιλέξτε Επόμενο για να συνεχίσετε."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "Η ${APPLICATION_NAME} ${VERSION} είναι ήδη εγκατεστημένη.$\n$\nΕπιλέξτε τη λειτουργία που επιθυμείτε να εκτελέσετε και επιλέξτε Επόμενο για να συνεχίσετε."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Προσθήκη/ Επανεγκατάσταση συνιστωσών"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Απεγκατάσταση ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Απεγκατάσταση ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Επιλέξτε την επιλογή συντήρησης που θα πραγματοποιηθεί."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Εγκατάσταση βάσης ${APPLICATION_NAME} σε εξέλιξη."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Ενσωμάτωση στην Εξερεύνηση των Windows"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Εγκατάσταση ενσωμάτωσης στην Εξερεύνηση των Windows"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Συντόμευση στο Αρχικό Μενού"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Προσθήκη συντόμευσης για την ${APPLICATION_NAME} στο Αρχικό Μενού."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Συντόμευση επιφάνειας εργασίας"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Δημιουργία Συντομεύσεων στην Επιφάνεια Εργασίας"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Συντόμευση Ταχείας Εκκίνησης"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Δημιουργία Συντόμευσης Ταχείας Εκκίνησης"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "Βάση ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Συντόμευση ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Συντόμευση επιφάνειας εργασίας της ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Συντόμευση Ταχείας Εκκίνησης της ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Εγγραφή Εφαρμογής Απεγκατάστασης"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Εγγραφή Κλειδιών μητρώου (Registry) της Εφαρμογής Εγκατάστασης"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Ολοκληρώθηκε"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Δεν φαίνεται να είναι εγκατεστημένηη η ${APPLICATION_NAME} στον κατάλογο '$INSTDIR'.$\n$\nΣυνέχιση παρ' όλα αυτά (δεν συνίσταται);"
|
||||
StrCpy $UNINSTALL_ABORT "Η απεγκατάσταση ματαιώθηκε από το χρήστη"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Συντόμευση Ταχείας Εκκίνησης (Μ/Δ)"
|
||||
StrCpy $INIT_NO_DESKTOP "Συντόμευση Επιφάνειας Εργασίας (αντικαθιστά υπάρχουσα)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Αδυναμία ανύψωσης, σφάλμα:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Αυτή η εφαρμογή εγκατάστασης απαιτεί πρόσβαση διαχειριστή, δοκιμάστε ξανά"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Η εφαρμογή εγκατάστασης λειτουργεί ήδη."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Αυτή η εφαρμογή απεγκατάστασης απαιτεί πρόσβαση διαχειριστή, δοκιμάστε ξανά"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Η υπηρεσία σύνδεσης δεν εκτελείται, ακύρωση!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Η εφαρμογή απεγκατάστασης λειτουργεί ήδη."
|
||||
StrCpy $SectionGroup_Shortcuts "Συντομεύσεις"
|
||||
43
admin/win/nsi/l10n/Hungarian.nsh
Normal file
43
admin/win/nsi/l10n/Hungarian.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Kiadási jegyzetek megtekintése"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "A következő folyamatot(okat) meg kell állítani ${APPLICATION_EXECUTABLE}.$\nSzeretné ha a telepítő program megállítani ezeket a folyamatokat?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "${APPLICATION_EXECUTABLE} folyamat kilövése."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "A kilövésre szánt folyamat nem található!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Az ${APPLICATION_NAME} alkalmazás egy régebbi verziója telepítve van a rendszeren. Ajánlott a régi alkalmazás eltávolítása mielőtt a legfrissebb verziót telepítené. Válassza ki milyen műveletet szeretne végrehajtani, és nyomja meg a $\"Következő$\" gombot a folytatáshoz."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Eltávolítás telepítés előtt"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Ne távolítsa el"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Már telepítve"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Válassza ki, hogy szeretné telepíteni a következő alkalmazást: ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Az ${APPLICATION_NAME} alkalmazás egy újabb verziója már megtalálható a rendszeren. Nem ajánlott egy régebbi verzió telepítése. Ha valóban szeretné a régebbi verziót telepíteni, akkor ajánlott a jelenleg telepített verzió eltávolítása. Válassza ki milyen műveletet szeretne végrehajtani, és nyomja meg a $\"Következő$\" gombot a folytatáshoz."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "Az ${APPLICATION_NAME} alkalmazás ${VERSION} verziója már telepítve van.$↩$\nKérjük válaszd ki milyen műveletet szeretnél végrehajtani, és nyomd meg a „Következő” gombot."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Komponens hozzáadása/újratelepítése"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} eltávolítása"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} eltávolítása"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Válassza ki milyen karbantartási műveletet szeretne elvégezni."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Az ${APPLICATION_NAME} alkalmazás lényeges komponenseinek telepítése."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Windows Explorer integráció"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Windows Explorer integráció telepítése"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start Menü parancsikonok"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "A ${APPLICATION_NAME} parancsikon hozzáadása a Start Menühöz"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Asztali parancsikon"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Asztali parancsikon létrehozása"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Gyorsindító eszköztár parancsikon"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Gyorsindító eszköztár parancsikon létrehozása"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} lényeges komponensek."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} parancsikon"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Asztali parancsikon a ${APPLICATION_NAME} alkalmazásnak."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Gyorsindítás eszköztár parancsikon a ${APPLICATION_NAME} alkalmazásnak."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Elltávolító írása"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Telepítési registry kulcsok írása"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Befejezve!"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Nem sikerült az ${APPLICATION_NAME} alkalmazás telepítése a '$INSTDIR' könyvtárba.$\n$\nSzeretné mindenképpen folytatni (nem ajánlott)?"
|
||||
StrCpy $UNINSTALL_ABORT "Az eltávolítást a felhasználó megszakította"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Gyorsindító hivatkozás (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Asztali hivatkozás (felülírja a meglévőt)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Nem sikerült felemelni, hiba:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "A telepítő futtatásához adminisztrátori hozzáférés szükséges, próbálja újra."
|
||||
StrCpy $INIT_INSTALLER_RUNNING "A telepítő már fut."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Az eltávolító futtatásához adminisztrátori hozzáférés szükséges, próbálja újra."
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "A bejelentkező szolgáltatás nem fut, megszakítás!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Az eltávolító már fut."
|
||||
StrCpy $SectionGroup_Shortcuts "Parancsikonok"
|
||||
43
admin/win/nsi/l10n/Italian.nsh
Normal file
43
admin/win/nsi/l10n/Italian.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostra le note di rilascio"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Trovati ${APPLICATION_EXECUTABLE} processi che dovrebbero essere fermati.$\nVuoi che il programma di installazione li fermi al posto tuo?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Sto terminando ${APPLICATION_EXECUTABLE} processi."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Il processo da terminare non è stato trovato!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Una versione più datata di ${APPLICATION_NAME} è installata sul tuo sistema. Si consiglia di disinstallare la versione attuale prima di installare. Seleziona l'operazione da eseguire e fai clic su Avanti per continuare."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Disinstalla prima di installare"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Non disinstallare"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Già installato"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Scegli come desideri installare ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Una versione più recente di ${APPLICATION_NAME} è già installata! Non è consigliabile installare una versione più vecchia. Se vuoi davvero installare una versione più vecchia, ti consigliamo di rimuovere prima la versione attuale. Scegli l'operazione da eseguire e fai clic su Avanti per continuare."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} è già installato.$\n$\nSeleziona l'operazione che desideri eseguire e fai clic su Avanti per continuare.."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Aggiungi/Reinstalla i componenti"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Disinstalla ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Disinstalla ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Scegli l'opzione di manutenzione da eseguire."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Installazione degli elementi fondamentali di ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integrazione con Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installazione dell'integrazione con Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Scorciatoia di programma menu Start"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Aggiunta della scorciatoia per ${APPLICATION_NAME} al menu Start."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Scorciatoia del desktop"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creazione delle scorciatoie del desktop"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Scorciatoia dell'avvio veloce"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creazione della scorciatoia dell'avvio veloce"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "Oggetti fondamentali di ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Scorciatoia di ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Scorciatoia del desktop per ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Scorciatoia per ${APPLICATION_NAME} dell'avvio veloce."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Creazione del programma di disinstallazione"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Scrittura delle chiavi di registro del programma di installazione"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Completato"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Non sembra che ${APPLICATION_NAME} sia installato nella cartella '$INSTDIR'.$$\nVuoi continuare comunque (non consigliato)?"
|
||||
StrCpy $UNINSTALL_ABORT "Disinstallazione interrotta dall'utente"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Scorciatoia dell'avvio veloce (N/D)"
|
||||
StrCpy $INIT_NO_DESKTOP "Scorciatoia del desktop (sovrascrivi se esistente)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Impossibile elevare, errore:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Il programma di installazione necessita delle credenziali di amministrazione, riprova"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Il programma di installazione è già in esecuzione."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Il programma di disinstallazione necessita delle credenziali di amministrazione, riprova"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Il servizio di accesso non è in esecuzione, interruzione in corso!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Il programma di disinstallazione è già in esecuzione."
|
||||
StrCpy $SectionGroup_Shortcuts "Scorciatoie"
|
||||
43
admin/win/nsi/l10n/Japanese.nsh
Normal file
43
admin/win/nsi/l10n/Japanese.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "リリースノートを表示"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "${APPLICATION_EXECUTABLE} のプロセスを終了する必要があります。$\nインストーラーがそのプロセスを停止してもよろしいですか?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "${APPLICATION_EXECUTABLE} プロセスを停止しています。"
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "終了するプロセスがありません"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "システムに ${APPLICATION_NAME} の旧バージョンがインストールされています。$\n旧バージョンをアンインストールし、最新バージョンをインストールするのをお勧めします。$\nオペレーションを選択し、次へをクリックする。"
|
||||
StrCpy $PageReinstall_NEW_Field_2 "インストール前にアンインストールする"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "アンインストールしない"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "インストール済"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "${APPLICATION_NAME} のインストール方法を選択する"
|
||||
StrCpy $PageReinstall_OLD_Field_1 "${APPLICATION_NAME} の最新バージョンがすでにインストールされています。$\n旧バージョンのインストールはお勧めしません。旧バージョンのインストールが本当に必要な場合は、まず最新バージョンをアンインストールしてから、旧バージョンをインストールしてください。$\nオペレーションを選択し、次へをクリックする。"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} は、${VERSION} が既にインストールされています。$\n$\n実行したい操作を選択し、次へをクリックする。"
|
||||
StrCpy $PageReinstall_SAME_Field_2 "追加/再インストールコンポーネント"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} をアンインストール"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} をアンインストール"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "実行するには、メンテナンスオプションを選択してください。"
|
||||
StrCpy $SEC_APPLICATION_DETAILS "${APPLICATION_NAME} の重要なパッケージをインストール中"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Windows エクスプローラーへの統合"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Windows エクスプローラーへの統合をインストールしています。"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "スタートメニューショートカット"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "スタートメニューに${APPLICATION_NAME} のショートカットの追加"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "デスクトップショートカット"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "デスクトップショートカット作成"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "クイック起動ショートカット"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "クイック起動ショートカットを作成"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} の重要なパッケージ"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} のショートカット"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "${APPLICATION_NAME} のデスクトップショートカット"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "${APPLICATION_NAME} のクイック起動ショートカット"
|
||||
StrCpy $UNINSTALLER_FILE_Detail "アンインストーラーを書き込み"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "インストーラーのレジストリキーの書き込み"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "終了"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "${APPLICATION_NAME} は'$INSTDIR'.$$ ディレクトリにインストールされていません。エラーを無視し、進みますか (非推奨)?"
|
||||
StrCpy $UNINSTALL_ABORT "アンインストールは、ユーザーによって中止されました。"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "クイック起動ショートカット(N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "デスクトップにショートカットを作成(すでにある場合は上書き)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "エスカレーション不可です、エラー:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "このインストーラーは、管理者権限が必要です。インストールを再試行してください。"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "インストーラーは、すでに起動しています。"
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "このアンインストーラーは、管理者権限が必要です。アンインストールを再試行してください。"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "ログオンサービスが動いていません。中止します。"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "アンインストーラーは、すでに起動しています。"
|
||||
StrCpy $SectionGroup_Shortcuts "ショートカット"
|
||||
43
admin/win/nsi/l10n/Norwegian.nsh
Normal file
43
admin/win/nsi/l10n/Norwegian.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Vis versjonsmerknader"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Fant ${APPLICATION_EXECUTABLE}-prosess(er) som må stoppes.$\nVil du at installasjonsprogrammet skal stoppe dem for deg?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Terminerer ${APPLICATION_EXECUTABLE}-prosesser."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Fant ikke prosess som skulle termineres!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "En eldre versjon av ${APPLICATION_NAME} er installert på systemet ditt. Det anbefales at du avnistallerer den versjonen før installering av ny versjon. Velg hva du vil gjøre og klikk Neste for å fortsette."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Avinstaller før installering"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Ikke avinstaller"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Allerede installert"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Velg hvordan du vil installere ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "En nyere versjon av ${APPLICATION_NAME} er allerede installert! Det anbefales ikke at du installerer en eldre versjon. Hvis du virkelig ønsker å installere denne eldre versjonen, er det bedre å avinstallere gjeldende versjon først. Velg hva du vil gjøre og klikk Neste for å fortsette."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} er installert allerede.$\n$\nVelg hva du ønsker å gjøre og klikk Neste for å fortsette."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Legg til/installer komponenter på nytt"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Avinstaller ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Avinstaller ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Velg hva slags vedlikehold som skal utføres."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Installerer ${APPLICATION_NAME} grunnleggende."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integrering med Windows Utforsker"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installerer integrering med Windows Utforsker"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Snarvei i Start-menyen"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Legger til snarvei for ${APPLICATION_NAME} i Start-menyen."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Snarvei på skrivebordet"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Oppretter snarveier på skrivebordet"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Snarvei i Hurtigstart"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Oppretter snarvei i Hurtigstart"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} grunnleggende."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME}-snarvei."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Skrivebordssnarvei for ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Hurtigstart-snarvei for ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Skriver Avinstallasjonsprogram."
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Skriver registernøkler for installasjonsprogrammet"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Ferdig"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Det ser ikke ut som ${APPLICATION_NAME} er installert i mappe '$INSTDIR'.$\n$\nFortsett likevel (ikke anbefalt)?"
|
||||
StrCpy $UNINSTALL_ABORT "Avinstallering avbrutt av bruker"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Hurtigstart-snarvei (I/T)"
|
||||
StrCpy $INIT_NO_DESKTOP "Snarvei på skrivebordet (skriver over eksisterende)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Klarte ikke å heve tilgangsnivå. Feil: "
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Dette installasjonsprogrammet krever administrasjonstilgang. Prøv igjen"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Installasjonsprogrammet kjører allerede."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Avinstallasjonsprogrammet krever administrasjonstilgang. Prøv igjen"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Påloggingstjenesten kjører ikke, avbryter!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Avinstallasjonsprogrammet kjører allerede."
|
||||
StrCpy $SectionGroup_Shortcuts "Snarveier"
|
||||
43
admin/win/nsi/l10n/Polish.nsh
Normal file
43
admin/win/nsi/l10n/Polish.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Poka¿ informacje o wydaniu"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Proces ${APPLICATION_EXECUTABLE} musi zostaæ zatrzymany $\nCzy chcesz aby instalator zatrzyma³ je dla ciebie?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Zamykam proces ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Nie znaleziono procesu!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "W Twoim systemie jest zainstalowana starsza wersja ${APPLICATION_NAME}. Zalecane jest jej usuniêcie przed dalsz¹ instalacj¹. Wybierz operacjê któr¹ chcesz wykonaæ i naciœnij przycisk Dalej."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Odinstaluj przed instalacja"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Nie usuwaj "
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Ju¿ zainstalowane"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Wybierz jak chcesz zainstalowaæ ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Zainstalowana jest nowsza wersja ${APPLICATION_NAME}! Niezalecane jest instalowanie starszej wersji. Jeœli naprawdê chcesz zainstalowaæ starsz¹ wersjê lepiej najpierw odinstalowaæ obecn¹ aplikacjê. Wybierz operacjê któr¹ chcesz wykonaæ i naciœnij przycisk Dalej."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} jest ju¿ zainstalowany.$\nWybierz operacjê któr¹ chcesz wykonaæ i naciœnij przycisk Dalej."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Doda/Przeinstaluj komponenty"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Odinstaluj ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Odinstaluj ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Wybierz sposób utrzymywania."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Instaluje niezbêdne pliki ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "integracja z Eksploratorem Windows"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalowanie Integracji z Eksploratorem Windows"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Skrót w Menu Start"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Dodajê skrót ${APPLICATION_NAME} w Menu Start."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Skrót na Pulpicie"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Utworzy skrót na Pulpicie"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Skrót na Pasku Zadañ"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Tworzê skrót na Pasku Zadañ"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "Niezbêdne pliki ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Skrót ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Skrót ${APPLICATION_NAME} na pulpicie."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Skrót ${APPLICATION_NAME} na Pasku Zadañ."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Tworzê dezinstalator"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Tworzê wpisy w rejestrze"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Zakoñczony"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Nie wygl¹da na to ¿e ${APPLICATION_NAME} jest zainstalowane w katalogu '$INSTDIR'.$$ Kontynuowaæ mimo tego (nie zalecane)?"
|
||||
StrCpy $UNINSTALL_ABORT "Dezinstalacja przerwana przez u¿ytkownika"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Skrót na Pasku Zadañ (NIE DOTYCZY)"
|
||||
StrCpy $INIT_NO_DESKTOP "Skróty na pulpicie (nadpisuje obecne)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Niemo¿noœæ podniesienia, b³¹d:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Ten instalator potrzebuje uprawnieñ administratora, spróbuj ponownie"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Instalator ju¿ jest uruchomiony."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Ten dezinstalator potrzebuje uprawnieñ administratora, spróbuj ponownie"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Proces logowania nie jest uruchomiony, przerywam !"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Dezinstalator ju¿ jest uruchomiony."
|
||||
StrCpy $SectionGroup_Shortcuts "Skróty"
|
||||
43
admin/win/nsi/l10n/Portuguese.nsh
Normal file
43
admin/win/nsi/l10n/Portuguese.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar notas de lançamento"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Existem ${APPLICATION_EXECUTABLE} processo(s) em execução que precisa(m) de ser interrompido(s).$\nDeseja que o instalador o(s) termine automaticamente?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "A terminar os processos ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Não foi encontrado o processo a terminar!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Uma versão antiga de ${APPLICATION_NAME} está instalada no sistema. É recomendado que você desinstale a versão atual antes de instalar a mais recente. Selecione a operação que deseja executar e clique em $\"Avançar$\" para continuar."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Desinstalar antes de instalar"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Não desinstale"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Já instalado"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Escolha como pretende instalar ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Uma versão mais recente do ${APPLICATION_NAME} já está instalada! Não é recomendada a instalação de uma versão mais antiga. Se realmente deseja instalar esta versão, aconselha-se a desinstalação da versão atual primeiro. Selecione a operação que deseja executar e clique em Avançar para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} já está instalada.$\nSelecione a operação que deseja realizar e clique em 'Seguinte' para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Adicionar/Reinstalar Componentes"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolha a opção de manutenção a realizar."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "A instalar o essencial de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integração para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "A instalar integração para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Atalho do progama no Menu Inicial"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "A adicionar o atalho de ${APPLICATION_NAME} ao Menu Inicial."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Atalho da área de trabalho"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "A criar atalhos da área de trabalho"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atalho de início rápido"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "A criar atalho de início rápido"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "O essencial de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Atalho de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Atalho no ambiente de trabalho de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Atalho de início rápido de ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "A escrever o Desinstalador"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "A escrever chaves de registo do instalador"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Terminado"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Não parece que ${APPLICATION_NAME} esteja instalado no diretório '$INSTDIR'.$\n$\nContinuar na mesma (não recomendado)?"
|
||||
StrCpy $UNINSTALL_ABORT "Desinstalação cancelada pelo utilizador"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Atalho de Início Rápido (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Atalho do Ambiente de Trabalho (sobrepõe o existente)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Incapaz de elevar, erro:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Este instalador precisa de permissões de administrador, tente novamente"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "O instalador já está em execução."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador requer permissões de administrador, tente novamente"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "O serviço do início de sessão não está em execução, a abortar!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador já está em execução."
|
||||
StrCpy $SectionGroup_Shortcuts "Atalhos"
|
||||
43
admin/win/nsi/l10n/PortugueseBR.nsh
Normal file
43
admin/win/nsi/l10n/PortugueseBR.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar notas de lançamento"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Encontrados ${APPLICATION_EXECUTABLE} processo(s) que precisam ser interrompidos.$\nVocê quer que o instalador pare esses processos para você?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Desativando ${APPLICATION_EXECUTABLE} processos."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Processo para eliminar não encontrado!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Uma versão mais antiga de ${APPLICATION_NAME} está instalado em seu sistema. É recomendado que você desinstale a versão atual antes de instalar. Selecione a operação que deseja executar e clique em Avançar para continuar."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Desinstalar antes de instalar"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Não desinstale"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Já Instalado"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Escolha como você deseja instalar ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "A versão mais recente do ${APPLICATION_NAME} já está instalado! Não é recomendado que você instale uma versão mais antiga. Se você realmente deseja instalar esta versão mais antiga, é melhor desinstalar a versão atual primeiro. Selecione a operação que deseja executar e clique em Avançar para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} já está instalado.$\n$\nSelecione a operação que você quer realizar e clique Próximo para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Adicionar/reinstalar componentes"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolha a opção de realizar manutenção."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Instalando ${APPLICATION_NAME} fundamentos."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integração para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalação de Integração para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Menu Iniciar Programa Atalho"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adicionando atalho para ${APPLICATION_NAME} ao Menu Iniciar."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Atalho Desktop"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Criando Atalhos de Desktop"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atalho Rápido"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Criando Atalho Rápido"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} esseciais."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} atalho."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Atalho Desktop para ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Atalho Rápido para ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Gravando Desinstalador"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Gravando Chaves de Registro do Inslalador"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Finalizado"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Não parece que ${APPLICATION_NAME} está instalado no diretório '$INSTDIR'.$\n$\nContinuar assim mesmo (não recomendado)?"
|
||||
StrCpy $UNINSTALL_ABORT "Desinstalação abortada pelo usuário"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Atalho de Inicialização Rápida (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Atalho Desktop (substitui os existente)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Incapaz de elevar, erro:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Este programa de instalação requer acesso de administrador, tente novamente"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "O instalador já está em execução."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este desinstalador requer acesso de administrador, tente novamente"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "O serviço de logon não está sendo executado, abortando!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "O desinstalador já está em execução."
|
||||
StrCpy $SectionGroup_Shortcuts "Atalhos"
|
||||
43
admin/win/nsi/l10n/Russian.nsh
Normal file
43
admin/win/nsi/l10n/Russian.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Показать примечания к выпуску"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Обнаружен процесс ${APPLICATION_EXECUTABLE}, который требуется остановить.$\nВы хотите чтобы программа установки сделала это самостоятельно?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Завершение процессов ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Процессы для завершения не найдены!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Обнаружена более старая версия ${APPLICATION_NAME}. Рекомендуется удалить её перед установкой. Выберите желаемое действие и нажмите Далее для продолжения."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Удалить перед установкой"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Не устанавливать"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Уже установлено"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Выберите, как вы хотите установить ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Новая версия ${APPLICATION_NAME} уже установлена! Не рекомендуется устанавливать старую версию. Если вы действительно хотите установить эту старую версию, то сначала лучше удалить текущую версию. Выберите желаемое действие и нажмите Далее для продолжения."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} уже установлен.$\n$\nУкажите действие и нажмите Далее для продолжения."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Добавить/Переустановить компоненты"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Удалить ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Удалить ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Выберите опцию обслуживания для исполнения."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Установка базовых компонентов ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Интеграция для проводника Windows"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Установка интеграции с проводником Windows"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Ярлык в меню Пуск"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Добавление ярлыка ${APPLICATION_NAME} в меню Пуск"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Ярлык на рабочем столе"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Создание ярлыков на рабочем столе"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Ярлык в меню быстрого запуска"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Создание ярлыка в меню быстрого запуска"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "Базовые компоненты ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Ярлык приложения ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Ярлык на рабочем столе для ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Ярлык в меню быстрого запуска для ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Сохранение деинсталлятора"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Запись ключей реестра установщика"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Завершено"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Похоже, что приложение ${APPLICATION_NAME} не установлено в каталог '$INSTDIR'.$\nВсе равно продолжить (не рекомендуется)?"
|
||||
StrCpy $UNINSTALL_ABORT "Удаление отменено пользователем"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Ярлык быстрого запуска (не доступен)"
|
||||
StrCpy $INIT_NO_DESKTOP "Ярлык на рабочем столе (перезапись существующего)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Невозможно повысить привилегии, ошибка:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Этому установщику требуются права администратора, попробуйте ещё раз"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Установщик уже запущен."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Этому деинсталлятору требуются права администратора, попробуйте ещё раз"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Служба входа в систему не запущена, прерывание!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Программа удаления уже выполняется."
|
||||
StrCpy $SectionGroup_Shortcuts "Ярлыки"
|
||||
43
admin/win/nsi/l10n/SimpChinese.nsh
Normal file
43
admin/win/nsi/l10n/SimpChinese.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "查看版本日志"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "有 ${APPLICATION_EXECUTABLE} 项进程需要关闭。$\n您想让安装程序关闭这些进程吗?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "停止${APPLICATION_EXECUTABLE}进程。"
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "未找到要停止的进程!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "您的系统已经安装${APPLICATION_NAME}较老版本。建议安装前卸载当前版本。选择将要执行的操作,点击下一步继续。"
|
||||
StrCpy $PageReinstall_NEW_Field_2 "在安装前先卸载"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "不要卸载"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "已经安装"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "选择如何安装${APPLICATION_NAME}。"
|
||||
StrCpy $PageReinstall_OLD_Field_1 "较新版本的 ${APPLICATION_NAME} 已经安装!安装较旧版本的程序是不推荐的。如果您希望继续安装较旧版本,建议先卸载较新版本。选择您想要执行的操作并点击下一步以继续。"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} 已经安装。$\n$\n请选择想要执行的操作并点击下一步。"
|
||||
StrCpy $PageReinstall_SAME_Field_2 "增加/重装组件"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "卸载${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "卸载${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "选择需要执行的维护选项。"
|
||||
StrCpy $SEC_APPLICATION_DETAILS "安装${APPLICATION_NAME}基本组件。"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "整合到 Windows 资源管理器"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "正在整合到 Windows 资源管理器"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "开始菜单程序快捷方式"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "添加 ${APPLICATION_NAME} 快捷方式到开始菜单。"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "桌面快捷方式"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "创建桌面快捷方式"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "快速启动栏快捷方式"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "创建快速启动栏快捷方式"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME}基本组件。"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME}快捷方式。"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "${APPLICATION_NAME}桌面快捷方式。"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "${APPLICATION_NAME}快速启动栏快捷方式。"
|
||||
StrCpy $UNINSTALLER_FILE_Detail "覆盖卸载器"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "正在写入注册表"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "完成"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "${APPLICATION_NAME} 可能并没有安装在 $INSTDIR。$\n$\n仍然继续吗?(不推荐)"
|
||||
StrCpy $UNINSTALL_ABORT "用户取消了卸载"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "快速启动栏快捷方式(N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "桌面快捷方式(覆盖)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "无法获得权限,错误:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "安装程序需要管理员权限,请重试"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "安装程序已经运行。"
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "卸载程序需要管理员权限,请重试"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "登录服务器未运行!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "卸载程序已经运行。"
|
||||
StrCpy $SectionGroup_Shortcuts "快捷方式"
|
||||
43
admin/win/nsi/l10n/Slovak.nsh
Normal file
43
admin/win/nsi/l10n/Slovak.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Zobrazi<EFBFBD> zoznam zmien"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Našli sa ${APPLICATION_EXECUTABLE} proces (y), ktoré je potrebné zastavi<76>.$\nChcete, aby ich inštalátor zastavil?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Ukonèujem ${APPLICATION_EXECUTABLE} procesy."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Proces ukonèenia nebol nájdený!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Staršia verzia ${APPLICATION_NAME} je nainštalovaná vo vašom poèítaèi. Odporúèam vám odinštalova<76> aktuálnu verziu pred inštaláciou. Vyberte operáciu, ktorú chcete vykona<6E>, a kliknite na tlaèidlo Ïalej pre pokraèovanie."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Odinštalova<EFBFBD> pred inštaláciou"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Neodinštalova<EFBFBD>"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Už je nainštalovaný"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Vyberte si, ako chcete nainštalova<76> ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Novšia verzia ${APPLICATION_NAME} je už nainštalovaná! Neodporúèam vám nainštalova<76> staršiu verziu. Ak naozaj chcete nainštalova<76> túto staršiu verziu, je lepšie najprv odinštalova<76> aktuálnu verziu. Vyberte operáciu, ktorú chcete vykona<6E>, a kliknite na tlaèidlo Ïalej pre pokraèovanie."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Prida<EFBFBD>/Preinštalova<76> komponenty"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Odinštalova<EFBFBD> ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Odinštalova<EFBFBD> ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Vyberte možnos<6F> vykona<6E> údržbu."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Inštalujú sa náležitosti ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integrácia do Windows Explorera"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Inštalaácia integrácie do Windows Explorera"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Zástupca programu v menu Štart"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Prida<EFBFBD> zástupcu pre ${APPLICATION_NAME} do menu Štart."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Zástupca na ploche"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Vytvorenie zástupcu na ploche"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Zástupca na paneli úloh"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Vytvorenie zástupcu na paneli úloh"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "Náležitosti ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} zástupca."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Zástupca na ploche pre ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Zástupca na paneli úloh pre ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Zapisujem odinštalátor"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Zapisujem inštalaèné k¾úèe do registra"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Dokonèené"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Nezdá sa, že ${APPLICATION_NAME} je nainštalovaný v prieèinku '$INSTDIR'.$\n$\nNapriek tomu pokraèova<76> (neodporúèa sa)?"
|
||||
StrCpy $UNINSTALL_ABORT "Odinštalácia prerušená používate¾om"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Zástupca na paneli úloh (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Zástupca na ploche (prepíše existujúci)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Nemožno povýši<C5A1>, chyba:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Tento inštalátor vyžaduje admin prístup, skúste to znova"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Inštalátor je už spustený."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Tento odinštalátor vyžaduje admin prístup, skúste to znova"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Odinštalátor je už spustený."
|
||||
StrCpy $SectionGroup_Shortcuts "Zástupcovia"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Logon service is not running, aborting!"
|
||||
43
admin/win/nsi/l10n/Slovenian.nsh
Normal file
43
admin/win/nsi/l10n/Slovenian.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Pokaži opombe k objavi"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Zaznana so dejavna opravila programa ${APPLICATION_EXECUTABLE}, ki pa morajo biti pred nadaljevanjem zaustavljena.$\nAli želite izvajanje teh dejanj končati?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Poteka zaustavljanje opravil programa ${APPLICATION_EXECUTABLE}"
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Opravila, določenega za uničenje, ni mogoče najti!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Nameščena je starejša različica ${APPLICATION_NAME}. Priporočljivo je najprej odstraniti obstoječo namestitev in šele nato namestiti novo. Izberite ustrezno možnost in kliknite za nadaljevanje."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Pred namestitvijo je treba obstoječo različico odstraniti"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Ne odstrani namestitve"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Program je že nameščen"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Izberite način namestitve programa ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Novejša različica programa ${APPLICATION_NAME} je že nameščena! Ni priporočljivo namestiti starejše. V kolikor želite vseeno nadaljevati z namestitvijo, prej odstranite obstoječo različico. Izberite opravilo in pritisnite gumb za nadaljevanje."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "Program ${APPLICATION_NAME} ${VERSION} je že nameščen.$\n$\nIzberite opravilo, ki ga želite izvesti in kliknite za nadaljevanje."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Dodaj/Ponovno namesti programe"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Odstrani ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Odstrani ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Izberite možnost vzdrževanja za izvedbo."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Poteka nameščanje ključnih paketov programa ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Podpora programa Windows raziskovalca"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Nameščanje podpore za program Windows Raziskovalec"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Bližnjica programa v programskem meniju"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Poteka dodajanje bližnjice programa ${APPLICATION_NAME} v programski meni."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Bližnica namizja"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Poteka ustvarjanje bližnjice na namizju"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Bližnjica na hitri dostop"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Poteka ustvarjanje bližnjice za hitri dostop"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "Knjižnice programa ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Bližnjica programa ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Bližnjica namizja za program ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Bližnjica za hiter dostop za program ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Zapisovanje programa za odstranjevanje namestitve"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Poteka zapisovanje namestilnika v register"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Končano"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Ni videti, da bi bil program ${APPLICATION_NAME} nameščen v mapi '$INSTDIR'.$\n$\nAli želite vseeno nadaljevati (ni priporočeno)?"
|
||||
StrCpy $UNINSTALL_ABORT "Odstranjevanje namestitve je bilo prekinjeno s strani uporabnika"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Bližnjica za hiter dostop (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Bližnjica namizja (obstajajo predmeti za prepis)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Ni mogoče dvigniti; napaka:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Namestilnik zahteva skrbniška dovoljenja."
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Namestilnik je že zagnan."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Program za odstranjevanje namestitve zahteva skrbniška dovoljenja."
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Storitev za prijavo ni zagnana. Opravilo je ustavljeno!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Program za odstranjevanje namestitve je že zagnan."
|
||||
StrCpy $SectionGroup_Shortcuts "Bližnjice"
|
||||
43
admin/win/nsi/l10n/Spanish.nsh
Normal file
43
admin/win/nsi/l10n/Spanish.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar las notas de la versión"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "El/los proceso/s ${APPLICATION_EXECUTABLE} debe/n ser detenidos.$\n¿Quiere que el instalador lo haga por usted?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Deteniendo el/los proceso/s ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "¡Proceso para detener no encontrado!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Una versión anterior de ${APPLICATION_NAME} se encuentra instalada en el sistema. Se recomienda de instalar la versión actual antes de instalar la nueva. Seleccione la operacion deseada y haga click en Siguiente para continuar."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Desinstalar antes de instalar"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "No desinstalar"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Ya está instalado"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Elija cómo quiere instalar ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Una nueva versión de ${APPLICATION_NAME} ya está instalada. No es recomendable instalar una versión anterior. Si realmente quiere instalar esta versión anterior, es mejor que desinstale la versión actual primero. Seleccione la operación que desea realizar y pulse Siguiente para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} ya está instalado.$\n$\nSeleccione la operación que desea realizar y haga click en Siguiente para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Añadir/Reinstalar componentes"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstalar ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Elija la opcion de mantenimiento a realizar."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Instalando ${APPLICATION_NAME} esenciales."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integración para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalando la integración para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Acceso directo al programa Menú de Inicio"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Añadiendo accesos directos para ${APPLICATION_NAME} en el Menú de Inicio."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Acceso directo de Escritorio"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creando accesos directos de escritorio"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atajo de accceso rápido"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creando un Acceso Directo al Lanzador Rápido"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} esencial."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Acceso Directo de ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Acceso Directo de Escritorio para ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Lanzador Rápido de Accesos Director para ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Escribiendo desinstalador"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Escribiendo claves en el registro del instalador"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Terminado"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Parece que ${APPLICATION_NAME} no está instalado en el directorio '$INSTDIR'.$$ ¿Continuar de todos modos? (No recomendado)"
|
||||
StrCpy $UNINSTALL_ABORT "Desinstalación cancelada por el usuario"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Atajo de inicio rápido (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Atajo de escritorio (sobreescribe el existente)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "No se ha podido elevar, error:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "El instalador requiere acceso administrativo, inténtelo de nuevo"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "El instalador ya se encuentra en ejecución"
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "El desinstalador requiere acceso administrativo, inténtelo de nuevo"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Servicio Inicio de sesión no se está ejecutando, abortando!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "El desinstalador ya se encuentra en ejecución."
|
||||
StrCpy $SectionGroup_Shortcuts "Accesos directos"
|
||||
43
admin/win/nsi/l10n/SpanishInternational.nsh
Normal file
43
admin/win/nsi/l10n/SpanishInternational.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar notas de la versión"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Se encontrarion ${APPLICATION_EXECUTABLE} proceso(s) que debe/n ser detenidos.$\"$\n$\"¿Quiere que el instalador lo haga por usted?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Parando el proceso ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Proceso a detener no encontrado!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Una versión anterior de ${APPLICATION_NAME} esta instalada en el sistema. Es recomendado que quite esta versión antes de instalar. Elija la operación a realizar y seleccione Siguiente para continuar."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Des-instale antes de Instalar."
|
||||
StrCpy $PageReinstall_NEW_Field_3 "No des-instalar."
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Actualmente Instalado."
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Elija como desea instalar ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Una versión mas reciente de ${APPLICATION_NAME} esta actualmente instalada! No es recomendado que instale una versión antigua. Si realmente desea instalar esta versión obsoleta, es mejor que des-instale la versión actual primero. Seleccione la operación que desea realizar y presione en Siguiente para continuar. "
|
||||
StrCpy $PageReinstall_SAME_Field_1 "La ${APPLICATION_NAME} ${VERSION} ya está instalado.$\n$\nSeleccione la operación que desea realizar y haga click en Siguiente para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Agregar/Re-Instalar componentes"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Des-instalar ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Des-instalar ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Elija la opción de mantenimiento a realizar."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Instalar esenciales ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integración para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalando la integración para Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Acceso Directo en Menú de Programas"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Agregando el Acceso Directo al Menú de Inicio para ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Acceso directo en Escritorio"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creando Accesos Directos en Escritorio"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atajo de Acceso Rápido"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creando Atajo de Acceso Rápido"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} esencial."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Acceso directo de ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Acceso Directo al Escritorio para ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Atajo de Acceso Rápido para ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Escribiendo Des-Instalador."
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Escribiendo claves de Registro del Instalador"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Terminado"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Parece que ${APPLICATION_NAME} no esta instalado en el directorio '$INSTDIR'.$\n$\n¿Continuar de todos modos? (No recomendado)"
|
||||
StrCpy $UNINSTALL_ABORT "Des-instalación abortada por el usuario"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Atajo de Acceso Rápido (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Acceso Directo en Escritorio (Sobrescribe existentes)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "No se ha podido elevar, error:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Este instalador requiere acceso Administrador, intente de nuevo. "
|
||||
StrCpy $INIT_INSTALLER_RUNNING "El instalador ya esta corriendo."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Este des-instalador requiere acceso administrador, intente de nuevo"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Servicio Inicio de sesión no se está ejecutando, abortando!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "El des-instalador ya esta corriendo"
|
||||
StrCpy $SectionGroup_Shortcuts "Accesos Directos"
|
||||
43
admin/win/nsi/l10n/Swedish.nsh
Normal file
43
admin/win/nsi/l10n/Swedish.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Visa versionsinformationen"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Hittade ${APPLICATION_EXECUTABLE} process(er) som behöver stoppas.$\nVill du att installationsprogrammet ska stoppa dessa åt dig?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Dödar ${APPLICATION_EXECUTABLE} processer."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Processen att döda hittades inte!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "En tidigare version av ${APPLICATION_NAME} är installerad på ditt system. Det är rekommenderat att du avinstallerar den nuvarande versionen före installation. Välj den åtgärd du vill utföra och klicka Nästa för att fortsätta."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Avinstallera före installation"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Avinstallera inte"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Redan installerad"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Välj hur du vill installera ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "En nyare version av ${APPLICATION_NAME} är redan installerad! Det rekommenderas inte att du installerar en äldre version. Om du verkligen vill installera denna äldre versionen, är det bättre att du avinstallerar den nuvarande versionen först. Välj den åtgärd du vill utföra och klicka Nästa för att fortsätta."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Lägg till/Ominstallera komponenter"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Avinstallera ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Avinstallera ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Välj underhålls alternativ att utföra."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Installerar ${APPLICATION_NAME} väsentligheter."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integration för Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Installerar integration för Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start-meny program genväg"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Lägger till genväg för ${APPLICATION_NAME} till Start-menyn."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Skrivbordsgenväg"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Skapar skrivbordsgenvägar"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Snabbstartsgenväg"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Skapar snabbstartsgenväg"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} väsentligheter."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} genväg."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Skrivbordsgenväg för ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Snabbstartsgenväg för ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Skriver avinstallationsprogram"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Skriver installationsprogrammets registernycklar"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Klar"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Det verkar inte som ${APPLICATION_NAME} är installerad i katalogen '$INSTDIR'.$\n$\nFortsätt ändå (rekommenderas ej)?"
|
||||
StrCpy $UNINSTALL_ABORT "Avinstallering avbröts av användare"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Snabbstartsgenväg (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Skrivbordsgenväg (skriver över nuvarande)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Kunde inte få förhöjda rättigheter, fel:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Detta installationsprogram kräver adminstratörs rättigheter, försök igen"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Installationsprogrammet körs redan."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Detta avinstallationsprogram kräver administratörsrättigheter, försök igen"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Login-service körs inte, avbryter!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Avinstallationsprogrammet körs redan."
|
||||
StrCpy $SectionGroup_Shortcuts "Genvägar"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
43
admin/win/nsi/l10n/Thai.nsh
Normal file
43
admin/win/nsi/l10n/Thai.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "แสดงบันทึกประจำรุ่น"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "พบว่ากระบวนการ ${APPLICATION_EXECUTABLE} จะต้องหยุดทำงาน$\nคุณต้องการติดตั้งเพื่อหยุดการทำงานเหล่านี้ของคุณ?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "ฆ่ากระบวนการทำงาน ${APPLICATION_EXECUTABLE}"
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "ไม่พบการฆ่ากระบวนการ!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "รุ่นเก่าของ ${APPLICATION_NAME} ได้ถูกติดตั้งในระบบของคุณ ขอแนะนำให้คุณถอนการติดตั้งรุ่นปัจจุบันออกก่อน แล้วเลือกการดำเนินการที่คุณต้องการหลังจากนั้นคลิกถัดไปเพื่อดำเนินการต่อ"
|
||||
StrCpy $PageReinstall_NEW_Field_2 "ถอนการติดตั้งก่อนการติดตั้ง"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "อย่าถอนการติดตั้ง"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "ติดตั้งแล้ว"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "เลือกวิธีที่คุณต้องการติดตั้ง ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_OLD_Field_1 "รุ่นใหม่ของ ${APPLICATION_NAME} ถูกติดตั้งแล้ว! เราไม่แนะนำให้คุณติดตั้งรุ่นที่เก่ากว่า ถ้าคุณอยากจะติดตั้งรุ่นเก่าก็สามารถถอนการติดตั้งได้"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} รุ่น ${VERSION} ถูกติดตั้งไปแล้ว$ $\nเลือกดำเนินงานที่คุณต้องการและคลิกถัดไปเพื่อดำเนินการต่อ"
|
||||
StrCpy $PageReinstall_SAME_Field_2 "ส่วนประกอบ เพิ่ม/ติดตั้งใหม่ "
|
||||
StrCpy $PageReinstall_SAME_Field_3 "ถอนการติดตั้ง ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "ถอนการติดตั้ง ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "เลือกตัวเลือกการบำรุงรักษาเพื่อดำเนินการ"
|
||||
StrCpy $SEC_APPLICATION_DETAILS "กำลังติดตั้งข้อมูลที่เป็นเป็นของ ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "บูรณาการสำหรับ Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "บูรณาการกำลังติดตั้งสำหรับ Windows Explorer"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "โปรแกรมทางลัดเมนูเริ่มต้น"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "เพิ่มทางลัดสำหรับ ${APPLICATION_NAME} ที่เมนูเริ่มต้น"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "ทางลัดพื้นโต๊ะ"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "สร้างทางลัดบนเดสก์ทอป"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "ทางลัดเร่งด่วน"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "สร้างทางลัดเร่งด่วน"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} ที่จำเป็น"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "ทางลัด ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "ทางลัดบนเดสก์ทอปสำหรับ ${APPLICATION_NAME}"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "ทางลัดเร่งด่วนสำหรับ ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_FILE_Detail "กำลังถอนการติดตั้ง"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "กำลังติดตั้งรหัสรีจิสทรี"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "เสร็จสิ้น"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "มันจะไม่ปรากฏ ${APPLICATION_NAME} ที่มีการติดตั้งในไดเรกทอรี '$INSTDIR' ดำเนินการต่อไป (ไม่แนะนำ)?"
|
||||
StrCpy $UNINSTALL_ABORT "ถอนการติดตั้งถูกยกเลิกโดยผู้ใช้"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "ทางลัดเร่งด่วน (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "ทางลัดเดสก์ทอป (จะเขียนทับหากมีอยู่แล้ว)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "ไม่สามารถที่จะยกระดับข้อผิดพลาด:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "การติดตั้งนี้จะต้องมีการเข้าถึงผู้ดูแลระบบ กรุณาลองอีกครั้ง"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "กำลังทำการติดตั้ง"
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "การถอนการติดตั้งนี้จะต้องมีการเข้าถึงส่วนผู้ดูแลระบบ กรุณาลองอีกครั้ง"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "บริการเข้าสู่ระบบไม่ทำงาน กำลังยกเลิก!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "กำลังทำการถอนการติดตั้ง"
|
||||
StrCpy $SectionGroup_Shortcuts "ทางลัด"
|
||||
43
admin/win/nsi/l10n/Turkish.nsh
Normal file
43
admin/win/nsi/l10n/Turkish.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Sürüm notlarýný göster"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Durdurulmasý gereken ${APPLICATION_EXECUTABLE} süreçleri bulundu.$\nYükleyicinin bunlarý sizin için durdurmasýný ister misiniz?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "${APPLICATION_EXECUTABLE} süreçleri sonlandýrýlýyor."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Sonlandýrýlacak süreç bulunamadý!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "${APPLICATION_NAME} önceki sürümü sisteminizde yüklü. Kurulumdan önce bunu kaldýrmanýz önerilir. Yapmak istediðiniz iþlemi seçip devam etmek için Ýleri týklayýn."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Yüklemeden önce kaldýr"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Kaldýrma"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Zaten Yüklü"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "${APPLICATION_NAME} uygulamasýný nasýl yüklemek istediðinizi seçin."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "${APPLICATION_NAME} uygulamasýnýn daha yeni sürümü zaten yüklü! Daha eski bir sürümünü yüklemeniz önerilmez. Gerçekten bu eski sürümü yüklemek isterseniz, ilk olarak geçerli sürümü kaldýrmanýz tavsiye edilir. Yapmak istediðiniz iþlemi seçin ve devam etmek üzere Ýleri týklayýn."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} zaten yüklü.$\n$\nYapmak istediðiniz iþlemi seçin ve devam etmek için Ýleri týklayýn."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Bileþenleri ekle/yeniden yükle"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "${APPLICATION_NAME} uygulamasýný kaldýr"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "${APPLICATION_NAME} uygulamasýný kaldýr"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Yapmak istediðiniz bakým iþlemini seçin."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "${APPLICATION_NAME} gereklilikleri yükleniyor."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Windows Gezgini için tümleþtirme"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Windows Gezgini için Tümleþtirme Yükleme"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Baþlat Menüsü Program Kýsayolu"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "${APPLICATION_NAME} için Baþlat Menüsü'ne kýsayol ekleniyor."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Masaüstü Kýsayolu"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Masaüstü Kýsayollarý Oluþturuluyor"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Hýzlý Baþlat Kýsayolu"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Hýzlý Baþlat Kýsayolu Oluþturuluyor"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} gereklilikleri."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} kýsayolu."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "${APPLICATION_NAME} için masaüstü kýsayolu."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "${APPLICATION_NAME} için Hýzlý Baþlat kýsayolu."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Kaldýrýcý Yazýlýyor"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Yükleyici Kayýt Anahtarlarý Yazýlýyor"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Tamamlandý"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "${APPLICATION_NAME} uygulamasý '$INSTDIR' dizinine yüklenmiþ gibi görünmüyor.$\n$\nYine de devam edilsin mi (önerilmez)?"
|
||||
StrCpy $UNINSTALL_ABORT "Kaldýrma kullanýcý tarafýndan iptal edildi"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Hýzlý Baþlat Kýsayolu (Kullanýlamýyor)"
|
||||
StrCpy $INIT_NO_DESKTOP "Masaüstü Kýsayolu (mevcut olanýn üzerine yazýlýr)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Yükseltme baþarýsýz, hata:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Bu yükleyici yönetici eriþimi gerektiriyor, yeniden deneyin"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Yükleyici zaten çalýþýyor."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Bu kaldýrýcý yönetici eriþimi gerektiriyor, yeniden deneyin"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Oturum açýlacak sunucu çalýþmadýðýndan iptal ediliyor!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Kaldýrýcý zaten çalýþýyor."
|
||||
StrCpy $SectionGroup_Shortcuts "Kýsayollar"
|
||||
43
admin/win/nsi/l10n/Ukrainian.nsh
Normal file
43
admin/win/nsi/l10n/Ukrainian.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Показати примітки до випуску"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Знайдено процес(и) ${APPLICATION_EXECUTABLE}, які необхідно зупинити.$\nХочете щоб програма установки зробила це самостійно?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Завершення процесів ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Не знайдено процеси, які необхідно зупинити!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Знайдено застарілу версію програми ${APPLICATION_NAME}. Рекомендуємо її спочатку видалити. Оберіть подальшу дію та натисніть $\"Далі$\"."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Видалити перед установкою"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Не видаляти"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Установлено"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Оберіть, як ви хочете установити ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Знайдено новішу версію ${APPLICATION_NAME}! Ми не рекомендуємо встановлювати стару версію. Якщо ви все ж бажаєте встановити цю версію, спочатку видаліть поточну версію. Оберіть подальшу дію та натисніть $\"Далі$\"."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} вже встановлено.$\n$\nОберіть подальшу дію та натисніть $\"Далі$\" для продовження."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Додати/Перевстановити компоненти"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Видалити ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Видалити ${APPLICATION_NAME}"
|
||||
StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Оберіть опцію обслуговування для виконання."
|
||||
StrCpy $SEC_APPLICATION_DETAILS "Установка залежностей ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Інтеграція з провідником Windows"
|
||||
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Встановлення інтеграції з провідником Windows"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Ярлик в меню Пуск"
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Створення ярлика ${APPLICATION_NAME} в меню Пуск."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Ярлик на Робочому столі"
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Створення ярлика на Робочому столі"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Ярлик на панелі швидкого запуску"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Створення ярлика на панелі швидкого запуску"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} залежності."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} ярлик."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Ярлик ${APPLICATION_NAME} на Робочому столі."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Ярлик ${APPLICATION_NAME} на панелі швидкого запуску."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Збереження Програми видалення"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Запис ключів реєстру"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Завершено"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Скоріш за все ${APPLICATION_NAME} вже встановлено в теку '$INSTDIR'.$↩$\nВсе одно продовжити (не рекомендується)?"
|
||||
StrCpy $UNINSTALL_ABORT "Видалення перервано користувачем."
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Ярлик в області швидкого запуску (недоступний)"
|
||||
StrCpy $INIT_NO_DESKTOP "Ярлик на Робочому столі (перезаписати існуючий)"
|
||||
StrCpy $UAC_ERROR_ELEVATE "Неможливо підняти, помилка:"
|
||||
StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Для установки потрібні права адміністратора, спробуйте ще раз"
|
||||
StrCpy $INIT_INSTALLER_RUNNING "Установка вже запущена."
|
||||
StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Для видалення потрібні права адміністратора, спробуйте ще раз"
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Сервіс авторизації не запущений, припиняю!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Програма видалення вже запущено."
|
||||
StrCpy $SectionGroup_Shortcuts "Ярлики"
|
||||
185
admin/win/nsi/l10n/bin/build_locale_nsi.py
Executable file
185
admin/win/nsi/l10n/bin/build_locale_nsi.py
Executable file
@@ -0,0 +1,185 @@
|
||||
##############################################################################
|
||||
#
|
||||
# PROJECT: ownCloud v1.0
|
||||
# LICENSE: See LICENSE in the top level directory
|
||||
#
|
||||
##############################################################################
|
||||
import collections
|
||||
import os
|
||||
import polib
|
||||
from optparse import OptionParser
|
||||
|
||||
parser = OptionParser()
|
||||
parser.add_option("-o", "--output", dest="output",
|
||||
help="Directory for localized output", default="../Shared/installer/nightly_localized.nsi")
|
||||
parser.add_option("-p", "--podir", dest="podir",
|
||||
help="Directory containing PO files", default="../Shared/installer/locale/")
|
||||
parser.add_option("-l", "--lang", dest="lang",
|
||||
help="Default language of the NSI", default="English" )
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
|
||||
# Define a dict to convert locale names to language names
|
||||
localeToName = {
|
||||
"af" : "Afrikaans",
|
||||
"sq" : "Albanian",
|
||||
"ar" : "Arabic",
|
||||
"hy" : "Armenian",
|
||||
"eu" : "Basque",
|
||||
"be" : "Belarusian",
|
||||
"bs" : "Bosnian",
|
||||
"br" : "Breton",
|
||||
"bg" : "Bulgarian",
|
||||
"ca" : "Catalan",
|
||||
"bem" : "Cibemba",
|
||||
"hr" : "Croatian",
|
||||
"cs" : "Czech",
|
||||
"da" : "Danish",
|
||||
"nl" : "Dutch",
|
||||
"efi" : "Efik",
|
||||
"en" : "English",
|
||||
"eo" : "Esperanto",
|
||||
"et" : "Estonian",
|
||||
"fa" : "Farsi",
|
||||
"fi" : "Finnish",
|
||||
"fr" : "French",
|
||||
"gl" : "Galician",
|
||||
"ka" : "Georgian",
|
||||
"de" : "German",
|
||||
"el" : "Greek",
|
||||
"he" : "Hebrew",
|
||||
"hi" : "Hindi",
|
||||
"hu" : "Hungarian",
|
||||
"is" : "Icelandic",
|
||||
"ig" : "Igbo",
|
||||
"id" : "Indonesian",
|
||||
"ga" : "Irish",
|
||||
"it" : "Italian",
|
||||
"ja" : "Japanese",
|
||||
"km" : "Khmer",
|
||||
"ko" : "Korean",
|
||||
"ku" : "Kurdish",
|
||||
"lv" : "Latvian",
|
||||
"lt" : "Lithuanian",
|
||||
"lb" : "Luxembourgish",
|
||||
"mk" : "Macedonian",
|
||||
"mg" : "Malagasy",
|
||||
"ms" : "Malay",
|
||||
"mn" : "Mongolian",
|
||||
"nb_NO" : "Norwegian",
|
||||
"nn" : "NorwegianNynorsk",
|
||||
"ps" : "Pashto",
|
||||
"pl" : "Polish",
|
||||
"pt" : "Portuguese",
|
||||
"pt_BR" : "PortugueseBR",
|
||||
"ro" : "Romanian",
|
||||
"ru" : "Russian",
|
||||
"sr" : "Serbian",
|
||||
"sr_sp" : "SerbianLatin",
|
||||
"st" : "Sesotho",
|
||||
"sn" : "Shona",
|
||||
"zh_CN" : "SimpChinese",
|
||||
"sk" : "Slovak",
|
||||
"sl" : "Slovenian",
|
||||
"es" : "Spanish",
|
||||
"es_AR" : "SpanishInternational",
|
||||
"sw" : "Swahili",
|
||||
"sv" : "Swedish",
|
||||
"ta" : "Tamil",
|
||||
"th" : "Thai",
|
||||
"zh_HK" : "TradChinese",
|
||||
"tr" : "Turkish",
|
||||
"tw" : "Twi",
|
||||
"uk" : "Ukrainian",
|
||||
"ug" : "Uyghur",
|
||||
"uz" : "Uzbek",
|
||||
"ca@valencia" : "Valencian",
|
||||
"vi" : "Vietnamese",
|
||||
"cy" : "Welsh",
|
||||
"yo" : "Yoruba",
|
||||
"zu" : "Zulu",
|
||||
}
|
||||
|
||||
def escapeNSIS(st):
|
||||
return st.replace('\\', r'$\\')\
|
||||
.replace('\t', r'$\t')\
|
||||
.replace('\r', r'$\r')\
|
||||
.replace('\n', r'$\n')\
|
||||
.replace('\"', r'$\"')\
|
||||
.replace('$$\\', '$\\')\
|
||||
.replace('$\\n', r'$\n')\
|
||||
.replace('$\\\\n', r'$\n')
|
||||
|
||||
|
||||
translationCache = {}
|
||||
|
||||
# The purpose of this loop is to go to the podir scanning for PO files for each locale name
|
||||
# Once we've found a PO file, we use PO lib to read every translated entry
|
||||
# Using this, for each each language, we store a dict of entries - { nsilabel (comment) : translation (msgstr) }
|
||||
# For untranslated entries, we use msgid instead of msgstr (i.e. default English string)
|
||||
for root,dirs,files in os.walk(options.podir):
|
||||
for file in files:
|
||||
filename,ext = os.path.splitext(file)
|
||||
if ext == ".po":
|
||||
# Valid locale filename (fr.po, de.po etc)?
|
||||
if filename in localeToName:
|
||||
language = localeToName[filename]
|
||||
translationCache[language] = collections.OrderedDict()
|
||||
|
||||
po = polib.pofile(os.path.join(root,file))
|
||||
for entry in po.translated_entries():
|
||||
# Loop through all our labels and add translation (each translation may have multiple labels)
|
||||
for label in entry.comment.split():
|
||||
translationCache[language][label] = escapeNSIS(entry.msgstr)
|
||||
# For untranslated strings, let's add the English entry
|
||||
for entry in po.untranslated_entries():
|
||||
for label in entry.comment.split():
|
||||
print("Warning: Label '%s' for language '%s' remains untranslated"%(label,language))
|
||||
translationCache[language][label] = escapeNSIS(entry.msgid)
|
||||
|
||||
def tostr(obj):
|
||||
if type(obj) == unicode:
|
||||
return obj.encode("utf-8")
|
||||
else:
|
||||
return obj
|
||||
|
||||
NSILanguages = []
|
||||
NSIDeclarations = []
|
||||
|
||||
# file header
|
||||
NSILanguages.append( tostr('; Auto-generated - do not modify\n') )
|
||||
NSIDeclarations.append( tostr('; Auto-generated - do not modify\n') )
|
||||
|
||||
# loopthrough the languages an generate one nsh files for each language
|
||||
lineNo = 1
|
||||
for language,translations in translationCache.iteritems():
|
||||
NSINewLines = []
|
||||
NSINewLines.append( tostr('# Auto-generated - do not modify\n') )
|
||||
count = 0
|
||||
# if the language isn't the default, we add our MUI_LANGUAGE macro
|
||||
if language.upper() != options.lang.upper():
|
||||
NSILanguages.append( tostr('!insertmacro MUI_LANGUAGE "%s"\n'%language) )
|
||||
|
||||
# For every translation we grabbed from the .po, let's add our StrCpy command
|
||||
for label,value in translations.iteritems():
|
||||
NSINewLines.append( tostr('StrCpy $%s "%s"\n' % (label,value)) )
|
||||
if language.upper() == options.lang.upper():
|
||||
NSIDeclarations.append( tostr('Var %s\n' % label) )
|
||||
|
||||
count += 1
|
||||
NSIWorkingFile = open('%s/%s.nsh' % (options.output, language),"w")
|
||||
NSIWorkingFile.writelines(NSINewLines)
|
||||
NSIWorkingFile.close()
|
||||
print ( "%i translations merged for language '%s'"%(count,language) )
|
||||
|
||||
# Finally, let's write languages.nsh and declarations.nsh
|
||||
NSIWorkingFile = open('%s/languages.nsh' % options.output,"w")
|
||||
NSIWorkingFile.writelines(NSILanguages)
|
||||
NSIWorkingFile.close()
|
||||
|
||||
NSIWorkingFile = open('%s/declarations.nsh' % options.output,"w")
|
||||
NSIWorkingFile.writelines(NSIDeclarations)
|
||||
NSIWorkingFile.close()
|
||||
|
||||
print ( "NSI Localization Operation Complete" )
|
||||
51
admin/win/nsi/l10n/bin/l10n.sh
Executable file
51
admin/win/nsi/l10n/bin/l10n.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash -x
|
||||
L10NDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )"
|
||||
SCRIPTDIR="$L10NDIR/bin"
|
||||
PODIR="$L10NDIR/pofiles"
|
||||
|
||||
# messages.pot will be used as English translation
|
||||
cp -f $PODIR/messages.pot $PODIR/en.po
|
||||
|
||||
# generate all the languages nsh files
|
||||
python $SCRIPTDIR/build_locale_nsi.py -o $L10NDIR -p $PODIR -l "English"
|
||||
|
||||
# for future references: the windows code pages
|
||||
# 874 — Thai
|
||||
# 932 — Japanese
|
||||
# 936 — Chinese (simplified) (PRC, Singapore)
|
||||
# 949 — Korean
|
||||
# 950 — Chinese (traditional) (Taiwan, Hong Kong)
|
||||
# 1200 — Unicode (BMP of ISO 10646, UTF-16LE)
|
||||
# 1201 — Unicode (BMP of ISO 10646, UTF-16BE)
|
||||
# 1250 — Latin (Central European languages)
|
||||
# 1251 — Cyrillic
|
||||
# 1252 — Latin (Western European languages, replacing Code page 850)
|
||||
# 1253 — Greek
|
||||
# 1254 — Turkish
|
||||
# 1255 — Hebrew
|
||||
# 1256 — Arabic
|
||||
# 1257 — Latin (Baltic languages)
|
||||
# 1258 — Vietnamese
|
||||
|
||||
# convert file to proper content
|
||||
cd $L10NDIR
|
||||
iconv -t CP1252 -o German.nsh German.nsh
|
||||
iconv -t CP1252 -o Basque.nsh Basque.nsh
|
||||
iconv -t CP1252 -o English.nsh English.nsh
|
||||
iconv -t CP1252 -o Galician.nsh Galician.nsh
|
||||
iconv -t CP1253 -o Greek.nsh Greek.nsh
|
||||
iconv -t CP1250 -o Slovenian.nsh Slovenian.nsh
|
||||
iconv -t CP1257 -o Estonian.nsh Estonian.nsh
|
||||
iconv -t CP1252 -o Italian.nsh Italian.nsh
|
||||
iconv -t CP1252 -o PortugueseBR.nsh PortugueseBR.nsh
|
||||
iconv -t CP1252 -o Spanish.nsh Spanish.nsh
|
||||
iconv -t CP1252 -o Dutch.nsh Dutch.nsh
|
||||
iconv -t CP1252 -o Finnish.nsh Finnish.nsh
|
||||
iconv -t CP932 -o Japanese.nsh Japanese.nsh
|
||||
iconv -t CP1250 -o Slovak.nsh Slovak.nsh
|
||||
iconv -t CP1254 -o Turkish.nsh Turkish.nsh
|
||||
iconv -t CP1252 -o Norwegian.nsh Norwegian.nsh
|
||||
iconv -t CP1250 -o Polish.nsh Polish.nsh
|
||||
iconv -t CP852 -o Czech.nsh Czech.nsh
|
||||
#iconv -t CP852 -o Slovak.nsh Slovak.nsh
|
||||
|
||||
43
admin/win/nsi/l10n/declarations.nsh
Normal file
43
admin/win/nsi/l10n/declarations.nsh
Normal file
@@ -0,0 +1,43 @@
|
||||
; Auto-generated - do not modify
|
||||
Var MUI_FINISHPAGE_SHOWREADME_TEXT_STRING
|
||||
Var ConfirmEndProcess_MESSAGEBOX_TEXT
|
||||
Var ConfirmEndProcess_KILLING_PROCESSES_TEXT
|
||||
Var ConfirmEndProcess_KILL_NOT_FOUND_TEXT
|
||||
Var PageReinstall_NEW_Field_1
|
||||
Var PageReinstall_NEW_Field_2
|
||||
Var PageReinstall_NEW_Field_3
|
||||
Var PageReinstall_NEW_MUI_HEADER_TEXT_TITLE
|
||||
Var PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE
|
||||
Var PageReinstall_OLD_Field_1
|
||||
Var PageReinstall_SAME_Field_1
|
||||
Var PageReinstall_SAME_Field_2
|
||||
Var PageReinstall_SAME_Field_3
|
||||
Var UNINSTALLER_APPDATA_TITLE
|
||||
Var PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE
|
||||
Var SEC_APPLICATION_DETAILS
|
||||
Var OPTION_SECTION_SC_SHELL_EXT_SECTION
|
||||
Var OPTION_SECTION_SC_SHELL_EXT_DetailPrint
|
||||
Var OPTION_SECTION_SC_START_MENU_SECTION
|
||||
Var OPTION_SECTION_SC_START_MENU_DetailPrint
|
||||
Var OPTION_SECTION_SC_DESKTOP_SECTION
|
||||
Var OPTION_SECTION_SC_DESKTOP_DetailPrint
|
||||
Var OPTION_SECTION_SC_QUICK_LAUNCH_SECTION
|
||||
Var OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint
|
||||
Var OPTION_SECTION_SC_APPLICATION_Desc
|
||||
Var OPTION_SECTION_SC_START_MENU_Desc
|
||||
Var OPTION_SECTION_SC_DESKTOP_Desc
|
||||
Var OPTION_SECTION_SC_QUICK_LAUNCH_Desc
|
||||
Var UNINSTALLER_FILE_Detail
|
||||
Var UNINSTALLER_REGISTRY_Detail
|
||||
Var UNINSTALLER_FINISHED_Detail
|
||||
Var UNINSTALL_MESSAGEBOX
|
||||
Var UNINSTALL_ABORT
|
||||
Var INIT_NO_QUICK_LAUNCH
|
||||
Var INIT_NO_DESKTOP
|
||||
Var UAC_ERROR_ELEVATE
|
||||
Var UAC_INSTALLER_REQUIRE_ADMIN
|
||||
Var INIT_INSTALLER_RUNNING
|
||||
Var UAC_UNINSTALLER_REQUIRE_ADMIN
|
||||
Var UAC_ERROR_LOGON_SERVICE
|
||||
Var INIT_UNINSTALLER_RUNNING
|
||||
Var SectionGroup_Shortcuts
|
||||
29
admin/win/nsi/l10n/languages.nsh
Normal file
29
admin/win/nsi/l10n/languages.nsh
Normal file
@@ -0,0 +1,29 @@
|
||||
; Auto-generated - do not modify
|
||||
!insertmacro MUI_LANGUAGE "Swedish"
|
||||
!insertmacro MUI_LANGUAGE "Estonian"
|
||||
!insertmacro MUI_LANGUAGE "Turkish"
|
||||
!insertmacro MUI_LANGUAGE "Slovenian"
|
||||
!insertmacro MUI_LANGUAGE "SpanishInternational"
|
||||
!insertmacro MUI_LANGUAGE "Dutch"
|
||||
!insertmacro MUI_LANGUAGE "Hungarian"
|
||||
!insertmacro MUI_LANGUAGE "Ukrainian"
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "Norwegian"
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
!insertmacro MUI_LANGUAGE "Thai"
|
||||
!insertmacro MUI_LANGUAGE "Finnish"
|
||||
!insertmacro MUI_LANGUAGE "Basque"
|
||||
!insertmacro MUI_LANGUAGE "Greek"
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||
!insertmacro MUI_LANGUAGE "Catalan"
|
||||
!insertmacro MUI_LANGUAGE "Italian"
|
||||
!insertmacro MUI_LANGUAGE "Portuguese"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
!insertmacro MUI_LANGUAGE "Japanese"
|
||||
!insertmacro MUI_LANGUAGE "Galician"
|
||||
!insertmacro MUI_LANGUAGE "Czech"
|
||||
!insertmacro MUI_LANGUAGE "Slovak"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
!insertmacro MUI_LANGUAGE "Polish"
|
||||
!insertmacro MUI_LANGUAGE "Farsi"
|
||||
194
admin/win/nsi/l10n/pofiles/messages.pot
Normal file
194
admin/win/nsi/l10n/pofiles/messages.pot
Normal file
@@ -0,0 +1,194 @@
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-12-09 06:40\n"
|
||||
"PO-Revision-Date: 2013-12-03 23:13+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. MUI_FINISHPAGE_SHOWREADME_TEXT_STRING
|
||||
msgid "Show release notes"
|
||||
msgstr "Show release notes"
|
||||
|
||||
#. ConfirmEndProcess_MESSAGEBOX_TEXT
|
||||
msgid ""
|
||||
"Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\n"
|
||||
"Do you want the installer to stop these for you?"
|
||||
msgstr "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?"
|
||||
|
||||
#. ConfirmEndProcess_KILLING_PROCESSES_TEXT
|
||||
msgid "Killing ${APPLICATION_EXECUTABLE} processes."
|
||||
msgstr "Killing ${APPLICATION_EXECUTABLE} processes."
|
||||
|
||||
#. ConfirmEndProcess_KILL_NOT_FOUND_TEXT
|
||||
msgid "Process to kill not found!"
|
||||
msgstr "Process to kill not found!"
|
||||
|
||||
#. PageReinstall_NEW_Field_1
|
||||
msgid ""
|
||||
"An older version of ${APPLICATION_NAME} is installed on your system. It is "
|
||||
"recommended that you uninstall the current version before installing. Select"
|
||||
" the operation you want to perform and click Next to continue."
|
||||
msgstr "An older version of ${APPLICATION_NAME} is installed on your system. It is recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue."
|
||||
|
||||
#. PageReinstall_NEW_Field_2
|
||||
msgid "Uninstall before installing"
|
||||
msgstr "Uninstall before installing"
|
||||
|
||||
#. PageReinstall_NEW_Field_3
|
||||
msgid "Do not uninstall"
|
||||
msgstr "Do not uninstall"
|
||||
|
||||
#. PageReinstall_NEW_MUI_HEADER_TEXT_TITLE
|
||||
msgid "Already Installed"
|
||||
msgstr "Already Installed"
|
||||
|
||||
#. PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE
|
||||
msgid "Choose how you want to install ${APPLICATION_NAME}."
|
||||
msgstr "Choose how you want to install ${APPLICATION_NAME}."
|
||||
|
||||
#. PageReinstall_OLD_Field_1
|
||||
msgid ""
|
||||
"A newer version of ${APPLICATION_NAME} is already installed! It is not "
|
||||
"recommended that you install an older version. If you really want to install"
|
||||
" this older version, it is better to uninstall the current version first. "
|
||||
"Select the operation you want to perform and click Next to continue."
|
||||
msgstr "A newer version of ${APPLICATION_NAME} is already installed! It is not recommended that you install an older version. If you really want to install this older version, it is better to uninstall the current version first. Select the operation you want to perform and click Next to continue."
|
||||
|
||||
#. PageReinstall_SAME_Field_1
|
||||
msgid ""
|
||||
"${APPLICATION_NAME} ${VERSION} is already installed.$\r$\n"
|
||||
"Select the operation you want to perform and click Next to continue."
|
||||
msgstr "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
|
||||
#. PageReinstall_SAME_Field_2
|
||||
msgid "Add/Reinstall components"
|
||||
msgstr "Add/Reinstall components"
|
||||
|
||||
#. PageReinstall_SAME_Field_3 UNINSTALLER_APPDATA_TITLE
|
||||
msgid "Uninstall ${APPLICATION_NAME}"
|
||||
msgstr "Uninstall ${APPLICATION_NAME}"
|
||||
|
||||
#. PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE
|
||||
msgid "Choose the maintenance option to perform."
|
||||
msgstr "Choose the maintenance option to perform."
|
||||
|
||||
#. SEC_APPLICATION_DETAILS
|
||||
msgid "Installing ${APPLICATION_NAME} essentials."
|
||||
msgstr "Installing ${APPLICATION_NAME} essentials."
|
||||
|
||||
#. OPTION_SECTION_SC_SHELL_EXT_SECTION
|
||||
msgid "Integration for Windows Explorer"
|
||||
msgstr "Integration for Windows Explorer"
|
||||
|
||||
#. OPTION_SECTION_SC_SHELL_EXT_DetailPrint
|
||||
msgid "Installing Integration for Windows Explorer"
|
||||
msgstr "Installing Integration for Windows Explorer"
|
||||
|
||||
#. OPTION_SECTION_SC_START_MENU_SECTION
|
||||
msgid "Start Menu Program Shortcut"
|
||||
msgstr "Start Menu Program Shortcut"
|
||||
|
||||
#. OPTION_SECTION_SC_START_MENU_DetailPrint
|
||||
msgid "Adding shortcut for ${APPLICATION_NAME} to the Start Menu."
|
||||
msgstr "Adding shortcut for ${APPLICATION_NAME} to the Start Menu."
|
||||
|
||||
#. OPTION_SECTION_SC_DESKTOP_SECTION
|
||||
msgid "Desktop Shortcut"
|
||||
msgstr "Desktop Shortcut"
|
||||
|
||||
#. OPTION_SECTION_SC_DESKTOP_DetailPrint
|
||||
msgid "Creating Desktop Shortcuts"
|
||||
msgstr "Creating Desktop Shortcuts"
|
||||
|
||||
#. OPTION_SECTION_SC_QUICK_LAUNCH_SECTION
|
||||
msgid "Quick Launch Shortcut"
|
||||
msgstr "Quick Launch Shortcut"
|
||||
|
||||
#. OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint
|
||||
msgid "Creating Quick Launch Shortcut"
|
||||
msgstr "Creating Quick Launch Shortcut"
|
||||
|
||||
#. OPTION_SECTION_SC_APPLICATION_Desc
|
||||
msgid "${APPLICATION_NAME} essentials."
|
||||
msgstr "${APPLICATION_NAME} essentials."
|
||||
|
||||
#. OPTION_SECTION_SC_START_MENU_Desc
|
||||
msgid "${APPLICATION_NAME} shortcut."
|
||||
msgstr "${APPLICATION_NAME} shortcut."
|
||||
|
||||
#. OPTION_SECTION_SC_DESKTOP_Desc
|
||||
msgid "Desktop shortcut for ${APPLICATION_NAME}."
|
||||
msgstr "Desktop shortcut for ${APPLICATION_NAME}."
|
||||
|
||||
#. OPTION_SECTION_SC_QUICK_LAUNCH_Desc
|
||||
msgid "Quick Launch shortcut for ${APPLICATION_NAME}."
|
||||
msgstr "Quick Launch shortcut for ${APPLICATION_NAME}."
|
||||
|
||||
#. UNINSTALLER_FILE_Detail
|
||||
msgid "Writing Uninstaller"
|
||||
msgstr "Writing Uninstaller"
|
||||
|
||||
#. UNINSTALLER_REGISTRY_Detail
|
||||
msgid "Writing Installer Registry Keys"
|
||||
msgstr "Writing Installer Registry Keys"
|
||||
|
||||
#. UNINSTALLER_FINISHED_Detail
|
||||
msgid "Finished"
|
||||
msgstr "Finished"
|
||||
|
||||
#. UNINSTALL_MESSAGEBOX
|
||||
msgid ""
|
||||
"It does not appear that ${APPLICATION_NAME} is installed in the directory '$INSTDIR'.$\r"
|
||||
"$\n"
|
||||
"Continue anyway (not recommended)?"
|
||||
msgstr "It does not appear that ${APPLICATION_NAME} is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?"
|
||||
|
||||
#. UNINSTALL_ABORT
|
||||
msgid "Uninstall aborted by user"
|
||||
msgstr "Uninstall aborted by user"
|
||||
|
||||
#. INIT_NO_QUICK_LAUNCH
|
||||
msgid "Quick Launch Shortcut (N/A)"
|
||||
msgstr "Quick Launch Shortcut (N/A)"
|
||||
|
||||
#. INIT_NO_DESKTOP
|
||||
msgid "Desktop Shortcut (overwrites existing)"
|
||||
msgstr "Desktop Shortcut (overwrites existing)"
|
||||
|
||||
#. UAC_ERROR_ELEVATE
|
||||
msgid "Unable to elevate, error:"
|
||||
msgstr "Unable to elevate, error:"
|
||||
|
||||
#. UAC_INSTALLER_REQUIRE_ADMIN
|
||||
msgid "This installer requires admin access, try again"
|
||||
msgstr "This installer requires admin access, try again"
|
||||
|
||||
#. INIT_INSTALLER_RUNNING
|
||||
msgid "The installer is already running."
|
||||
msgstr "The installer is already running."
|
||||
|
||||
#. UAC_UNINSTALLER_REQUIRE_ADMIN
|
||||
msgid "This uninstaller requires admin access, try again"
|
||||
msgstr "This uninstaller requires admin access, try again"
|
||||
|
||||
#. UAC_ERROR_LOGON_SERVICE
|
||||
msgid "Logon service is not running, aborting!"
|
||||
msgstr "Logon service is not running, aborting!"
|
||||
|
||||
#. INIT_UNINSTALLER_RUNNING
|
||||
msgid "The uninstaller is already running."
|
||||
msgstr "The uninstaller is already running."
|
||||
|
||||
#. SectionGroup_Shortcuts
|
||||
msgid "Shortcuts"
|
||||
msgstr "Shortcuts"
|
||||
|
||||
BIN
admin/win/nsi/page_header.bmp
Normal file
BIN
admin/win/nsi/page_header.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user