mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-07 02:39:06 +01:00
Compare commits
2101 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
abdad4cde8 | ||
|
|
fecb30a86e | ||
|
|
c7ec3ab837 | ||
|
|
2a7b58bf46 | ||
|
|
7d5b0b1565 | ||
|
|
3620db3a92 | ||
|
|
69cad04875 | ||
|
|
d533cdc619 | ||
|
|
ae455d2615 | ||
|
|
7f27e52e58 | ||
|
|
4b10c19569 | ||
|
|
3f7f43d506 | ||
|
|
b4296c1e4b | ||
|
|
b62b5ea8ef | ||
|
|
db5cced91b | ||
|
|
b677827c86 | ||
|
|
fc0e902cbf | ||
|
|
6fbf4d4ae6 | ||
|
|
95149764eb | ||
|
|
a37680685f | ||
|
|
2b163a9acd | ||
|
|
2f41d15a41 | ||
|
|
d2c8b6e14c | ||
|
|
6877b9163b | ||
|
|
6ee14d5e7c | ||
|
|
824ff18ba5 | ||
|
|
548adb831d | ||
|
|
501ef69f97 | ||
|
|
a62f07db11 | ||
|
|
1b6cfe9fc6 | ||
|
|
eaa1124e71 | ||
|
|
380036195a | ||
|
|
d2619a6abd | ||
|
|
4d2f23ec37 | ||
|
|
6c1897d8d5 | ||
|
|
39de824bf0 | ||
|
|
889ebcadd4 | ||
|
|
db17d1fd24 | ||
|
|
cc282276c8 | ||
|
|
a5e00c4319 | ||
|
|
dba5252be6 | ||
|
|
874bc1a1c9 | ||
|
|
4b95851ae5 | ||
|
|
fbe907f1e9 | ||
|
|
cf0157c59d | ||
|
|
8f4dff8d53 | ||
|
|
1b3fb60cb0 | ||
|
|
ecbf9d60cb | ||
|
|
117c3ac2db | ||
|
|
9571215175 | ||
|
|
754dc8dab4 | ||
|
|
7caccd341b | ||
|
|
ef6c69a960 | ||
|
|
e82d11e035 | ||
|
|
a687fe09ff | ||
|
|
d19c536000 | ||
|
|
55e029e81d | ||
|
|
df89f8879d | ||
|
|
2b1db2943c | ||
|
|
1687f6966b | ||
|
|
2b685fb42e | ||
|
|
73f5a3398c | ||
|
|
35cf24b577 | ||
|
|
be920148e7 | ||
|
|
456aaa54f1 | ||
|
|
a872097c31 | ||
|
|
33c3c48bd5 | ||
|
|
cd24691130 | ||
|
|
5d92fb1cc4 | ||
|
|
c9e6204a8d | ||
|
|
b4ec935762 | ||
|
|
30426ee42a | ||
|
|
1a70449c4c | ||
|
|
374347da04 | ||
|
|
276662026e | ||
|
|
cd3e9a4009 | ||
|
|
7fb866fcfb | ||
|
|
d06febd5b5 | ||
|
|
04813fe345 | ||
|
|
6a3d1634b9 | ||
|
|
c554c0d456 | ||
|
|
e88f63f54d | ||
|
|
7ff051a638 | ||
|
|
ac9405e874 | ||
|
|
d18c5a7fad | ||
|
|
bdc90f3c02 | ||
|
|
94e28eddd0 | ||
|
|
6100664287 | ||
|
|
54aa477b28 | ||
|
|
3c5774960a | ||
|
|
5140c41c58 | ||
|
|
2b9bb3fb5c | ||
|
|
9500f4a59c | ||
|
|
a64b77d6f2 | ||
|
|
4f9e77e7cd | ||
|
|
13444136bd | ||
|
|
7beb4dd939 | ||
|
|
51e6ae8f03 | ||
|
|
7aca5f77f6 | ||
|
|
02ce6c62a8 | ||
|
|
b0b2c32a6f | ||
|
|
cf7fee2de8 | ||
|
|
bb730c137f | ||
|
|
da2eb02cde | ||
|
|
f271c85aef | ||
|
|
bd5f25ffc7 | ||
|
|
3d78d5473e | ||
|
|
49d3f7652d | ||
|
|
5b543c5212 | ||
|
|
2356bb6da2 | ||
|
|
c2bdc11832 | ||
|
|
2bd440e07c | ||
|
|
6eee4db87b | ||
|
|
e7d1db446b | ||
|
|
ff50755ba2 | ||
|
|
f8ef262b3d | ||
|
|
f8737995fa | ||
|
|
1bbefea857 | ||
|
|
143630c41b | ||
|
|
577eaa1eae | ||
|
|
316b071c81 | ||
|
|
5a6f55c0a8 | ||
|
|
e008a50acc | ||
|
|
41c3913482 | ||
|
|
803ff76678 | ||
|
|
309081437a | ||
|
|
5f152b73c2 | ||
|
|
f8d3336a1e | ||
|
|
dc1fdffe6a | ||
|
|
622d9c909f | ||
|
|
4e3ef19c1f | ||
|
|
b054a30fa7 | ||
|
|
7266c24354 | ||
|
|
5ec2877bcc | ||
|
|
0d93446c7d | ||
|
|
1e395ab416 | ||
|
|
0acb5ac7cd | ||
|
|
3b18b5d2b7 | ||
|
|
16e63a061d | ||
|
|
a6c8b940c9 | ||
|
|
74d9e3248b | ||
|
|
3af8b6050c | ||
|
|
da966753a1 | ||
|
|
0ad4b3f73e | ||
|
|
e8d072d4be | ||
|
|
b0eed4a095 | ||
|
|
ba720efe61 | ||
|
|
e23d575460 | ||
|
|
7fbcd17759 | ||
|
|
a95ebb2158 | ||
|
|
8a36425cac | ||
|
|
4261ed39dc | ||
|
|
ca37a884fd | ||
|
|
9fbb7683bc | ||
|
|
42e275ef0a | ||
|
|
19ece12e93 | ||
|
|
3ef0d3e4a3 | ||
|
|
602ea46b8b | ||
|
|
95c0bc6052 | ||
|
|
bd4ce1788c | ||
|
|
20d16a8433 | ||
|
|
db4c11cd53 | ||
|
|
f439e1f8e3 | ||
|
|
080b1aab83 | ||
|
|
61ba2ac97a | ||
|
|
7eebb38eda | ||
|
|
43e7d65af5 | ||
|
|
386d8bb312 | ||
|
|
3fbd72092c | ||
|
|
4e5b15cd88 | ||
|
|
8b2aeba3bd | ||
|
|
1d2334b920 | ||
|
|
38a234ae66 | ||
|
|
2c1226dc02 | ||
|
|
1df8ef6464 | ||
|
|
f8d40bf86d | ||
|
|
58ab03b4e3 | ||
|
|
0bf54e6b45 | ||
|
|
8fca0c69ac | ||
|
|
70eb4ca2a1 | ||
|
|
9d9e30725e | ||
|
|
ff9585ec7d | ||
|
|
a418c2750a | ||
|
|
9581994050 | ||
|
|
316d0e67c5 | ||
|
|
503bf04ec5 | ||
|
|
d6b76936dd | ||
|
|
c53d16717b | ||
|
|
2c747daa50 | ||
|
|
0b2d3edcce | ||
|
|
955bcde062 | ||
|
|
a91aa72fb4 | ||
|
|
163ece75b2 | ||
|
|
a8fb5f2598 | ||
|
|
3a62ad67e1 | ||
|
|
48f4e1ddc6 | ||
|
|
c37bb96aab | ||
|
|
a2057e20d2 | ||
|
|
577e05eb51 | ||
|
|
65a30cf2a7 | ||
|
|
121f0c6134 | ||
|
|
7d1897a9d2 | ||
|
|
415dbd1b61 | ||
|
|
cfc1c35203 | ||
|
|
911d7f3be8 | ||
|
|
c06944da13 | ||
|
|
b6dd4a3579 | ||
|
|
b057e145c5 | ||
|
|
772ad3b929 | ||
|
|
46681868d3 | ||
|
|
75795bd7d5 | ||
|
|
1908723fbe | ||
|
|
549992c08a | ||
|
|
845704b9fe | ||
|
|
ba03ca5e0c | ||
|
|
92a9f12b58 | ||
|
|
3437ac63bb | ||
|
|
d798a35c38 | ||
|
|
01b56995d9 | ||
|
|
3f190efb4e | ||
|
|
bb6b149c2e | ||
|
|
65b96fff16 | ||
|
|
0b8e8a7b2f | ||
|
|
a8a6fec19d | ||
|
|
a3fce4c149 | ||
|
|
85265412da | ||
|
|
e636a94de0 | ||
|
|
08509f6693 | ||
|
|
d28fc98cfd | ||
|
|
f584ef1d72 | ||
|
|
67a6df57c8 | ||
|
|
fadbb0adc5 | ||
|
|
58774033b7 | ||
|
|
66f0470960 | ||
|
|
68137cb66f | ||
|
|
4d6cacdb3d | ||
|
|
cf862af3ca | ||
|
|
a8d106a292 | ||
|
|
6155140de4 | ||
|
|
a4637248e8 | ||
|
|
8c4470a27e | ||
|
|
071fbfd916 | ||
|
|
1968438ebb | ||
|
|
7b31383b88 | ||
|
|
093a79045d | ||
|
|
e4928b0084 | ||
|
|
03420cf501 | ||
|
|
541b4674a8 | ||
|
|
6e108a03d1 | ||
|
|
c9dd332abd | ||
|
|
7e605fb6de | ||
|
|
fa2b0aedb0 | ||
|
|
402f49edd9 | ||
|
|
caf2e555dd | ||
|
|
32dc36d937 | ||
|
|
771d49bfa8 | ||
|
|
70dc78601a | ||
|
|
b4d781ddbb | ||
|
|
9c29601b55 | ||
|
|
28c37cb3ac | ||
|
|
bd121e47c8 | ||
|
|
7428e1e2ea | ||
|
|
376cb926b0 | ||
|
|
4ed0056d2a | ||
|
|
177ef8a555 | ||
|
|
7244a1f52f | ||
|
|
8d311923c1 | ||
|
|
9359d56880 | ||
|
|
3214200188 | ||
|
|
841ab7f983 | ||
|
|
53b3728432 | ||
|
|
cf9f98efc9 | ||
|
|
b5c666a1f4 | ||
|
|
b1954a509c | ||
|
|
c2c91cfe42 | ||
|
|
cccbec5744 | ||
|
|
4c89b20fad | ||
|
|
2328fa3e88 | ||
|
|
e19d4624c1 | ||
|
|
345f58ed48 | ||
|
|
4c14ce3937 | ||
|
|
82684c0169 | ||
|
|
2607328255 | ||
|
|
484ce3a1da | ||
|
|
85d5f62301 | ||
|
|
b0571f8184 | ||
|
|
b80dd28b40 | ||
|
|
e0cf0808cf | ||
|
|
ffdd5b62ae | ||
|
|
3b5376ef8b | ||
|
|
cd57fb0d76 | ||
|
|
6986acd6f4 | ||
|
|
2bc571ffd3 | ||
|
|
a8dddf33f8 | ||
|
|
46582a685b | ||
|
|
ad381783f7 | ||
|
|
b81c1eb65c | ||
|
|
2c4d3b3ee4 | ||
|
|
d1400928ce | ||
|
|
49abece92b | ||
|
|
b48b1f031e | ||
|
|
9cefe0bc04 | ||
|
|
ee73b0e229 | ||
|
|
ab0ce58812 | ||
|
|
333a206d36 | ||
|
|
86bb7666ea | ||
|
|
58b5ebf39d | ||
|
|
47947b85c7 | ||
|
|
6910ba6d2e | ||
|
|
08254edae6 | ||
|
|
e67307a961 | ||
|
|
9922621945 | ||
|
|
c7476a2a07 | ||
|
|
ac59528f5c | ||
|
|
97c9728c65 | ||
|
|
80d1694e6e | ||
|
|
28c6e31c7d | ||
|
|
8836b2a570 | ||
|
|
786c2b888b | ||
|
|
c91275c5da | ||
|
|
7b362460e7 | ||
|
|
a1862c3420 | ||
|
|
44ea9ccc59 | ||
|
|
4c9cdf3b8f | ||
|
|
4a6d4f197d | ||
|
|
ae04749336 | ||
|
|
caa743aba2 | ||
|
|
a4469a4285 | ||
|
|
2771b31aab | ||
|
|
5c418a4260 | ||
|
|
17dbdf3b74 | ||
|
|
8315ae47c4 | ||
|
|
50b59805ca | ||
|
|
58bc387d0b | ||
|
|
d2dd6790a0 | ||
|
|
78c7795b89 | ||
|
|
73c25f3476 | ||
|
|
6f9f89734d | ||
|
|
da68bee742 | ||
|
|
e5f1f9394d | ||
|
|
d9d6f8c97e | ||
|
|
a35a141411 | ||
|
|
1e0c7b1120 | ||
|
|
9b9734f82a | ||
|
|
fe437b5234 | ||
|
|
59bb505a3e | ||
|
|
28d8d62cbd | ||
|
|
cb05608422 | ||
|
|
e384a37fab | ||
|
|
9a04cd9e3b | ||
|
|
dd396eb75a | ||
|
|
611b52780e | ||
|
|
20a05220ea | ||
|
|
38e8f24c20 | ||
|
|
58d2c92102 | ||
|
|
f90ba45940 | ||
|
|
1ecf42bfd3 | ||
|
|
ed56c21e5b | ||
|
|
a0c55baf39 | ||
|
|
3b3ef0d545 | ||
|
|
78e7f99344 | ||
|
|
d709d67f54 | ||
|
|
6d30fd11a7 | ||
|
|
4a39c7950f | ||
|
|
3dd5ad2a8a | ||
|
|
d7b7727aa6 | ||
|
|
0199cd24ef | ||
|
|
8513e8c4f9 | ||
|
|
5d2d9017f1 | ||
|
|
879e8f98bd | ||
|
|
2c6524f6c0 | ||
|
|
c9bd81d332 | ||
|
|
2d29b02cea | ||
|
|
c0a279fcc5 | ||
|
|
1a612fab0b | ||
|
|
63e821634a | ||
|
|
62d951b438 | ||
|
|
8d749c404f | ||
|
|
d5b2f4fdd3 | ||
|
|
fae4ca91bd | ||
|
|
6e92ff5096 | ||
|
|
61522cd682 | ||
|
|
74dbd0814a | ||
|
|
05751a5b79 | ||
|
|
7741844055 | ||
|
|
09c07f0707 | ||
|
|
c565db812e | ||
|
|
00b72c9263 | ||
|
|
5c415139fd | ||
|
|
6d944c0f8c | ||
|
|
6744a79325 | ||
|
|
472d86acc0 | ||
|
|
c1ee7a53b5 | ||
|
|
8d44640377 | ||
|
|
cbcbe3f564 | ||
|
|
698923423f | ||
|
|
bc6114f6e0 | ||
|
|
21d91bb2cf | ||
|
|
bda9664cb9 | ||
|
|
9c055a35a9 | ||
|
|
bf794c41da | ||
|
|
de698c8a1a | ||
|
|
f972382f5e | ||
|
|
73b0331884 | ||
|
|
2248abb749 | ||
|
|
13435c0b54 | ||
|
|
5575f75118 | ||
|
|
4ce3c2309c | ||
|
|
cd7ee1a042 | ||
|
|
cd087113e3 | ||
|
|
36b6122b0f | ||
|
|
a74651d915 | ||
|
|
c274805eb0 | ||
|
|
d86d88f313 | ||
|
|
265e875a78 | ||
|
|
8353ad4962 | ||
|
|
9369cafd38 | ||
|
|
989cda6662 | ||
|
|
0570aaeb6e | ||
|
|
5a19117850 | ||
|
|
ff726ec4d2 | ||
|
|
0cd93986bd | ||
|
|
bc7ba5f2c6 | ||
|
|
1ddde6ab92 | ||
|
|
e9f2580bb8 | ||
|
|
b9dc2d3969 | ||
|
|
7e27203bd8 | ||
|
|
5a582c12d8 | ||
|
|
cd925d5f53 | ||
|
|
853a37920c | ||
|
|
2aa0b3700f | ||
|
|
35190ebb63 | ||
|
|
d74350b708 | ||
|
|
bd3e4f9f87 | ||
|
|
7370756344 | ||
|
|
7894377d1d | ||
|
|
6416df241f | ||
|
|
85408f2b12 | ||
|
|
b698daa4cf | ||
|
|
3a035a1b33 | ||
|
|
a11888ff71 | ||
|
|
423b8c942c | ||
|
|
26739491a5 | ||
|
|
6bf39c5102 | ||
|
|
daac3bd143 | ||
|
|
028242826e | ||
|
|
99d9c670b6 | ||
|
|
bc592cc4e2 | ||
|
|
04707b00e7 | ||
|
|
d44abfaeac | ||
|
|
6c30f3d573 | ||
|
|
2e70ed14dd | ||
|
|
7823d4f49f | ||
|
|
7bd3482367 | ||
|
|
709adf05aa | ||
|
|
524736c5b2 | ||
|
|
f53ae66fc9 | ||
|
|
0c102b061c | ||
|
|
ee198e47c8 | ||
|
|
75c2931c8d | ||
|
|
2bb4edecd7 | ||
|
|
b79d9af7ae | ||
|
|
5c50372021 | ||
|
|
d0d32c8f33 | ||
|
|
2aaaa1791e | ||
|
|
6ed63a67cd | ||
|
|
b858955243 | ||
|
|
63a676b0ef | ||
|
|
155b59d71f | ||
|
|
d9dba89781 | ||
|
|
0a572153f0 | ||
|
|
ce46c44b5d | ||
|
|
e6918b592e | ||
|
|
ddbbb4c21a | ||
|
|
d23290107b | ||
|
|
69f4c89f84 | ||
|
|
279f9578cc | ||
|
|
af7989839f | ||
|
|
01fb0c0eb6 | ||
|
|
dab47828c6 | ||
|
|
c070743723 | ||
|
|
9bbd9b56e7 | ||
|
|
311793ac33 | ||
|
|
986923ea6c | ||
|
|
2f6baf8743 | ||
|
|
4c43bf2228 | ||
|
|
585bd5f24c | ||
|
|
d420c0332b | ||
|
|
e32df5d247 | ||
|
|
19a8ec02cb | ||
|
|
798d4b90c3 | ||
|
|
206f1f3775 | ||
|
|
96273bb724 | ||
|
|
c0d9efc930 | ||
|
|
6722d9d15d | ||
|
|
52c2c58988 | ||
|
|
e3efc53b64 | ||
|
|
9a18f5ef6b | ||
|
|
ce8d545d6f | ||
|
|
f875a0c882 | ||
|
|
4bbddf736c | ||
|
|
c1da17df48 | ||
|
|
f6fa8166d2 | ||
|
|
20016adef1 | ||
|
|
265bb29626 | ||
|
|
d16be8c4d7 | ||
|
|
791a38a181 | ||
|
|
d1010eb886 | ||
|
|
471b214b4a | ||
|
|
f505d48d80 | ||
|
|
6d9a2d4787 | ||
|
|
a36e2408f7 | ||
|
|
9012a2afc0 | ||
|
|
4921198cd8 | ||
|
|
530b57644f | ||
|
|
921415632b | ||
|
|
c723b2c6bf | ||
|
|
17d338f7af | ||
|
|
3d9e12e4c1 | ||
|
|
4ca849c151 | ||
|
|
3e6145aed0 | ||
|
|
c960f29e38 | ||
|
|
c230eb179b | ||
|
|
05e77b1d33 | ||
|
|
a2bdea5df2 | ||
|
|
b2b2860a48 | ||
|
|
f71c1d0c5d | ||
|
|
43607edc1c | ||
|
|
08beb7ff43 | ||
|
|
b24c4e3302 | ||
|
|
06a6f0ea0b | ||
|
|
bd38c4f5d2 | ||
|
|
2e4665e5c4 | ||
|
|
1b250300c7 | ||
|
|
7f3966ff07 | ||
|
|
1f7e9df7ff | ||
|
|
fd32ec9598 | ||
|
|
ed12a7691d | ||
|
|
5759609a11 | ||
|
|
6a423cb18b | ||
|
|
c727f93534 | ||
|
|
623d2f2659 | ||
|
|
4dede65e32 | ||
|
|
1c5f4da20f | ||
|
|
33d9840a78 | ||
|
|
3e89e07ad3 | ||
|
|
99c3e043e7 | ||
|
|
3858024116 | ||
|
|
b06f0bba61 | ||
|
|
73ea50d162 | ||
|
|
98580e6a6b | ||
|
|
2f0a63774f | ||
|
|
3d8f364d59 | ||
|
|
2d93b31469 | ||
|
|
e27abcb047 | ||
|
|
29b4b32692 | ||
|
|
bdd6bcb932 | ||
|
|
062fb1fe0b | ||
|
|
4a0631a10c | ||
|
|
a0fdc735e7 | ||
|
|
fa842ac281 | ||
|
|
f8d17b04cb | ||
|
|
0ac9f5d7c0 | ||
|
|
1ad7aa901a | ||
|
|
b0aa440b9d | ||
|
|
dc6deee231 | ||
|
|
1cf52cae71 | ||
|
|
c730a09123 | ||
|
|
01fc7fa179 | ||
|
|
d2c6698824 | ||
|
|
e014779b32 | ||
|
|
fe400894b1 | ||
|
|
051e98898d | ||
|
|
9cf77d320c | ||
|
|
7c11239875 | ||
|
|
3e5af23f43 | ||
|
|
a349fdd79e | ||
|
|
af32996728 | ||
|
|
5fa5a98b87 | ||
|
|
a7f239576f | ||
|
|
c2ec9e579e | ||
|
|
b56e2222f5 | ||
|
|
fc94a9d748 | ||
|
|
4b41989b30 | ||
|
|
e3b569ca5b | ||
|
|
6459ef5b66 | ||
|
|
b085989b22 | ||
|
|
888e7f8ed5 | ||
|
|
d50a9c61b0 | ||
|
|
4fdc2bd76b | ||
|
|
3f990327d8 | ||
|
|
8ccd2864fe | ||
|
|
e7bfefa027 | ||
|
|
1da75018eb | ||
|
|
88be84297e | ||
|
|
e1467480e9 | ||
|
|
92c71b3630 | ||
|
|
24c994d5b2 | ||
|
|
f7d87f3436 | ||
|
|
fd635542c0 | ||
|
|
eb826b2786 | ||
|
|
8cd0381df5 | ||
|
|
305c32cfc5 | ||
|
|
bb21363ca8 | ||
|
|
6968edbeec | ||
|
|
a6acbacaef | ||
|
|
870ae8a46f | ||
|
|
a3c9f04719 | ||
|
|
fdcd24feb1 | ||
|
|
c31b2edeab | ||
|
|
ffecdb3747 | ||
|
|
3031d68863 | ||
|
|
fe1755f250 | ||
|
|
e162eb27c7 | ||
|
|
f4863efb2e | ||
|
|
5b3c51013b | ||
|
|
06bdc36136 | ||
|
|
6e4edbd12d | ||
|
|
c38fafe9fd | ||
|
|
6f213158ed | ||
|
|
3db8f5a2af | ||
|
|
0b5fa18504 | ||
|
|
7ea1080801 | ||
|
|
4c47f337ea | ||
|
|
952990c8af | ||
|
|
f2582cae54 | ||
|
|
e089be310b | ||
|
|
ed5c51d954 | ||
|
|
08915befa5 | ||
|
|
062e958db5 | ||
|
|
9be82a2739 | ||
|
|
0ea3d524da | ||
|
|
437979373c | ||
|
|
22ed8872e6 | ||
|
|
39fe5b1eb5 | ||
|
|
717794a12e | ||
|
|
4ce51c77a8 | ||
|
|
d9ecab5240 | ||
|
|
71b15d269e | ||
|
|
a1009da324 | ||
|
|
26b8de2282 | ||
|
|
9db33c3fec | ||
|
|
2538e48d0f | ||
|
|
68bf41b36a | ||
|
|
3a91bb8947 | ||
|
|
ee930f59db | ||
|
|
6b5feadf6c | ||
|
|
bd084e606c | ||
|
|
bb674a1539 | ||
|
|
951d073ad6 | ||
|
|
b7d671dcbd | ||
|
|
eb4540600e | ||
|
|
22fc874b99 | ||
|
|
282a707bf9 | ||
|
|
942c155723 | ||
|
|
286ae25ac5 | ||
|
|
38ad0903ff | ||
|
|
d76eb9a9e4 | ||
|
|
a3e8ca8d33 | ||
|
|
e1454cfc6a | ||
|
|
df6d446e83 | ||
|
|
2d17082a76 | ||
|
|
9aa4797792 | ||
|
|
3508269c17 | ||
|
|
c18e6e5e67 | ||
|
|
ce86b511f0 | ||
|
|
b65079ec20 | ||
|
|
b99fec4274 | ||
|
|
15677c663b | ||
|
|
1bd5b03636 | ||
|
|
3542c363d9 | ||
|
|
ec44b9aae7 | ||
|
|
e4ec538f13 | ||
|
|
3e54cc5c77 | ||
|
|
b1feb76535 | ||
|
|
a4b7804c9b | ||
|
|
18b2587936 | ||
|
|
1238151d73 | ||
|
|
c25f6d0bc4 | ||
|
|
2ca4748e00 | ||
|
|
1c30a8f38e | ||
|
|
cd29a1715e | ||
|
|
c9d0a11e85 | ||
|
|
4d8ed34d94 | ||
|
|
d98f51395f | ||
|
|
657a7d2a6b | ||
|
|
d6ade56233 | ||
|
|
d88a862e09 | ||
|
|
9c06b07262 | ||
|
|
c5aedc7d85 | ||
|
|
b9c91d195d | ||
|
|
d4d32c2d36 | ||
|
|
b6538101df | ||
|
|
7e4602863f | ||
|
|
0cc35fe881 | ||
|
|
0620410072 | ||
|
|
ea758edb5e | ||
|
|
1ded375f6f | ||
|
|
c67267b589 | ||
|
|
b1eba86445 | ||
|
|
53accdb446 | ||
|
|
3b40ae3ad3 | ||
|
|
298271fc2b | ||
|
|
7b965bac71 | ||
|
|
e930a0f8ac | ||
|
|
10133b16b3 | ||
|
|
f610c1a8b1 | ||
|
|
e7aed3bab3 | ||
|
|
081ffe2c11 | ||
|
|
3e7b101dbf | ||
|
|
0e50e9b26a | ||
|
|
b7c9c53176 | ||
|
|
d75e9b7a4b | ||
|
|
a967cd8541 | ||
|
|
ea42653ae8 | ||
|
|
0ce5a2eb2b | ||
|
|
e75d28cfca | ||
|
|
224503f6bb | ||
|
|
86aa866626 | ||
|
|
067a22ff90 | ||
|
|
673cff8eed | ||
|
|
413bdb7b38 | ||
|
|
5e81f9c720 | ||
|
|
22078bd774 | ||
|
|
c33716c7b5 | ||
|
|
587c9cb46f | ||
|
|
dda020b2bf | ||
|
|
6fba1b0153 | ||
|
|
cf04bf8018 | ||
|
|
c1caff8005 | ||
|
|
04ccefbcf8 | ||
|
|
6d32e534dc | ||
|
|
293dcb93d6 | ||
|
|
6cb716516d | ||
|
|
aa3079673f | ||
|
|
37e77a53f9 | ||
|
|
7969df4e4c | ||
|
|
4b06e14df6 | ||
|
|
da9c5edcc6 | ||
|
|
109fc7f1fa | ||
|
|
cc381513ef | ||
|
|
1ad19a7d45 | ||
|
|
3185bb6031 | ||
|
|
630c21b07a | ||
|
|
6594b8532e | ||
|
|
c6de4c7650 | ||
|
|
7297f7a894 | ||
|
|
0f5b790461 | ||
|
|
783af42b1a | ||
|
|
ab5426e6bb | ||
|
|
464345ee5f | ||
|
|
bafa9a26c6 | ||
|
|
5d08906afd | ||
|
|
a4dc4a8a1b | ||
|
|
5a19ec10f5 | ||
|
|
0a41bbd22d | ||
|
|
2b4d5d74f2 | ||
|
|
fea836d20b | ||
|
|
cbee088d09 | ||
|
|
145b654533 | ||
|
|
7a90e285b5 | ||
|
|
c8b7bc2f5b | ||
|
|
ba63a5255d | ||
|
|
30e43e99fc | ||
|
|
706d89db87 | ||
|
|
abf32bf6ff | ||
|
|
2a45e1cbf2 | ||
|
|
56e6c4ab34 | ||
|
|
4d782491f4 | ||
|
|
f41a0f8f97 | ||
|
|
188f1c52a9 | ||
|
|
559a665831 | ||
|
|
8fd17fd909 | ||
|
|
6d01fff7ee | ||
|
|
2d5a56a88a | ||
|
|
fbbcf30737 | ||
|
|
3ba120cc10 | ||
|
|
81305bfc6b | ||
|
|
6b7509d4f8 | ||
|
|
448dda37bf | ||
|
|
2a21fe1784 | ||
|
|
f4c246eef0 | ||
|
|
002d70496f | ||
|
|
61be2b92ba | ||
|
|
54fb7ff23f | ||
|
|
804f479cb0 | ||
|
|
864867f60e | ||
|
|
8e2f2b8d1a | ||
|
|
38bc2b950f | ||
|
|
37f67f9717 | ||
|
|
5ea5279fbb | ||
|
|
1a5163fc47 | ||
|
|
d2c3861ac7 | ||
|
|
c9a0fb30b0 | ||
|
|
44ec15c0e0 | ||
|
|
40008bddc7 | ||
|
|
80598d42cc | ||
|
|
22701da765 | ||
|
|
7c9aa3de72 | ||
|
|
b3b934e009 | ||
|
|
acd82353b1 | ||
|
|
87e56bf4bf | ||
|
|
8783d69406 | ||
|
|
ae4a3433f9 | ||
|
|
a3aeceb041 | ||
|
|
d4a03ae16b | ||
|
|
4219e2d16f | ||
|
|
1b77a523e4 | ||
|
|
872c7c5ce2 | ||
|
|
8eef29cd77 | ||
|
|
02f4867d8a | ||
|
|
8e06637b4f | ||
|
|
df07f4fee4 | ||
|
|
66c8790e1c | ||
|
|
2bf3ec60eb | ||
|
|
fee062e727 | ||
|
|
becacb5913 | ||
|
|
7640dde28f | ||
|
|
246abb9b80 | ||
|
|
03bbf196c8 | ||
|
|
c2ea1ba225 | ||
|
|
8608942387 | ||
|
|
e80aecbb4c | ||
|
|
180dcb3a41 | ||
|
|
ac3fced0b4 | ||
|
|
04ed3d0334 | ||
|
|
1ad838d8ce | ||
|
|
25481b7408 | ||
|
|
cc3919244b | ||
|
|
9cd2838cbf | ||
|
|
cd3c0dc5c1 | ||
|
|
8030be031f | ||
|
|
a3f1cc508e | ||
|
|
d918e11cab | ||
|
|
6680e74cea | ||
|
|
0afa75564f | ||
|
|
7978cc668d | ||
|
|
eebf3e0836 | ||
|
|
cffc445048 | ||
|
|
412b014b13 | ||
|
|
94241f7068 | ||
|
|
c851387f57 | ||
|
|
16d5db3639 | ||
|
|
69d2ad410f | ||
|
|
9f0f8b7cbc | ||
|
|
d5150d44e3 | ||
|
|
b5f444d1cf | ||
|
|
8f83bf43af | ||
|
|
be3d231fcc | ||
|
|
8149c469c8 | ||
|
|
a3e3291d9c | ||
|
|
4efcf14b7a | ||
|
|
be600f769d | ||
|
|
2a3888472f | ||
|
|
9997ac2ef9 | ||
|
|
925e46ff3a | ||
|
|
0e46ab33e8 | ||
|
|
2e1291b3c3 | ||
|
|
90fe924d18 | ||
|
|
37179a9199 | ||
|
|
12a0264e4b | ||
|
|
278030d950 | ||
|
|
69b63a020c | ||
|
|
5ebbcc0e26 | ||
|
|
ec86d6f8bd | ||
|
|
caa0c26a54 | ||
|
|
c46a005758 | ||
|
|
92389284a5 | ||
|
|
2ab04f67b9 | ||
|
|
d0e09c0792 | ||
|
|
b316c6f29e | ||
|
|
9798a11e51 | ||
|
|
6352271e31 | ||
|
|
2e316cbea0 | ||
|
|
a17bad36b2 | ||
|
|
88b0e716e6 | ||
|
|
912489d1c8 | ||
|
|
5be3721869 | ||
|
|
385efaaebd | ||
|
|
46672dfed8 | ||
|
|
46596fe79e | ||
|
|
9173aeabf2 | ||
|
|
2c7beb9258 | ||
|
|
1abd09754f | ||
|
|
d5aba6cd9a | ||
|
|
5ed4813331 | ||
|
|
5bbc526923 | ||
|
|
e4224a5576 | ||
|
|
baf3309a04 | ||
|
|
dd8104bf61 | ||
|
|
ccdec5113f | ||
|
|
bca406c8d3 | ||
|
|
1a4eabd074 | ||
|
|
7e4085b9a9 | ||
|
|
7adcc466ad | ||
|
|
ad45ca1fcc | ||
|
|
a5d5770f2e | ||
|
|
b047f8bc0a | ||
|
|
f4e82e6aab | ||
|
|
70cf74ff4f | ||
|
|
7d4da76895 | ||
|
|
62b0e21f67 | ||
|
|
2147ad29fa | ||
|
|
66f136903f | ||
|
|
e87aa22d32 | ||
|
|
ddaabafe44 | ||
|
|
2225a14e13 | ||
|
|
b9a999b0d0 | ||
|
|
76b1f3451b | ||
|
|
a97dca7b44 | ||
|
|
b2e547f9f2 | ||
|
|
945453cb81 | ||
|
|
ad0b240550 | ||
|
|
dd8f36f280 | ||
|
|
632aec423f | ||
|
|
d241aebade | ||
|
|
ba378d28f4 | ||
|
|
696dba9dee | ||
|
|
44527f3763 | ||
|
|
be5500e990 | ||
|
|
0c3a77f75a | ||
|
|
6bf2efd96c | ||
|
|
c8e0ba8194 | ||
|
|
0c0e1600e6 | ||
|
|
4be3a58f96 | ||
|
|
72206b9523 | ||
|
|
2fad52abdc | ||
|
|
4040b3badd | ||
|
|
a96a0a7009 | ||
|
|
75346c3f6b | ||
|
|
4c00337b1a | ||
|
|
27e6ecb2a0 | ||
|
|
cf14101a24 | ||
|
|
5d5c8803bd | ||
|
|
366badbe92 | ||
|
|
3272e2edc7 | ||
|
|
aa5f5a9c2a | ||
|
|
85aab85d87 | ||
|
|
f5d5ebadf0 | ||
|
|
db5e74b9a8 | ||
|
|
00120e8c33 | ||
|
|
881ad53612 | ||
|
|
7048476399 | ||
|
|
076b78759e | ||
|
|
a79a059816 | ||
|
|
6a6b56e50c | ||
|
|
498481dce3 | ||
|
|
9138a8972f | ||
|
|
677686fa40 | ||
|
|
b2013e5d75 | ||
|
|
800155e5a6 | ||
|
|
e5b8262cfe | ||
|
|
1b5f49e94e | ||
|
|
c0fe2dfdc0 | ||
|
|
b9897eba79 | ||
|
|
89ba3a83ff | ||
|
|
e6f11c7443 | ||
|
|
4cce6d3c86 | ||
|
|
fa334b3752 | ||
|
|
977b291bc7 | ||
|
|
42c3f7ead4 | ||
|
|
95837b09db | ||
|
|
abbec60465 | ||
|
|
8c99843b2d | ||
|
|
04d8f7d9aa | ||
|
|
a0997e6a87 | ||
|
|
4a99d468c7 | ||
|
|
d6156ab3f2 | ||
|
|
10d6e5293b | ||
|
|
683da1f167 | ||
|
|
4b5c9723c1 | ||
|
|
aed9b3afaa | ||
|
|
07f33d22bf | ||
|
|
19192437ad | ||
|
|
1d7ae669b6 | ||
|
|
ab9c8626c0 | ||
|
|
4bb93c653a | ||
|
|
32894ff0a4 | ||
|
|
ea82600a83 | ||
|
|
a09195d9de | ||
|
|
8448cbef52 | ||
|
|
4a61e45fba | ||
|
|
8ac0c42f44 | ||
|
|
587bfcb524 | ||
|
|
179bd17680 | ||
|
|
765c1eeab0 | ||
|
|
107ee5268e | ||
|
|
6aa6b490b5 | ||
|
|
2ba08965d2 | ||
|
|
a7da663d4f | ||
|
|
a4bf92b6a8 | ||
|
|
3258e9dc39 | ||
|
|
dd61187f9a | ||
|
|
9944fbb487 | ||
|
|
bf0307f4b0 | ||
|
|
680d436038 | ||
|
|
2b2e3e1d02 | ||
|
|
6d5bb65c19 | ||
|
|
501f3466a2 | ||
|
|
84c713c2f7 | ||
|
|
303c2ea14a | ||
|
|
109f651681 | ||
|
|
95c9776b4d | ||
|
|
89e6479021 | ||
|
|
e6cb2a9273 | ||
|
|
636f6a338e | ||
|
|
41ba3383b2 | ||
|
|
9095ddaf19 | ||
|
|
b4802c4bf6 | ||
|
|
eb72b88a16 | ||
|
|
be933648b2 | ||
|
|
d4588d738f | ||
|
|
f4cca5ecc1 | ||
|
|
605b85455b | ||
|
|
18c7dbca08 | ||
|
|
55040091af | ||
|
|
24c8501985 | ||
|
|
5f5e0963e1 | ||
|
|
4a163167e0 | ||
|
|
e690c54f7c | ||
|
|
1a39119c2b | ||
|
|
3cd86182db | ||
|
|
c89a3a2bf9 | ||
|
|
908ca124f1 | ||
|
|
5640e9c9b8 | ||
|
|
6d84ea984d | ||
|
|
47201f4955 | ||
|
|
3f5a4ebf7b | ||
|
|
e0d56bfadf | ||
|
|
b9e0d9978b | ||
|
|
ec76372e4d | ||
|
|
fd902159ee | ||
|
|
f16405fabf | ||
|
|
bf4aa9cae9 | ||
|
|
ae8b8bbe7c | ||
|
|
443463aca8 | ||
|
|
b300c911d7 | ||
|
|
6196fb4f44 | ||
|
|
4ecd3ec052 | ||
|
|
b10a57de63 | ||
|
|
3c27a690fd | ||
|
|
dcbd4a3fc4 | ||
|
|
043b7b0a3d | ||
|
|
1862dded65 | ||
|
|
75a53974a4 | ||
|
|
21138b9190 | ||
|
|
8fbfc40ed5 | ||
|
|
63ab448a27 | ||
|
|
d88c8baa83 | ||
|
|
8d931391db | ||
|
|
19afd5c0e6 | ||
|
|
5a9c546dac | ||
|
|
e288b8b429 | ||
|
|
9ddc914cac | ||
|
|
17e7b1735f | ||
|
|
0b27c42e89 | ||
|
|
b15b50798a | ||
|
|
7b7b6a32ee | ||
|
|
4fc516c84f | ||
|
|
76e92f29b9 | ||
|
|
55617c18f0 | ||
|
|
ef05f33f08 | ||
|
|
c25ce2bcdd | ||
|
|
9ed921f58c | ||
|
|
56a4ccb96d | ||
|
|
a8e65619d9 | ||
|
|
123b88e032 | ||
|
|
c268625f52 | ||
|
|
74f9f39656 | ||
|
|
9ddc600972 | ||
|
|
d903bcf2b1 | ||
|
|
19558c5325 | ||
|
|
9d545412a5 | ||
|
|
7301dda5d1 | ||
|
|
c88c565af3 | ||
|
|
f932ea9f1f | ||
|
|
77e2d58dea | ||
|
|
d261f3ebf5 | ||
|
|
9f69ffbb88 | ||
|
|
ab781cab8a | ||
|
|
6d843a9725 | ||
|
|
a387d63b77 | ||
|
|
37544aa8b7 | ||
|
|
963a72a660 | ||
|
|
c316381159 | ||
|
|
3c44d90da7 | ||
|
|
90201a464d | ||
|
|
5f8eaa4f1c | ||
|
|
d6446d2954 | ||
|
|
d763baa270 | ||
|
|
ea70d68ecc | ||
|
|
26cb17e25c | ||
|
|
602fc8c6e7 | ||
|
|
e4fd7a6aee | ||
|
|
12cb74bc05 | ||
|
|
0266de3532 | ||
|
|
e235ce52e5 | ||
|
|
d4c266561f | ||
|
|
bd25447a8f | ||
|
|
2c435ef751 | ||
|
|
96310ba1d0 | ||
|
|
869eada21c | ||
|
|
1d13a62088 | ||
|
|
43bb32e64b | ||
|
|
f38262c0ab | ||
|
|
6e0bfa2cee | ||
|
|
07d270a82d | ||
|
|
1b2e80d2c8 | ||
|
|
329389bb41 | ||
|
|
c8f801da83 | ||
|
|
20f0764c68 | ||
|
|
10f17a1bba | ||
|
|
c2b02ea07c | ||
|
|
81e8ebe839 | ||
|
|
d665856a7c | ||
|
|
1544cb81d5 | ||
|
|
e4abc6d256 | ||
|
|
7901cad90b | ||
|
|
ea5a84b3dd | ||
|
|
9d0422a898 | ||
|
|
4fd4792dd8 | ||
|
|
802f980c6f | ||
|
|
435be7c63d | ||
|
|
e2b57b55d6 | ||
|
|
b3f74d37e1 | ||
|
|
91b70038e6 | ||
|
|
08eca9ac27 | ||
|
|
55916f31aa | ||
|
|
b9abe9c119 | ||
|
|
cb1605bf23 | ||
|
|
dcc533ef49 | ||
|
|
cdafe47c9a | ||
|
|
365ad54f10 | ||
|
|
ded8c99ce2 | ||
|
|
b1d7da5320 | ||
|
|
467fa11a17 | ||
|
|
3346497a25 | ||
|
|
6ea0e176c9 | ||
|
|
8ea443cde1 | ||
|
|
c2d0d80b9f | ||
|
|
cbe72307a0 | ||
|
|
e57b47ec82 | ||
|
|
518bf04e1d | ||
|
|
a430e9b3d3 | ||
|
|
75ce72ee83 | ||
|
|
5d60ab35de | ||
|
|
33f9369883 | ||
|
|
7d1abf0f7c | ||
|
|
17d1061204 | ||
|
|
feb37eea2d | ||
|
|
6bde2fd20a | ||
|
|
7b25cc399d | ||
|
|
525175f04a | ||
|
|
a2aabeaad2 | ||
|
|
cdfcdcc3b7 | ||
|
|
56244ad873 | ||
|
|
e6399517ee | ||
|
|
1c3223f551 | ||
|
|
f4f2976907 | ||
|
|
76f65198bb | ||
|
|
971bcf4f41 | ||
|
|
b49074a786 | ||
|
|
eea89d3b62 | ||
|
|
3f7b73cf5e | ||
|
|
cbc547d322 | ||
|
|
c9a59a7417 | ||
|
|
f8eaa96412 | ||
|
|
33a7f55fa3 | ||
|
|
7cbee2e5f4 | ||
|
|
56725f0f5c | ||
|
|
7b6c2fa729 | ||
|
|
7b34dc75b3 | ||
|
|
8d3d86372f | ||
|
|
7de9218b80 | ||
|
|
f9ddba5aed | ||
|
|
9ab1996f4a | ||
|
|
c7666626a1 | ||
|
|
9a6c869bb5 | ||
|
|
ac86140133 | ||
|
|
534756c833 | ||
|
|
0f35eb7f7b | ||
|
|
a5cca5b0fd | ||
|
|
6e8f982e7b | ||
|
|
a14517fceb | ||
|
|
fe17e01ff5 | ||
|
|
585fb3eea8 | ||
|
|
3e07834c20 | ||
|
|
14cc0f12a6 | ||
|
|
1d403d3dee | ||
|
|
d36a4232be | ||
|
|
5b8750a84f | ||
|
|
0323cb5d98 | ||
|
|
f4369f90e0 | ||
|
|
8b19cbb603 | ||
|
|
aa3a797e19 | ||
|
|
827ceafffb | ||
|
|
cf1afb739f | ||
|
|
b9fe377afd | ||
|
|
a381697949 | ||
|
|
2d87078495 | ||
|
|
1b9695cb98 | ||
|
|
5324290fab | ||
|
|
b8e4ffb5ae | ||
|
|
67a693107e | ||
|
|
e08b86cda6 | ||
|
|
92bab9fb20 | ||
|
|
e7502f08ce | ||
|
|
3a530022fc | ||
|
|
2c8144b32f | ||
|
|
87535a917a | ||
|
|
76448f5426 | ||
|
|
019df97a22 | ||
|
|
51897bb74f | ||
|
|
5f3b4056e9 | ||
|
|
73a3c21716 | ||
|
|
a37209d8ba | ||
|
|
415021eedf | ||
|
|
ea6d512cc8 | ||
|
|
fba6673907 | ||
|
|
faba4682ed | ||
|
|
71b92f03bc | ||
|
|
d4a1cb0bfb | ||
|
|
e16ca2b2d2 | ||
|
|
77e678e05c | ||
|
|
efe0e3b816 | ||
|
|
6c497e131a | ||
|
|
ccb8c1b1b9 | ||
|
|
4aa965144d | ||
|
|
786bcc3da7 | ||
|
|
4447b29e6c | ||
|
|
3ebbb94a1a | ||
|
|
64a7cdafa8 | ||
|
|
c3350c0bb0 | ||
|
|
e2be1e0c79 | ||
|
|
228a993237 | ||
|
|
04923487c4 | ||
|
|
9777aa411c | ||
|
|
d0c1e93b3c | ||
|
|
9b517a14cb | ||
|
|
369085e162 | ||
|
|
93815a0504 | ||
|
|
b88097a6ae | ||
|
|
120cc9c521 | ||
|
|
58304a0fb6 | ||
|
|
6e867d678c | ||
|
|
8b2f58e0e7 | ||
|
|
6976ac7d44 | ||
|
|
8dc2077ad0 | ||
|
|
52fa86046b | ||
|
|
3352ebaa06 | ||
|
|
cbfdc4b57a | ||
|
|
c5753b96ff | ||
|
|
f39ad24cc1 | ||
|
|
6b6877bae7 | ||
|
|
930254da7b | ||
|
|
3df2fa53e8 | ||
|
|
c901639ce8 | ||
|
|
9e1cec7a60 | ||
|
|
9269c66d1e | ||
|
|
fd999be41a | ||
|
|
146a5f5701 | ||
|
|
d49ef1dd7d | ||
|
|
49c5fead39 | ||
|
|
9c705f3a45 | ||
|
|
bea204ab82 | ||
|
|
9350438866 | ||
|
|
4d827adc8b | ||
|
|
9f839b75fb | ||
|
|
c0482e8247 | ||
|
|
17f27f45fc | ||
|
|
2401e33222 | ||
|
|
4345179a1d | ||
|
|
5aa6fc78ee | ||
|
|
e0a86ead58 | ||
|
|
169d0fa964 | ||
|
|
c5397bc7d2 | ||
|
|
43f6e0ad8e | ||
|
|
736811393f | ||
|
|
957ddc82b5 | ||
|
|
16d6e98355 | ||
|
|
2a90809ba3 | ||
|
|
0713a88ddb | ||
|
|
c78b47fbe3 | ||
|
|
5807cbc9e9 | ||
|
|
6d90330e86 | ||
|
|
862bab55af | ||
|
|
7235a3730c | ||
|
|
c24993960d | ||
|
|
7f429dc769 | ||
|
|
a575626abb | ||
|
|
0b71b1837c | ||
|
|
f0df1b99e5 | ||
|
|
23b7ea90a1 | ||
|
|
53a6b0c719 | ||
|
|
bf3135b2d0 | ||
|
|
897461b594 | ||
|
|
63800306a0 | ||
|
|
b649b8c943 | ||
|
|
2c0aa40c61 | ||
|
|
2eb4f650d8 | ||
|
|
7af811eb3f | ||
|
|
d7f43c436e | ||
|
|
2792b9e676 | ||
|
|
bdf2ef5a05 | ||
|
|
23b5a3dcb0 | ||
|
|
909ea6b925 | ||
|
|
a5922c31b1 | ||
|
|
d8758bcc4e | ||
|
|
f88181cc82 | ||
|
|
c3f1036686 | ||
|
|
96292cd4a1 | ||
|
|
81f6035027 | ||
|
|
52005cf62c | ||
|
|
f5effa5be9 | ||
|
|
cae7906f04 | ||
|
|
7ea8cc6b0a | ||
|
|
8669a3d6e0 | ||
|
|
cb3bc91865 | ||
|
|
1a0c4b8135 | ||
|
|
6a456a288d | ||
|
|
901a81fb74 | ||
|
|
b1b99855b2 | ||
|
|
c6f0b4cf83 | ||
|
|
1a5dede780 | ||
|
|
2c8b1c6acb | ||
|
|
d7da56b82f | ||
|
|
d9cfdd1b32 | ||
|
|
b3b3a4bebf | ||
|
|
9021883baa | ||
|
|
c19017f037 | ||
|
|
bff40ff60b | ||
|
|
299445d5f9 | ||
|
|
b2e3d7ba20 | ||
|
|
60df7502ee | ||
|
|
28ea4dbc16 | ||
|
|
c4d9942f0e | ||
|
|
3e50d2318f | ||
|
|
040881e5a6 | ||
|
|
681234ace3 | ||
|
|
98e9694b35 | ||
|
|
95c46b9d82 | ||
|
|
76dfa5d7fe | ||
|
|
b39d562d56 | ||
|
|
148cf63a92 | ||
|
|
c155b4e025 | ||
|
|
90ae9e1636 | ||
|
|
79ee14826d | ||
|
|
179bb6e1da | ||
|
|
c393d65ce6 | ||
|
|
eeb8164c18 | ||
|
|
ea772cbf55 | ||
|
|
dd67398a70 | ||
|
|
d44bed0379 | ||
|
|
236c79bfbb | ||
|
|
7dfee7e315 | ||
|
|
6600849cc4 | ||
|
|
c4255157ac | ||
|
|
3bb6a0a560 | ||
|
|
a05d5ff5e6 | ||
|
|
da6ad2b629 | ||
|
|
09a05c9f4c | ||
|
|
57319d3189 | ||
|
|
40ba967192 | ||
|
|
3c7534f7fa | ||
|
|
79ec47f901 | ||
|
|
6108b5ab77 | ||
|
|
49417bdf9d | ||
|
|
d2fcb191b6 | ||
|
|
dca876e40d | ||
|
|
5e35c209c2 | ||
|
|
22382bc8a3 | ||
|
|
bf9e75d983 | ||
|
|
f96e29c9c9 | ||
|
|
0bf2f9aca7 | ||
|
|
2ba427e3dd | ||
|
|
624ae32a0e | ||
|
|
1339c44892 | ||
|
|
8499402831 | ||
|
|
4df6b87c13 | ||
|
|
7d16e857d4 | ||
|
|
a6c215801b | ||
|
|
b3a9b92717 | ||
|
|
071496e0c1 | ||
|
|
af36b9adbd | ||
|
|
630f998ea4 | ||
|
|
9058f7ed55 | ||
|
|
0dac6344ab | ||
|
|
8adb16912f | ||
|
|
21868878cf | ||
|
|
51e0142f10 | ||
|
|
e8e851dbe0 | ||
|
|
8809b8f77c | ||
|
|
f8aa3644aa | ||
|
|
e1e41b6f7f | ||
|
|
b1f067536b | ||
|
|
217a6187c2 | ||
|
|
1d1f0c0b3a | ||
|
|
ba3c30f768 | ||
|
|
bc85552ded | ||
|
|
ccf1be2359 | ||
|
|
0d3727f08b | ||
|
|
94b464e37c | ||
|
|
ca2cc722d4 | ||
|
|
2c47cd2422 | ||
|
|
1c9d68a932 | ||
|
|
807d10837b | ||
|
|
6e5c569f7e | ||
|
|
4179592ae7 | ||
|
|
1f40c7ab7e | ||
|
|
89a0541574 | ||
|
|
5294bd8a1a | ||
|
|
2d9c572c01 | ||
|
|
8520108bb2 | ||
|
|
2572dac8a7 | ||
|
|
54b31514ba | ||
|
|
1166b99d01 | ||
|
|
b44cd5d4c4 | ||
|
|
08a8c56d5c | ||
|
|
33645c302b | ||
|
|
a7ac138ea3 | ||
|
|
06b85cc3cb | ||
|
|
662404d335 | ||
|
|
631b51baf2 | ||
|
|
c29d77d4a5 | ||
|
|
d4c1c39179 | ||
|
|
71dd1d9d8b | ||
|
|
3b715bc461 | ||
|
|
712616e569 | ||
|
|
c18cb6a926 | ||
|
|
b975e2ed69 | ||
|
|
b87a060251 | ||
|
|
c493fc1c4c | ||
|
|
e083076e40 | ||
|
|
a5c4c3b54a | ||
|
|
3bcfb5ab61 | ||
|
|
8ce17e3e2d | ||
|
|
460b097a71 | ||
|
|
8e9dc78957 | ||
|
|
1ee5d32322 | ||
|
|
42905b5bb8 | ||
|
|
b8c25a4d78 | ||
|
|
cdbe2c1c71 | ||
|
|
d4f08e6d46 | ||
|
|
8322bf3ecc | ||
|
|
21363f085e | ||
|
|
9903a664d4 | ||
|
|
1a1ddbfa39 | ||
|
|
23bbe704ab | ||
|
|
0dda3d54c9 | ||
|
|
dde1d9b2c8 | ||
|
|
7bb0b513e8 | ||
|
|
2046b44fce | ||
|
|
45c64f825d | ||
|
|
94ed0650dc | ||
|
|
0d390769d4 | ||
|
|
2872020c1f | ||
|
|
8723fd9a24 | ||
|
|
9a9661149b | ||
|
|
5dfbfccc08 | ||
|
|
a344618c63 | ||
|
|
24b93fb517 | ||
|
|
f052b1fd90 | ||
|
|
a234896438 | ||
|
|
bed718347c | ||
|
|
53f2049c48 | ||
|
|
00d425356d | ||
|
|
6c42ce411b | ||
|
|
1833248c96 | ||
|
|
f5b1857866 | ||
|
|
114524adc6 | ||
|
|
47fb0deca4 | ||
|
|
98f4baa7b2 | ||
|
|
e051939adb | ||
|
|
a16ac3394c | ||
|
|
62fdf3d1aa | ||
|
|
9969b10c02 | ||
|
|
ac656e4cb5 | ||
|
|
b3d2e31bae | ||
|
|
c117082f23 | ||
|
|
3c02ff0894 | ||
|
|
e917d39a8e | ||
|
|
38bb15ed44 | ||
|
|
2db87c36a3 | ||
|
|
92d31ee6ff | ||
|
|
d92286297f | ||
|
|
7d35cf1374 | ||
|
|
dcce8ea35a | ||
|
|
71c34e17eb | ||
|
|
ecddf34083 | ||
|
|
958dde0f6e | ||
|
|
d636ef8ec9 | ||
|
|
eb4abf2a9e | ||
|
|
3a06f604fd | ||
|
|
8992ed047d | ||
|
|
dfdadc9d7a | ||
|
|
03c6094ea3 | ||
|
|
ccd36f199a | ||
|
|
7c7f2ff2aa | ||
|
|
47508495ed | ||
|
|
cc43add7af | ||
|
|
19b3d6d1d3 | ||
|
|
1c7f6a68e4 | ||
|
|
8df8cdf28d | ||
|
|
dd01cd15ca | ||
|
|
1e2b1a8b78 | ||
|
|
734aa485ce | ||
|
|
2b56e00e89 | ||
|
|
6f051ce4c2 | ||
|
|
f7bd2ee020 | ||
|
|
a542b65f51 | ||
|
|
4c59a746a5 | ||
|
|
73ad6221a6 | ||
|
|
9ccdbb8e40 | ||
|
|
cd26929d39 | ||
|
|
d7714a2067 | ||
|
|
1056e79361 | ||
|
|
515f3dd43f | ||
|
|
affe97a060 | ||
|
|
ad57b7a2db | ||
|
|
91cd4641f2 | ||
|
|
f919961cb2 | ||
|
|
9dd1f0d17d | ||
|
|
286ad3873f | ||
|
|
748b94e6ba | ||
|
|
d983538122 | ||
|
|
50ed455717 | ||
|
|
f23622d498 | ||
|
|
625941e2e2 | ||
|
|
a2444ffa69 | ||
|
|
ff708eb4ee | ||
|
|
4f3f48aa2f | ||
|
|
b93937e866 | ||
|
|
0ed4785935 | ||
|
|
939dcc9295 | ||
|
|
0d596af187 | ||
|
|
1944b5c61e | ||
|
|
b823e0a9af | ||
|
|
117baf7b65 | ||
|
|
33f7fdedfa | ||
|
|
a34ccd8ce7 | ||
|
|
fc1cd6d262 | ||
|
|
859bb02c86 | ||
|
|
638f718d7c | ||
|
|
58d2fbc94e | ||
|
|
0bbbee645d | ||
|
|
2190a4a58d | ||
|
|
b1feffa627 | ||
|
|
150e98bbc1 | ||
|
|
709ff90d35 | ||
|
|
ee657cb075 | ||
|
|
86ef32cd4c | ||
|
|
2988e22612 | ||
|
|
be41c2e8cb | ||
|
|
f518862dc3 | ||
|
|
3995608fd8 | ||
|
|
9f7a78bf3c | ||
|
|
71a588da39 | ||
|
|
17b42f76a2 | ||
|
|
5e8d72e19e | ||
|
|
308f4c817f | ||
|
|
75df8c0e2a | ||
|
|
1edc94d5ad | ||
|
|
c0f826808b | ||
|
|
e93f889115 | ||
|
|
995215be2a | ||
|
|
784a64c353 | ||
|
|
a549fff6fa | ||
|
|
7b88b07170 | ||
|
|
3273787a05 | ||
|
|
27ddc97ea4 | ||
|
|
f255160c4a | ||
|
|
7cf170ab3d | ||
|
|
8e6664f41c | ||
|
|
2ced30b557 | ||
|
|
1a531548e8 | ||
|
|
d0b53f21bd | ||
|
|
3772df146a | ||
|
|
9a1a6e5c5d | ||
|
|
c4c9fd9f65 | ||
|
|
47faefaff7 | ||
|
|
a09cd7a432 | ||
|
|
9d69a123d9 | ||
|
|
afcc13c8be | ||
|
|
4339187ab6 | ||
|
|
453781cd6d | ||
|
|
303174c864 | ||
|
|
95ff2886cd | ||
|
|
0df5ec458b | ||
|
|
7d35e685b2 | ||
|
|
7ca1ac4efb | ||
|
|
1a68b8768d | ||
|
|
53a80589e3 | ||
|
|
50d809029e | ||
|
|
eb7012b7ae | ||
|
|
9dcc704a9e | ||
|
|
0726c29528 | ||
|
|
7074684474 | ||
|
|
57454a2661 | ||
|
|
f8b18b6ea9 | ||
|
|
949bc8fb95 | ||
|
|
6379f9f453 | ||
|
|
26df14124b | ||
|
|
ec7a2f734a | ||
|
|
418ce68a97 | ||
|
|
92e1f68c6d | ||
|
|
5aeca1deb1 | ||
|
|
f6ab408fc8 | ||
|
|
e29abdea91 | ||
|
|
e6e869e074 | ||
|
|
a60f3a26fb | ||
|
|
5e0aa830bf | ||
|
|
962375e422 | ||
|
|
9fd9760264 | ||
|
|
d2a9d201dd | ||
|
|
35c6392d16 | ||
|
|
87af103012 | ||
|
|
2ace1e75e1 | ||
|
|
8e6408a90c | ||
|
|
386744fa72 | ||
|
|
aebda41fdc | ||
|
|
68fa3b5f95 | ||
|
|
4b6940e2ef | ||
|
|
d0d44ed7ce | ||
|
|
87a694c87c | ||
|
|
bdeb5aa96a | ||
|
|
b37bbcaaa5 | ||
|
|
02420fce2a | ||
|
|
1f243bca74 | ||
|
|
65e114e55f | ||
|
|
9204c9a1b8 | ||
|
|
1ee606de9e | ||
|
|
90c381f0ba | ||
|
|
faecbf5ea9 | ||
|
|
e87946141e | ||
|
|
b8300f373d | ||
|
|
ab458a5bb8 | ||
|
|
d3030e143b | ||
|
|
42ee5267c9 | ||
|
|
149ee5ad36 | ||
|
|
6af3f2ce42 | ||
|
|
7295787e08 | ||
|
|
3b028d49a5 | ||
|
|
e458a5fdb3 | ||
|
|
00e740ee14 | ||
|
|
e8bea19927 | ||
|
|
53ee0648c0 | ||
|
|
3bb2ab3a0c | ||
|
|
759a746e46 | ||
|
|
7499bd77b4 | ||
|
|
99fb70c20c | ||
|
|
2da3ac5b20 | ||
|
|
5a1bb0c231 | ||
|
|
dac649ceed | ||
|
|
8785a9f591 | ||
|
|
3cbb2ffd3f | ||
|
|
a249fbb38f | ||
|
|
a19cdc923c | ||
|
|
109715e64c | ||
|
|
502ef7da7d | ||
|
|
b9cd128b1b | ||
|
|
dd79348b6a | ||
|
|
8a61f464ab | ||
|
|
8ed34fb4a0 | ||
|
|
16776ad843 | ||
|
|
635aa8791f | ||
|
|
d1c02ac454 | ||
|
|
eca75ca3fb | ||
|
|
b95a3a2554 | ||
|
|
bf4b09bdc4 | ||
|
|
8a057168ae | ||
|
|
1cef53d82e | ||
|
|
84c6719d03 | ||
|
|
e0df5e6df0 | ||
|
|
eae0b43858 | ||
|
|
b188c45cd9 | ||
|
|
36de1284c7 | ||
|
|
a9455b95ac | ||
|
|
6553c416f8 | ||
|
|
b0d89ccc97 | ||
|
|
a6761127ac | ||
|
|
7918c3dabd | ||
|
|
85ff27d830 | ||
|
|
8ee80b0d27 | ||
|
|
141faf3fb6 | ||
|
|
559539dc3b | ||
|
|
ded98c0d50 | ||
|
|
4b75b9f1d6 | ||
|
|
cfa96f4737 | ||
|
|
2148eb8760 | ||
|
|
269d5752c4 | ||
|
|
9180917b7c | ||
|
|
1a1e1ea631 | ||
|
|
015a34f8d6 | ||
|
|
e6aed8534a | ||
|
|
f7d14c77b1 | ||
|
|
3c07a731c4 | ||
|
|
049e9460a0 | ||
|
|
1137bbd8a5 | ||
|
|
24360a41ff | ||
|
|
b45fb28dbe | ||
|
|
7753aadbf0 | ||
|
|
359f473b59 | ||
|
|
c6afa17330 | ||
|
|
11d6234d91 | ||
|
|
dbd79cd0a5 | ||
|
|
70698c7b23 | ||
|
|
ffd57ca591 | ||
|
|
00781e34f8 | ||
|
|
661fc9dd9e | ||
|
|
0dbfdaa4a6 | ||
|
|
c41d7c672d | ||
|
|
43f11015c4 | ||
|
|
f0335f0385 | ||
|
|
a88394ffe4 | ||
|
|
e6ca41c0f9 | ||
|
|
6d58e89c18 | ||
|
|
ef874c4091 | ||
|
|
177504a897 | ||
|
|
7d7c6c5130 | ||
|
|
b42dcece48 | ||
|
|
5d0f71e02c | ||
|
|
1ba34bb685 | ||
|
|
06fda21143 | ||
|
|
06f90c73a9 | ||
|
|
5ce5326721 | ||
|
|
dc8e93a9d3 | ||
|
|
869b5aa3d5 | ||
|
|
dfdb8f699a | ||
|
|
347005bec6 | ||
|
|
a88fcd6e0b | ||
|
|
943c1b0ac3 | ||
|
|
4c604475e5 | ||
|
|
a384bf5e35 | ||
|
|
45d8dbc35c | ||
|
|
78e6aa3021 | ||
|
|
8b094de4bd | ||
|
|
253c8ff2ff | ||
|
|
437b1a3d98 | ||
|
|
ec8bb17bff | ||
|
|
1bddd2815a | ||
|
|
f68c344c4b | ||
|
|
82fd8cf282 | ||
|
|
f540886bb8 | ||
|
|
173983a1ab | ||
|
|
f6b74ad2a0 | ||
|
|
9317491321 | ||
|
|
1ce6aacec6 | ||
|
|
3b0878f493 | ||
|
|
b98e09aedd | ||
|
|
1732567128 | ||
|
|
64f854c29d | ||
|
|
fdf1238905 | ||
|
|
0a17cd1c99 | ||
|
|
f1ac2282ff | ||
|
|
7a0b7c045e | ||
|
|
9725d98c4a | ||
|
|
68d3103e4c | ||
|
|
6064943b47 | ||
|
|
6aab622c96 | ||
|
|
939f2f82b1 | ||
|
|
516b505059 | ||
|
|
4b9cac43a8 | ||
|
|
25669fae4f | ||
|
|
fdd9e07918 | ||
|
|
0f16be81b0 | ||
|
|
bc10cd0d03 | ||
|
|
c75cafd5f5 | ||
|
|
0947d5b7b5 | ||
|
|
5126b76214 | ||
|
|
5e6d69b6fb | ||
|
|
3381d37086 | ||
|
|
1c596490c9 | ||
|
|
a043b4e573 | ||
|
|
c0340be3ce | ||
|
|
b1063f69f9 | ||
|
|
03dc014c08 | ||
|
|
7b7e153281 | ||
|
|
ec5452744d | ||
|
|
607b83d65b | ||
|
|
38c8f852bf | ||
|
|
e705495638 | ||
|
|
82531630c7 | ||
|
|
322a9cd97a | ||
|
|
63f038873b | ||
|
|
143b8a6356 | ||
|
|
6e0faee30f | ||
|
|
ccc4acdef9 | ||
|
|
1719122f5e | ||
|
|
93161aa425 | ||
|
|
a181b35e8d | ||
|
|
79de5f733f | ||
|
|
18f7a88d66 | ||
|
|
eeae9579d9 | ||
|
|
3b9dec5d42 | ||
|
|
bbec0f5f48 | ||
|
|
2723ea7975 | ||
|
|
550ad7b56c | ||
|
|
3e4364ede7 | ||
|
|
abbcdbc6b9 | ||
|
|
c3ba07e5d7 | ||
|
|
1d239f7b56 | ||
|
|
f21edf7e3c | ||
|
|
be45bdb562 | ||
|
|
3ea2c01c15 | ||
|
|
c75a6c9715 | ||
|
|
fc1ed8934c | ||
|
|
5f603cd57a | ||
|
|
b826352ce7 | ||
|
|
4f6a5de227 | ||
|
|
9798f5cc7c | ||
|
|
5fd4ac0a06 | ||
|
|
ee0ee98cb6 | ||
|
|
2e79e257a3 | ||
|
|
381c0e186f | ||
|
|
2c752ab5ba | ||
|
|
b35b1db4bc | ||
|
|
fed6a0db5e | ||
|
|
e4d34c1cb6 | ||
|
|
3571e22a79 | ||
|
|
f051ec43d4 | ||
|
|
f3857ed933 | ||
|
|
e7140a14a3 | ||
|
|
76e8695000 | ||
|
|
e62f14b6d3 | ||
|
|
c0dfe9bd53 | ||
|
|
297c712c0f | ||
|
|
2f514622e0 | ||
|
|
e6ea66f9c5 | ||
|
|
a5ff92b831 | ||
|
|
9bde632c6d | ||
|
|
88f17e29aa | ||
|
|
eb620374e2 | ||
|
|
4a1baa75a8 | ||
|
|
0ab77e159d | ||
|
|
a5496c692f | ||
|
|
5c61832d82 | ||
|
|
f82b5eb72d | ||
|
|
f4d482c6ee | ||
|
|
3c4f27f3f4 | ||
|
|
01c106fd3e | ||
|
|
1e46c23cb9 | ||
|
|
f245fc2b57 | ||
|
|
f9ea7be65f | ||
|
|
96033c701b | ||
|
|
d42a276bc2 | ||
|
|
5ff795b25d | ||
|
|
ca6a7baace | ||
|
|
4df6f89fcf | ||
|
|
f4af90d3c5 | ||
|
|
09fd22d5c6 | ||
|
|
e72c78be68 | ||
|
|
cd18db613a | ||
|
|
f8d8558cdb | ||
|
|
a46e1a451f | ||
|
|
f80d5d54ca | ||
|
|
2394972620 | ||
|
|
536b599449 | ||
|
|
9361acd72f | ||
|
|
c4da61cd93 | ||
|
|
faa12bf377 | ||
|
|
8446c8d60f | ||
|
|
844d511b72 | ||
|
|
178c468436 | ||
|
|
fa9229779e | ||
|
|
38adb519e3 | ||
|
|
37c3578329 | ||
|
|
0c98439070 | ||
|
|
5fe114c0eb | ||
|
|
3588d646d2 | ||
|
|
dd5941b884 | ||
|
|
1424dd6892 | ||
|
|
18b5354944 | ||
|
|
bf4049d002 | ||
|
|
59b747ee63 | ||
|
|
e0726ce62f | ||
|
|
828fa238c5 | ||
|
|
c8f389028e | ||
|
|
e2c32c1172 | ||
|
|
d20abec813 | ||
|
|
6edfcfdc4e | ||
|
|
9860b990e5 | ||
|
|
e7115a3a71 | ||
|
|
8c1e221afd | ||
|
|
64ddc24720 | ||
|
|
f9ee222d5d | ||
|
|
23d8969015 | ||
|
|
882a11c420 | ||
|
|
efa9dd6ec3 | ||
|
|
2767e298c4 | ||
|
|
cc7b26d342 | ||
|
|
bf0c9ec1c7 | ||
|
|
a9475ef153 | ||
|
|
6b6980811b | ||
|
|
df2e88eaac | ||
|
|
297bca4c0f | ||
|
|
b40c7d0e06 | ||
|
|
9f54de8b39 | ||
|
|
976d3670c9 | ||
|
|
ef797f6ed8 | ||
|
|
59cc8c636d | ||
|
|
e147d4762d | ||
|
|
d3b7219352 | ||
|
|
6abf55dc55 | ||
|
|
7bd52e661d | ||
|
|
89944d778b | ||
|
|
357f82809a | ||
|
|
4222c70b4a | ||
|
|
a66031cfce | ||
|
|
cf0dfdceb1 | ||
|
|
26b6019b28 | ||
|
|
be4af1d560 | ||
|
|
e3ee3d3dba | ||
|
|
07d961fc09 | ||
|
|
7bcb3fa4d9 | ||
|
|
5e07e428c0 | ||
|
|
a85b8c49d9 | ||
|
|
c3dcdd2010 | ||
|
|
74d9195d94 | ||
|
|
4db60ac63f | ||
|
|
17bfb118d8 | ||
|
|
d6dd2cc633 | ||
|
|
dd2e219272 | ||
|
|
88ec96bf2d | ||
|
|
e17a4c80b2 | ||
|
|
c0f3189a5b | ||
|
|
ac9f6c0b4a | ||
|
|
5903551cdb | ||
|
|
54a2628797 | ||
|
|
0f2a066a30 | ||
|
|
2ff0df9ef6 | ||
|
|
ad652dbaf2 | ||
|
|
109d37c0d2 | ||
|
|
015fc9be2c | ||
|
|
7616ec1fd2 | ||
|
|
df170dac32 | ||
|
|
ccce37d023 | ||
|
|
13ddd067ef | ||
|
|
340b94f849 | ||
|
|
faf0b630c1 | ||
|
|
b2f1867787 | ||
|
|
3bd4e39093 | ||
|
|
98e06081af | ||
|
|
0d51faf618 | ||
|
|
21e53e360e | ||
|
|
9083359b33 | ||
|
|
7b30ac1524 | ||
|
|
4b41d7afaa | ||
|
|
38a9452de0 | ||
|
|
1bd638be46 | ||
|
|
e912bf3bc8 | ||
|
|
13d7bc54d3 | ||
|
|
5bdf10b1bd | ||
|
|
6a40f4a4f4 | ||
|
|
8900721064 | ||
|
|
7738e6bc9a | ||
|
|
7c7833263a | ||
|
|
96d6a0e68d | ||
|
|
7c04b56a32 | ||
|
|
5009e86d56 | ||
|
|
daa3e5d95a | ||
|
|
6879778f4b | ||
|
|
de12691cfe | ||
|
|
dce883bcf5 | ||
|
|
be02c1bc0a | ||
|
|
52c7a9a214 | ||
|
|
ea0b8fc594 | ||
|
|
15aa941436 | ||
|
|
8e92ddbd53 | ||
|
|
23669c3c37 | ||
|
|
ea970c1936 | ||
|
|
52ffe4408d | ||
|
|
b753990ee3 | ||
|
|
9642e19d53 | ||
|
|
7dc4cb4ce7 | ||
|
|
4f6bedf323 | ||
|
|
ca16d0e6f8 | ||
|
|
690b171d57 | ||
|
|
2254b7f680 | ||
|
|
a6540880c9 | ||
|
|
e7e59d9481 | ||
|
|
b5b71c6464 | ||
|
|
437a1755ce | ||
|
|
14dbaa7d05 | ||
|
|
58e462de06 | ||
|
|
b6b6f7a527 | ||
|
|
09e47dba3a | ||
|
|
3751052697 | ||
|
|
da639d086f | ||
|
|
59a9a38c1f | ||
|
|
dd634343d7 | ||
|
|
7ee1b1386b | ||
|
|
0e4c09224c | ||
|
|
fc5aae34f3 | ||
|
|
1aa2c85edd | ||
|
|
a6bfeebb24 | ||
|
|
5e9824a180 | ||
|
|
3644466263 | ||
|
|
e9b43e7c25 | ||
|
|
e9e53d6d84 | ||
|
|
03f2feb335 | ||
|
|
3b657ea7bd | ||
|
|
2635ffcbc9 | ||
|
|
927c079cc4 | ||
|
|
a2f7afcb68 | ||
|
|
b6c033b075 | ||
|
|
31d0b81624 | ||
|
|
96ece3f424 | ||
|
|
2bc9926d97 | ||
|
|
f1537cb8a9 | ||
|
|
af8dee9c38 | ||
|
|
39f78273c0 | ||
|
|
d66a0f618d | ||
|
|
497a8188fd | ||
|
|
f3a475d0c8 | ||
|
|
8b828677de | ||
|
|
a050b37f3a | ||
|
|
c865ed0cdc | ||
|
|
918b792d83 | ||
|
|
28ecb37103 | ||
|
|
7c43462771 | ||
|
|
7e00739240 | ||
|
|
feae417af5 | ||
|
|
e5d55418ac | ||
|
|
5d8e0e370d | ||
|
|
e2bffd0fd3 | ||
|
|
8d2979d8ce | ||
|
|
288eda5bb1 | ||
|
|
fb111619d7 | ||
|
|
fb68f3fed1 | ||
|
|
791f1677fa | ||
|
|
632b76081a | ||
|
|
a474666ea7 | ||
|
|
b3c9ec9691 | ||
|
|
778db277c8 | ||
|
|
1800507604 | ||
|
|
b0aee1db05 | ||
|
|
919cbbd7ca | ||
|
|
93403a0d2c | ||
|
|
9867fa3f50 | ||
|
|
b79ec79644 | ||
|
|
961e9fd4b9 | ||
|
|
6d04c8ba42 | ||
|
|
bc94a92f68 | ||
|
|
9b9888565b | ||
|
|
a2a3dd28ee | ||
|
|
844dec06b1 | ||
|
|
5306a9dd7a | ||
|
|
cdd595432b | ||
|
|
fabec719ab | ||
|
|
04c14a82be | ||
|
|
51851fa5fe | ||
|
|
3c77a3d7aa | ||
|
|
7c9bab421a | ||
|
|
9d1960f065 | ||
|
|
ae4c0d1242 | ||
|
|
df3396633b | ||
|
|
9aea264305 | ||
|
|
866c232045 | ||
|
|
524ffd9d79 | ||
|
|
46ca979e59 | ||
|
|
c8bfc88bed | ||
|
|
030678b029 | ||
|
|
e4b99e5cef | ||
|
|
367c0d0a8d | ||
|
|
6dfe3b9c33 | ||
|
|
3aa4e75ef3 | ||
|
|
570a475229 | ||
|
|
2421bbdabb | ||
|
|
39756fd0d4 | ||
|
|
7a69c96746 | ||
|
|
f0acc39829 | ||
|
|
a27daddb70 | ||
|
|
fd47d28026 | ||
|
|
fe853f7b65 | ||
|
|
c89fbbe49f | ||
|
|
5453f101ff | ||
|
|
87cbe305f0 | ||
|
|
b298cb6f89 | ||
|
|
65e1ffaed4 | ||
|
|
43b5cb0641 | ||
|
|
f73d929feb | ||
|
|
85647f1258 | ||
|
|
9164668b8b | ||
|
|
76aaf22429 | ||
|
|
3d7162cdd3 | ||
|
|
ed9a945f05 | ||
|
|
f8d7c27583 | ||
|
|
4e1072b8da | ||
|
|
057715226f | ||
|
|
0f8fdda884 | ||
|
|
393b88fb1f | ||
|
|
639c3ef883 | ||
|
|
ad4142db1a | ||
|
|
5182987735 | ||
|
|
7f5bfc210b | ||
|
|
daf87915d6 | ||
|
|
06996540cd | ||
|
|
58ad3c746a | ||
|
|
a7ebe41570 | ||
|
|
b6cc702107 | ||
|
|
9163c0ca4d |
@@ -18,6 +18,8 @@ ktlint_standard_statement-wrapping = disabled
|
||||
internal:ktlint-suppression = disabled
|
||||
ktlint_standard_unnecessary-parentheses-before-trailing-lambda = disabled
|
||||
ktlint_standard_value-parameter-comment = disabled
|
||||
ktlint_standard_class-signature = disabled
|
||||
ktlint_standard_function-expression-body = disabled
|
||||
|
||||
# Disable ktlint on generated source code, see
|
||||
# https://github.com/JLLeitschuh/ktlint-gradle/issues/746
|
||||
|
||||
2
.github/workflows/android.yml
vendored
2
.github/workflows/android.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
||||
cache: gradle
|
||||
|
||||
- name: Validate Gradle Wrapper
|
||||
uses: gradle/wrapper-validation-action@v3
|
||||
uses: gradle/actions/wrapper-validation@v5
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew qa
|
||||
|
||||
2
.github/workflows/diffuse.yml
vendored
2
.github/workflows/diffuse.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
run: echo "y" | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;${{ env.NDK_VERSION }}"
|
||||
|
||||
- name: Validate Gradle Wrapper
|
||||
uses: gradle/wrapper-validation-action@v1
|
||||
uses: gradle/actions/wrapper-validation@v5
|
||||
|
||||
- name: Cache base apk
|
||||
id: cache-base
|
||||
|
||||
19
.github/workflows/docker.yml
vendored
19
.github/workflows/docker.yml
vendored
@@ -1,21 +1,20 @@
|
||||
name: Reproducible Build Check
|
||||
name: Check reproducible-build Dockerfile
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 5 * * *'
|
||||
- cron: "0 5 * * *"
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build image
|
||||
run: cd reproducible-builds && docker build -t signal-android . && cd ..
|
||||
|
||||
- name: Test build
|
||||
run: docker run --rm -v $(pwd):/project -w /project signal-android ./gradlew clean assemblePlayProdRelease
|
||||
- uses: actions/checkout@v6
|
||||
- name: Build image
|
||||
run: |
|
||||
cd reproducible-builds
|
||||
docker build -t signal-android .
|
||||
- name: Test build
|
||||
run: docker run --memory=12g --rm -v "$(pwd)":/project -w /project signal-android ./gradlew --no-daemon --max-workers=1 -Dorg.gradle.jvmargs="-Xmx4g -XX:MaxMetaspaceSize=512m" -Dkotlin.compiler.execution.strategy=in-process bundlePlayProdRelease
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -32,3 +32,5 @@ maps.key
|
||||
/local/
|
||||
kls_database.db
|
||||
.kotlin
|
||||
lefthook-local.yml
|
||||
sample-videos/
|
||||
|
||||
1
.idea/codeStyles/Project.xml
generated
1
.idea/codeStyles/Project.xml
generated
@@ -16,6 +16,7 @@
|
||||
<option name="ALIGN_MULTILINE_TEXT_BLOCKS" value="true" />
|
||||
<option name="IMPORT_LAYOUT_TABLE">
|
||||
<value>
|
||||
<package name="" withSubpackages="true" static="false" module="true" />
|
||||
<package name="android" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="androidx" withSubpackages="true" static="false" />
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
java 17.0.2
|
||||
java openjdk-17.0.2
|
||||
uv latest
|
||||
|
||||
@@ -62,7 +62,7 @@ You will need to [sign our CLA](https://signal.org/cla/) before your pull reques
|
||||
### Follow the Code Style Guidelines
|
||||
Ensure that your code adheres to the [Code Style Guidelines](https://github.com/signalapp/Signal-Android/wiki/Code-Style-Guidelines) before submitting a pull request.
|
||||
|
||||
You can run `./gradlew format` to automatically check conformance with some of these guidelines.
|
||||
You can run `./gradlew format` to automatically format your code. See `lefthook.yml` for instructions on how to run this as a git hook.
|
||||
|
||||
### Submit finished and well-tested pull requests
|
||||
Please do not submit pull requests that are still a work in progress. Pull requests should be thoroughly tested and ready to merge before they are submitted.
|
||||
|
||||
17
README.md
17
README.md
@@ -1,14 +1,18 @@
|
||||
# Signal Android
|
||||
|
||||
Signal is a simple, powerful, and secure messenger.
|
||||
Signal is a simple, powerful, and secure messenger that uses your phone's data connection (WiFi/3G/4G/5G) to communicate securely.
|
||||
|
||||
Signal uses your phone's data connection (WiFi/3G/4G/5G) to communicate securely. Millions of people use Signal every day for free and instantaneous communication anywhere in the world. Send and receive high-fidelity messages, participate in HD voice/video calls, and explore a growing set of new features that help you stay connected. Signal’s advanced privacy-preserving technology is always enabled, so you can focus on sharing the moments that matter with the people who matter to you.
|
||||
Millions of people use Signal every day for free and instantaneous communication anywhere in the world. Send and receive high-fidelity messages, participate in HD voice/video calls, and explore a growing set of new features that help you stay connected.
|
||||
|
||||
Currently available on the Play Store and [signal.org](https://signal.org/android/apk/).
|
||||
Signal’s advanced privacy-preserving technology is always enabled, so you can focus on sharing the moments that matter with the people who matter to you.
|
||||
|
||||
Currently available on the [Play Store](https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms) and [signal.org](https://signal.org/android/apk/).
|
||||
|
||||
<a href='https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png' height='80px'/></a>
|
||||
|
||||
## Contributing Bug reports
|
||||
Also available on [iOS](https://github.com/signalapp/signal-ios) and [Desktop](https://github.com/signalapp/signal-desktop).
|
||||
|
||||
## Contributing Bug Reports
|
||||
We use GitHub for bug tracking. Please search the existing issues for your bug and create a new one if the issue is not yet tracked!
|
||||
|
||||
https://github.com/signalapp/Signal-Android/issues
|
||||
@@ -21,6 +25,11 @@ https://play.google.com/apps/testing/org.thoughtcrime.securesms
|
||||
|
||||
If you're interested in a life of peace and tranquility, stick with the standard releases.
|
||||
|
||||
## Contributing Translations
|
||||
Interested in helping translate Signal? Contribute here:
|
||||
|
||||
https://community.signalusers.org/c/translation-feedback/
|
||||
|
||||
## Contributing Code
|
||||
|
||||
If you're new to the Signal codebase, we recommend going through our issues and picking out a simple bug to fix in order to get yourself familiar. Also please have a look at the [CONTRIBUTING.md](https://github.com/signalapp/Signal-Android/blob/main/CONTRIBUTING.md), that might answer some of your questions.
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
import com.android.build.api.dsl.ManagedVirtualDevice
|
||||
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
||||
import java.io.FileInputStream
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
import java.time.Instant
|
||||
import java.time.ZoneOffset
|
||||
import java.time.format.DateTimeFormatter
|
||||
import java.util.Locale
|
||||
import java.util.Properties
|
||||
|
||||
plugins {
|
||||
@@ -12,6 +13,8 @@ plugins {
|
||||
alias(libs.plugins.jetbrains.kotlin.android)
|
||||
alias(libs.plugins.ktlint)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
alias(libs.plugins.kotlinx.serialization)
|
||||
alias(benchmarkLibs.plugins.baselineprofile)
|
||||
id("androidx.navigation.safeargs")
|
||||
id("kotlin-parcelize")
|
||||
id("com.squareup.wire")
|
||||
@@ -21,12 +24,34 @@ plugins {
|
||||
|
||||
apply(from = "static-ips.gradle.kts")
|
||||
|
||||
val canonicalVersionCode = 1539
|
||||
val canonicalVersionName = "7.41.0"
|
||||
val currentHotfixVersion = 0
|
||||
val canonicalVersionCode = 1670
|
||||
val canonicalVersionName = "8.4.2"
|
||||
val currentHotfixVersion = 1
|
||||
val maxHotfixVersions = 100
|
||||
|
||||
val keystores: Map<String, Properties?> = mapOf("debug" to loadKeystoreProperties("keystore.debug.properties"))
|
||||
// We don't want versions to ever end in 0 so that they don't conflict with nightly versions
|
||||
val possibleHotfixVersions = (0 until maxHotfixVersions).toList().filter { it % 10 != 0 }
|
||||
|
||||
val debugKeystorePropertiesProvider = providers.of(PropertiesFileValueSource::class.java) {
|
||||
parameters.file.set(rootProject.layout.projectDirectory.file("keystore.debug.properties"))
|
||||
}
|
||||
|
||||
val languagesProvider = providers.of(LanguageListValueSource::class.java) {
|
||||
parameters.resDir.set(layout.projectDirectory.dir("src/main/res"))
|
||||
}
|
||||
|
||||
val languagesForBuildConfigProvider = languagesProvider.map { languages ->
|
||||
languages.joinToString(separator = ", ") { language -> "\"$language\"" }
|
||||
}
|
||||
|
||||
val localPropertiesFile = File(rootProject.projectDir, "local.properties")
|
||||
val localProperties: Properties? = if (localPropertiesFile.exists()) {
|
||||
Properties().apply { localPropertiesFile.inputStream().use { load(it) } }
|
||||
} else {
|
||||
null
|
||||
}
|
||||
val quickstartCredentialsDir: String? = localProperties?.getProperty("quickstart.credentials.dir")
|
||||
val benchmarkBackupFile: String? = localProperties?.getProperty("benchmark.backup.file")
|
||||
|
||||
val selectableVariants = listOf(
|
||||
"nightlyProdSpinner",
|
||||
@@ -37,6 +62,8 @@ val selectableVariants = listOf(
|
||||
"playProdSpinner",
|
||||
"playProdCanary",
|
||||
"playProdPerf",
|
||||
"playProdMocked",
|
||||
"playProdNonMinifiedMocked",
|
||||
"playProdBenchmark",
|
||||
"playProdInstrumentation",
|
||||
"playProdRelease",
|
||||
@@ -46,18 +73,14 @@ val selectableVariants = listOf(
|
||||
"playStagingPerf",
|
||||
"playStagingInstrumentation",
|
||||
"playStagingRelease",
|
||||
"playProdQuickstart",
|
||||
"playStagingQuickstart",
|
||||
"websiteProdSpinner",
|
||||
"websiteProdRelease"
|
||||
"websiteProdRelease",
|
||||
"githubProdSpinner",
|
||||
"githubProdRelease"
|
||||
)
|
||||
|
||||
val signalBuildToolsVersion: String by rootProject.extra
|
||||
val signalCompileSdkVersion: String by rootProject.extra
|
||||
val signalTargetSdkVersion: Int by rootProject.extra
|
||||
val signalMinSdkVersion: Int by rootProject.extra
|
||||
val signalNdkVersion: String by rootProject.extra
|
||||
val signalJavaVersion: JavaVersion by rootProject.extra
|
||||
val signalKotlinJvmTarget: String by rootProject.extra
|
||||
|
||||
wire {
|
||||
kotlin {
|
||||
javaInterop = true
|
||||
@@ -68,20 +91,22 @@ wire {
|
||||
}
|
||||
|
||||
protoPath {
|
||||
srcDir("${project.rootDir}/libsignal-service/src/main/protowire")
|
||||
srcDir("${project.rootDir}/lib/libsignal-service/src/main/protowire")
|
||||
}
|
||||
// Handled by libsignal
|
||||
prune("signalservice.DecryptionErrorMessage")
|
||||
}
|
||||
|
||||
ktlint {
|
||||
version.set("1.2.1")
|
||||
version.set("1.5.0")
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "org.thoughtcrime.securesms"
|
||||
|
||||
buildToolsVersion = signalBuildToolsVersion
|
||||
compileSdkVersion = signalCompileSdkVersion
|
||||
ndkVersion = signalNdkVersion
|
||||
buildToolsVersion = libs.versions.buildTools.get()
|
||||
compileSdkVersion = libs.versions.compileSdk.get()
|
||||
ndkVersion = libs.versions.ndk.get()
|
||||
|
||||
flavorDimensions += listOf("distribution", "environment")
|
||||
testBuildType = "instrumentation"
|
||||
@@ -89,12 +114,12 @@ android {
|
||||
android.bundle.language.enableSplit = false
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = signalKotlinJvmTarget
|
||||
jvmTarget = libs.versions.kotlinJvmTarget.get()
|
||||
freeCompilerArgs = listOf("-Xjvm-default=all")
|
||||
suppressWarnings = true
|
||||
}
|
||||
|
||||
keystores["debug"]?.let { properties ->
|
||||
debugKeystorePropertiesProvider.orNull?.let { properties ->
|
||||
signingConfigs.getByName("debug").apply {
|
||||
storeFile = file("${project.rootDir}/${properties.getProperty("storeFile")}")
|
||||
storePassword = properties.getProperty("storePassword")
|
||||
@@ -134,8 +159,8 @@ android {
|
||||
|
||||
compileOptions {
|
||||
isCoreLibraryDesugaringEnabled = true
|
||||
sourceCompatibility = signalJavaVersion
|
||||
targetCompatibility = signalJavaVersion
|
||||
sourceCompatibility = JavaVersion.toVersion(libs.versions.javaVersion.get())
|
||||
targetCompatibility = JavaVersion.toVersion(libs.versions.javaVersion.get())
|
||||
}
|
||||
|
||||
packaging {
|
||||
@@ -157,7 +182,8 @@ android {
|
||||
"META-INF/LICENSE-notice.md",
|
||||
"META-INF/proguard/androidx-annotations.pro",
|
||||
"**/*.dylib",
|
||||
"**/*.dll"
|
||||
"**/*.dll",
|
||||
"**/*.proto"
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -173,11 +199,14 @@ android {
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
versionCode = (canonicalVersionCode * maxHotfixVersions) + currentHotfixVersion
|
||||
if (currentHotfixVersion >= maxHotfixVersions) {
|
||||
throw AssertionError("Hotfix version offset is too large!")
|
||||
}
|
||||
versionCode = (canonicalVersionCode * maxHotfixVersions) + possibleHotfixVersions[currentHotfixVersion]
|
||||
versionName = canonicalVersionName
|
||||
|
||||
minSdk = signalMinSdkVersion
|
||||
targetSdk = signalTargetSdkVersion
|
||||
minSdk = libs.versions.minSdk.get().toInt()
|
||||
targetSdk = libs.versions.targetSdk.get().toInt()
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
project.ext.set("archivesBaseName", "Signal")
|
||||
@@ -210,12 +239,13 @@ android {
|
||||
buildConfigField("String[]", "SIGNAL_CDSI_IPS", rootProject.extra["cdsi_ips"] as String)
|
||||
buildConfigField("String[]", "SIGNAL_SVR2_IPS", rootProject.extra["svr2_ips"] as String)
|
||||
buildConfigField("String", "SIGNAL_AGENT", "\"OWA\"")
|
||||
buildConfigField("String", "SVR2_MRENCLAVE", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"")
|
||||
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\"")
|
||||
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"29cd63c87bea751e3bfd0fbd401279192e2e5c99948b4ee9437eafc4968355fb\"")
|
||||
buildConfigField("String", "SVR2_MRENCLAVE", "\"1240acbd4aa26974184844c8a46b1022d3957ac8a76c1fd8f5b1a15141ee0708\"")
|
||||
buildConfigField("String[]", "UNIDENTIFIED_SENDER_TRUST_ROOTS", "new String[]{ \"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\", \"BUkY0I+9+oPgDCn4+Ac6Iu813yvqkDr/ga8DzLxFxuk6\"}")
|
||||
buildConfigField("String", "ZKGROUP_SERVER_PUBLIC_PARAMS", "\"AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X36nOoGPs54XsEGzPdEV+itQNGUFEjY6X9Uv+Acuks7NpyGvCoKxGwgKgE5XyJ+nNKlyHHOLb6N1NuHyBrZrgtY/JYJHRooo5CEqYKBqdFnmbTVGEkCvJKxLnjwKWf+fEPoWeQFj5ObDjcKMZf2Jm2Ae69x+ikU5gBXsRmoF94GXTLfN0/vLt98KDPnxwAQL9j5V1jGOY8jQl6MLxEs56cwXN0dqCnImzVH3TZT1cJ8SW1BRX6qIVxEzjsSGx3yxF3suAilPMqGRp4ffyopjMD1JXiKR2RwLKzizUe5e8XyGOy9fplzhw3jVzTRyUZTRSZKkMLWcQ/gv0E4aONNqs4P+NameAZYOD12qRkxosQQP5uux6B2nRyZ7sAV54DgFyLiRcq1FvwKw2EPQdk4HDoePrO/RNUbyNddnM/mMgj4FW65xCoT1LmjrIjsv/Ggdlx46ueczhMgtBunx1/w8k8V+l8LVZ8gAT6wkU5J+DPQalQguMg12Jzug3q4TbdHiGCmD9EunCwOmsLuLJkz6EcSYXtrlDEnAM+hicw7iergYLLlMXpfTdGxJCWJmP4zqUFeTTmsmhsjGBt7NiEB/9pFFEB3pSbf4iiUukw63Eo8Aqnf4iwob6X1QviCWuc8t0LUlT9vALgh/f2DPVOOmR0RW6bgRvc7DSF20V/omg+YBw==\"")
|
||||
buildConfigField("String", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AByD873dTilmOSG0TjKrvpeaKEsUmIO8Vx9BeMmftwUs9v7ikPwM8P3OHyT0+X3EUMZrSe9VUp26Wai51Q9I8mdk0hX/yo7CeFGJyzoOqn8e/i4Ygbn5HoAyXJx5eXfIbqpc0bIxzju4H/HOQeOpt6h742qii5u/cbwOhFZCsMIbElZTaeU+BWMBQiZHIGHT5IE0qCordQKZ5iPZom0HeFa8Yq0ShuEyAl0WINBiY6xE3H/9WnvzXBbMuuk//eRxXgzO8ieCeK8FwQNxbfXqZm6Ro1cMhCOF3u7xoX83QhpN\"")
|
||||
buildConfigField("String", "BACKUP_SERVER_PUBLIC_PARAMS", "\"AJwNSU55fsFCbgaxGRD11wO1juAs8Yr5GF8FPlGzzvdJJIKH5/4CC7ZJSOe3yL2vturVaRU2Cx0n751Vt8wkj1bozK3CBV1UokxV09GWf+hdVImLGjXGYLLhnI1J2TWEe7iWHyb553EEnRb5oxr9n3lUbNAJuRmFM7hrr0Al0F0wrDD4S8lo2mGaXe0MJCOM166F8oYRQqpFeEHfiLnxA1O8ZLh7vMdv4g9jI5phpRBTsJ5IjiJrWeP0zdIGHEssUeprDZ9OUJ14m0v61eYJMKsf59Bn+mAT2a7YfB+Don9O\"")
|
||||
buildConfigField("String[]", "LANGUAGES", "new String[]{ ${languageList().map { "\"$it\"" }.joinToString(separator = ", ")} }")
|
||||
buildConfigField("String[]", "LANGUAGES", "new String[]{ ${languagesForBuildConfigProvider.get()} }")
|
||||
buildConfigField("int", "CANONICAL_VERSION_CODE", "$canonicalVersionCode")
|
||||
buildConfigField("String", "DEFAULT_CURRENCIES", "\"EUR,AUD,GBP,CAD,CNY\"")
|
||||
buildConfigField("String", "GIPHY_API_KEY", "\"3o6ZsYH6U6Eri53TXy\"")
|
||||
@@ -231,7 +261,8 @@ android {
|
||||
buildConfigField("String", "STRIPE_BASE_URL", "\"https://api.stripe.com/v1\"")
|
||||
buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_live_6cmGZopuTsV8novGgJJW9JpC00vLIgtQ1D\"")
|
||||
buildConfigField("boolean", "TRACING_ENABLED", "false")
|
||||
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "false")
|
||||
buildConfigField("boolean", "LINK_DEVICE_UX_ENABLED", "false")
|
||||
buildConfigField("boolean", "USE_STRING_ID", "false")
|
||||
|
||||
ndk {
|
||||
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
|
||||
@@ -253,7 +284,7 @@ android {
|
||||
|
||||
buildTypes {
|
||||
getByName("debug") {
|
||||
if (keystores["debug"] != null) {
|
||||
if (debugKeystorePropertiesProvider.orNull != null) {
|
||||
signingConfig = signingConfigs["debug"]
|
||||
}
|
||||
isDefault = true
|
||||
@@ -286,6 +317,7 @@ android {
|
||||
manifestPlaceholders["mapsKey"] = getMapsKey()
|
||||
|
||||
buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Debug\"")
|
||||
buildConfigField("boolean", "LINK_DEVICE_UX_ENABLED", "true")
|
||||
}
|
||||
|
||||
getByName("release") {
|
||||
@@ -329,8 +361,25 @@ android {
|
||||
isDebuggable = false
|
||||
isMinifyEnabled = true
|
||||
matchingFallbacks += "debug"
|
||||
applicationIdSuffix = ".benchmark"
|
||||
|
||||
buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Benchmark\"")
|
||||
buildConfigField("boolean", "TRACING_ENABLED", "true")
|
||||
buildConfigField("String[]", "UNIDENTIFIED_SENDER_TRUST_ROOTS", "new String[]{ \"BVT/2gHqbrG1xzuIypLIOjFgMtihrMld1/5TGADL6Dhv\"}")
|
||||
|
||||
manifestPlaceholders["applicationClass"] = "org.thoughtcrime.securesms.BenchmarkApplicationContext"
|
||||
}
|
||||
|
||||
create("mocked") {
|
||||
initWith(getByName("debug"))
|
||||
isDefault = false
|
||||
isDebuggable = false
|
||||
isMinifyEnabled = true
|
||||
matchingFallbacks += "debug"
|
||||
buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Benchmark\"")
|
||||
buildConfigField("boolean", "TRACING_ENABLED", "true")
|
||||
|
||||
manifestPlaceholders["applicationClass"] = "org.thoughtcrime.securesms.ApplicationContext"
|
||||
}
|
||||
|
||||
create("canary") {
|
||||
@@ -340,6 +389,14 @@ android {
|
||||
matchingFallbacks += "debug"
|
||||
buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Canary\"")
|
||||
}
|
||||
|
||||
create("quickstart") {
|
||||
initWith(getByName("debug"))
|
||||
isDefault = false
|
||||
isMinifyEnabled = false
|
||||
matchingFallbacks += "debug"
|
||||
buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Quickstart\"")
|
||||
}
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
@@ -358,19 +415,20 @@ android {
|
||||
buildConfigField("String", "BUILD_DISTRIBUTION_TYPE", "\"website\"")
|
||||
}
|
||||
|
||||
create("nightly") {
|
||||
val apkUpdateManifestUrl = if (file("${project.rootDir}/nightly-url.txt").exists()) {
|
||||
file("${project.rootDir}/nightly-url.txt").readText().trim()
|
||||
} else {
|
||||
"<unset>"
|
||||
}
|
||||
|
||||
create("github") {
|
||||
dimension = "distribution"
|
||||
versionNameSuffix = "-nightly-untagged-${getDateSuffix()}"
|
||||
buildConfigField("boolean", "MANAGES_APP_UPDATES", "true")
|
||||
buildConfigField("String", "APK_UPDATE_MANIFEST_URL", "\"${apkUpdateManifestUrl}\"")
|
||||
buildConfigField("boolean", "MANAGES_APP_UPDATES", "false")
|
||||
buildConfigField("String", "APK_UPDATE_MANIFEST_URL", "null")
|
||||
buildConfigField("String", "BUILD_DISTRIBUTION_TYPE", "\"github\"")
|
||||
}
|
||||
|
||||
create("nightly") {
|
||||
dimension = "distribution"
|
||||
versionNameSuffix = "-nightly-untagged-${getGitHash()}"
|
||||
buildConfigField("boolean", "MANAGES_APP_UPDATES", "false")
|
||||
buildConfigField("String", "APK_UPDATE_MANIFEST_URL", "null")
|
||||
buildConfigField("String", "BUILD_DISTRIBUTION_TYPE", "\"nightly\"")
|
||||
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
|
||||
buildConfigField("boolean", "LINK_DEVICE_UX_ENABLED", "true")
|
||||
}
|
||||
|
||||
create("prod") {
|
||||
@@ -394,8 +452,9 @@ android {
|
||||
buildConfigField("String", "SIGNAL_CDN3_URL", "\"https://cdn3-staging.signal.org\"")
|
||||
buildConfigField("String", "SIGNAL_CDSI_URL", "\"https://cdsi.staging.signal.org\"")
|
||||
buildConfigField("String", "SIGNAL_SVR2_URL", "\"https://svr2.staging.signal.org\"")
|
||||
buildConfigField("String", "SVR2_MRENCLAVE", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"")
|
||||
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\"")
|
||||
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"a75542d82da9f6914a1e31f8a7407053b99cc99a0e7291d8fbd394253e19b036\"")
|
||||
buildConfigField("String", "SVR2_MRENCLAVE", "\"97f151f6ed078edbbfd72fa9cae694dcc08353f1f5e8d9ccd79a971b10ffc535\"")
|
||||
buildConfigField("String[]", "UNIDENTIFIED_SENDER_TRUST_ROOTS", "new String[]{\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\", \"BYhU6tPjqP46KGZEzRs1OL4U39V5dlPJ/X09ha4rErkm\"}")
|
||||
buildConfigField("String", "ZKGROUP_SERVER_PUBLIC_PARAMS", "\"ABSY21VckQcbSXVNCGRYJcfWHiAMZmpTtTELcDmxgdFbtp/bWsSxZdMKzfCp8rvIs8ocCU3B37fT3r4Mi5qAemeGeR2X+/YmOGR5ofui7tD5mDQfstAI9i+4WpMtIe8KC3wU5w3Inq3uNWVmoGtpKndsNfwJrCg0Hd9zmObhypUnSkfYn2ooMOOnBpfdanRtrvetZUayDMSC5iSRcXKpdlukrpzzsCIvEwjwQlJYVPOQPj4V0F4UXXBdHSLK05uoPBCQG8G9rYIGedYsClJXnbrgGYG3eMTG5hnx4X4ntARBgELuMWWUEEfSK0mjXg+/2lPmWcTZWR9nkqgQQP0tbzuiPm74H2wMO4u1Wafe+UwyIlIT9L7KLS19Aw8r4sPrXZSSsOZ6s7M1+rTJN0bI5CKY2PX29y5Ok3jSWufIKcgKOnWoP67d5b2du2ZVJjpjfibNIHbT/cegy/sBLoFwtHogVYUewANUAXIaMPyCLRArsKhfJ5wBtTminG/PAvuBdJ70Z/bXVPf8TVsR292zQ65xwvWTejROW6AZX6aqucUjlENAErBme1YHmOSpU6tr6doJ66dPzVAWIanmO/5mgjNEDeK7DDqQdB1xd03HT2Qs2TxY3kCK8aAb/0iM0HQiXjxZ9HIgYhbtvGEnDKW5ILSUydqH/KBhW4Pb0jZWnqN/YgbWDKeJxnDbYcUob5ZY5Lt5ZCMKuaGUvCJRrCtuugSMaqjowCGRempsDdJEt+cMaalhZ6gczklJB/IbdwENW9KeVFPoFNFzhxWUIS5ML9riVYhAtE6JE5jX0xiHNVIIPthb458cfA8daR0nYfYAUKogQArm0iBezOO+mPk5vCNWI+wwkyFCqNDXz/qxl1gAntuCJtSfq9OC3NkdhQlgYQ==\"")
|
||||
buildConfigField("String", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AHILOIrFPXX9laLbalbA9+L1CXpSbM/bTJXZGZiuyK1JaI6dK5FHHWL6tWxmHKYAZTSYmElmJ5z2A5YcirjO/yfoemE03FItyaf8W1fE4p14hzb5qnrmfXUSiAIVrhaXVwIwSzH6RL/+EO8jFIjJ/YfExfJ8aBl48CKHgu1+A6kWynhttonvWWx6h7924mIzW0Czj2ROuh4LwQyZypex4GuOPW8sgIT21KNZaafgg+KbV7XM1x1tF3XA17B4uGUaDbDw2O+nR1+U5p6qHPzmJ7ggFjSN6Utu+35dS1sS0P9N\"")
|
||||
buildConfigField("String", "BACKUP_SERVER_PUBLIC_PARAMS", "\"AHYrGb9IfugAAJiPKp+mdXUx+OL9zBolPYHYQz6GI1gWjpEu5me3zVNSvmYY4zWboZHif+HG1sDHSuvwFd0QszSwuSF4X4kRP3fJREdTZ5MCR0n55zUppTwfHRW2S4sdQ0JGz7YDQIJCufYSKh0pGNEHL6hv79Agrdnr4momr3oXdnkpVBIp3HWAQ6IbXQVSG18X36GaicI1vdT0UFmTwU2KTneluC2eyL9c5ff8PcmiS+YcLzh0OKYQXB5ZfQ06d6DiINvDQLy75zcfUOniLAj0lGJiHxGczin/RXisKSR8\"")
|
||||
@@ -407,7 +466,6 @@ android {
|
||||
|
||||
buildConfigField("String", "BUILD_ENVIRONMENT_TYPE", "\"Staging\"")
|
||||
buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_test_sngOd8FnXNkpce9nPXawKrJD00kIDngZkD\"")
|
||||
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -418,42 +476,70 @@ android {
|
||||
ignoreWarnings = true
|
||||
quiet = true
|
||||
disable += "LintError"
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
outputs
|
||||
.map { it as com.android.build.gradle.internal.api.ApkVariantOutputImpl }
|
||||
.forEach { output ->
|
||||
if (output.baseName.contains("nightly")) {
|
||||
var tag = getCurrentGitTag()
|
||||
if (!tag.isNullOrEmpty()) {
|
||||
if (tag.startsWith("v")) {
|
||||
tag = tag.substring(1)
|
||||
}
|
||||
output.versionNameOverride = tag
|
||||
output.outputFileName = output.outputFileName.replace(".apk", "-${output.versionNameOverride}.apk")
|
||||
} else {
|
||||
output.outputFileName = output.outputFileName.replace(".apk", "-$versionName.apk")
|
||||
}
|
||||
} else {
|
||||
output.outputFileName = output.outputFileName.replace(".apk", "-$versionName.apk")
|
||||
|
||||
if (currentHotfixVersion >= maxHotfixVersions) {
|
||||
throw AssertionError("Hotfix version is too large!")
|
||||
}
|
||||
}
|
||||
}
|
||||
lintConfig = rootProject.file("lint.xml")
|
||||
}
|
||||
|
||||
androidComponents {
|
||||
beforeVariants { variant ->
|
||||
variant.enable = variant.name in selectableVariants
|
||||
}
|
||||
onVariants { variant ->
|
||||
onVariants(selector().all()) { variant: com.android.build.api.variant.ApplicationVariant ->
|
||||
// Include the test-only library on debug builds.
|
||||
if (variant.buildType != "instrumentation") {
|
||||
variant.packaging.jniLibs.excludes.add("**/libsignal_jni_testing.so")
|
||||
}
|
||||
|
||||
// Starting with minSdk 23, Android leaves native libraries uncompressed, which is fine for the Play Store, but not for our self-distributed APKs.
|
||||
// This reverts it to the legacy behavior, compressing the native libraries, and drastically reducing the APK file size.
|
||||
if (variant.name.contains("website", ignoreCase = true) || variant.name.contains("github", ignoreCase = true)) {
|
||||
variant.packaging.jniLibs.useLegacyPackaging.set(true)
|
||||
}
|
||||
|
||||
// Version overrides
|
||||
if (variant.name.contains("nightly", ignoreCase = true)) {
|
||||
var tag = getNightlyTagForCurrentCommit()
|
||||
if (!tag.isNullOrEmpty()) {
|
||||
if (tag.startsWith("v")) {
|
||||
tag = tag.substring(1)
|
||||
}
|
||||
|
||||
// We add a multiple of maxHotfixVersions to nightlies to ensure we're always at least that many versions ahead
|
||||
val nightlyBuffer = (5 * maxHotfixVersions)
|
||||
val nightlyVersionCode = (canonicalVersionCode * maxHotfixVersions) + (getNightlyBuildNumber(tag) * 10) + nightlyBuffer
|
||||
|
||||
variant.outputs.forEach { output ->
|
||||
output.versionName.set("$tag | ${getLastCommitDateTimeUtc()}")
|
||||
output.versionCode.set(nightlyVersionCode)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onVariants(selector().withBuildType("quickstart")) { variant ->
|
||||
val environment = variant.flavorName?.let { name ->
|
||||
when {
|
||||
name.contains("staging", ignoreCase = true) -> "staging"
|
||||
name.contains("prod", ignoreCase = true) -> "prod"
|
||||
else -> "prod"
|
||||
}
|
||||
} ?: "prod"
|
||||
|
||||
val taskProvider = tasks.register<CopyQuickstartCredentialsTask>("copyQuickstartCredentials${variant.name.capitalize()}") {
|
||||
if (quickstartCredentialsDir != null) {
|
||||
inputDir.set(File(quickstartCredentialsDir))
|
||||
}
|
||||
filePrefix.set("${environment}_")
|
||||
}
|
||||
variant.sources.assets?.addGeneratedSourceDirectory(taskProvider) { it.outputDir }
|
||||
}
|
||||
|
||||
onVariants(selector().withBuildType("benchmark")) { variant ->
|
||||
val taskProvider = tasks.register<CopyBenchmarkBackupTask>("copyBenchmarkBackup${variant.name.capitalize()}") {
|
||||
if (benchmarkBackupFile != null) {
|
||||
inputFile.set(File(benchmarkBackupFile))
|
||||
}
|
||||
}
|
||||
variant.sources.assets?.addGeneratedSourceDirectory(taskProvider) { it.outputDir }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -466,6 +552,41 @@ android {
|
||||
java.srcDir(path)
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
getByName("mocked") {
|
||||
java.srcDir("$projectDir/src/benchmarkShared/java")
|
||||
manifest.srcFile("$projectDir/src/benchmarkShared/AndroidManifest.xml")
|
||||
}
|
||||
|
||||
getByName("benchmark") {
|
||||
java.srcDir("$projectDir/src/benchmarkShared/java")
|
||||
manifest.srcFile("$projectDir/src/benchmarkShared/AndroidManifest.xml")
|
||||
}
|
||||
}
|
||||
|
||||
applicationVariants.configureEach {
|
||||
outputs.configureEach {
|
||||
if (this is com.android.build.gradle.internal.api.BaseVariantOutputImpl) {
|
||||
val fileVersionName = versionName.substringBefore(" |")
|
||||
outputFileName = outputFileName.replace(".apk", "-$fileVersionName.apk")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
baselineProfile {
|
||||
warnings {
|
||||
disabledVariants = false
|
||||
}
|
||||
|
||||
mergeIntoMain = true
|
||||
|
||||
variants.create("mocked") {
|
||||
from(project(":baseline-profile"))
|
||||
}
|
||||
|
||||
dexLayoutOptimization = false
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -473,22 +594,27 @@ dependencies {
|
||||
ktlintRuleset(libs.ktlint.twitter.compose)
|
||||
coreLibraryDesugaring(libs.android.tools.desugar)
|
||||
|
||||
implementation(project(":libsignal-service"))
|
||||
implementation(project(":paging"))
|
||||
implementation(project(":core-util"))
|
||||
implementation(project(":glide-config"))
|
||||
implementation(project(":video"))
|
||||
implementation(project(":device-transfer"))
|
||||
implementation(project(":image-editor"))
|
||||
implementation(project(":donations"))
|
||||
implementation(project(":contacts"))
|
||||
implementation(project(":qr"))
|
||||
implementation(project(":sticky-header-grid"))
|
||||
implementation(project(":photoview"))
|
||||
implementation(project(":core-ui"))
|
||||
implementation(project(":lib:libsignal-service"))
|
||||
implementation(project(":lib:paging"))
|
||||
implementation(project(":core:util"))
|
||||
implementation(project(":lib:glide"))
|
||||
implementation(project(":lib:video"))
|
||||
implementation(project(":lib:device-transfer"))
|
||||
implementation(project(":lib:image-editor"))
|
||||
implementation(project(":lib:donations"))
|
||||
implementation(project(":lib:debuglogs-viewer"))
|
||||
implementation(project(":lib:contacts"))
|
||||
implementation(project(":lib:qr"))
|
||||
implementation(project(":lib:sticky-header-grid"))
|
||||
implementation(project(":lib:photoview"))
|
||||
implementation(project(":lib:blurhash"))
|
||||
implementation(project(":core:ui"))
|
||||
implementation(project(":core:models"))
|
||||
implementation(project(":core:models-jvm"))
|
||||
implementation(project(":feature:camera"))
|
||||
implementation(project(":feature:registration"))
|
||||
|
||||
implementation(libs.androidx.fragment.ktx)
|
||||
implementation(libs.androidx.fragment.compose)
|
||||
implementation(libs.androidx.appcompat) {
|
||||
version {
|
||||
strictly("1.6.1")
|
||||
@@ -510,6 +636,8 @@ dependencies {
|
||||
implementation(libs.androidx.navigation.fragment.ktx)
|
||||
implementation(libs.androidx.navigation.ui.ktx)
|
||||
implementation(libs.androidx.navigation.compose)
|
||||
implementation(libs.androidx.navigation3.runtime)
|
||||
implementation(libs.androidx.navigation3.ui)
|
||||
implementation(libs.androidx.lifecycle.viewmodel.ktx)
|
||||
implementation(libs.androidx.lifecycle.livedata.ktx)
|
||||
implementation(libs.androidx.lifecycle.process)
|
||||
@@ -526,6 +654,7 @@ dependencies {
|
||||
implementation(libs.androidx.concurrent.futures)
|
||||
implementation(libs.androidx.autofill)
|
||||
implementation(libs.androidx.biometric)
|
||||
implementation(libs.androidx.core.telecom)
|
||||
implementation(libs.androidx.sharetarget)
|
||||
implementation(libs.androidx.profileinstaller)
|
||||
implementation(libs.androidx.asynclayoutinflater)
|
||||
@@ -538,6 +667,7 @@ dependencies {
|
||||
}
|
||||
implementation(libs.google.play.services.maps)
|
||||
implementation(libs.google.play.services.auth)
|
||||
implementation(libs.google.signin)
|
||||
implementation(libs.bundles.media3)
|
||||
implementation(libs.conscrypt.android)
|
||||
implementation(libs.signal.aesgcmprovider)
|
||||
@@ -581,11 +711,14 @@ dependencies {
|
||||
implementation(libs.rxjava3.rxandroid)
|
||||
implementation(libs.rxjava3.rxkotlin)
|
||||
implementation(libs.rxdogtag)
|
||||
implementation(libs.androidx.credentials)
|
||||
implementation(libs.androidx.credentials.compat)
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
|
||||
"playImplementation"(project(":billing"))
|
||||
"nightlyImplementation"(project(":billing"))
|
||||
implementation(project(":lib:billing"))
|
||||
implementation(project(":feature:media-send"))
|
||||
|
||||
"spinnerImplementation"(project(":spinner"))
|
||||
"spinnerImplementation"(project(":lib:spinner"))
|
||||
|
||||
"canaryImplementation"(libs.square.leakcanary)
|
||||
|
||||
@@ -611,9 +744,12 @@ dependencies {
|
||||
}
|
||||
testImplementation(testLibs.conscrypt.openjdk.uber)
|
||||
testImplementation(testLibs.mockk)
|
||||
testImplementation(testFixtures(project(":libsignal-service")))
|
||||
testImplementation(testFixtures(project(":lib:libsignal-service")))
|
||||
testImplementation(testLibs.espresso.core)
|
||||
testImplementation(testLibs.kotlinx.coroutines.test)
|
||||
testImplementation(libs.androidx.compose.ui.test.junit4)
|
||||
|
||||
"perfImplementation"(libs.androidx.compose.ui.test.manifest)
|
||||
|
||||
androidTestImplementation(platform(libs.androidx.compose.bom))
|
||||
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
|
||||
@@ -624,49 +760,11 @@ dependencies {
|
||||
androidTestImplementation(testLibs.androidx.test.ext.junit.ktx)
|
||||
androidTestImplementation(testLibs.assertk)
|
||||
androidTestImplementation(testLibs.mockk.android)
|
||||
androidTestImplementation(testLibs.square.okhttp.mockserver)
|
||||
androidTestImplementation(testLibs.diff.utils)
|
||||
|
||||
androidTestUtil(testLibs.androidx.test.orchestrator)
|
||||
}
|
||||
|
||||
fun assertIsGitRepo() {
|
||||
if (!file("${project.rootDir}/.git").exists()) {
|
||||
throw IllegalStateException("Must be a git repository to guarantee reproducible builds! (git hash is part of APK)")
|
||||
}
|
||||
}
|
||||
|
||||
fun getLastCommitTimestamp(): String {
|
||||
assertIsGitRepo()
|
||||
|
||||
return providers.exec {
|
||||
commandLine("git", "log", "-1", "--pretty=format:%ct")
|
||||
}.standardOutput.asText.get() + "000"
|
||||
}
|
||||
|
||||
fun getGitHash(): String {
|
||||
assertIsGitRepo()
|
||||
|
||||
return providers.exec {
|
||||
commandLine("git", "rev-parse", "HEAD")
|
||||
}.standardOutput.asText.get().trim().substring(0, 12)
|
||||
}
|
||||
|
||||
fun getCurrentGitTag(): String? {
|
||||
assertIsGitRepo()
|
||||
|
||||
val output = providers.exec {
|
||||
commandLine("git", "tag", "--points-at", "HEAD")
|
||||
}.standardOutput.asText.get().trim()
|
||||
|
||||
return if (output.isNotEmpty()) {
|
||||
val tags = output.split("\n").toList()
|
||||
tags.firstOrNull { it.contains("nightly") } ?: tags[0]
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType<Test>().configureEach {
|
||||
testLogging {
|
||||
events("failed")
|
||||
@@ -677,50 +775,165 @@ tasks.withType<Test>().configureEach {
|
||||
}
|
||||
}
|
||||
|
||||
gradle.taskGraph.whenReady {
|
||||
if (gradle.startParameter.taskNames.any { it.contains("nightly", ignoreCase = true) }) {
|
||||
if (!file("${project.rootDir}/nightly-url.txt").exists()) {
|
||||
throw GradleException("Missing required file: nightly-url.txt")
|
||||
}
|
||||
}
|
||||
fun getLastCommitTimestamp(): String {
|
||||
return providers.exec {
|
||||
commandLine("git", "log", "-1", "--pretty=format:%ct")
|
||||
}.standardOutput.asText.get() + "000"
|
||||
}
|
||||
|
||||
fun loadKeystoreProperties(filename: String): Properties? {
|
||||
val keystorePropertiesFile = file("${project.rootDir}/$filename")
|
||||
fun getGitHash(): String {
|
||||
return providers.exec {
|
||||
commandLine("git", "rev-parse", "HEAD")
|
||||
}.standardOutput.asText.get().trim().substring(0, 12)
|
||||
}
|
||||
|
||||
return if (keystorePropertiesFile.exists()) {
|
||||
val keystoreProperties = Properties()
|
||||
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
|
||||
keystoreProperties
|
||||
fun getNightlyTagForCurrentCommit(): String? {
|
||||
val output = providers.exec {
|
||||
commandLine("git", "tag", "--points-at", "HEAD")
|
||||
}.standardOutput.asText.get().trim()
|
||||
|
||||
return if (output.isNotEmpty()) {
|
||||
val tags = output.split("\n").toList()
|
||||
tags.firstOrNull { it.contains("nightly") } ?: tags[0]
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
fun getDateSuffix(): String {
|
||||
return SimpleDateFormat("yyyy-MM-dd-HH:mm").format(Date())
|
||||
fun getNightlyBuildNumber(tag: String?): Int {
|
||||
if (tag == null) {
|
||||
return 0
|
||||
}
|
||||
|
||||
val match = Regex("-(\\d{3})$").find(tag)
|
||||
return match?.groupValues?.get(1)?.toIntOrNull() ?: 0
|
||||
}
|
||||
|
||||
fun getLastCommitDateTimeUtc(): String {
|
||||
val timestamp = providers.exec {
|
||||
commandLine("git", "log", "-1", "--pretty=format:%ct")
|
||||
}.standardOutput.asText.get().trim().toLong()
|
||||
val instant = Instant.ofEpochSecond(timestamp)
|
||||
val formatter = DateTimeFormatter.ofPattern("MMM d '@' HH:mm 'UTC'", Locale.US)
|
||||
.withZone(ZoneOffset.UTC)
|
||||
return formatter.format(instant)
|
||||
}
|
||||
|
||||
fun getMapsKey(): String {
|
||||
val mapKey = file("${project.rootDir}/maps.key")
|
||||
return providers
|
||||
.gradleProperty("mapsKey")
|
||||
.orElse(providers.environmentVariable("MAPS_KEY"))
|
||||
.orElse("AIzaSyCSx9xea86GwDKGznCAULE9Y5a8b-TfN9U")
|
||||
.get()
|
||||
}
|
||||
|
||||
return if (mapKey.exists()) {
|
||||
mapKey.readLines()[0]
|
||||
} else {
|
||||
"AIzaSyCSx9xea86GwDKGznCAULE9Y5a8b-TfN9U"
|
||||
abstract class LanguageListValueSource : ValueSource<List<String>, LanguageListValueSource.Params> {
|
||||
interface Params : ValueSourceParameters {
|
||||
@get:InputDirectory
|
||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||
val resDir: DirectoryProperty
|
||||
}
|
||||
|
||||
override fun obtain(): List<String> {
|
||||
// In API 35, language codes for Hebrew and Indonesian now use the ISO 639-1 code ("he" and "id").
|
||||
// However, the value resources still only support the outdated code ("iw" and "in") so we have
|
||||
// to manually indicate that we support these languages.
|
||||
val updatedLanguageCodes = listOf("he", "id")
|
||||
|
||||
val resRoot = parameters.resDir.asFile.get()
|
||||
|
||||
val languages = resRoot
|
||||
.walkTopDown()
|
||||
.filter { it.isFile && it.name == "strings.xml" }
|
||||
.mapNotNull { stringFile -> stringFile.parentFile?.name }
|
||||
.map { valuesFolderName -> valuesFolderName.removePrefix("values-") }
|
||||
.filter { valuesFolderName -> valuesFolderName != "values" }
|
||||
.map { languageCode -> languageCode.replace("-r", "_") }
|
||||
.toList()
|
||||
.distinct()
|
||||
.sorted()
|
||||
|
||||
return languages + updatedLanguageCodes + "en"
|
||||
}
|
||||
}
|
||||
|
||||
fun Project.languageList(): List<String> {
|
||||
return fileTree("src/main/res") { include("**/strings.xml") }
|
||||
.map { stringFile -> stringFile.parentFile.name }
|
||||
.map { valuesFolderName -> valuesFolderName.replace("values-", "") }
|
||||
.filter { valuesFolderName -> valuesFolderName != "values" }
|
||||
.map { languageCode -> languageCode.replace("-r", "_") }
|
||||
.distinct()
|
||||
.sorted() + "en"
|
||||
abstract class PropertiesFileValueSource : ValueSource<Properties?, PropertiesFileValueSource.Params> {
|
||||
interface Params : ValueSourceParameters {
|
||||
@get:InputFile
|
||||
@get:Optional
|
||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||
val file: RegularFileProperty
|
||||
}
|
||||
|
||||
override fun obtain(): Properties? {
|
||||
val f: File = parameters.file.asFile.get()
|
||||
if (!f.exists()) return null
|
||||
|
||||
return Properties().apply {
|
||||
f.inputStream().use { load(it) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun String.capitalize(): String {
|
||||
return this.replaceFirstChar { it.uppercase() }
|
||||
}
|
||||
|
||||
abstract class CopyQuickstartCredentialsTask : DefaultTask() {
|
||||
@get:InputDirectory
|
||||
@get:Optional
|
||||
abstract val inputDir: DirectoryProperty
|
||||
|
||||
@get:Input
|
||||
abstract val filePrefix: Property<String>
|
||||
|
||||
@get:OutputDirectory
|
||||
abstract val outputDir: DirectoryProperty
|
||||
|
||||
@TaskAction
|
||||
fun copy() {
|
||||
if (!inputDir.isPresent) {
|
||||
throw GradleException("quickstart.credentials.dir is not set in local.properties. This is required for quickstart builds.")
|
||||
}
|
||||
|
||||
val prefix = filePrefix.get()
|
||||
val candidates = inputDir.get().asFile.listFiles()
|
||||
?.filter { it.extension == "json" && it.name.startsWith(prefix) }
|
||||
?: emptyList()
|
||||
|
||||
if (candidates.isEmpty()) {
|
||||
throw GradleException("No credential files matching '$prefix*.json' found in ${inputDir.get().asFile}. Add files like '${prefix}account1.json' to your credentials directory.")
|
||||
}
|
||||
|
||||
val chosen = candidates.random()
|
||||
logger.lifecycle("Selected quickstart credential: ${chosen.name}")
|
||||
|
||||
val dest = outputDir.get().asFile.resolve("quickstart")
|
||||
dest.mkdirs()
|
||||
chosen.copyTo(dest.resolve(chosen.name), overwrite = true)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class CopyBenchmarkBackupTask : DefaultTask() {
|
||||
@get:InputFile
|
||||
@get:Optional
|
||||
abstract val inputFile: RegularFileProperty
|
||||
|
||||
@get:OutputDirectory
|
||||
abstract val outputDir: DirectoryProperty
|
||||
|
||||
@TaskAction
|
||||
fun copy() {
|
||||
val dest = outputDir.get().asFile.resolve("backups")
|
||||
dest.mkdirs()
|
||||
|
||||
if (!inputFile.isPresent) {
|
||||
logger.lifecycle("benchmark.backup.file is not set in local.properties. Benchmark tests using backup data will crash at runtime.")
|
||||
return
|
||||
}
|
||||
|
||||
val backupFile = inputFile.get().asFile
|
||||
logger.lifecycle("Using benchmark backup: ${backupFile.absolutePath} (${backupFile.length() / 1024}KB)")
|
||||
backupFile.copyTo(dest.resolve("backup.binproto"), overwrite = true)
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user