mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-01-31 01:15:24 +01:00
Compare commits
10236 Commits
v1.5.0-dev
...
v1.7.4914
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f805d9432e | ||
|
|
054cb9e9fa | ||
|
|
1f77e7d90a | ||
|
|
7ed33832b8 | ||
|
|
d19e9cc662 | ||
|
|
846c9cec6a | ||
|
|
460e4b8bb3 | ||
|
|
2e6bd23f22 | ||
|
|
7763948fe4 | ||
|
|
2a0f001902 | ||
|
|
14df69e180 | ||
|
|
28b6389b36 | ||
|
|
905c0b8c7a | ||
|
|
b674cc95ac | ||
|
|
bccb2509b5 | ||
|
|
cd980c6604 | ||
|
|
ddff4ec083 | ||
|
|
5bf97be8ef | ||
|
|
7fadb6ed05 | ||
|
|
89688d67dd | ||
|
|
279007544a | ||
|
|
1c0f0e1423 | ||
|
|
1ab909addc | ||
|
|
99dfd15469 | ||
|
|
be18ecf74e | ||
|
|
713bd132dc | ||
|
|
20f03e237e | ||
|
|
7d3c3911ea | ||
|
|
ccfee2be83 | ||
|
|
1193b0b990 | ||
|
|
5a3ba4e563 | ||
|
|
e9c342ef74 | ||
|
|
8927ffa035 | ||
|
|
fdb0312326 | ||
|
|
2f21caa41c | ||
|
|
51a35d40e5 | ||
|
|
6ec524adec | ||
|
|
7d4a7ec8c7 | ||
|
|
0256c4521d | ||
|
|
be3ed181c1 | ||
|
|
38cf7884fe | ||
|
|
25d426e8b2 | ||
|
|
edff9ae684 | ||
|
|
a622e3bda6 | ||
|
|
4d54e28e63 | ||
|
|
c89d023f91 | ||
|
|
c7cfea1daa | ||
|
|
beb07365a0 | ||
|
|
0787c65e51 | ||
|
|
d48dea7273 | ||
|
|
2432cc6ed2 | ||
|
|
cf523d4215 | ||
|
|
906d87c4b8 | ||
|
|
9c4a92c015 | ||
|
|
0c056ba691 | ||
|
|
424158b28d | ||
|
|
57f118a5b5 | ||
|
|
65e75f3da2 | ||
|
|
41174cde45 | ||
|
|
cb7d01fb36 | ||
|
|
3e78f8e87d | ||
|
|
f2c032ba07 | ||
|
|
2ef1589e76 | ||
|
|
5c394557e3 | ||
|
|
5c4a5b0a61 | ||
|
|
be22b7349d | ||
|
|
023e4774a1 | ||
|
|
56b706f25e | ||
|
|
9d07ee43eb | ||
|
|
147a6c81a1 | ||
|
|
5972f4947d | ||
|
|
9c99a624d7 | ||
|
|
d812d83dda | ||
|
|
f81c5c2455 | ||
|
|
dc8c5e6209 | ||
|
|
14833582b2 | ||
|
|
cca813fd1d | ||
|
|
d4102e75c5 | ||
|
|
76a04efc5c | ||
|
|
a34e139843 | ||
|
|
a1727a2ac7 | ||
|
|
7ac224adf3 | ||
|
|
d5e3d02a98 | ||
|
|
68ad3e8db4 | ||
|
|
31029b2fe4 | ||
|
|
8b0c101768 | ||
|
|
50b66f526b | ||
|
|
f3fcf010fb | ||
|
|
4da53bd00d | ||
|
|
c6cef45f0e | ||
|
|
e36cd7fe5c | ||
|
|
0c24f2db7b | ||
|
|
8866faa8d5 | ||
|
|
b2dc31ba80 | ||
|
|
061ea30199 | ||
|
|
0e9e94d090 | ||
|
|
3321cb37ef | ||
|
|
d60a818791 | ||
|
|
3937a52b4f | ||
|
|
2c3902b1a1 | ||
|
|
f43b5ee76f | ||
|
|
bab16a5251 | ||
|
|
08c734d7fd | ||
|
|
36126a3ad9 | ||
|
|
ce505d33bd | ||
|
|
de0d859502 | ||
|
|
ce96d4bcc5 | ||
|
|
fb242274d5 | ||
|
|
938bc7cdd7 | ||
|
|
36865f2930 | ||
|
|
12e79cccf6 | ||
|
|
6180f12ba3 | ||
|
|
c00b6c6237 | ||
|
|
dbdc74fdef | ||
|
|
5bb0a07164 | ||
|
|
543f09999f | ||
|
|
812f32efdd | ||
|
|
784264eba4 | ||
|
|
ff9ca059c7 | ||
|
|
d4b0c39485 | ||
|
|
87c42aeaf4 | ||
|
|
5ba6e57c71 | ||
|
|
6d2ba5c2d0 | ||
|
|
0d42b81285 | ||
|
|
9ce2ae613b | ||
|
|
13c9e0e666 | ||
|
|
784118e9c1 | ||
|
|
df32a32d99 | ||
|
|
655241aed3 | ||
|
|
60a2b246e2 | ||
|
|
ebd60d93f3 | ||
|
|
cc4ba935b5 | ||
|
|
824147fd7d | ||
|
|
c3446a16cc | ||
|
|
82135d1892 | ||
|
|
1cff63bc01 | ||
|
|
e488e74313 | ||
|
|
1a17c9da86 | ||
|
|
20e1f773fc | ||
|
|
56d80ff293 | ||
|
|
80e176136a | ||
|
|
0ae66d3e24 | ||
|
|
802ab8238e | ||
|
|
ec9c07a646 | ||
|
|
b75ad663f2 | ||
|
|
e4a017fc00 | ||
|
|
5b486ca6b8 | ||
|
|
1c39ed6130 | ||
|
|
a47563b12f | ||
|
|
84491ff655 | ||
|
|
e5991a4379 | ||
|
|
0b3d4615b8 | ||
|
|
a8f6336b47 | ||
|
|
0b33df3341 | ||
|
|
744cc4b705 | ||
|
|
9d3cd5784f | ||
|
|
06ea58198a | ||
|
|
3692d7d090 | ||
|
|
460a2dbbd3 | ||
|
|
228f4f1010 | ||
|
|
2703b91e41 | ||
|
|
24171787f8 | ||
|
|
49d3338d4a | ||
|
|
a9d693e1c3 | ||
|
|
4ef69248d0 | ||
|
|
247b3ed740 | ||
|
|
1edca6235c | ||
|
|
ab5c03b1d9 | ||
|
|
d4cb35469d | ||
|
|
fd1b1d0c24 | ||
|
|
bf96ceeacc | ||
|
|
2c08b385e5 | ||
|
|
051d13ec7a | ||
|
|
a2a9643123 | ||
|
|
1286bfe75b | ||
|
|
1f74f82796 | ||
|
|
876b576679 | ||
|
|
c927e4785b | ||
|
|
97672828e8 | ||
|
|
b96978494b | ||
|
|
2f105cbe15 | ||
|
|
2539a07b7d | ||
|
|
73f903f402 | ||
|
|
94c48a4c2d | ||
|
|
eb8d938c94 | ||
|
|
92b8316182 | ||
|
|
610cb2626b | ||
|
|
2033f813da | ||
|
|
a6fbd0fe69 | ||
|
|
abadb7f80f | ||
|
|
1c6be3f400 | ||
|
|
52111be20a | ||
|
|
eae29bb1f2 | ||
|
|
9191e8ce91 | ||
|
|
2b4c7d12b6 | ||
|
|
7dd1f7321a | ||
|
|
088630a999 | ||
|
|
d2a5cdcca7 | ||
|
|
4b50d016b5 | ||
|
|
7a073e0e8d | ||
|
|
b56958abe4 | ||
|
|
57d042ca4a | ||
|
|
3895f3c826 | ||
|
|
75aed7c44f | ||
|
|
041c0ce86c | ||
|
|
90aabdf499 | ||
|
|
40f7ec3ca1 | ||
|
|
1e32fcaebe | ||
|
|
9f23755a62 | ||
|
|
dad03478fd | ||
|
|
484b75f755 | ||
|
|
7138faa5cd | ||
|
|
fef1706fc8 | ||
|
|
1929b20a6c | ||
|
|
3991ff5d3a | ||
|
|
e4b1c89719 | ||
|
|
3d51eec89c | ||
|
|
f9016f3ea7 | ||
|
|
3dce969a5e | ||
|
|
542d257b8f | ||
|
|
2eb7c47572 | ||
|
|
32621a9369 | ||
|
|
7676a74f73 | ||
|
|
1fae35231b | ||
|
|
cd4daa115f | ||
|
|
ad0190d6ed | ||
|
|
296dcccd81 | ||
|
|
7ba7e04a13 | ||
|
|
3109c5ef67 | ||
|
|
d5776e8946 | ||
|
|
c59ea602c5 | ||
|
|
16bebbea50 | ||
|
|
0e21b6da3d | ||
|
|
b3403c40e1 | ||
|
|
863e8bb290 | ||
|
|
1a16a527b3 | ||
|
|
c72329d990 | ||
|
|
dffeb2b5dd | ||
|
|
fef06a1544 | ||
|
|
7d9ad6daab | ||
|
|
822b166753 | ||
|
|
8fad768d39 | ||
|
|
d46b8390f1 | ||
|
|
4262715590 | ||
|
|
9818446c7d | ||
|
|
22682e4150 | ||
|
|
1d63779b7d | ||
|
|
c82f800794 | ||
|
|
d96dea49bf | ||
|
|
c574c3e08c | ||
|
|
e7e6f765b5 | ||
|
|
240586875c | ||
|
|
d6c5903569 | ||
|
|
55da5cc397 | ||
|
|
943359e328 | ||
|
|
92c54cc1f8 | ||
|
|
6ec0b44487 | ||
|
|
85d2ca626f | ||
|
|
68865a2bca | ||
|
|
8362e6f435 | ||
|
|
3804a58729 | ||
|
|
fbb67a6ee9 | ||
|
|
19d8b59ca7 | ||
|
|
7ca726492f | ||
|
|
96a43ca254 | ||
|
|
bf34eb32ed | ||
|
|
433612cde0 | ||
|
|
807db91140 | ||
|
|
7791809224 | ||
|
|
9b3d31cd47 | ||
|
|
65a3a97ab2 | ||
|
|
e3593574b0 | ||
|
|
f81d391546 | ||
|
|
bd3b00793a | ||
|
|
757a72fb57 | ||
|
|
fbbec480af | ||
|
|
ba3b43c66c | ||
|
|
e040b83b2c | ||
|
|
76f4a5b2fe | ||
|
|
4f4b9956b3 | ||
|
|
ba37a0f3a9 | ||
|
|
d4acb95d7c | ||
|
|
2887baefb8 | ||
|
|
9678bf1e2f | ||
|
|
e2fc68ff2d | ||
|
|
4a7b641bc3 | ||
|
|
719b83bf42 | ||
|
|
f201a2e5dd | ||
|
|
fd6f47f5ca | ||
|
|
8524fbbaf9 | ||
|
|
a371c5b7d0 | ||
|
|
ef7ce4dfc8 | ||
|
|
189f6fa2a3 | ||
|
|
472f4922bd | ||
|
|
8ba2f342df | ||
|
|
5d6b9d25bd | ||
|
|
1231499aaa | ||
|
|
9c4788432d | ||
|
|
4ded2caa0b | ||
|
|
494afb9d43 | ||
|
|
c994e4828d | ||
|
|
e50f12a925 | ||
|
|
df75d70df4 | ||
|
|
c5aa04d4eb | ||
|
|
81ae1ce362 | ||
|
|
e1921e660d | ||
|
|
32aa24f6fd | ||
|
|
7fbc63b8e8 | ||
|
|
443adcdd5b | ||
|
|
05b064d513 | ||
|
|
b327033333 | ||
|
|
36c9b68b6c | ||
|
|
7d8d16091e | ||
|
|
c1c6bde429 | ||
|
|
8f0901e7a5 | ||
|
|
6edba3820b | ||
|
|
db1e1bcc1f | ||
|
|
51aeaeb508 | ||
|
|
dcd0a1f002 | ||
|
|
819b61937f | ||
|
|
9da7628083 | ||
|
|
c5f47a8db3 | ||
|
|
c2786b91ce | ||
|
|
4290c16997 | ||
|
|
475e90b654 | ||
|
|
ebb291e06d | ||
|
|
a2c9069dda | ||
|
|
48cfe9ca73 | ||
|
|
b53e9856b8 | ||
|
|
20420da326 | ||
|
|
9162f176a2 | ||
|
|
3c140c2ef4 | ||
|
|
511d37e7c3 | ||
|
|
10a5ea2a29 | ||
|
|
c049f6814b | ||
|
|
0716abdbf8 | ||
|
|
989f2bbbb0 | ||
|
|
45c564749c | ||
|
|
a62737b244 | ||
|
|
1fa3111e67 | ||
|
|
0e78f3f3bc | ||
|
|
6bf07086a0 | ||
|
|
b3f8f4e8ec | ||
|
|
65ee7e82aa | ||
|
|
c78f3b4e24 | ||
|
|
51aa7c8ecf | ||
|
|
64ab92ced6 | ||
|
|
8f9f351940 | ||
|
|
a9a1af7307 | ||
|
|
5057dfedba | ||
|
|
ecabadbf95 | ||
|
|
97630039d8 | ||
|
|
e7f1178469 | ||
|
|
87245ef978 | ||
|
|
455aa28724 | ||
|
|
92f70228c9 | ||
|
|
5fa862b346 | ||
|
|
d5c6c318ba | ||
|
|
02133a0290 | ||
|
|
92b6c1c08d | ||
|
|
08649b7aa8 | ||
|
|
9e19ef0d03 | ||
|
|
33af3392aa | ||
|
|
e5a5cf0ef0 | ||
|
|
c1ca3888ec | ||
|
|
1b76bf59a1 | ||
|
|
699c6bf13d | ||
|
|
d9dbf2c5e9 | ||
|
|
c22f794a20 | ||
|
|
972135e184 | ||
|
|
96fad124ac | ||
|
|
ce7c466041 | ||
|
|
db0c7ca907 | ||
|
|
9f62ecdb33 | ||
|
|
f91f257a7d | ||
|
|
28a197b8cd | ||
|
|
9d2d8c0713 | ||
|
|
b431f1dc0d | ||
|
|
67eb2975f6 | ||
|
|
4192de7dac | ||
|
|
82cecc89e2 | ||
|
|
113e264617 | ||
|
|
a705a69022 | ||
|
|
d757360f4e | ||
|
|
cc978daeef | ||
|
|
d38ad1df94 | ||
|
|
1fd7bcf9a9 | ||
|
|
06abb70624 | ||
|
|
78e20868df | ||
|
|
e52766d047 | ||
|
|
224460e62d | ||
|
|
3c408de5c9 | ||
|
|
ea803ff2d4 | ||
|
|
14a0786982 | ||
|
|
1dbccb5e3d | ||
|
|
adca796d94 | ||
|
|
732aa96656 | ||
|
|
6beaec8ba1 | ||
|
|
2ae78f6e2f | ||
|
|
a889acb332 | ||
|
|
81236209db | ||
|
|
52266d7ac0 | ||
|
|
ab4592b8e9 | ||
|
|
7cda571d72 | ||
|
|
d0ce4c52b0 | ||
|
|
64ed6f5572 | ||
|
|
987bebffc7 | ||
|
|
e9c3807509 | ||
|
|
db642b05c0 | ||
|
|
7da904aa00 | ||
|
|
8c09daa22d | ||
|
|
7ebc04bc34 | ||
|
|
9254403a51 | ||
|
|
b4250965e6 | ||
|
|
3fbe704e21 | ||
|
|
4bfbc355a2 | ||
|
|
4d22102fd1 | ||
|
|
129efbda40 | ||
|
|
828fb8972c | ||
|
|
29b97209fe | ||
|
|
9c71bec4a0 | ||
|
|
1bc24c8d7c | ||
|
|
76ae5f3b12 | ||
|
|
7a6c0c6b4b | ||
|
|
db42792abf | ||
|
|
131f16b731 | ||
|
|
16e47f1d6b | ||
|
|
79e1fd1ea4 | ||
|
|
0c3cc59228 | ||
|
|
15db9e1778 | ||
|
|
19cf29e5cf | ||
|
|
d51d51b3cc | ||
|
|
c40e132284 | ||
|
|
f8f54bd892 | ||
|
|
5302cdcf2b | ||
|
|
8fe9282bd9 | ||
|
|
07ed213b1f | ||
|
|
8a1b8d2091 | ||
|
|
034ef5692c | ||
|
|
b9b9405c35 | ||
|
|
ca8d4f9ff0 | ||
|
|
0dc39a66d7 | ||
|
|
55e73bb4b9 | ||
|
|
6f9164b986 | ||
|
|
8d27c32418 | ||
|
|
a17a7ad1ec | ||
|
|
585868f930 | ||
|
|
795d0a6682 | ||
|
|
3c0b7f7724 | ||
|
|
ff23f87010 | ||
|
|
989fca99c6 | ||
|
|
b44e10df3c | ||
|
|
c9e9f92c93 | ||
|
|
bb1a366989 | ||
|
|
1458511756 | ||
|
|
3ebfc81727 | ||
|
|
8d0d59175d | ||
|
|
a46b3f2ed9 | ||
|
|
cb224789e2 | ||
|
|
cd4d829f9f | ||
|
|
faa25f2a96 | ||
|
|
36e8f49b63 | ||
|
|
e2a4657777 | ||
|
|
261b3f7e5c | ||
|
|
d6ba2aa76a | ||
|
|
fb135a87ab | ||
|
|
286fabaddc | ||
|
|
a79ad44370 | ||
|
|
2046a9b414 | ||
|
|
c77d8b3709 | ||
|
|
7b428bb6b0 | ||
|
|
6986030cd9 | ||
|
|
cc9b9a1935 | ||
|
|
2b7eeba55c | ||
|
|
c87dd99824 | ||
|
|
fbd837eadb | ||
|
|
7c9c8e197c | ||
|
|
0366929231 | ||
|
|
10d5261153 | ||
|
|
3278856764 | ||
|
|
ff5a9e0ea1 | ||
|
|
59b0c09443 | ||
|
|
ae772e6a74 | ||
|
|
0a58783a86 | ||
|
|
6f6de13fd4 | ||
|
|
89dcb78efa | ||
|
|
703c02c32c | ||
|
|
adcfca4db3 | ||
|
|
c359223fd4 | ||
|
|
c4c7d26bb3 | ||
|
|
c06bc16b22 | ||
|
|
f7bc05c735 | ||
|
|
ff02d41992 | ||
|
|
ec180e2771 | ||
|
|
dffa9e0b8c | ||
|
|
497e06bcd9 | ||
|
|
4c67c165fa | ||
|
|
2c175c0c7e | ||
|
|
6babbc1ff9 | ||
|
|
8af9aace3c | ||
|
|
601b75b611 | ||
|
|
350037fc75 | ||
|
|
f6bcfc3abd | ||
|
|
a480c972f7 | ||
|
|
581ded2c93 | ||
|
|
06176e291a | ||
|
|
14ee1b40d0 | ||
|
|
9acb98a2c8 | ||
|
|
daf50df337 | ||
|
|
c4d136383c | ||
|
|
5b5016bfd4 | ||
|
|
02352ab231 | ||
|
|
a4909d3575 | ||
|
|
fbb50e2895 | ||
|
|
0e4bf501f1 | ||
|
|
89b97456b7 | ||
|
|
fc4112c459 | ||
|
|
b6923f49b1 | ||
|
|
b476ed9186 | ||
|
|
b6ba3f9059 | ||
|
|
4d921cc9f9 | ||
|
|
e5ac7d66ba | ||
|
|
d8173873c1 | ||
|
|
36c27188a4 | ||
|
|
0cf4cb6e4f | ||
|
|
29420c25e4 | ||
|
|
161cead2e4 | ||
|
|
03242a2953 | ||
|
|
9613b43d50 | ||
|
|
8a8e6c5d20 | ||
|
|
5d64a2b889 | ||
|
|
85b41e23f0 | ||
|
|
9d1c60239e | ||
|
|
de433cb896 | ||
|
|
683c8d0cc3 | ||
|
|
bca20c9e27 | ||
|
|
1de3e0986e | ||
|
|
8b2fa73b45 | ||
|
|
1b953c1dc7 | ||
|
|
c33960b411 | ||
|
|
8d5728097b | ||
|
|
9706045656 | ||
|
|
3a953eb5df | ||
|
|
35971b29bc | ||
|
|
76cbc64f99 | ||
|
|
8f8c85273c | ||
|
|
25b953b7ec | ||
|
|
c40f205bd3 | ||
|
|
be1b698af1 | ||
|
|
c9ec71eeba | ||
|
|
4df27e6efb | ||
|
|
02f3279dec | ||
|
|
21900555dc | ||
|
|
5a4e21287a | ||
|
|
3e8e5216eb | ||
|
|
c679de8e39 | ||
|
|
a979d2283f | ||
|
|
3254714b70 | ||
|
|
65374f50cf | ||
|
|
1a62cd064c | ||
|
|
40bd19ccbb | ||
|
|
642adffeb8 | ||
|
|
5b942f0508 | ||
|
|
b4b5b58e35 | ||
|
|
bf4672fb2b | ||
|
|
d6e2dcd25b | ||
|
|
3b7d22153f | ||
|
|
490a8d35cb | ||
|
|
260846e9e9 | ||
|
|
d1ed5aadc2 | ||
|
|
1067ed309a | ||
|
|
1ef9bc464d | ||
|
|
ba3a7fc11a | ||
|
|
c44b4c3d35 | ||
|
|
c79c79fe0e | ||
|
|
a7c70a3916 | ||
|
|
325a8cba58 | ||
|
|
35387eeabb | ||
|
|
9d3de8631c | ||
|
|
940e211bb6 | ||
|
|
5eb425bc4c | ||
|
|
bd6b529157 | ||
|
|
0d59e0a2e9 | ||
|
|
1826d122f5 | ||
|
|
ed6dd6f6cd | ||
|
|
81da9fb5a4 | ||
|
|
ec35330593 | ||
|
|
f741953ee4 | ||
|
|
c0343897cd | ||
|
|
d880f8cde5 | ||
|
|
1175bd822c | ||
|
|
63a141abe6 | ||
|
|
abce57ce9c | ||
|
|
c471f7cf6c | ||
|
|
656c2775ac | ||
|
|
a2c6e050d7 | ||
|
|
f3adb05b1c | ||
|
|
bfc3d2e1d4 | ||
|
|
680affd1fe | ||
|
|
ab1d2009a0 | ||
|
|
8196f46721 | ||
|
|
44460365c0 | ||
|
|
38d9aa5e73 | ||
|
|
830db2b326 | ||
|
|
51165f6061 | ||
|
|
2a9d38048e | ||
|
|
bba65b8a82 | ||
|
|
884086ba76 | ||
|
|
1fa6614cd5 | ||
|
|
57581724cd | ||
|
|
0ae6f7efc5 | ||
|
|
d0346436fb | ||
|
|
1b28980454 | ||
|
|
90a6088d61 | ||
|
|
338a2beaf0 | ||
|
|
ff9a910c1a | ||
|
|
d88921bb58 | ||
|
|
c1f3f0a247 | ||
|
|
df847835ad | ||
|
|
8aad1c78af | ||
|
|
7c97cf4799 | ||
|
|
fd11523cf4 | ||
|
|
a293a9bd4b | ||
|
|
8de0eb3c06 | ||
|
|
8bff172f0b | ||
|
|
7f26595804 | ||
|
|
68ec70f24f | ||
|
|
836591a44f | ||
|
|
dd4ded3d4b | ||
|
|
995e294856 | ||
|
|
c4e623eec2 | ||
|
|
61253d8201 | ||
|
|
0f05967190 | ||
|
|
ad0e469f87 | ||
|
|
512d24cea6 | ||
|
|
0850a3fab7 | ||
|
|
16db92526c | ||
|
|
30ad66e8f1 | ||
|
|
77f600a16c | ||
|
|
d96bf7f951 | ||
|
|
15948c2781 | ||
|
|
b0c744bd29 | ||
|
|
5eacfe1afb | ||
|
|
2f985b479e | ||
|
|
e61d8f2f8f | ||
|
|
f4e338f9fb | ||
|
|
9509745be9 | ||
|
|
91b47134ad | ||
|
|
6426f4432e | ||
|
|
191ea50663 | ||
|
|
7f5c0fca8f | ||
|
|
5f8798cf94 | ||
|
|
3aac709682 | ||
|
|
e3962aa794 | ||
|
|
1964bbc03a | ||
|
|
80675399aa | ||
|
|
6fb4c724bd | ||
|
|
b34606c9ce | ||
|
|
4e97381709 | ||
|
|
d4db49f969 | ||
|
|
4b54870da1 | ||
|
|
0ae91cbf64 | ||
|
|
041abd8abc | ||
|
|
43be6883df | ||
|
|
ad4e95cb78 | ||
|
|
38480d3aed | ||
|
|
3436bb3792 | ||
|
|
5bab8af38f | ||
|
|
61f344dd66 | ||
|
|
1811955fce | ||
|
|
449da42108 | ||
|
|
9493d3e9c9 | ||
|
|
e5c1052062 | ||
|
|
7edc4e2cb3 | ||
|
|
7ca28fc796 | ||
|
|
72f9bf83fd | ||
|
|
2695ddc9fc | ||
|
|
fbcc8671ac | ||
|
|
7e76230cf8 | ||
|
|
ba27221bf2 | ||
|
|
6cf1501050 | ||
|
|
a30ca0ce2a | ||
|
|
5e3e988846 | ||
|
|
bb42353c81 | ||
|
|
61740fc9ed | ||
|
|
ea30c90a6c | ||
|
|
3968a82775 | ||
|
|
6e40081dd9 | ||
|
|
2b8b43c94c | ||
|
|
3f0ecc2284 | ||
|
|
828e86bdf4 | ||
|
|
159d0c060f | ||
|
|
4a29fdb3f2 | ||
|
|
29da1bb9ef | ||
|
|
47636bb30f | ||
|
|
5fe64396b4 | ||
|
|
75b782f261 | ||
|
|
4a5cf0efb9 | ||
|
|
cfdae77331 | ||
|
|
ec0aaff8ac | ||
|
|
f651d8e26a | ||
|
|
0526769808 | ||
|
|
1866745936 | ||
|
|
920c5ab266 | ||
|
|
c57d8980a1 | ||
|
|
0ed418834a | ||
|
|
083969a3d2 | ||
|
|
6740fff179 | ||
|
|
25e24d1d09 | ||
|
|
76cc9c8b21 | ||
|
|
7dcf6b70d9 | ||
|
|
f26b26b73e | ||
|
|
055beaa27a | ||
|
|
a4623c3c63 | ||
|
|
4e3a94809d | ||
|
|
5ff64899e6 | ||
|
|
971f172c91 | ||
|
|
4671167a2c | ||
|
|
7aff4ee4cb | ||
|
|
30f7685435 | ||
|
|
341f377e6d | ||
|
|
fe4788ae3f | ||
|
|
e133e89b6b | ||
|
|
bf6a0a035a | ||
|
|
790447ecc9 | ||
|
|
47506d1433 | ||
|
|
933e6aa62e | ||
|
|
6736ef1d44 | ||
|
|
3e631e047f | ||
|
|
dd2d4edffc | ||
|
|
fd2960c9cb | ||
|
|
c2907ea58f | ||
|
|
41f62cf53d | ||
|
|
e462f1ff9c | ||
|
|
5b0b6191d8 | ||
|
|
ab9a1e4307 | ||
|
|
029c11c8d2 | ||
|
|
e221d31b45 | ||
|
|
dfbdaa651c | ||
|
|
9de152b8ee | ||
|
|
360f9afb70 | ||
|
|
1b81825218 | ||
|
|
b3e6e28827 | ||
|
|
eaceb27879 | ||
|
|
cd9b6c7ac3 | ||
|
|
d3e527f2a4 | ||
|
|
b47fdcdfab | ||
|
|
2550ad7fd1 | ||
|
|
1717f584a0 | ||
|
|
0822d3e3e5 | ||
|
|
ec41af760a | ||
|
|
a5ed24ca88 | ||
|
|
b3697579c0 | ||
|
|
388da2058b | ||
|
|
aa9a0dca4b | ||
|
|
2a892da0da | ||
|
|
9237bf9429 | ||
|
|
10533dce02 | ||
|
|
b5ebc19eff | ||
|
|
6535e7e43a | ||
|
|
5f9473ef02 | ||
|
|
fbb1c7cb8e | ||
|
|
2d97d85ca5 | ||
|
|
ecd7d0fc35 | ||
|
|
0c389789f3 | ||
|
|
d8239664a8 | ||
|
|
c06d4f477a | ||
|
|
cdd88a6e5c | ||
|
|
5a73fa2d23 | ||
|
|
0367851b8e | ||
|
|
33b2f6331c | ||
|
|
befbf57191 | ||
|
|
20d040d5d1 | ||
|
|
06fdc75945 | ||
|
|
ded971a3ec | ||
|
|
abc0f99ddd | ||
|
|
b3a88d6ea7 | ||
|
|
76014b7cb9 | ||
|
|
0ab6eb6587 | ||
|
|
a4e99366fb | ||
|
|
a32ab4cc97 | ||
|
|
e7f3c42f9d | ||
|
|
d76a0d7416 | ||
|
|
79f4af8ab5 | ||
|
|
a5f83329cb | ||
|
|
267479f31d | ||
|
|
164462e510 | ||
|
|
6331df306f | ||
|
|
027ceebcbd | ||
|
|
edb2c0080c | ||
|
|
caafc87b29 | ||
|
|
5d37cac4a0 | ||
|
|
8f68e096d4 | ||
|
|
430cad48e3 | ||
|
|
757a9532e6 | ||
|
|
f26f8cafa9 | ||
|
|
128a79e355 | ||
|
|
cc2d99db3a | ||
|
|
30a31d931a | ||
|
|
1c30d449bf | ||
|
|
dc4ce58248 | ||
|
|
dc93e861c7 | ||
|
|
960daf27e2 | ||
|
|
844f21344d | ||
|
|
535ad110e3 | ||
|
|
0e0d7a5441 | ||
|
|
ed63221c7e | ||
|
|
f9c2d7767d | ||
|
|
cb91478590 | ||
|
|
5dec7fe27d | ||
|
|
575d487c65 | ||
|
|
2b9289f402 | ||
|
|
9273683d3c | ||
|
|
88f8465e7e | ||
|
|
f26031cada | ||
|
|
3352d71515 | ||
|
|
999f9532ee | ||
|
|
d1f62ca9bf | ||
|
|
ef9f0cf635 | ||
|
|
d745564451 | ||
|
|
d37ac992fc | ||
|
|
e7fc3de90c | ||
|
|
bde81380c3 | ||
|
|
839b482cb5 | ||
|
|
72f70d4789 | ||
|
|
d646bbf5c1 | ||
|
|
e68aaf6540 | ||
|
|
20ab5ed0fa | ||
|
|
8590e390a2 | ||
|
|
ab1d558420 | ||
|
|
53c9021455 | ||
|
|
8bd00e2433 | ||
|
|
c045feae50 | ||
|
|
7531080e51 | ||
|
|
bf57ab3e39 | ||
|
|
dfcb96a4b6 | ||
|
|
5c4fad6725 | ||
|
|
988b1ad03b | ||
|
|
79705a2514 | ||
|
|
0919b15183 | ||
|
|
8162c87884 | ||
|
|
09394ee4b7 | ||
|
|
7f7dd60587 | ||
|
|
6877abb2ec | ||
|
|
ce5dd88790 | ||
|
|
5bc9d625e7 | ||
|
|
1d7a69ad40 | ||
|
|
f7d87076a3 | ||
|
|
9d20b4d6a6 | ||
|
|
128cf9b57d | ||
|
|
e5b7adb228 | ||
|
|
bd5ae66fbe | ||
|
|
a3af4155f8 | ||
|
|
1ec83dc790 | ||
|
|
f26cc38b80 | ||
|
|
d9f537e9dc | ||
|
|
94c75df0d0 | ||
|
|
423a8884e8 | ||
|
|
1f26502c64 | ||
|
|
f61f7bb711 | ||
|
|
971acd3fdb | ||
|
|
bba070bdbf | ||
|
|
6c4152a7e0 | ||
|
|
f569ad0970 | ||
|
|
f16a291412 | ||
|
|
e0cfa2dff3 | ||
|
|
bf9d087e74 | ||
|
|
b245dd55d6 | ||
|
|
1e3f429169 | ||
|
|
8d429c7e5a | ||
|
|
b9be3ad3b8 | ||
|
|
3099090e6a | ||
|
|
5e27c65615 | ||
|
|
8b32382e1b | ||
|
|
60047e8029 | ||
|
|
e37fff1213 | ||
|
|
64a6d8027b | ||
|
|
cd4434135e | ||
|
|
747e11d7dd | ||
|
|
3cae728aba | ||
|
|
7f24a5cf82 | ||
|
|
1b8f5f232a | ||
|
|
77d37de18c | ||
|
|
5ea3fb8e1e | ||
|
|
d683aa43d8 | ||
|
|
d4c3501bb8 | ||
|
|
f2229a0007 | ||
|
|
2a06bb6e2c | ||
|
|
a06f890ab9 | ||
|
|
bbe22f95d1 | ||
|
|
631f75a79c | ||
|
|
c121aae8f1 | ||
|
|
fed7629632 | ||
|
|
0825ca736f | ||
|
|
660974c9d1 | ||
|
|
4404b06d2a | ||
|
|
daef69099b | ||
|
|
6362994fd8 | ||
|
|
398cf43782 | ||
|
|
77f8a0f5f6 | ||
|
|
d7e54ccbed | ||
|
|
53a8855696 | ||
|
|
bd16ed1340 | ||
|
|
dd365fe334 | ||
|
|
2a6ba739bc | ||
|
|
a863466f70 | ||
|
|
32f07f4aae | ||
|
|
3ed0e010be | ||
|
|
fb3c0c8138 | ||
|
|
58ded2e0d0 | ||
|
|
369b9a4808 | ||
|
|
0bd57986a9 | ||
|
|
559b88438b | ||
|
|
5d140f7db3 | ||
|
|
7b512ce296 | ||
|
|
ada291c0f6 | ||
|
|
857cb36707 | ||
|
|
4a702e0585 | ||
|
|
eac420f205 | ||
|
|
23d4fa9d9e | ||
|
|
f6523f34d8 | ||
|
|
82971d3ef7 | ||
|
|
8d9a5111a1 | ||
|
|
e8dac0051c | ||
|
|
72802aa125 | ||
|
|
f77a5c23fc | ||
|
|
cf772fcdd6 | ||
|
|
4313c64d9d | ||
|
|
38bf916231 | ||
|
|
cf59c0b854 | ||
|
|
10e192deed | ||
|
|
b3fb6e7822 | ||
|
|
3f640ed7eb | ||
|
|
cc814585ee | ||
|
|
b0d26c8242 | ||
|
|
4133be28c6 | ||
|
|
6e81879436 | ||
|
|
5ea670ece4 | ||
|
|
e8e9702d7e | ||
|
|
4cbdbaabdb | ||
|
|
f332d4f880 | ||
|
|
5ce418cdaf | ||
|
|
81ab2b9cd1 | ||
|
|
c441d76b7b | ||
|
|
fcbc027abc | ||
|
|
8989b69ce8 | ||
|
|
e9a624ab54 | ||
|
|
8a9df89bf6 | ||
|
|
e95d75e01f | ||
|
|
bbe58b07a8 | ||
|
|
7886c9ea27 | ||
|
|
1c072f38bb | ||
|
|
6c2bbdef1f | ||
|
|
a5ebb388a0 | ||
|
|
9c91c700ac | ||
|
|
28b111b669 | ||
|
|
1be6e1f374 | ||
|
|
fff8592b4e | ||
|
|
4af3856d15 | ||
|
|
8a06fb1840 | ||
|
|
e2e2ab62f4 | ||
|
|
e7e3f30fce | ||
|
|
affc45e752 | ||
|
|
d70334ee57 | ||
|
|
1c600c7068 | ||
|
|
7a93f1fc23 | ||
|
|
9c2f7aeb6a | ||
|
|
8af2d17d1f | ||
|
|
65d78eff57 | ||
|
|
8be9e2dc71 | ||
|
|
faecc6913b | ||
|
|
ed90c8868f | ||
|
|
71edce43ca | ||
|
|
4e9ef34f58 | ||
|
|
de55596926 | ||
|
|
316bc422bc | ||
|
|
c73ae3dfb3 | ||
|
|
27b45276ae | ||
|
|
b00852fada | ||
|
|
663f61f4e1 | ||
|
|
110bc64ee4 | ||
|
|
3764e773b3 | ||
|
|
682f0c7984 | ||
|
|
93014bfede | ||
|
|
4dd946bc8a | ||
|
|
2222007516 | ||
|
|
b09e3b0613 | ||
|
|
3a193956ff | ||
|
|
786eedf2f2 | ||
|
|
f217519e97 | ||
|
|
4caaa70726 | ||
|
|
02a27a6974 | ||
|
|
6d7eceb4f1 | ||
|
|
f52e72b026 | ||
|
|
ebeb646e4d | ||
|
|
70c1620a87 | ||
|
|
d45964d0c7 | ||
|
|
e67aa73e75 | ||
|
|
cb2fe3792a | ||
|
|
2b94cfe782 | ||
|
|
a1c99f3e7a | ||
|
|
57fa3ac653 | ||
|
|
01b6e1b88d | ||
|
|
294aca82c4 | ||
|
|
d080e7e7bd | ||
|
|
66a13d4c3a | ||
|
|
87c76ad010 | ||
|
|
822d292e2f | ||
|
|
42155dd11b | ||
|
|
9b1a2d9eaf | ||
|
|
8d0307cedd | ||
|
|
72b38ce712 | ||
|
|
caf8eedd76 | ||
|
|
181b05daf0 | ||
|
|
92b21ac9c2 | ||
|
|
ad12a3f735 | ||
|
|
badca7c20b | ||
|
|
7cdcfd4b1a | ||
|
|
b02af117f8 | ||
|
|
87d269512e | ||
|
|
3346349bba | ||
|
|
280a41806f | ||
|
|
134937082d | ||
|
|
1499994143 | ||
|
|
5805142fd7 | ||
|
|
5fc855e519 | ||
|
|
8c8bf22892 | ||
|
|
ec927e5dd9 | ||
|
|
3a042d8c14 | ||
|
|
fc88d1de85 | ||
|
|
6cf48e9e2b | ||
|
|
db22377a0d | ||
|
|
443cc08229 | ||
|
|
6ad222117d | ||
|
|
b26acad721 | ||
|
|
76e8bfe42f | ||
|
|
1f6704dbda | ||
|
|
33ea4e6225 | ||
|
|
d9cecbde7d | ||
|
|
84fab9ccd3 | ||
|
|
137dfc20fa | ||
|
|
f39e856fee | ||
|
|
e91aabc843 | ||
|
|
f85a99b6f0 | ||
|
|
a59f95317a | ||
|
|
6923000b52 | ||
|
|
83471bdacd | ||
|
|
18045c195a | ||
|
|
b1edadfe3a | ||
|
|
ed5984aa3a | ||
|
|
bfca8b8461 | ||
|
|
63cb0f3577 | ||
|
|
2b49614df9 | ||
|
|
fa439a465d | ||
|
|
11a74c2c05 | ||
|
|
a693efad1e | ||
|
|
75357a2f0a | ||
|
|
a70f5ebc08 | ||
|
|
b161df69e1 | ||
|
|
85a0e75e28 | ||
|
|
56022a9af3 | ||
|
|
5cbcf706e9 | ||
|
|
500b449422 | ||
|
|
8b78388834 | ||
|
|
b44d40d919 | ||
|
|
f8310e0a35 | ||
|
|
59dc0e2cbf | ||
|
|
6a4a7b1a3b | ||
|
|
d62a7999fb | ||
|
|
0ba1a42867 | ||
|
|
68ef49aef5 | ||
|
|
d0a65153df | ||
|
|
ac113b48e7 | ||
|
|
6e14680ac7 | ||
|
|
ba03a533d8 | ||
|
|
9abbecb286 | ||
|
|
9a20ea5c21 | ||
|
|
8ac4b125d2 | ||
|
|
f9b682ad10 | ||
|
|
58959b6114 | ||
|
|
b90405a7d2 | ||
|
|
e0a1613ad9 | ||
|
|
11930ed7a2 | ||
|
|
f3ff1cec54 | ||
|
|
435e73d838 | ||
|
|
2fdea258fa | ||
|
|
b453a6a46d | ||
|
|
5b88e637d8 | ||
|
|
ac02bcbe33 | ||
|
|
9efdeae3ac | ||
|
|
54e59e2f7b | ||
|
|
2c4e02ff34 | ||
|
|
2a306cbd91 | ||
|
|
b244136179 | ||
|
|
b897f367ce | ||
|
|
6c46418f68 | ||
|
|
f0d5d21e64 | ||
|
|
93490876c9 | ||
|
|
74763d2156 | ||
|
|
b849d9862d | ||
|
|
cd575e0ed8 | ||
|
|
b5fbd88c34 | ||
|
|
6003673165 | ||
|
|
4555667554 | ||
|
|
c0db6d49f4 | ||
|
|
6630066f0b | ||
|
|
20e6a55dd1 | ||
|
|
d3f82c800f | ||
|
|
e0e525d9ae | ||
|
|
12f4d6f872 | ||
|
|
0668e9bad9 | ||
|
|
06aed8491c | ||
|
|
df2d11e70d | ||
|
|
2dde8a5e90 | ||
|
|
674b13fb3f | ||
|
|
ab17c3693f | ||
|
|
a6c372de46 | ||
|
|
62497b9300 | ||
|
|
1461a3f8d7 | ||
|
|
686b31765d | ||
|
|
05e4e98e64 | ||
|
|
e95b60d527 | ||
|
|
59aba9f757 | ||
|
|
248e94dc4c | ||
|
|
a7d574cff0 | ||
|
|
ad05193916 | ||
|
|
b24b353b2d | ||
|
|
18e4a04dba | ||
|
|
30989761e2 | ||
|
|
b219ee9049 | ||
|
|
98c611e404 | ||
|
|
7a4ef32210 | ||
|
|
c3359cea1f | ||
|
|
f73a2d571f | ||
|
|
6dfb02c826 | ||
|
|
6c093fc81e | ||
|
|
911d35e800 | ||
|
|
084fdc0a65 | ||
|
|
1382fe9c6c | ||
|
|
b33242830e | ||
|
|
8c0ee33c4c | ||
|
|
e8cf4822b1 | ||
|
|
3462f02ce2 | ||
|
|
1a67b2146a | ||
|
|
eb0d18f484 | ||
|
|
c783fc0f59 | ||
|
|
31d02c1278 | ||
|
|
85f96bb248 | ||
|
|
229cf908b7 | ||
|
|
89b18275c0 | ||
|
|
b8a86baec7 | ||
|
|
8505e9203a | ||
|
|
5d95a503bf | ||
|
|
36c7f96a1e | ||
|
|
b40b606608 | ||
|
|
03764a624f | ||
|
|
962cfa9441 | ||
|
|
b2f30ab080 | ||
|
|
24c42ae2d9 | ||
|
|
af9353298c | ||
|
|
a3ecf0b0bd | ||
|
|
58cb6ab728 | ||
|
|
f478b3959c | ||
|
|
35ce680859 | ||
|
|
7df189ced4 | ||
|
|
c35092504c | ||
|
|
0bff6f7ad9 | ||
|
|
805f985144 | ||
|
|
12e578b93c | ||
|
|
1312952305 | ||
|
|
6118b94f9e | ||
|
|
520320535e | ||
|
|
262b5f1dc0 | ||
|
|
ac36162ddc | ||
|
|
9b813f4ae3 | ||
|
|
35d05b8653 | ||
|
|
e4d6b87e5d | ||
|
|
64b38e5a4a | ||
|
|
75957c84e3 | ||
|
|
c33fb2adbd | ||
|
|
97d3baba35 | ||
|
|
e91f9925f8 | ||
|
|
b484f7aef0 | ||
|
|
9a3904103a | ||
|
|
2a2d39b392 | ||
|
|
3005ba629f | ||
|
|
795741a341 | ||
|
|
da98465d4b | ||
|
|
d28e46796f | ||
|
|
43c6e321f5 | ||
|
|
4595c2feec | ||
|
|
8b4402c517 | ||
|
|
e08ae7e8fa | ||
|
|
753efd8c4a | ||
|
|
cb786f0320 | ||
|
|
6ff64cc984 | ||
|
|
475b816280 | ||
|
|
229005942f | ||
|
|
4af25d20fe | ||
|
|
6bf5b9a8e3 | ||
|
|
be769c28fa | ||
|
|
3128c48d5b | ||
|
|
5c7161fd2f | ||
|
|
e85790b84b | ||
|
|
980e2f67fd | ||
|
|
7781907f0e | ||
|
|
1d145dd48a | ||
|
|
1a1eb30e60 | ||
|
|
a7e2b98dc7 | ||
|
|
2bf74622a5 | ||
|
|
6bcaef9325 | ||
|
|
0b3aac3d91 | ||
|
|
9a53f0f853 | ||
|
|
a97df14064 | ||
|
|
9a0cd1157f | ||
|
|
16c41255d0 | ||
|
|
c2d1e5bd18 | ||
|
|
3c85ba3eb8 | ||
|
|
f3b67b158c | ||
|
|
8dac10ae36 | ||
|
|
6b81050283 | ||
|
|
b4beacfc43 | ||
|
|
1b607a8c4d | ||
|
|
4583c64ff7 | ||
|
|
a06a07d961 | ||
|
|
520a369872 | ||
|
|
1eaec773e2 | ||
|
|
3433a42e42 | ||
|
|
e01eac615d | ||
|
|
8116646dee | ||
|
|
7f7950cd6b | ||
|
|
2eb11ded52 | ||
|
|
bd64ad510b | ||
|
|
4e9b7e61a7 | ||
|
|
37b19495a8 | ||
|
|
c12b412e87 | ||
|
|
17f137f8be | ||
|
|
fcc627c65c | ||
|
|
5bb3d8e60d | ||
|
|
264086e0aa | ||
|
|
6013d7172a | ||
|
|
a7714b2725 | ||
|
|
f9dcac8cd0 | ||
|
|
2487322e47 | ||
|
|
c7e9c9542e | ||
|
|
c1bc1af302 | ||
|
|
739f9ec758 | ||
|
|
f70a140f42 | ||
|
|
a716e69dc0 | ||
|
|
0c6e1a4d56 | ||
|
|
faf36ecba6 | ||
|
|
49f2900e1f | ||
|
|
8bd522d283 | ||
|
|
e9034a1ba1 | ||
|
|
03feacd69a | ||
|
|
0c9f44d8a4 | ||
|
|
39fb64cdcd | ||
|
|
d531a7f1af | ||
|
|
bb7ff414ae | ||
|
|
215f112521 | ||
|
|
644766d965 | ||
|
|
1e1a555d3b | ||
|
|
c64ae2684d | ||
|
|
50ed04436d | ||
|
|
2fb9beca52 | ||
|
|
cd4c1e920e | ||
|
|
e846ac367a | ||
|
|
ef31c733ee | ||
|
|
724aa657f3 | ||
|
|
0284c35f4c | ||
|
|
6ce33de287 | ||
|
|
6ccfa011d4 | ||
|
|
c9078af45e | ||
|
|
6745428d0c | ||
|
|
925e874ada | ||
|
|
03f0f2f803 | ||
|
|
857360d6b2 | ||
|
|
2dd76c3f12 | ||
|
|
666de3a874 | ||
|
|
e0e9b64db6 | ||
|
|
2f521348c6 | ||
|
|
8ac2949a1f | ||
|
|
d0d5d991ce | ||
|
|
1fc2d7de3c | ||
|
|
2598e8d9b9 | ||
|
|
01f65e98e6 | ||
|
|
c5330cf166 | ||
|
|
b78796d0c1 | ||
|
|
da1e9db2c0 | ||
|
|
6beb6aa05b | ||
|
|
6ea7777a3a | ||
|
|
f97191e241 | ||
|
|
51420dade4 | ||
|
|
cc55c01197 | ||
|
|
86ce464ee3 | ||
|
|
0fa52a75ad | ||
|
|
c91e7dc3b0 | ||
|
|
88034b176c | ||
|
|
efeaff488c | ||
|
|
5df30f5bdd | ||
|
|
cf179c42b8 | ||
|
|
a615f8bf17 | ||
|
|
b38964e814 | ||
|
|
013c9eec58 | ||
|
|
ddbd6eddf7 | ||
|
|
982fd42683 | ||
|
|
90e28e7957 | ||
|
|
f4201f3947 | ||
|
|
7844b40243 | ||
|
|
d0839a3d55 | ||
|
|
876fd9ba9e | ||
|
|
e12717c108 | ||
|
|
af0b17bb7a | ||
|
|
6f595b7d87 | ||
|
|
59cbdc79f5 | ||
|
|
50ff3649b1 | ||
|
|
9ca9db8770 | ||
|
|
fa70f0e764 | ||
|
|
3eb629f133 | ||
|
|
c9aba6bbe1 | ||
|
|
0a26adae76 | ||
|
|
f0798f6510 | ||
|
|
245b03e208 | ||
|
|
4e31e5fdc2 | ||
|
|
750a74206c | ||
|
|
7e64dc2576 | ||
|
|
8a08e2fd97 | ||
|
|
d0a933cda8 | ||
|
|
d00845f56b | ||
|
|
3350e5ebb1 | ||
|
|
aeb4445cad | ||
|
|
73abae8cb9 | ||
|
|
7ecc7b76ba | ||
|
|
71d0bbbc25 | ||
|
|
26e691ba93 | ||
|
|
c7352d9e10 | ||
|
|
7b8f9a54ec | ||
|
|
28980af858 | ||
|
|
80dce398e0 | ||
|
|
06db8eec48 | ||
|
|
9c720efe46 | ||
|
|
cbf91a8d19 | ||
|
|
f99414708d | ||
|
|
9549a6b16a | ||
|
|
3206094545 | ||
|
|
5cfae80701 | ||
|
|
b4d140c6bb | ||
|
|
c65eb3c3ee | ||
|
|
eec0984dbe | ||
|
|
9b1163f959 | ||
|
|
5b5edc506d | ||
|
|
b30b4375e7 | ||
|
|
1b0c03d892 | ||
|
|
bca49184e7 | ||
|
|
26d6c33163 | ||
|
|
9420615317 | ||
|
|
7198c6b8c6 | ||
|
|
9513864851 | ||
|
|
f9b8aa1862 | ||
|
|
34371c070c | ||
|
|
d6099dd263 | ||
|
|
a1bc39141e | ||
|
|
13ed41d077 | ||
|
|
8a0a8f718f | ||
|
|
7d08a54ad9 | ||
|
|
b9b47e3ec7 | ||
|
|
16989f2122 | ||
|
|
892d3a370d | ||
|
|
6af7ca9867 | ||
|
|
c3c354f794 | ||
|
|
43572a1560 | ||
|
|
79daed63ee | ||
|
|
21d3ad86d4 | ||
|
|
31ebe842e8 | ||
|
|
88487de72f | ||
|
|
616da8c99d | ||
|
|
ec8712cceb | ||
|
|
3d6923b2a1 | ||
|
|
f04337becf | ||
|
|
9a5dd4c19d | ||
|
|
643e0b1039 | ||
|
|
330061a6e7 | ||
|
|
0a292715cf | ||
|
|
52f034a513 | ||
|
|
25e05388ba | ||
|
|
7ad9a1af03 | ||
|
|
9346c69343 | ||
|
|
4a3f0ccf96 | ||
|
|
52a1396e29 | ||
|
|
f556dd2584 | ||
|
|
aea5c09825 | ||
|
|
8c3c9a1219 | ||
|
|
a4f1f383a7 | ||
|
|
ee73c5c1b5 | ||
|
|
c2904a4633 | ||
|
|
6faa2249f9 | ||
|
|
119c3acfe7 | ||
|
|
138a2683f2 | ||
|
|
463637fa10 | ||
|
|
d5aab926bf | ||
|
|
37ba04b770 | ||
|
|
3d0b7dee71 | ||
|
|
a287c2caac | ||
|
|
1b673d9dd0 | ||
|
|
d10621c201 | ||
|
|
e1d6dfc324 | ||
|
|
130ea2a7ca | ||
|
|
c8d53253d2 | ||
|
|
5c67438925 | ||
|
|
1012dba8d7 | ||
|
|
e8d43f53d9 | ||
|
|
a0e8ce4b13 | ||
|
|
0e35b3edcb | ||
|
|
25bb5851ec | ||
|
|
80b0bc0869 | ||
|
|
c05743b7b9 | ||
|
|
7c2a1f0f37 | ||
|
|
0b8b9e75d1 | ||
|
|
d65c343e91 | ||
|
|
cd8e7cc947 | ||
|
|
0df5cf2e91 | ||
|
|
412275e40d | ||
|
|
4c7ad66bd7 | ||
|
|
8ac21357c3 | ||
|
|
2fd88b901b | ||
|
|
5697759d9e | ||
|
|
ee0042c768 | ||
|
|
a6212f1388 | ||
|
|
7bfea60b35 | ||
|
|
beee740dc8 | ||
|
|
e31387b8bc | ||
|
|
3586a12c46 | ||
|
|
bf21254b13 | ||
|
|
dc9f61e70a | ||
|
|
3028998a43 | ||
|
|
42511ce8d8 | ||
|
|
c245d2134f | ||
|
|
f01884537d | ||
|
|
b48fb0d4da | ||
|
|
7a6470a19d | ||
|
|
bfd8fc771a | ||
|
|
f96ca4ac1f | ||
|
|
937bfce68e | ||
|
|
5869d35d85 | ||
|
|
8d3325e6cd | ||
|
|
4badb5b975 | ||
|
|
7e4ff233ec | ||
|
|
0e3397239d | ||
|
|
08bae3da2e | ||
|
|
4b49c8bd6e | ||
|
|
c1bd1fcbd4 | ||
|
|
1c3379f082 | ||
|
|
86c97a8ba3 | ||
|
|
8e6c18d3f4 | ||
|
|
f1e80c466d | ||
|
|
9a542bcb20 | ||
|
|
290c8ec420 | ||
|
|
517ccd5e40 | ||
|
|
bb7bbe0a60 | ||
|
|
ca25a31d79 | ||
|
|
e804e99013 | ||
|
|
f447aded57 | ||
|
|
c596a51593 | ||
|
|
ed26368a3a | ||
|
|
1b40e4aaca | ||
|
|
84d7fe550b | ||
|
|
e68d507659 | ||
|
|
2db1e8fb81 | ||
|
|
df674d4056 | ||
|
|
21dcda147c | ||
|
|
201d5ba219 | ||
|
|
2728462d77 | ||
|
|
f73b497b67 | ||
|
|
d2bdb85dc8 | ||
|
|
3572b4752e | ||
|
|
20de162a55 | ||
|
|
64a8e66bac | ||
|
|
ccc1874a4b | ||
|
|
4fec896378 | ||
|
|
d485fcb3ee | ||
|
|
c9498c3cec | ||
|
|
62fffaf56f | ||
|
|
553a5cc455 | ||
|
|
957ec1d3d3 | ||
|
|
00c158387b | ||
|
|
d12fa690c0 | ||
|
|
94226e83ba | ||
|
|
4cf041f6cb | ||
|
|
1b86a6e6f8 | ||
|
|
6e907ae618 | ||
|
|
39dde85d03 | ||
|
|
8bb9170865 | ||
|
|
2cd5ce6aea | ||
|
|
64fbaff82b | ||
|
|
15a38f5f9d | ||
|
|
4c1d93a322 | ||
|
|
6a40959f3a | ||
|
|
c4bf297f42 | ||
|
|
da1b408f97 | ||
|
|
91c3e3b684 | ||
|
|
609a44aaf2 | ||
|
|
3d84443bcf | ||
|
|
56046d4db8 | ||
|
|
90fc037833 | ||
|
|
ee4eadf7a6 | ||
|
|
3292121e67 | ||
|
|
c8416b820b | ||
|
|
c9d229e336 | ||
|
|
bfbcd7a949 | ||
|
|
bf2ba3c4d1 | ||
|
|
9d50d44c99 | ||
|
|
e76afee12d | ||
|
|
06ef51db2e | ||
|
|
a85a2a3cc5 | ||
|
|
8fbecbcdd7 | ||
|
|
b386f78d68 | ||
|
|
095757044a | ||
|
|
9b3b8aa4de | ||
|
|
4932834441 | ||
|
|
8773ebf64b | ||
|
|
f628795b3f | ||
|
|
0c78bda328 | ||
|
|
d9f4bc70fb | ||
|
|
ddd2ea5f4d | ||
|
|
a326303956 | ||
|
|
ba1eba98ea | ||
|
|
8282ebce40 | ||
|
|
4c3b7c45cf | ||
|
|
668251274a | ||
|
|
e79fc72950 | ||
|
|
bcda41120e | ||
|
|
80fc00bb05 | ||
|
|
f71ccab811 | ||
|
|
795951a2e8 | ||
|
|
d62999ed16 | ||
|
|
9b1699a5a4 | ||
|
|
88c1f00b62 | ||
|
|
6834367a3e | ||
|
|
dedcf21a37 | ||
|
|
a747a5f9fa | ||
|
|
fcfb9865df | ||
|
|
aa1e9cc9fa | ||
|
|
9b7d21891d | ||
|
|
df19baed37 | ||
|
|
7848f6a1c5 | ||
|
|
14e128337d | ||
|
|
cb314f0a0b | ||
|
|
ddb313fd2b | ||
|
|
8f183955a0 | ||
|
|
536a4162c4 | ||
|
|
41a47f99f7 | ||
|
|
31fa1ea21e | ||
|
|
fb49c71118 | ||
|
|
0b87cfc7d4 | ||
|
|
76fa37019e | ||
|
|
d94e861a78 | ||
|
|
d9b537d334 | ||
|
|
93c2081d3f | ||
|
|
5ad8ed43fd | ||
|
|
1f4416a77a | ||
|
|
e9d4dba64b | ||
|
|
3a2307a5c6 | ||
|
|
d6c1af1a0c | ||
|
|
f6cb7ca01d | ||
|
|
bc0fdc49e0 | ||
|
|
43ccb63eb5 | ||
|
|
a0000a8547 | ||
|
|
a37ff0c4f2 | ||
|
|
e449ad7472 | ||
|
|
a718a785b3 | ||
|
|
ea7cc08832 | ||
|
|
a342f4c7e9 | ||
|
|
0af2657bbc | ||
|
|
451c2a244f | ||
|
|
a603aed7db | ||
|
|
f6bbf410f1 | ||
|
|
018692edd0 | ||
|
|
2740785df5 | ||
|
|
613a9964a1 | ||
|
|
2ef2f5db1d | ||
|
|
577e15a949 | ||
|
|
58ff3e6c0d | ||
|
|
80c471a939 | ||
|
|
b78fca7b91 | ||
|
|
be76092195 | ||
|
|
771d3c3c9d | ||
|
|
8c21765c0f | ||
|
|
a2e3522862 | ||
|
|
e20c2210f5 | ||
|
|
11f3fecd11 | ||
|
|
1a5d7c1c5d | ||
|
|
0bca1aab74 | ||
|
|
95fa15f902 | ||
|
|
d586582489 | ||
|
|
7ef46eaa29 | ||
|
|
38957625ad | ||
|
|
d30e076dbd | ||
|
|
0619555232 | ||
|
|
3ffa5eb613 | ||
|
|
c60583c6bb | ||
|
|
4cf7a1086d | ||
|
|
fa75006ca9 | ||
|
|
d28b2fa057 | ||
|
|
0a90765ed0 | ||
|
|
2892f629f0 | ||
|
|
5be05853c6 | ||
|
|
0f569ac5cb | ||
|
|
b725c1e8e0 | ||
|
|
4d418d1bb5 | ||
|
|
752594f69a | ||
|
|
b6125e97e9 | ||
|
|
c00caa886e | ||
|
|
37540d1c68 | ||
|
|
8fca67f0d6 | ||
|
|
13f891c34f | ||
|
|
f924ab721a | ||
|
|
ae3708edc6 | ||
|
|
4ef2574ae3 | ||
|
|
154171e01e | ||
|
|
17732a0b8a | ||
|
|
b6906d1edc | ||
|
|
26329765d1 | ||
|
|
fab7424ebb | ||
|
|
e4c9416c4a | ||
|
|
72c661e8f5 | ||
|
|
d5acd98eb3 | ||
|
|
849c754ca2 | ||
|
|
e6f6385173 | ||
|
|
d3ca2bf58f | ||
|
|
82f1dbca89 | ||
|
|
c85b826978 | ||
|
|
f28c40aa8e | ||
|
|
3fa3bc1719 | ||
|
|
93bd95f4bd | ||
|
|
7d572ff794 | ||
|
|
693278a87b | ||
|
|
b6bcbcac96 | ||
|
|
4cfea01aa8 | ||
|
|
9e301e1aec | ||
|
|
8502acffb7 | ||
|
|
580b7c94fb | ||
|
|
fe1e432f9e | ||
|
|
904ccc7a91 | ||
|
|
069196704e | ||
|
|
2db6bf399e | ||
|
|
a5bc49ee4a | ||
|
|
949d455d2f | ||
|
|
3254d27fc2 | ||
|
|
4921afdb51 | ||
|
|
54b653cc00 | ||
|
|
3066ab0d06 | ||
|
|
17c5acda3c | ||
|
|
ee3cacffd7 | ||
|
|
0cd5b9072c | ||
|
|
987fdd32fb | ||
|
|
314143db7a | ||
|
|
10f468dd3f | ||
|
|
c66881d4a6 | ||
|
|
45d42da528 | ||
|
|
c50e1800ec | ||
|
|
06aa051162 | ||
|
|
33e7bcbdb8 | ||
|
|
c44266eb82 | ||
|
|
dcbb1483b9 | ||
|
|
4620b566b9 | ||
|
|
076b11a735 | ||
|
|
246f783a64 | ||
|
|
ac3e7fbf44 | ||
|
|
dda1665b9c | ||
|
|
db4d721b93 | ||
|
|
f48824dec0 | ||
|
|
eac90c6b42 | ||
|
|
ec5a91b89a | ||
|
|
a9a3342519 | ||
|
|
51f3e1b684 | ||
|
|
2459145dbf | ||
|
|
d48abe03b0 | ||
|
|
1e4e54eca0 | ||
|
|
9d23da226f | ||
|
|
c911738b5c | ||
|
|
574e0a10e2 | ||
|
|
f240660a6e | ||
|
|
b2416c6466 | ||
|
|
3ed489f35c | ||
|
|
f96ad8ff6e | ||
|
|
2d7289a248 | ||
|
|
2de6a5029f | ||
|
|
bed3cae6df | ||
|
|
b3bf3e46be | ||
|
|
336ef58f61 | ||
|
|
f3e7491c3a | ||
|
|
48b9d2f53e | ||
|
|
1dff9897c9 | ||
|
|
b5a61d2915 | ||
|
|
0c5b43bcdd | ||
|
|
fe8ebe3f79 | ||
|
|
265afcec7e | ||
|
|
26d5ee0c93 | ||
|
|
6e1011f18a | ||
|
|
9bca1946ed | ||
|
|
0c8beedb94 | ||
|
|
c274e447dd | ||
|
|
2bc2891c73 | ||
|
|
fe1bebc12d | ||
|
|
339c483a4b | ||
|
|
73f1f0e1d6 | ||
|
|
f83fc9ba27 | ||
|
|
4e5692e935 | ||
|
|
2bb707299a | ||
|
|
9aa46e8543 | ||
|
|
4831e51cb4 | ||
|
|
4ea331ecf2 | ||
|
|
79764430d8 | ||
|
|
51107ee9dd | ||
|
|
d359e8420b | ||
|
|
ea11bb61e3 | ||
|
|
4a90a3e1c9 | ||
|
|
8f73e93205 | ||
|
|
1a7263cb9f | ||
|
|
d6332e796e | ||
|
|
ebcb3b413c | ||
|
|
2a92edd7ed | ||
|
|
9584672051 | ||
|
|
6018936dc2 | ||
|
|
d00da31e60 | ||
|
|
afd8ff1435 | ||
|
|
4f65ef4d33 | ||
|
|
cdadad5689 | ||
|
|
00d768a6bf | ||
|
|
08faba5455 | ||
|
|
c1e92b594e | ||
|
|
d38147bcf2 | ||
|
|
8681eb0251 | ||
|
|
72ecb0fce3 | ||
|
|
17b052430b | ||
|
|
94d52d9ddb | ||
|
|
9ecaa46eb8 | ||
|
|
a10b0c5dc5 | ||
|
|
4242201777 | ||
|
|
ff82232e27 | ||
|
|
5ee0565342 | ||
|
|
483e2236ca | ||
|
|
7ee62b8222 | ||
|
|
74c14fdf66 | ||
|
|
8a34c4b2e2 | ||
|
|
b1dcd53212 | ||
|
|
4d1671f147 | ||
|
|
deedc5d79f | ||
|
|
02dc164611 | ||
|
|
de7bbd6c37 | ||
|
|
ddf66056ec | ||
|
|
f0a7c41b81 | ||
|
|
cb200f6e9e | ||
|
|
78a66147f1 | ||
|
|
5999a1a62e | ||
|
|
ab56cfe762 | ||
|
|
654c501fb8 | ||
|
|
227c2563c5 | ||
|
|
4b270e703e | ||
|
|
5bc3b4bf7d | ||
|
|
353124d82d | ||
|
|
15a82e2324 | ||
|
|
2b85f96406 | ||
|
|
8d408eaadb | ||
|
|
51f29f40ee | ||
|
|
72d6ff625c | ||
|
|
b1766779ee | ||
|
|
a42143690c | ||
|
|
c21df3b7f0 | ||
|
|
a8faf2eb6e | ||
|
|
8abe5b42e5 | ||
|
|
3cfc4cd5be | ||
|
|
661d22f46c | ||
|
|
1f40302b36 | ||
|
|
dff6d1843a | ||
|
|
07b7420ba5 | ||
|
|
43afeb205f | ||
|
|
6aeca2c1e3 | ||
|
|
30b1129d60 | ||
|
|
8e0e4cf25d | ||
|
|
7aa3322a04 | ||
|
|
07789f5dad | ||
|
|
a1ffe4deff | ||
|
|
f407bc12df | ||
|
|
4df5c9e1e1 | ||
|
|
a2abe49d3f | ||
|
|
b0e911ad7f | ||
|
|
3bb6eb16de | ||
|
|
a978abb523 | ||
|
|
c4345f9a85 | ||
|
|
ca92d4ea3d | ||
|
|
5c95a6f4fa | ||
|
|
dfb0246826 | ||
|
|
791bf2c52e | ||
|
|
18bdf4a8d0 | ||
|
|
af789a4f8d | ||
|
|
30a2675972 | ||
|
|
5539fe0b73 | ||
|
|
30504660fa | ||
|
|
00d06db90e | ||
|
|
108a0d0ce6 | ||
|
|
1bff48cbf9 | ||
|
|
c91cbebc9f | ||
|
|
305df89438 | ||
|
|
42eb289d97 | ||
|
|
b8596c6f2a | ||
|
|
8696812d23 | ||
|
|
70cd26ce6a | ||
|
|
2b99f3c753 | ||
|
|
96a1c77577 | ||
|
|
9a3e7eecd9 | ||
|
|
7cb22815e6 | ||
|
|
da2efd88f2 | ||
|
|
2f0b244f48 | ||
|
|
78c9b7f33e | ||
|
|
9f461253a8 | ||
|
|
a3d02b8702 | ||
|
|
8dcda63c85 | ||
|
|
35e28fc0d0 | ||
|
|
72fd5211f0 | ||
|
|
690d4fa4b1 | ||
|
|
c477ea1628 | ||
|
|
9837dc88a0 | ||
|
|
23f1c1a149 | ||
|
|
d9cf8a474a | ||
|
|
5bec0e510d | ||
|
|
14f443124a | ||
|
|
9d968e7906 | ||
|
|
bc7ffe4720 | ||
|
|
29f0090417 | ||
|
|
509be0b3f8 | ||
|
|
b1b3f0dbac | ||
|
|
269d3d22b5 | ||
|
|
78c05b263f | ||
|
|
a0b6290a4d | ||
|
|
059ce3b7f0 | ||
|
|
699c3d80b7 | ||
|
|
e5009398e0 | ||
|
|
899eef18ec | ||
|
|
3210f24293 | ||
|
|
cc391e1a9e | ||
|
|
70982f6969 | ||
|
|
2abbda924b | ||
|
|
b3179f75f4 | ||
|
|
c0934d141f | ||
|
|
1e0b9bb51e | ||
|
|
9143d47bd2 | ||
|
|
6df0a315a9 | ||
|
|
3f4f9ad5f1 | ||
|
|
749f225562 | ||
|
|
2e065b128a | ||
|
|
d60ae20839 | ||
|
|
441b23bce5 | ||
|
|
44c01dd73e | ||
|
|
01ca4e25ae | ||
|
|
3c39a9ab22 | ||
|
|
74808095b9 | ||
|
|
09f2d4f546 | ||
|
|
1480d9ac20 | ||
|
|
c00c125191 | ||
|
|
7ac0e38f35 | ||
|
|
59b870d3dc | ||
|
|
d2dd796cb9 | ||
|
|
ccadf5d09c | ||
|
|
dbe078c8b3 | ||
|
|
129bc0819b | ||
|
|
3f5dc4e182 | ||
|
|
4de0fbe6b0 | ||
|
|
c46d316e95 | ||
|
|
8cf430ef7e | ||
|
|
e2c3a8b1e1 | ||
|
|
1b50fb982a | ||
|
|
ff4c741f4b | ||
|
|
1a015089ed | ||
|
|
ef70aa410e | ||
|
|
636e0de5aa | ||
|
|
8925da94e1 | ||
|
|
d7ef8a48fe | ||
|
|
bf32cdd683 | ||
|
|
6b3a8066e3 | ||
|
|
fddef65a58 | ||
|
|
9388c483ec | ||
|
|
7cbede9190 | ||
|
|
fc14b8f0da | ||
|
|
4ebb5a87b2 | ||
|
|
8dba6a186f | ||
|
|
b1ff979171 | ||
|
|
ebeb88d425 | ||
|
|
d7c7aa2215 | ||
|
|
6f407b2080 | ||
|
|
59e10bcac6 | ||
|
|
256f7b9b0f | ||
|
|
f2ca07033c | ||
|
|
e233f1dded | ||
|
|
07c09f255d | ||
|
|
774d0326c7 | ||
|
|
ce412686b9 | ||
|
|
dfcf9fa6aa | ||
|
|
6a548440ea | ||
|
|
eba2273cd1 | ||
|
|
3f1fb1fc3c | ||
|
|
35cbfb3fb0 | ||
|
|
6bf8f43ab1 | ||
|
|
3204b98aaf | ||
|
|
f29c2a5805 | ||
|
|
facbfa479b | ||
|
|
555b8efcad | ||
|
|
0e268864e2 | ||
|
|
a7687947e6 | ||
|
|
8254ff078e | ||
|
|
f8d90d68a3 | ||
|
|
60fe05bc63 | ||
|
|
fa2db10e44 | ||
|
|
06081ca18b | ||
|
|
34fad0bf98 | ||
|
|
78ad2cfb88 | ||
|
|
9da8e9280f | ||
|
|
8ac0bd452e | ||
|
|
98038201b3 | ||
|
|
62b1688856 | ||
|
|
2dd9741102 | ||
|
|
6d5c05fba3 | ||
|
|
d93b49cc4f | ||
|
|
6ccb55d6f7 | ||
|
|
a1fb735fde | ||
|
|
066cf42338 | ||
|
|
5c952fbbd6 | ||
|
|
60b92ba775 | ||
|
|
1242f6c942 | ||
|
|
1920bff007 | ||
|
|
05c12e2505 | ||
|
|
354951f1d6 | ||
|
|
a67d3e9aee | ||
|
|
b706c25b68 | ||
|
|
4dbe17eaf9 | ||
|
|
a4b598aa15 | ||
|
|
05a9a71f4a | ||
|
|
9b2caa6fdd | ||
|
|
bebb748546 | ||
|
|
b509a849a1 | ||
|
|
20602650c4 | ||
|
|
a2d0b8b452 | ||
|
|
1fa7526036 | ||
|
|
1033726d65 | ||
|
|
e5c3f82dd9 | ||
|
|
2c21dddea9 | ||
|
|
208812347f | ||
|
|
8c8a8f9994 | ||
|
|
77e9938f0f | ||
|
|
aea6a9f534 | ||
|
|
a346cff472 | ||
|
|
1b3c3efcd5 | ||
|
|
898055a3c2 | ||
|
|
f2030d9957 | ||
|
|
a5f323e4e3 | ||
|
|
bdb1fd517b | ||
|
|
6ce75453fe | ||
|
|
80aed98e97 | ||
|
|
7e939b7535 | ||
|
|
57f0ebbff9 | ||
|
|
a426df9c65 | ||
|
|
2584835176 | ||
|
|
40cb41399f | ||
|
|
eedea5cbf7 | ||
|
|
bd97a7a216 | ||
|
|
d1891fc31c | ||
|
|
20193eae36 | ||
|
|
1cb10eb889 | ||
|
|
d52352966e | ||
|
|
a8382ceb50 | ||
|
|
d47c9b0773 | ||
|
|
1a383de5c4 | ||
|
|
44e69a9603 | ||
|
|
91cba0ec45 | ||
|
|
e0a0e0b00c | ||
|
|
22f214c8e1 | ||
|
|
9ff2dd6be1 | ||
|
|
4e09f903ca | ||
|
|
a45f674bc1 | ||
|
|
75da9809e9 | ||
|
|
561fb7a4be | ||
|
|
b0da6361cb | ||
|
|
bc74c9064a | ||
|
|
66133b8b21 | ||
|
|
b69c270c31 | ||
|
|
d56e6427a9 | ||
|
|
0692a9ff51 | ||
|
|
4bf6b1df5e | ||
|
|
bb7ab5690c | ||
|
|
c12422b2cd | ||
|
|
be6598e224 | ||
|
|
faf750a544 | ||
|
|
ab7105ffa0 | ||
|
|
e4da6829d3 | ||
|
|
1c1d494913 | ||
|
|
a22b34ed25 | ||
|
|
31c045fdb5 | ||
|
|
887a1685dd | ||
|
|
ec887d5aaf | ||
|
|
08f503748e | ||
|
|
656f0f7b16 | ||
|
|
410378dccd | ||
|
|
ff22a32a61 | ||
|
|
5cdf0552ac | ||
|
|
d4cd8442c4 | ||
|
|
b0430af217 | ||
|
|
a6c22731ba | ||
|
|
61b562fcaa | ||
|
|
3d551e384a | ||
|
|
4cf9b7adac | ||
|
|
f76559b791 | ||
|
|
ea6d276a46 | ||
|
|
a323145344 | ||
|
|
26aa7ef09f | ||
|
|
4a5f9df7bf | ||
|
|
f2a9c8558b | ||
|
|
07c3b6ad04 | ||
|
|
8cbdd61f98 | ||
|
|
276b1b5539 | ||
|
|
fbc4a5cac2 | ||
|
|
8b01fb0bcf | ||
|
|
f565014203 | ||
|
|
3a048dafab | ||
|
|
7383bc3f44 | ||
|
|
96d9eadb4b | ||
|
|
199db12565 | ||
|
|
f66ea63b7e | ||
|
|
bed53be218 | ||
|
|
af1e41681c | ||
|
|
7987430825 | ||
|
|
592395d15c | ||
|
|
5cd243f2c1 | ||
|
|
f699807cae | ||
|
|
31b7ec7308 | ||
|
|
5ea882dae3 | ||
|
|
1628237ba7 | ||
|
|
b86241695d | ||
|
|
7bab2d197e | ||
|
|
6288f945cd | ||
|
|
1356171af5 | ||
|
|
409c285f36 | ||
|
|
844ff5bb04 | ||
|
|
6ae9e7edb5 | ||
|
|
a38fbb157d | ||
|
|
b4db00b979 | ||
|
|
142a1a392f | ||
|
|
c98b90a4e2 | ||
|
|
c5298cf12d | ||
|
|
9e30fa81de | ||
|
|
8f5458f3ae | ||
|
|
0a8f5e97e4 | ||
|
|
92bec955a8 | ||
|
|
89c0d95a94 | ||
|
|
2c88cd7ac0 | ||
|
|
0440079a24 | ||
|
|
5fbf21c1bd | ||
|
|
e4cc0e04e8 | ||
|
|
01179c69ec | ||
|
|
038e22e5db | ||
|
|
ebeba2ba17 | ||
|
|
daebb5753a | ||
|
|
bb2016889a | ||
|
|
470bbc9899 | ||
|
|
527fa587ce | ||
|
|
8a22e44f3b | ||
|
|
ad7736f90d | ||
|
|
2ab27ef42a | ||
|
|
314c840293 | ||
|
|
ee451fe345 | ||
|
|
50f90aee79 | ||
|
|
31c02e5915 | ||
|
|
d08f4df146 | ||
|
|
e17f592602 | ||
|
|
50bb362dc9 | ||
|
|
1d1ee314ca | ||
|
|
db8fb7f5a3 | ||
|
|
498fe48255 | ||
|
|
2b75f9638d | ||
|
|
f159d1de55 | ||
|
|
eb67c87e20 | ||
|
|
95953c86ae | ||
|
|
f8bd4d7155 | ||
|
|
4d73147121 | ||
|
|
0466114f67 | ||
|
|
0a585e00e5 | ||
|
|
5048f1c21b | ||
|
|
486c823111 | ||
|
|
7e66eb856c | ||
|
|
edb9a5ba3c | ||
|
|
6f354c6c02 | ||
|
|
2fb8ecbf02 | ||
|
|
f7c79fe3cc | ||
|
|
5363a90c6b | ||
|
|
d132ddefef | ||
|
|
46db4077b8 | ||
|
|
344d27ea5a | ||
|
|
2dfb819d35 | ||
|
|
cef8d03d49 | ||
|
|
4177b090b2 | ||
|
|
26075a9520 | ||
|
|
76b88ebdbf | ||
|
|
bae4a2df7e | ||
|
|
e8ce1e3445 | ||
|
|
90a4025bcc | ||
|
|
f66797c5cf | ||
|
|
bd22d29d58 | ||
|
|
5026dda9ca | ||
|
|
b30e93389c | ||
|
|
a2a635a141 | ||
|
|
05dd0831c1 | ||
|
|
db788452bd | ||
|
|
5c5fdcf14d | ||
|
|
b96a252a61 | ||
|
|
793aa7fd7f | ||
|
|
d0673f9133 | ||
|
|
4b4b82bd5f | ||
|
|
dda0b6c296 | ||
|
|
e212c611be | ||
|
|
a95492f7a0 | ||
|
|
ff3c22fc2b | ||
|
|
59e8a2dfae | ||
|
|
d44e215e5e | ||
|
|
129fddf07c | ||
|
|
0dd766cec8 | ||
|
|
f79b57d0cf | ||
|
|
226b188eaf | ||
|
|
8f4e01e004 | ||
|
|
d54dab87ef | ||
|
|
ef8e35032e | ||
|
|
599e291824 | ||
|
|
3d8fe01bc6 | ||
|
|
a72cecd235 | ||
|
|
02a2e8a7f1 | ||
|
|
38c1b031c2 | ||
|
|
3ba72e8728 | ||
|
|
5286b19af5 | ||
|
|
5c104f8e1d | ||
|
|
0988b08f7a | ||
|
|
bfcd5c84ca | ||
|
|
93b24f98a6 | ||
|
|
32d52cb0dd | ||
|
|
552d5d8928 | ||
|
|
5b583fefbc | ||
|
|
3c4d48f45d | ||
|
|
f6b8b6cb9b | ||
|
|
78cf98dcb7 | ||
|
|
13e95ad5cb | ||
|
|
5ab4263c0a | ||
|
|
77ea599e36 | ||
|
|
6793a84f9b | ||
|
|
9ab449dcf3 | ||
|
|
c883e9d792 | ||
|
|
0e73bf1e6d | ||
|
|
1ccddb92d4 | ||
|
|
56501e0811 | ||
|
|
3d6a550f23 | ||
|
|
8de4e190dc | ||
|
|
d17ceec14b | ||
|
|
741ddaf384 | ||
|
|
76b03a8a88 | ||
|
|
fd194124a9 | ||
|
|
ff7053c566 | ||
|
|
be438587c7 | ||
|
|
1146175648 | ||
|
|
3f99d1d3cc | ||
|
|
af58273c4c | ||
|
|
93abf66240 | ||
|
|
6924249bcf | ||
|
|
21fa2ee87b | ||
|
|
50861dc5c1 | ||
|
|
64f6bf52b0 | ||
|
|
e9d256aa74 | ||
|
|
79b5f2154f | ||
|
|
0f42eab7a4 | ||
|
|
f10e7f4ab7 | ||
|
|
e1f7fe5700 | ||
|
|
ebfd656c54 | ||
|
|
630ebb0583 | ||
|
|
748dcbd989 | ||
|
|
c0b4ceef0b | ||
|
|
8ba768ecec | ||
|
|
cfb5e203b3 | ||
|
|
433e42e3e4 | ||
|
|
1519a6b1da | ||
|
|
87abacc632 | ||
|
|
e5bc1defa2 | ||
|
|
c975a78ed7 | ||
|
|
4537342ec2 | ||
|
|
ee80bca994 | ||
|
|
55c1012d1c | ||
|
|
df5a7d4fb1 | ||
|
|
fba0e5932f | ||
|
|
28c2c8d179 | ||
|
|
d1459650e1 | ||
|
|
6138ac009f | ||
|
|
aa4a9cdad7 | ||
|
|
a7af3cd483 | ||
|
|
a12accf3fa | ||
|
|
ffe669137b | ||
|
|
a874c5455d | ||
|
|
d70b7e5bc7 | ||
|
|
8e80662bb0 | ||
|
|
dbd7d2e290 | ||
|
|
93d948ac57 | ||
|
|
c69c7ce59c | ||
|
|
79c79b06ca | ||
|
|
b922667fbd | ||
|
|
9bfe89f115 | ||
|
|
4975f7f098 | ||
|
|
4db49038c8 | ||
|
|
4cc7ec5a02 | ||
|
|
930de813f7 | ||
|
|
e9ec9e79ac | ||
|
|
212b2aea16 | ||
|
|
06a0dc374f | ||
|
|
1cc63412ec | ||
|
|
39c35d4430 | ||
|
|
10699b7c09 | ||
|
|
25c807965c | ||
|
|
5321ca913e | ||
|
|
b8c7ac4529 | ||
|
|
5b98c0b7ff | ||
|
|
7ed4e3ae35 | ||
|
|
250b266321 | ||
|
|
682797c54b | ||
|
|
2221a12950 | ||
|
|
e2cdcd094a | ||
|
|
71b0d9cc38 | ||
|
|
808fadd061 | ||
|
|
760d349af1 | ||
|
|
6b2a20231d | ||
|
|
975aac5a00 | ||
|
|
f6909d0ea9 | ||
|
|
88ee6659b2 | ||
|
|
3e878f5124 | ||
|
|
c32c4c1e46 | ||
|
|
1e526097f6 | ||
|
|
7c728c4ae1 | ||
|
|
87aa7bbb76 | ||
|
|
729fd3cebf | ||
|
|
a9d7164b58 | ||
|
|
8a9a7f0858 | ||
|
|
f02aa252b7 | ||
|
|
6103d07d07 | ||
|
|
66f166909e | ||
|
|
03f7002711 | ||
|
|
ff58de2d8c | ||
|
|
9a4585d438 | ||
|
|
81800c5a4d | ||
|
|
e2e9249d40 | ||
|
|
9cc852a097 | ||
|
|
0b98c7a352 | ||
|
|
4463531f1e | ||
|
|
61ed160881 | ||
|
|
fd6b0d07fb | ||
|
|
d92b6648ac | ||
|
|
ae71427b91 | ||
|
|
08a9c052d5 | ||
|
|
865c103d42 | ||
|
|
fc87b54439 | ||
|
|
fe53a3f52c | ||
|
|
72e8c66879 | ||
|
|
bc2f576b30 | ||
|
|
614c535f5e | ||
|
|
92b5a6e381 | ||
|
|
c6924ccaeb | ||
|
|
aa59547af7 | ||
|
|
67f1cd4e15 | ||
|
|
6ad98e2c70 | ||
|
|
0ee28f3433 | ||
|
|
25107bd2db | ||
|
|
304f260cff | ||
|
|
9bcf4d2571 | ||
|
|
e129a06436 | ||
|
|
c99714dbb2 | ||
|
|
8771d3bc19 | ||
|
|
e5964ae35b | ||
|
|
218b792e73 | ||
|
|
0b253b07b2 | ||
|
|
be85ed3645 | ||
|
|
9868abe1b1 | ||
|
|
cdb886a454 | ||
|
|
ac1f31f2cd | ||
|
|
89dd7f19ef | ||
|
|
923b0817ce | ||
|
|
4c9981f3c8 | ||
|
|
0ef469f3b5 | ||
|
|
73044dffed | ||
|
|
ea35619a78 | ||
|
|
8280292fb4 | ||
|
|
dc8cdc95d0 | ||
|
|
5e9710a8c6 | ||
|
|
c404bd9f17 | ||
|
|
61de98d651 | ||
|
|
bf2575c3c9 | ||
|
|
f5e64232c9 | ||
|
|
9daedf6f09 | ||
|
|
dad1e659a5 | ||
|
|
0a8547a692 | ||
|
|
5647ca7f08 | ||
|
|
a3b3edb565 | ||
|
|
fb9c9cb172 | ||
|
|
2815bd177c | ||
|
|
7aa05c08f1 | ||
|
|
112ba57729 | ||
|
|
bdac7672b7 | ||
|
|
09a49cfaa0 | ||
|
|
08cac6affd | ||
|
|
ade8517429 | ||
|
|
c9826cb26a | ||
|
|
3f764e3122 | ||
|
|
9d29287c02 | ||
|
|
b9cdd452df | ||
|
|
32d1105833 | ||
|
|
d84d4cec4f | ||
|
|
e9a61c24df | ||
|
|
5ffcbad18b | ||
|
|
e7c4894833 | ||
|
|
3289cd1e2b | ||
|
|
4127253650 | ||
|
|
2c55cce6ba | ||
|
|
633eb45011 | ||
|
|
65aeeba567 | ||
|
|
f37fd29fd0 | ||
|
|
310ed9af0d | ||
|
|
4e4ffa6526 | ||
|
|
8975f2d92c | ||
|
|
ddf839beb0 | ||
|
|
53bd98394b | ||
|
|
84bea96941 | ||
|
|
4470379dfb | ||
|
|
f727561553 | ||
|
|
e6dbd55644 | ||
|
|
0df6fda9e8 | ||
|
|
1d58f59190 | ||
|
|
a30a41c2cc | ||
|
|
7a82b941cb | ||
|
|
480e126437 | ||
|
|
92d43d042d | ||
|
|
f2b172738f | ||
|
|
4fe1217a69 | ||
|
|
fa82fc49bb | ||
|
|
5d1e340cbb | ||
|
|
abcbdc4a25 | ||
|
|
8fbb1e5565 | ||
|
|
149a08914e | ||
|
|
f5c51f7cf7 | ||
|
|
280b3c66eb | ||
|
|
3a3732a6c6 | ||
|
|
2093c19127 | ||
|
|
c2823aae39 | ||
|
|
ec1a896795 | ||
|
|
a46964a258 | ||
|
|
b4036f44f1 | ||
|
|
1ad6605dfb | ||
|
|
c6add663f8 | ||
|
|
1ac081ef4c | ||
|
|
074e90d046 | ||
|
|
a2c3050c51 | ||
|
|
de60209e2b | ||
|
|
d385480b52 | ||
|
|
6b1cea6c91 | ||
|
|
d2b5f86639 | ||
|
|
e8877daca3 | ||
|
|
b9dffcb069 | ||
|
|
bcd19dd0f5 | ||
|
|
48926a7ec4 | ||
|
|
8981572674 | ||
|
|
f836fe2056 | ||
|
|
1067714c2c | ||
|
|
6b0564d6e4 | ||
|
|
6c17f7ad49 | ||
|
|
44bad588b4 | ||
|
|
44c8974aba | ||
|
|
6a1eb231dd | ||
|
|
39ab409970 | ||
|
|
cb1817f440 | ||
|
|
0b09c259aa | ||
|
|
d446e40741 | ||
|
|
00bcb4cf02 | ||
|
|
92ad6f3baf | ||
|
|
fb9c38b75f | ||
|
|
ab295f0f10 | ||
|
|
197d4d1c81 | ||
|
|
bf95193d5b | ||
|
|
375c0a02bb | ||
|
|
ac10e00d7c | ||
|
|
f5498a4660 | ||
|
|
95968c7e0e | ||
|
|
f59030ecaf | ||
|
|
da7f068d5d | ||
|
|
e845c59229 | ||
|
|
c391e84451 | ||
|
|
9b5dd92dad | ||
|
|
4a7539cd06 | ||
|
|
e8a021e1b0 | ||
|
|
8b92872c1f | ||
|
|
6f99ac676e | ||
|
|
7433cec2c4 | ||
|
|
a1e5ce246b | ||
|
|
97ba76ab47 | ||
|
|
866dee7cc2 | ||
|
|
4f1143420c | ||
|
|
702aefa43e | ||
|
|
86ca20403e | ||
|
|
356b5c1750 | ||
|
|
37c89ffba3 | ||
|
|
4a83efcd61 | ||
|
|
871308cf25 | ||
|
|
90f1ea7896 | ||
|
|
1c308b2710 | ||
|
|
5227bc9167 | ||
|
|
4f93ee29e6 | ||
|
|
07a51589cb | ||
|
|
67847c9485 | ||
|
|
96071e157a | ||
|
|
f70da4b33e | ||
|
|
92cd6e8435 | ||
|
|
0637682eb0 | ||
|
|
af1888b21a | ||
|
|
fca61d68b0 | ||
|
|
954e9fc7c1 | ||
|
|
9750cfe6bf | ||
|
|
1910c8fc0f | ||
|
|
7f9932129d | ||
|
|
8947c0d2e7 | ||
|
|
48015d3f43 | ||
|
|
74ffdca614 | ||
|
|
2ae3c6bf29 | ||
|
|
28e33e1883 | ||
|
|
9615120586 | ||
|
|
3d557be918 | ||
|
|
b166b1a383 | ||
|
|
905e573520 | ||
|
|
15b91fb6a4 | ||
|
|
2c64c729bf | ||
|
|
2ddc7897e0 | ||
|
|
e359cc5da9 | ||
|
|
73ae9f8879 | ||
|
|
7ea8b983d4 | ||
|
|
4b652e6878 | ||
|
|
90c541d117 | ||
|
|
540cd272e0 | ||
|
|
0cc665a26b | ||
|
|
c0965f7205 | ||
|
|
e092726070 | ||
|
|
08bf7acb29 | ||
|
|
2f7d45db09 | ||
|
|
7c3aa65166 | ||
|
|
5637ff4228 | ||
|
|
7f47ce268f | ||
|
|
0af2e4af03 | ||
|
|
c379c833e4 | ||
|
|
f63e1b3760 | ||
|
|
16f7bdcd33 | ||
|
|
bebad5127c | ||
|
|
4907003d3c | ||
|
|
cac62b31b1 | ||
|
|
5d3b3319ad | ||
|
|
736b5a2a06 | ||
|
|
92a9aa6d3c | ||
|
|
d908fa5e38 | ||
|
|
aafb7e22df | ||
|
|
2c1f0d248c | ||
|
|
e744fe666b | ||
|
|
ea45025bf9 | ||
|
|
ea19514b53 | ||
|
|
1186025c89 | ||
|
|
85b6842557 | ||
|
|
86685a9db4 | ||
|
|
256a5b94c5 | ||
|
|
d1021749bc | ||
|
|
27229da36f | ||
|
|
44d969c0d2 | ||
|
|
9170a5abc1 | ||
|
|
1aa734cb83 | ||
|
|
3695ae07d5 | ||
|
|
fea6e1b236 | ||
|
|
2ff72867e3 | ||
|
|
0419de4baf | ||
|
|
843b0b3eb1 | ||
|
|
9f2c4c6b59 | ||
|
|
9c64193434 | ||
|
|
99fbe4e9ff | ||
|
|
ffa014f910 | ||
|
|
1edb856214 | ||
|
|
c2cafd1a80 | ||
|
|
da8a79a857 | ||
|
|
cb73017fbe | ||
|
|
56d6014626 | ||
|
|
3bbb510b7a | ||
|
|
f2e6c61bfa | ||
|
|
f1cb13fd94 | ||
|
|
7d1e7f2b58 | ||
|
|
6229148307 | ||
|
|
18288544a5 | ||
|
|
de5f310011 | ||
|
|
7ef998e438 | ||
|
|
0b7c36c456 | ||
|
|
bf8d3a044f | ||
|
|
000de4c72e | ||
|
|
5d7ab54340 | ||
|
|
d5e8fadc64 | ||
|
|
5db2bef7b0 | ||
|
|
41a03c98f3 | ||
|
|
af646e4496 | ||
|
|
b3590430c9 | ||
|
|
0aea2bac74 | ||
|
|
2915a1a145 | ||
|
|
14e0aeb4f3 | ||
|
|
638f2e09ed | ||
|
|
880e2f0d30 | ||
|
|
e5698e6c8f | ||
|
|
aa075bdf6b | ||
|
|
96b00e95f5 | ||
|
|
9394e3ec42 | ||
|
|
435b5a2b27 | ||
|
|
4ad563f8fc | ||
|
|
e94f56a185 | ||
|
|
a2c140c87f | ||
|
|
1a979a8498 | ||
|
|
a020e985f2 | ||
|
|
f8d9e6eeb8 | ||
|
|
564c81575f | ||
|
|
8b16a7a8c7 | ||
|
|
6b245f34a2 | ||
|
|
f17a77c18e | ||
|
|
17ac5ffe99 | ||
|
|
2b04f0b585 | ||
|
|
22ed71cef4 | ||
|
|
1f5d672cbf | ||
|
|
c136bb4ea8 | ||
|
|
e28a3ac945 | ||
|
|
3829f574ca | ||
|
|
d8ac919543 | ||
|
|
97e4f39492 | ||
|
|
9d58a1be8b | ||
|
|
4be34d3cf1 | ||
|
|
6ef57bf7d6 | ||
|
|
c70d833a5e | ||
|
|
7b10240297 | ||
|
|
0f0543d3f6 | ||
|
|
738c8cb630 | ||
|
|
09c41b6e20 | ||
|
|
324eb4d4bf | ||
|
|
0f24048cd5 | ||
|
|
0ffdc485d7 | ||
|
|
6810a9d593 | ||
|
|
c96f1d28e6 | ||
|
|
f2d86f2782 | ||
|
|
ee88ea90ee | ||
|
|
7c1bf15618 | ||
|
|
fdb170b443 | ||
|
|
1fa7ae4f0d | ||
|
|
7641890910 | ||
|
|
72c78fc163 | ||
|
|
8d8c076931 | ||
|
|
f3f495d23b | ||
|
|
bc3729c930 | ||
|
|
5a0c8c9f32 | ||
|
|
367a69cdfe | ||
|
|
e8230ee01f | ||
|
|
99f1ad0ea6 | ||
|
|
11d3326d73 | ||
|
|
7dd88213b1 | ||
|
|
e0cb165927 | ||
|
|
1e660c8e85 | ||
|
|
e8704adc67 | ||
|
|
43d6ddd7cf | ||
|
|
6e0ac7fa75 | ||
|
|
800aca6f0f | ||
|
|
a228582984 | ||
|
|
9f9f8e0e39 | ||
|
|
3d6f4629e9 | ||
|
|
6fca0dac0e | ||
|
|
22e9aea827 | ||
|
|
e064e96c96 | ||
|
|
b667236c92 | ||
|
|
e4df563811 | ||
|
|
d86abebb50 | ||
|
|
1b3bf89ee8 | ||
|
|
291063bd98 | ||
|
|
4c298ca484 | ||
|
|
650dc8bc6a | ||
|
|
2ee8236365 | ||
|
|
4707c02a34 | ||
|
|
d0faa14760 | ||
|
|
19725deb7e | ||
|
|
81cafd21d0 | ||
|
|
365c1c3f3e | ||
|
|
fbc3120c47 | ||
|
|
66093c3278 | ||
|
|
7d4ca441d5 | ||
|
|
cee8598b3f | ||
|
|
256e845e7a | ||
|
|
f39ac6f58b | ||
|
|
a397de448b | ||
|
|
62adad0739 | ||
|
|
3d647fe55a | ||
|
|
65b0511d9e | ||
|
|
16a33e42e2 | ||
|
|
81c0e000e7 | ||
|
|
d4a5a714fb | ||
|
|
e60e0c02c0 | ||
|
|
5fa35c5273 | ||
|
|
95ad6b8ab4 | ||
|
|
1b34eb14f8 | ||
|
|
412480b326 | ||
|
|
0500824e57 | ||
|
|
3e0f3d05e2 | ||
|
|
62f9b16139 | ||
|
|
80523828c7 | ||
|
|
979a105071 | ||
|
|
ea81b74e3b | ||
|
|
1864440f5c | ||
|
|
b96594b17c | ||
|
|
97960a2232 | ||
|
|
5fc73f87f4 | ||
|
|
8ca5cb18a3 | ||
|
|
517f3b7709 | ||
|
|
603f863b71 | ||
|
|
e40a93e389 | ||
|
|
6279ae63ce | ||
|
|
cb2a21ef19 | ||
|
|
edc82d77a5 | ||
|
|
e89612e5b9 | ||
|
|
9150e69783 | ||
|
|
4b95112724 | ||
|
|
b45748fead | ||
|
|
0b3052ced2 | ||
|
|
aae53fb9da | ||
|
|
291d32bd35 | ||
|
|
6386be09c2 | ||
|
|
05bed05afe | ||
|
|
5b9d197b7d | ||
|
|
9cce6945e6 | ||
|
|
33f1e51ebc | ||
|
|
d466184a02 | ||
|
|
be3f120548 | ||
|
|
2e303da384 | ||
|
|
dfc3fd8e58 | ||
|
|
51e3ec27d8 | ||
|
|
1ec76ce248 | ||
|
|
9012afc534 | ||
|
|
a19045f9d6 | ||
|
|
d18c8976b9 | ||
|
|
5485ef4f50 | ||
|
|
f4a56ae106 | ||
|
|
280316dceb | ||
|
|
9094ee0dc6 | ||
|
|
cad489480c | ||
|
|
9655d28a23 | ||
|
|
76d3299690 | ||
|
|
7b846b42e3 | ||
|
|
b8ca60ebd5 | ||
|
|
ddb9f0b95d | ||
|
|
93f4277b3c | ||
|
|
f841a8ba58 | ||
|
|
4d4825de75 | ||
|
|
a71bac037c | ||
|
|
02e4e4da01 | ||
|
|
0bf6f9d596 | ||
|
|
472c6efc12 | ||
|
|
66d88ed10b | ||
|
|
4439b3ad22 | ||
|
|
7c6a838d7f | ||
|
|
5c951afa64 | ||
|
|
878e06cd36 | ||
|
|
4ef879d1f2 | ||
|
|
b74f91b868 | ||
|
|
693790a19f | ||
|
|
98724979cb | ||
|
|
ab430355ec | ||
|
|
060a8f6345 | ||
|
|
97aaf3ef9b | ||
|
|
6eb7f5f962 | ||
|
|
313fe1ca2c | ||
|
|
ce34fbe502 | ||
|
|
562e9bfebb | ||
|
|
c2fbe5c606 | ||
|
|
f53cb0fae7 | ||
|
|
9d8b93a269 | ||
|
|
e65ef95027 | ||
|
|
3455c2955f | ||
|
|
4abd395efa | ||
|
|
c332bd198a | ||
|
|
6c395cc07d | ||
|
|
7eea2fba9b | ||
|
|
e89115a027 | ||
|
|
00ffa42f50 | ||
|
|
e55825fd88 | ||
|
|
a50a9fcf9a | ||
|
|
ce8679a978 | ||
|
|
5d6348fbf9 | ||
|
|
63e9d47f09 | ||
|
|
8cc7343201 | ||
|
|
2aabd54e6a | ||
|
|
bb56f274c8 | ||
|
|
241d7335e4 | ||
|
|
bc7037bb52 | ||
|
|
e7e5814214 | ||
|
|
4c9fbd3fba | ||
|
|
566d397bd1 | ||
|
|
2da65cdd5f | ||
|
|
e3eae7fbe8 | ||
|
|
91601e5647 | ||
|
|
882c09b870 | ||
|
|
1d7a130bd1 | ||
|
|
202fb5fef3 | ||
|
|
f73d7b4cb9 | ||
|
|
48d3d38e84 | ||
|
|
11c903a3e9 | ||
|
|
4992659b46 | ||
|
|
7285eca249 | ||
|
|
dc8021e952 | ||
|
|
fb18143791 | ||
|
|
475551b0d9 | ||
|
|
5447da0588 | ||
|
|
1b18e02fe0 | ||
|
|
2e63a4c037 | ||
|
|
2d0e0c8fcc | ||
|
|
2b61e10d91 | ||
|
|
97ce72ed07 | ||
|
|
fcbf9f7d8f | ||
|
|
c2a68aa0b8 | ||
|
|
080c70e8a8 | ||
|
|
c11030dde5 | ||
|
|
a2e6a8e41f | ||
|
|
ec5f614a25 | ||
|
|
23338319a0 | ||
|
|
191c7fdf30 | ||
|
|
1342ed2afe | ||
|
|
69b0193535 | ||
|
|
db2489a555 | ||
|
|
b191126f36 | ||
|
|
ef0de38624 | ||
|
|
3d0a43d0e7 | ||
|
|
874be7ea8b | ||
|
|
a93034ad59 | ||
|
|
134cee6adc | ||
|
|
cb64e8d504 | ||
|
|
35a6dfb52a | ||
|
|
1c276db76f | ||
|
|
400e0f1dd4 | ||
|
|
9a7ed81759 | ||
|
|
6f40cf9beb | ||
|
|
307028734f | ||
|
|
cd2d7c91c3 | ||
|
|
8b375d66fa | ||
|
|
8f367abe0b | ||
|
|
fdc84be0d9 | ||
|
|
edfceaad14 | ||
|
|
40fda5067d | ||
|
|
573706e5e4 | ||
|
|
1ef4acc2af | ||
|
|
6035db3231 | ||
|
|
2cd44412f6 | ||
|
|
c149fe31fb | ||
|
|
0e24d638c9 | ||
|
|
5c056f0c4d | ||
|
|
62b838427f | ||
|
|
ad529c10ab | ||
|
|
8ef7399612 | ||
|
|
939c1f0f29 | ||
|
|
6b48cf574d | ||
|
|
1478819258 | ||
|
|
f53fbd6282 | ||
|
|
60e6e1f242 | ||
|
|
7a5f63e0f5 | ||
|
|
c0e325dfbf | ||
|
|
62e775b7c2 | ||
|
|
37676a296a | ||
|
|
bcc4548f7b | ||
|
|
60714b5ca4 | ||
|
|
d632634e56 | ||
|
|
bec8b40edb | ||
|
|
ab361eef72 | ||
|
|
1f16adbca7 | ||
|
|
1677ef3189 | ||
|
|
36defdfbe9 | ||
|
|
7ba6e4adc3 | ||
|
|
ee2cbc80b8 | ||
|
|
b4d960e795 | ||
|
|
0f716d9053 | ||
|
|
cdbfd22296 | ||
|
|
de801a4f23 | ||
|
|
1376a615b7 | ||
|
|
1fbc9ab85e | ||
|
|
9a8a3601a7 | ||
|
|
f1e68e9bd0 | ||
|
|
5228e6e6c7 | ||
|
|
5b977cef54 | ||
|
|
a802deeb51 | ||
|
|
eaf6375410 | ||
|
|
d1daf21a3f | ||
|
|
98c83c8509 | ||
|
|
b25731f621 | ||
|
|
563f5ec713 | ||
|
|
ad25ae43d5 | ||
|
|
b058e72fdd | ||
|
|
38ee8ccfe3 | ||
|
|
53161f76a6 | ||
|
|
742a929966 | ||
|
|
63b3646e73 | ||
|
|
794c73a613 | ||
|
|
59fc2a4c15 | ||
|
|
6a144f86cf | ||
|
|
f218e11d78 | ||
|
|
f6bcd8a2c2 | ||
|
|
bf0cd5a6cd | ||
|
|
fc1504f2e5 | ||
|
|
7b4d545dca | ||
|
|
89f27d0b2d | ||
|
|
3728f42185 | ||
|
|
2d6c4c6aee | ||
|
|
83b8ec6a99 | ||
|
|
5e87f6d806 | ||
|
|
f2da932777 | ||
|
|
4b3e6d7a58 | ||
|
|
c50d671bdb | ||
|
|
5290cbea94 | ||
|
|
f6b55a4e19 | ||
|
|
4e0d2207a3 | ||
|
|
f089d5714f | ||
|
|
be26c04dd1 | ||
|
|
cbcfe37e28 | ||
|
|
ef0fde8615 | ||
|
|
cc728642ed | ||
|
|
d9360a66af | ||
|
|
4040f7afca | ||
|
|
758c347258 | ||
|
|
cf76a605d2 | ||
|
|
1cfcfc465e | ||
|
|
fc611dee57 | ||
|
|
de8b23db4e | ||
|
|
b036dcece6 | ||
|
|
94c83245db | ||
|
|
c14146926a | ||
|
|
29dffd06b3 | ||
|
|
9646d18624 | ||
|
|
170d9a27ff | ||
|
|
4d43374b31 | ||
|
|
085332da27 | ||
|
|
4dae3ee33b | ||
|
|
dd729ec649 | ||
|
|
9ef582bd6f | ||
|
|
a4fec6323c | ||
|
|
4e9d56441a | ||
|
|
af71ae9dd9 | ||
|
|
305563e44f | ||
|
|
f042fd2e88 | ||
|
|
5a13932dd9 | ||
|
|
06c9967971 | ||
|
|
6e8d667c6a | ||
|
|
0529ce2bc4 | ||
|
|
639552ae8f | ||
|
|
0d1cc8581a | ||
|
|
ed54b55a63 | ||
|
|
12d8a1f92e | ||
|
|
ed76e54904 | ||
|
|
c2bb936586 | ||
|
|
42b334efcd | ||
|
|
56367f257a | ||
|
|
55db243362 | ||
|
|
395f4e904c | ||
|
|
3c5a39a99a | ||
|
|
572c3be647 | ||
|
|
06e7d6c3df | ||
|
|
bcde888257 | ||
|
|
1767213321 | ||
|
|
b36b4e4ad1 | ||
|
|
8857eb4e78 | ||
|
|
fce3414c65 | ||
|
|
f0f23a2c61 | ||
|
|
a77f78f08f | ||
|
|
9269792a8c | ||
|
|
e87d507c0c | ||
|
|
5fc07180dd | ||
|
|
a35990ee4c | ||
|
|
7d71954674 | ||
|
|
1cee55bf45 | ||
|
|
c11ca2ff64 | ||
|
|
f88756cb53 | ||
|
|
54d284cdac | ||
|
|
011d6bebfa | ||
|
|
447dc54710 | ||
|
|
e2ff6327eb | ||
|
|
a293b6fc77 | ||
|
|
e56ffc689d | ||
|
|
4cca6a72d8 | ||
|
|
6e79b29678 | ||
|
|
a432ffc0ce | ||
|
|
205cb2c29d | ||
|
|
1594b46f68 | ||
|
|
e1e7791dff | ||
|
|
d3accbc085 | ||
|
|
69cc5a559e | ||
|
|
9f8f2f6730 | ||
|
|
498eb9330b | ||
|
|
6047322f0c | ||
|
|
2ce6a031a4 | ||
|
|
323bab7d4a | ||
|
|
73f45b8772 | ||
|
|
a9407f055c | ||
|
|
2eb1134828 | ||
|
|
7e35571b94 | ||
|
|
19f7e3631a | ||
|
|
094f2da774 | ||
|
|
1b9d22a491 | ||
|
|
df1e19dd47 | ||
|
|
8c4fa838fe | ||
|
|
2f6df2f9af | ||
|
|
446b0c2dfa | ||
|
|
0eb963d491 | ||
|
|
156484ac80 | ||
|
|
6511d4c21c | ||
|
|
e2a8c70f3d | ||
|
|
53386e4d42 | ||
|
|
d82d25cc10 | ||
|
|
d79b4b2352 | ||
|
|
a206187802 | ||
|
|
e48e810005 | ||
|
|
fbac3ebad1 | ||
|
|
c88a042c8b | ||
|
|
a78d76d143 | ||
|
|
33ea0af06f | ||
|
|
55a15f5a21 | ||
|
|
3dd5a32cc0 | ||
|
|
0df86c6aaf | ||
|
|
383ff6c234 | ||
|
|
2cf920a1d4 | ||
|
|
dc8bb7cc2f | ||
|
|
cfe51035fb | ||
|
|
a2afbd3080 | ||
|
|
dcb17243f8 | ||
|
|
6e706b3a8c | ||
|
|
f5e3d79cc7 | ||
|
|
1febfa4f4e | ||
|
|
9601d0fc45 | ||
|
|
9f8f0262c7 | ||
|
|
e718a4f843 | ||
|
|
2257103ee6 | ||
|
|
9e58aafa4a | ||
|
|
a13096bdfe | ||
|
|
53c3958b2b | ||
|
|
bbc0bcae1e | ||
|
|
2b52bf4539 | ||
|
|
40f315a259 | ||
|
|
f191915b53 | ||
|
|
cb0e79972d | ||
|
|
2a980d9fc0 | ||
|
|
6daeb56550 | ||
|
|
65ae3e1d8d | ||
|
|
403b93daf6 | ||
|
|
ff0380b456 | ||
|
|
e7bb6c8767 | ||
|
|
f9c7b4e441 | ||
|
|
0540b8e1ad | ||
|
|
fcde6f686e | ||
|
|
444dce4aeb | ||
|
|
1a0b8fb37f | ||
|
|
4fcc8abf55 | ||
|
|
131b92e9fe | ||
|
|
5391b529b6 | ||
|
|
92aea38230 | ||
|
|
590ca98463 | ||
|
|
16936aa452 | ||
|
|
dedb1e0c80 | ||
|
|
63163737c2 | ||
|
|
9f99e88c92 | ||
|
|
b6f748ad8f | ||
|
|
1f3f70a642 | ||
|
|
edfb59a87d | ||
|
|
999b01c814 | ||
|
|
e7f52cbf98 | ||
|
|
311d1c805d | ||
|
|
2908c97432 | ||
|
|
122423e535 | ||
|
|
639865f3e2 | ||
|
|
42e214eb17 | ||
|
|
73c29d44c3 | ||
|
|
ab6148f0b4 | ||
|
|
bf0243c253 | ||
|
|
b53c9daf50 | ||
|
|
7fa482e5c6 | ||
|
|
391bd119b8 | ||
|
|
cdd9b1fa3b | ||
|
|
99487d0e2b | ||
|
|
5ff98258df | ||
|
|
41bc4832f3 | ||
|
|
69dbb2e17c | ||
|
|
3dbaf96a9a | ||
|
|
15d8b891d6 | ||
|
|
efc09a7b47 | ||
|
|
6e84e5ce9c | ||
|
|
7d5d2b86cf | ||
|
|
e887600c7e | ||
|
|
8216faae6e | ||
|
|
8c1b9e1557 | ||
|
|
57595c70b0 | ||
|
|
cf568d2782 | ||
|
|
ba07e46cf8 | ||
|
|
f19ba1b0db | ||
|
|
51887f1cbc | ||
|
|
539e285f86 | ||
|
|
75d57640eb | ||
|
|
56316ffcca | ||
|
|
580dbd0905 | ||
|
|
42a394628e | ||
|
|
0233845994 | ||
|
|
f42647426b | ||
|
|
b54521de51 | ||
|
|
d7e09167fa | ||
|
|
26d20e458c | ||
|
|
3099d55b40 | ||
|
|
72218929b9 | ||
|
|
f99106ccb1 | ||
|
|
dd6f9c5ad3 | ||
|
|
7d2209860e | ||
|
|
c82a927556 | ||
|
|
59e9d80b18 | ||
|
|
732d30c919 | ||
|
|
8586490162 | ||
|
|
f8a3cf2d3d | ||
|
|
826ca5ece5 | ||
|
|
73a3542ab2 | ||
|
|
dfbe243b4c | ||
|
|
f7d76ebf1d | ||
|
|
34c36c09ff | ||
|
|
765dab5d8d | ||
|
|
063d02a9cb | ||
|
|
6e5e9ab7bc | ||
|
|
c8c7ac45d1 | ||
|
|
14181ec70d | ||
|
|
b20e5a1e01 | ||
|
|
64d222a1e4 | ||
|
|
e4554fe9ca | ||
|
|
8ec736789c | ||
|
|
9a323a9a8d | ||
|
|
298e626b6e | ||
|
|
af7308e395 | ||
|
|
7c80fcacba | ||
|
|
beb23efa88 | ||
|
|
1b65f5f164 | ||
|
|
bb336f1bc7 | ||
|
|
36d386b451 | ||
|
|
9199f48a3c | ||
|
|
5c88c585a0 | ||
|
|
771b1490d2 | ||
|
|
4bbdbf6332 | ||
|
|
7dc10fbe46 | ||
|
|
90ca83bd96 | ||
|
|
4ee92fc637 | ||
|
|
1d39488061 | ||
|
|
d87cd32ff4 | ||
|
|
2a50ae905d | ||
|
|
f536584d7a | ||
|
|
fa3bd58b7f | ||
|
|
1f5d2c49fc | ||
|
|
3e585c3438 | ||
|
|
c23e792f68 | ||
|
|
02d3c93c2c | ||
|
|
a07ef0f5ee | ||
|
|
e415251f30 | ||
|
|
ddbc143178 | ||
|
|
d54715a9c3 | ||
|
|
eb9507707d | ||
|
|
3377de1fe3 | ||
|
|
b5807e0788 | ||
|
|
c86e82039a | ||
|
|
999b2267c0 | ||
|
|
fbf9585b5a | ||
|
|
470365644f | ||
|
|
7b3847cc5c | ||
|
|
2b0e1a1dec | ||
|
|
316e140329 | ||
|
|
02c4c3b03d | ||
|
|
e5405e191b | ||
|
|
839ea61d55 | ||
|
|
02f27f8cbc | ||
|
|
35b5138593 | ||
|
|
809c5ed051 | ||
|
|
412451f9d6 | ||
|
|
35802f2089 | ||
|
|
8f6f0f8401 | ||
|
|
44d95badc4 | ||
|
|
d622faba17 | ||
|
|
b5945d3d5c | ||
|
|
52cd6fb1dd | ||
|
|
04681babf1 | ||
|
|
e63c068720 | ||
|
|
fb5b465a4e | ||
|
|
59ea3c7949 | ||
|
|
6f5306dbdc | ||
|
|
b5388fdf2f | ||
|
|
d2904c1fd5 | ||
|
|
7718feedd5 | ||
|
|
56add277f9 | ||
|
|
86f772ad38 | ||
|
|
24c99551c7 | ||
|
|
9441d2a33a | ||
|
|
3922091a58 | ||
|
|
1107ce8fd8 | ||
|
|
3d10cd1adf | ||
|
|
02ac3943f2 | ||
|
|
44b672b6f5 | ||
|
|
0239d8350d | ||
|
|
bada5fe941 | ||
|
|
6db871958e | ||
|
|
0b557fe265 | ||
|
|
ce08627396 | ||
|
|
200ec5dcfb | ||
|
|
8a6f55a63e | ||
|
|
e327f5e6f0 | ||
|
|
5849726913 | ||
|
|
e063613a7f | ||
|
|
48d2cb4975 | ||
|
|
59412b1673 | ||
|
|
d1a235272e | ||
|
|
7db9627ff6 | ||
|
|
83550cd153 | ||
|
|
77471bd9d6 | ||
|
|
0e94211ff1 | ||
|
|
f6e7bba354 | ||
|
|
b2255e5b27 | ||
|
|
7b493ff4c8 | ||
|
|
aeef163349 | ||
|
|
26f2352059 | ||
|
|
67e38d8de2 | ||
|
|
2c3a4cbabf | ||
|
|
fed3ea597c | ||
|
|
547b2fc9e8 | ||
|
|
cf07f4aef1 | ||
|
|
3dc4aea053 | ||
|
|
afa29facc6 | ||
|
|
8c0120bdbb | ||
|
|
a3e72c5b43 | ||
|
|
33efc86788 | ||
|
|
ec6be34c31 | ||
|
|
fd49a1e80a | ||
|
|
d1d6855d58 | ||
|
|
504b9e7051 | ||
|
|
9cb64fd087 | ||
|
|
fe9ccf55c1 | ||
|
|
4840da2c1b | ||
|
|
543fb282fe | ||
|
|
9b7ae498d2 | ||
|
|
5668bcf19b | ||
|
|
66c25b3cb6 | ||
|
|
e234fb32d9 | ||
|
|
f70c67ad7f | ||
|
|
cf3cfdb2bc | ||
|
|
394f1f2049 | ||
|
|
a9819542d4 | ||
|
|
d0e3b8c4ee | ||
|
|
e3681cf993 | ||
|
|
26c717a1bf | ||
|
|
6efdbf2950 | ||
|
|
b45b082c06 | ||
|
|
da21a649c0 | ||
|
|
347736f2b4 | ||
|
|
a6649b2d6b | ||
|
|
33a78c1919 | ||
|
|
3b4b669038 | ||
|
|
26b666abcd | ||
|
|
32e2a8ba2c | ||
|
|
fdc399b44c | ||
|
|
ec43661664 | ||
|
|
a05a655037 | ||
|
|
ca3833e71b | ||
|
|
3910b047d4 | ||
|
|
15c1381c1e | ||
|
|
c0e65d9a36 | ||
|
|
38ff490b60 | ||
|
|
f8fa41d4bf | ||
|
|
b74c65cc7c | ||
|
|
624e5ae633 | ||
|
|
71935e7099 | ||
|
|
bb9a551318 | ||
|
|
457ec7f6f5 | ||
|
|
433b88c0bf | ||
|
|
9f8911536a | ||
|
|
eeb09c54d8 | ||
|
|
52a3777aae | ||
|
|
ea1f451d35 | ||
|
|
28795e549b | ||
|
|
0a667bf18a | ||
|
|
2d8a4e13e6 | ||
|
|
f1702b5693 | ||
|
|
b89d0837a6 | ||
|
|
cba6a6ec51 | ||
|
|
d74623faf9 | ||
|
|
db4bf08475 | ||
|
|
f9c2327bf5 | ||
|
|
beab9870cf | ||
|
|
dbfb93a50f | ||
|
|
6b66cd7f29 | ||
|
|
08089e0654 | ||
|
|
b2ef973f16 | ||
|
|
d862f8cd53 | ||
|
|
9c61e9eda3 | ||
|
|
dc000e08ab | ||
|
|
5469d59de9 | ||
|
|
37f640ece2 | ||
|
|
906898c785 | ||
|
|
30f6c5f8f1 | ||
|
|
1a2059c0f1 | ||
|
|
4fb0050411 | ||
|
|
5708fb1668 | ||
|
|
870604d64c | ||
|
|
9f4bf4267d | ||
|
|
5c15d57f5f | ||
|
|
6e1f76185e | ||
|
|
7fe5ba480c | ||
|
|
2333ff7b2d | ||
|
|
5063961748 | ||
|
|
815c0a394d | ||
|
|
6d3f42a441 | ||
|
|
4b76594d8d | ||
|
|
f5144f33da | ||
|
|
03f7e9e15a | ||
|
|
a8baa4b67c | ||
|
|
f40bebed3b | ||
|
|
5a036e572b | ||
|
|
cd31f5fceb | ||
|
|
f812174270 | ||
|
|
aeaeb8ba94 | ||
|
|
2adeb401ff | ||
|
|
52325cb7dd | ||
|
|
6265bbf99a | ||
|
|
8c0c9a5e29 | ||
|
|
8638c73a4e | ||
|
|
d2d4038357 | ||
|
|
f8fdbaf566 | ||
|
|
0b2536dd3e | ||
|
|
b2b7d8d64e | ||
|
|
67c34794e8 | ||
|
|
30f0cdde6f | ||
|
|
71637cc282 | ||
|
|
56402db7ee | ||
|
|
3e76d380a1 | ||
|
|
4873165dbc | ||
|
|
277706505e | ||
|
|
9f09aa725b | ||
|
|
06fee385e1 | ||
|
|
dc4ef1163f | ||
|
|
2928837b76 | ||
|
|
a5124b118b | ||
|
|
e7db878188 | ||
|
|
0b164a7989 | ||
|
|
a4088685a0 | ||
|
|
fc06963c56 | ||
|
|
9680e7460c | ||
|
|
271e53a6bf | ||
|
|
3888483fb4 | ||
|
|
d67e72912c | ||
|
|
b843989719 | ||
|
|
7717450044 | ||
|
|
98947c10bb | ||
|
|
6aa7266084 | ||
|
|
bd5656bf89 | ||
|
|
1e4795e653 | ||
|
|
c8e0090870 | ||
|
|
2dd9d8338b | ||
|
|
8d3c82de19 | ||
|
|
3bff10e17d | ||
|
|
6562a5191a | ||
|
|
5ef159876a | ||
|
|
1bb86d8984 | ||
|
|
edd735ce80 | ||
|
|
4fd06b5ea8 | ||
|
|
f6d997ca87 | ||
|
|
5963efcec8 | ||
|
|
f8fbfee49d | ||
|
|
4d7ee63d77 | ||
|
|
21b97f68fa | ||
|
|
95c91b4dc6 | ||
|
|
ca1b35a351 | ||
|
|
84177d38d4 | ||
|
|
e21589da86 | ||
|
|
0768971f35 | ||
|
|
6c42a7f6e4 | ||
|
|
a65f3bd116 | ||
|
|
822e508d13 | ||
|
|
1611aeedce | ||
|
|
7c243756bc | ||
|
|
43b53df0a0 | ||
|
|
66c6c2400a | ||
|
|
30096a5ae4 | ||
|
|
c70afc24bd | ||
|
|
ce53b7adb1 | ||
|
|
25fa70fe9e | ||
|
|
724957fbec | ||
|
|
9084ef35b4 | ||
|
|
e58b1054ea | ||
|
|
24de0866f7 | ||
|
|
0cec99361b | ||
|
|
8ba745030a | ||
|
|
4ddf897719 | ||
|
|
9be7eb67d8 | ||
|
|
56bba522ac | ||
|
|
b6c1b3fb96 | ||
|
|
82de13d95a | ||
|
|
92dd6fb575 | ||
|
|
ced58a047d | ||
|
|
2d98b877a2 | ||
|
|
a26b91291c | ||
|
|
46a649afc1 | ||
|
|
3ce242886b | ||
|
|
3b5538a09c | ||
|
|
796519f6a7 | ||
|
|
2365a9caab | ||
|
|
425b5d0478 | ||
|
|
628560850a | ||
|
|
69f058e532 | ||
|
|
c66b660c10 | ||
|
|
4fdb3322cc | ||
|
|
73122400e3 | ||
|
|
d1cdfafe22 | ||
|
|
91e8a2cf0e | ||
|
|
b5721a92e9 | ||
|
|
cefe4b773c | ||
|
|
332346449f | ||
|
|
2c199e7c42 | ||
|
|
2a32864856 | ||
|
|
9481bbd2ef | ||
|
|
08aad5461e | ||
|
|
0bab9474ae | ||
|
|
1f802eca46 | ||
|
|
a02df6c980 | ||
|
|
e0194b2b95 | ||
|
|
74f4886ea6 | ||
|
|
d9119921de | ||
|
|
4a12ec6fc0 | ||
|
|
0c855cdd6d | ||
|
|
89d44a5f60 | ||
|
|
aa47018197 | ||
|
|
d5cd2446e4 | ||
|
|
eb386fb0fb | ||
|
|
cb24b84bff | ||
|
|
d65522a9b4 | ||
|
|
fa91d0b705 | ||
|
|
ae43cfaaf2 | ||
|
|
8bbcb05303 | ||
|
|
f2713462cc | ||
|
|
ac9d406862 | ||
|
|
74738022da | ||
|
|
aae8d5d639 | ||
|
|
372ee9b6b6 | ||
|
|
943e21f507 | ||
|
|
b6308bab4f | ||
|
|
6a4df2a641 | ||
|
|
a92eb4d10a | ||
|
|
c03e52c06f | ||
|
|
66e663757a | ||
|
|
d279f61d0b | ||
|
|
b59d4791cf | ||
|
|
680a3802d7 | ||
|
|
c3ee97103f | ||
|
|
489fbe628a | ||
|
|
9ba42ec950 | ||
|
|
b54facdbd8 | ||
|
|
5c790b8540 | ||
|
|
ef32b49e50 | ||
|
|
8fb09d07ed | ||
|
|
710d3360ac | ||
|
|
ded036b93e | ||
|
|
364e6a1341 | ||
|
|
2aec91d8c0 | ||
|
|
4f0c880e3e | ||
|
|
13d623f350 | ||
|
|
9aecf79d7f | ||
|
|
2e8076d909 | ||
|
|
655939147a | ||
|
|
bf899022d7 | ||
|
|
ed5aa4a67d | ||
|
|
22bf3549b6 | ||
|
|
f260a8be66 | ||
|
|
068ab8ab36 | ||
|
|
6fde585504 | ||
|
|
c45cc6928d | ||
|
|
110b7df4d5 | ||
|
|
73eea20fcc | ||
|
|
4f20a68b33 | ||
|
|
dafef46a1b | ||
|
|
e283831841 | ||
|
|
d13c7b6b3e | ||
|
|
e7d1477a7e | ||
|
|
2810f6afc1 | ||
|
|
821811cf0c | ||
|
|
fea666bd1e | ||
|
|
193254de94 | ||
|
|
b919719aeb | ||
|
|
ea051c6d5f | ||
|
|
893b3c629d | ||
|
|
c07c942659 | ||
|
|
b1d6d84e6f | ||
|
|
1afb248e4d | ||
|
|
cad85d76a5 | ||
|
|
29ad851a9c | ||
|
|
cb9eaeeff9 | ||
|
|
7c9493cbc2 | ||
|
|
d21c01f8d1 | ||
|
|
f4f06c9777 | ||
|
|
437b6f3f0e | ||
|
|
a163c90f2b | ||
|
|
9d9d22fcba | ||
|
|
df5e175b86 | ||
|
|
0f8bbfd64c | ||
|
|
8c270288de | ||
|
|
7bd7cdd867 | ||
|
|
f618713551 | ||
|
|
de329e49a8 | ||
|
|
2aa6f771a9 | ||
|
|
7787fcff8e | ||
|
|
6e576d208e | ||
|
|
00751dc5d3 | ||
|
|
e456fb8f88 | ||
|
|
9dd579a6d5 | ||
|
|
fbd36a4347 | ||
|
|
7f8bfb22de | ||
|
|
943b513a52 | ||
|
|
221eaf1a81 | ||
|
|
41f1ec445f | ||
|
|
a289723f66 | ||
|
|
a3f6efecb8 | ||
|
|
2587cf3b95 | ||
|
|
d535331b4b | ||
|
|
6d85399ec5 | ||
|
|
7a113474f0 | ||
|
|
0bb7cc0a1a | ||
|
|
322ff3fcb9 | ||
|
|
d329cabf07 | ||
|
|
38c48e8b6a | ||
|
|
cd0b349496 | ||
|
|
7f1932e282 | ||
|
|
17f2fb4471 | ||
|
|
022a9cc6df | ||
|
|
c88db3221c | ||
|
|
bd3e1299a3 | ||
|
|
3a97688804 | ||
|
|
3f027b2698 | ||
|
|
916754ea6d | ||
|
|
335633a5e0 | ||
|
|
925bfc2a99 | ||
|
|
d19c767ad1 | ||
|
|
d2347d9972 | ||
|
|
f8dcff9fc4 | ||
|
|
e5716922a3 | ||
|
|
65e956a01c | ||
|
|
a93829557b | ||
|
|
c21d475bbd | ||
|
|
935dd046da | ||
|
|
1b2d9f0c5d | ||
|
|
4baea67e75 | ||
|
|
1e8332f36a | ||
|
|
096696bed7 | ||
|
|
756cd1ee47 | ||
|
|
64534542a9 | ||
|
|
b22e31c302 | ||
|
|
008beb4896 | ||
|
|
576bcc6979 | ||
|
|
4ec345a239 | ||
|
|
972bfbcccc | ||
|
|
f59fbaf0eb | ||
|
|
631ed8c0fd | ||
|
|
41e8a2a7d1 | ||
|
|
599626b709 | ||
|
|
0ae17ddb1a | ||
|
|
7353c26a4f | ||
|
|
b8769e954e | ||
|
|
81cd2d9be9 | ||
|
|
90707c453d | ||
|
|
ec0e9f078c | ||
|
|
98b537575f | ||
|
|
233195b020 | ||
|
|
7d71e28bfc | ||
|
|
13e09953af | ||
|
|
a85ca4108c | ||
|
|
8620febeb3 | ||
|
|
af4c047c41 | ||
|
|
bec9b34f54 | ||
|
|
9989daec94 | ||
|
|
c86dd7397d | ||
|
|
eefc81ed8c | ||
|
|
91c717376f | ||
|
|
344c918b65 | ||
|
|
deeda519b0 | ||
|
|
2db12b9d84 | ||
|
|
378588c67d | ||
|
|
119b6bdfd5 | ||
|
|
8751a2d330 | ||
|
|
4543ddbcc2 | ||
|
|
77a7b18b29 | ||
|
|
749aef1a64 | ||
|
|
8091b6bc1b | ||
|
|
4efa845580 | ||
|
|
8c9ae90753 | ||
|
|
d1117aafac | ||
|
|
a565182b2b | ||
|
|
650b0ae646 | ||
|
|
b677619f32 | ||
|
|
2fa8f09a21 | ||
|
|
73c9279907 | ||
|
|
7d8912f170 | ||
|
|
2601ba53d4 | ||
|
|
81baaaa98a | ||
|
|
c2638131b4 | ||
|
|
586486b81c | ||
|
|
af75ac00e2 | ||
|
|
67b66c1780 | ||
|
|
b3dce680b0 | ||
|
|
d01a59650f | ||
|
|
5ae987d48e | ||
|
|
6a6ecbf826 | ||
|
|
4bdf180145 | ||
|
|
6ebb8c2e91 | ||
|
|
5eae7a6328 | ||
|
|
7d81c979fe | ||
|
|
c06ac00677 | ||
|
|
85c754b456 | ||
|
|
35d3547b62 | ||
|
|
8661f42fce | ||
|
|
a28098c4f8 | ||
|
|
d45f34ee8b | ||
|
|
d552f8dc43 | ||
|
|
b45360b49e | ||
|
|
fffdf8d671 | ||
|
|
2634134481 | ||
|
|
c0ac71611b | ||
|
|
63ecdfefe3 | ||
|
|
6345e8e467 | ||
|
|
e96545ca29 | ||
|
|
dc08858e0f | ||
|
|
f5787f9ba0 | ||
|
|
a271fe11e9 | ||
|
|
a20a3866d0 | ||
|
|
28d25fdf33 | ||
|
|
f13ad4fcb3 | ||
|
|
a524410b0a | ||
|
|
8e23d8d557 | ||
|
|
59531f005e | ||
|
|
4c8cba53ef | ||
|
|
34cd53249d | ||
|
|
14ce344a3f | ||
|
|
cc5142000b | ||
|
|
1ad6532f1a | ||
|
|
f136a1a970 | ||
|
|
a959ec7571 | ||
|
|
e1a6304e32 | ||
|
|
be05c95026 | ||
|
|
3983e542b2 | ||
|
|
3d76652b5f | ||
|
|
6532dbced4 | ||
|
|
fe27ebefc8 | ||
|
|
6e84613a14 | ||
|
|
568ebc6199 | ||
|
|
cf1d67d927 | ||
|
|
8181cc8528 | ||
|
|
b344ee094f | ||
|
|
b042aeacf5 | ||
|
|
fea58d2271 | ||
|
|
ca5da27170 | ||
|
|
11eab828c4 | ||
|
|
8ca3f9a9c2 | ||
|
|
deb044357b | ||
|
|
00c07d2dff | ||
|
|
185ed3ce0b | ||
|
|
3b043250b6 | ||
|
|
3359b3c7ab | ||
|
|
6b1e483d28 | ||
|
|
d3faa05479 | ||
|
|
73f17be890 | ||
|
|
9292ceedb1 | ||
|
|
d1470a9935 | ||
|
|
38fa137cfd | ||
|
|
a7288d8ad8 | ||
|
|
0692517f13 | ||
|
|
4f44e3fc46 | ||
|
|
14398da51f | ||
|
|
6e8897d62b | ||
|
|
69da1e4559 | ||
|
|
abde47fa18 | ||
|
|
f46b406cbd | ||
|
|
48313b42a2 | ||
|
|
1e06b57f25 | ||
|
|
8a6c896dde | ||
|
|
b3c7b07813 | ||
|
|
65072ddbe5 | ||
|
|
d42fb851a2 | ||
|
|
ea0791a3bf | ||
|
|
8d4df7f74b | ||
|
|
4b07eae80e | ||
|
|
77162ff637 | ||
|
|
e10f414724 | ||
|
|
53c3f253e6 | ||
|
|
b0f20c9973 | ||
|
|
5c3ae656a0 | ||
|
|
a98efdfedd | ||
|
|
3b8eb6731c | ||
|
|
89bc4707ab | ||
|
|
e5a8b01980 | ||
|
|
7194542029 | ||
|
|
06beadba74 | ||
|
|
b10249af7d | ||
|
|
1f04214461 | ||
|
|
39d611e870 | ||
|
|
b913d39a50 | ||
|
|
eb60e9aa9b | ||
|
|
53bb0c508f | ||
|
|
1c50d3e4b3 | ||
|
|
de724d9570 | ||
|
|
e8293b2e06 | ||
|
|
904345ff82 | ||
|
|
d16592817b | ||
|
|
14f1a78608 | ||
|
|
68c2a68087 | ||
|
|
ae83f729db | ||
|
|
c53f4d0d63 | ||
|
|
cbb3134740 | ||
|
|
9b97c157f2 | ||
|
|
11cf244e97 | ||
|
|
6673bd9212 | ||
|
|
02dfc5d20d | ||
|
|
565ff86ab4 | ||
|
|
5a77790859 | ||
|
|
66101f8628 | ||
|
|
2f70b153f2 | ||
|
|
31fe9979dd | ||
|
|
4fc6e9240c | ||
|
|
0eae59ee66 | ||
|
|
8e6cd47f25 | ||
|
|
ecdbe17fba | ||
|
|
0e9dcf74b2 | ||
|
|
5297c2a995 | ||
|
|
edf5e2c14e | ||
|
|
9180adb850 | ||
|
|
1b080f1777 | ||
|
|
0a2584172a | ||
|
|
1993203d26 | ||
|
|
3c18cdcb1f | ||
|
|
e767fb8d35 | ||
|
|
3255422836 | ||
|
|
67fa06b933 | ||
|
|
398e468c9e | ||
|
|
f7ee35e578 | ||
|
|
800b458d3d | ||
|
|
3f31a4d25b | ||
|
|
0592abd31b | ||
|
|
55d546b892 | ||
|
|
f28e42c4fe | ||
|
|
7cdc849ffa | ||
|
|
eed04b3ff3 | ||
|
|
e2044eba66 | ||
|
|
06e6d12e2f | ||
|
|
48fd68ca87 | ||
|
|
7ad59a7af1 | ||
|
|
bae2c9c1d8 | ||
|
|
3d171686b5 | ||
|
|
f86b3a32cd | ||
|
|
59d6113ee4 | ||
|
|
f270f34865 | ||
|
|
b2514d49d2 | ||
|
|
2951068e0c | ||
|
|
a4dcaa7c14 | ||
|
|
b90de6d89f | ||
|
|
532a7addd4 | ||
|
|
5389178644 | ||
|
|
6cbdc8c8b7 | ||
|
|
6e6a70b8ed | ||
|
|
1a0a0423e7 | ||
|
|
b28779b0f6 | ||
|
|
63fd349e3c | ||
|
|
481c92c1c8 | ||
|
|
d733730950 | ||
|
|
93a9e5dd83 | ||
|
|
db9672509c | ||
|
|
ffe69d313b | ||
|
|
502a44e9f5 | ||
|
|
5e913b0e9e | ||
|
|
864651ce8d | ||
|
|
850deed6c1 | ||
|
|
63424b765d | ||
|
|
a635e84d82 | ||
|
|
6991f819f3 | ||
|
|
a22c634cd4 | ||
|
|
80aaa962ec | ||
|
|
876ea3db52 | ||
|
|
1bfc0f3138 | ||
|
|
5fa9427323 | ||
|
|
29cea58471 | ||
|
|
4779bc830a | ||
|
|
dd8a645986 | ||
|
|
9aa2c52b20 | ||
|
|
0914b2a474 | ||
|
|
d387a1f4dc | ||
|
|
3488aa54be | ||
|
|
de541aeba9 | ||
|
|
5fb00bd6c7 | ||
|
|
fdabc82342 | ||
|
|
e5f90f176c | ||
|
|
6438547edc | ||
|
|
0f0ab25fe8 | ||
|
|
fc7a20dd0f | ||
|
|
f8c7237bba | ||
|
|
00af7d6835 | ||
|
|
86fb8e5809 | ||
|
|
29964c3f26 | ||
|
|
ec787d090d | ||
|
|
f9707e6809 | ||
|
|
5665e5e222 | ||
|
|
336e5c77fe | ||
|
|
d8b107f59c | ||
|
|
19197fabe8 | ||
|
|
3801825793 | ||
|
|
25e15a16b1 | ||
|
|
5ac9419703 | ||
|
|
821e15f1ee | ||
|
|
0efe03e726 | ||
|
|
577d6e735c | ||
|
|
7668123aaa | ||
|
|
0b87d580c3 | ||
|
|
170a03cac6 | ||
|
|
70d8acb812 | ||
|
|
2670d5a9aa | ||
|
|
44081671ac | ||
|
|
462b304bea | ||
|
|
059f58803c | ||
|
|
e170e9281d | ||
|
|
5987e03463 | ||
|
|
ddbdfd47be | ||
|
|
1b83e17d60 | ||
|
|
bc7ed4e7d0 | ||
|
|
283c7fa88c | ||
|
|
d01ee3163d | ||
|
|
90457e32b6 | ||
|
|
4cb6c94693 | ||
|
|
93c78a27b3 | ||
|
|
50452848e7 | ||
|
|
4f70fd9583 | ||
|
|
e6c8354ec8 | ||
|
|
a1e77002c3 | ||
|
|
099cd52381 | ||
|
|
0d1675fbaa | ||
|
|
f021da5627 | ||
|
|
906480b8e2 | ||
|
|
38b83af714 | ||
|
|
05dab12b7c | ||
|
|
c0628a64a6 | ||
|
|
5ecaa9459d | ||
|
|
24b2277206 | ||
|
|
8e60d2c72e | ||
|
|
cfe2f9e6b4 | ||
|
|
0a11b5898a | ||
|
|
be49de6fa0 | ||
|
|
1ad52e918b | ||
|
|
53388336d2 | ||
|
|
4e1496e736 | ||
|
|
216c964d13 | ||
|
|
6bb828eb8f | ||
|
|
511845a1c4 | ||
|
|
89f10e1605 | ||
|
|
76b4e93604 | ||
|
|
cec089a271 | ||
|
|
b4bd36c4b2 | ||
|
|
338eb42b04 | ||
|
|
8e42fce0aa | ||
|
|
a7900b342e | ||
|
|
506bbe1c08 | ||
|
|
d32d8cc0ec | ||
|
|
0cb9655523 | ||
|
|
3067bef82d | ||
|
|
486764be03 | ||
|
|
5e336138d0 | ||
|
|
4a5180bc0a | ||
|
|
dd28e33612 | ||
|
|
b66c0411df | ||
|
|
c59b114a1d | ||
|
|
352faeddb2 | ||
|
|
140d44d826 | ||
|
|
db220001f6 | ||
|
|
5ac9b5576a | ||
|
|
b23873e0ed | ||
|
|
284ec35699 | ||
|
|
cb0e629dd3 | ||
|
|
1aaadd6228 | ||
|
|
e20a357340 | ||
|
|
fef2952d47 | ||
|
|
f4b2e0dd7a | ||
|
|
d3aace98ac | ||
|
|
3a7f82eb66 | ||
|
|
3e24b678c4 | ||
|
|
2ab6ca06ed | ||
|
|
9ac5041b43 | ||
|
|
9262422d01 | ||
|
|
9f04becc7a | ||
|
|
8485af6cac | ||
|
|
48f7e6c63f | ||
|
|
e1fb84d6a3 | ||
|
|
5db9a738c5 | ||
|
|
145e75624d | ||
|
|
d09b49e17c | ||
|
|
fdc3ca1227 | ||
|
|
51d47a1455 | ||
|
|
9504671919 | ||
|
|
e5248db844 | ||
|
|
551d013b63 | ||
|
|
d65950cda2 | ||
|
|
15c38a0a4e | ||
|
|
74ed14496b | ||
|
|
1fa6fb0a8c | ||
|
|
3dc6ae115f | ||
|
|
fa36b9b5cb | ||
|
|
47fff9304b | ||
|
|
29c0d93864 | ||
|
|
38ff521851 | ||
|
|
34de1bffc6 | ||
|
|
8dc1592278 | ||
|
|
5b86205349 | ||
|
|
0d4fbd540e | ||
|
|
b9edabc236 | ||
|
|
180d9ae9c9 | ||
|
|
80cc2f0cb7 | ||
|
|
1927896442 | ||
|
|
bf9c1176b6 | ||
|
|
166156519a | ||
|
|
d89daa1b25 | ||
|
|
efc17f265c | ||
|
|
8427e6fd3e | ||
|
|
f1ac712eba | ||
|
|
0d4394a749 | ||
|
|
9dac598113 | ||
|
|
6db573d255 | ||
|
|
9b21f31b0d | ||
|
|
2fedecb809 | ||
|
|
b24a8c70e3 | ||
|
|
d6684efd26 | ||
|
|
644241959a | ||
|
|
273c1b1922 | ||
|
|
45682c382f | ||
|
|
4e6b86f8f4 | ||
|
|
a6b4ca69db | ||
|
|
6b32e00097 | ||
|
|
19d310475b | ||
|
|
a8b9df3952 | ||
|
|
bb75c78c1a | ||
|
|
57ea137982 | ||
|
|
9721ed0fb3 | ||
|
|
224863fbd5 | ||
|
|
1d459d8fab | ||
|
|
33e0ac729e | ||
|
|
268ecf42c3 | ||
|
|
708281f00b | ||
|
|
56b68a50e9 | ||
|
|
e4048dc2dd | ||
|
|
5949c772d1 | ||
|
|
63998b64cc | ||
|
|
fbb3ea142a | ||
|
|
435f760b5d | ||
|
|
f47129bd72 | ||
|
|
aa42acfe22 | ||
|
|
ddfe6ac5c1 | ||
|
|
624dff1b96 | ||
|
|
8d498b564d | ||
|
|
26561261bc | ||
|
|
44728be719 | ||
|
|
678bb1218b | ||
|
|
c496e80eac | ||
|
|
269db188d0 | ||
|
|
f5afbfd4f5 | ||
|
|
ccd86a242c | ||
|
|
42a5cb7ad2 | ||
|
|
6977323d88 | ||
|
|
7b1d03d45a | ||
|
|
8a4f1ef51a | ||
|
|
9b50bb2e81 | ||
|
|
4f27d779a1 | ||
|
|
73c6353351 | ||
|
|
f571b66a43 | ||
|
|
901664ba44 | ||
|
|
02012b5491 | ||
|
|
4f57e40c91 | ||
|
|
832e536a9e | ||
|
|
c2316ca5bc | ||
|
|
3535edcfa1 | ||
|
|
a4932ed0f1 | ||
|
|
515d9040a1 | ||
|
|
fe3a743814 | ||
|
|
8e08cd772b | ||
|
|
206f80c5f4 | ||
|
|
c6ce380042 | ||
|
|
939d98d660 | ||
|
|
c9a3420f85 | ||
|
|
9a1a399bac | ||
|
|
c8aac1dca9 | ||
|
|
14c17916f5 | ||
|
|
7b0576d7cc | ||
|
|
ecb118d5af | ||
|
|
efbf187b35 | ||
|
|
2ea3feba90 | ||
|
|
f265257efb | ||
|
|
13cc0caed7 | ||
|
|
2068240e1a | ||
|
|
7f5901f022 | ||
|
|
a022de6225 | ||
|
|
f5570b7f40 | ||
|
|
7e1c48694a | ||
|
|
a546f61ea8 | ||
|
|
7ecac10eee | ||
|
|
ee2e10e86b | ||
|
|
7752f44a90 | ||
|
|
e01fc3eb47 | ||
|
|
910c8190e0 | ||
|
|
a62ccc0d69 | ||
|
|
4f47041108 | ||
|
|
16cfde0538 | ||
|
|
6a15d46461 | ||
|
|
4331ae1925 | ||
|
|
4d85d916b7 | ||
|
|
4f4b14dd4d | ||
|
|
444e650711 | ||
|
|
c65ccaa153 | ||
|
|
6b54db9b75 | ||
|
|
3bab470db6 | ||
|
|
adf01cb56a | ||
|
|
bbe3af7f61 | ||
|
|
3e7d32c807 | ||
|
|
76e25cb738 | ||
|
|
8f0dc34847 | ||
|
|
fc6ec2cc02 | ||
|
|
34b7b07ff8 | ||
|
|
6c33b73cdd | ||
|
|
1e86ba4120 | ||
|
|
89c79aa6c3 | ||
|
|
4ed748fa30 | ||
|
|
5569e94f41 | ||
|
|
892eec79ed | ||
|
|
b248b4a8af | ||
|
|
39fe467b64 | ||
|
|
1c301ec889 | ||
|
|
de5690ddcb | ||
|
|
f376c8f7ae | ||
|
|
2e199d47a8 | ||
|
|
96269db93e | ||
|
|
d35db63d73 | ||
|
|
9d003486c2 | ||
|
|
0c4b85980c | ||
|
|
5961db6b9b | ||
|
|
d0039c2920 | ||
|
|
5bdec2f532 | ||
|
|
fd758bb307 | ||
|
|
a11d09ebdf | ||
|
|
d294064da6 | ||
|
|
fd4a5acc40 | ||
|
|
05a7a61257 | ||
|
|
90a4a11d49 | ||
|
|
d9f914eb7c | ||
|
|
134242973b | ||
|
|
92900d8dc8 | ||
|
|
7a970e1d00 | ||
|
|
e8e0f355fc | ||
|
|
3202fd88d2 | ||
|
|
1c66c904ab | ||
|
|
784e090081 | ||
|
|
2d08d3dc94 | ||
|
|
237b9754c6 | ||
|
|
74bbccdf59 | ||
|
|
062d625901 | ||
|
|
3f30c2bda2 | ||
|
|
0702692746 | ||
|
|
11a218b1aa | ||
|
|
f4acff1321 | ||
|
|
a8ee746c39 | ||
|
|
ddd5fc7bf3 | ||
|
|
22dfe05287 | ||
|
|
fa78e1295a | ||
|
|
4a634ca154 | ||
|
|
bd1f5d0888 | ||
|
|
2f028c5f40 | ||
|
|
56c8843406 | ||
|
|
37c4c596b5 | ||
|
|
7b0bde4f1f | ||
|
|
5c5c7d64a8 | ||
|
|
565189d08c | ||
|
|
682580e318 | ||
|
|
74e3d6470a | ||
|
|
b4e6a715fc | ||
|
|
85f0d44997 | ||
|
|
294855700d | ||
|
|
099ddfedc7 | ||
|
|
d9e2bcef6d | ||
|
|
7a628f1a12 | ||
|
|
75bc680934 | ||
|
|
0c98b5ff76 | ||
|
|
11918e5846 | ||
|
|
2c33bf8c6f | ||
|
|
e833a67bb7 | ||
|
|
6dc5087cbd | ||
|
|
eabda670ac | ||
|
|
845e7930d7 | ||
|
|
d20bfa240d | ||
|
|
ba27a46ac6 | ||
|
|
866e5bd929 | ||
|
|
1beb5517a7 | ||
|
|
a12ad1f627 | ||
|
|
c18be9dde7 | ||
|
|
4eba400170 | ||
|
|
dc376ab161 | ||
|
|
5ff49a78eb | ||
|
|
6df50992c4 | ||
|
|
5d2bcfaa38 | ||
|
|
990d7ad0f7 | ||
|
|
510283cd4d | ||
|
|
dcc183179a | ||
|
|
30bc9b04c5 | ||
|
|
8aaeb1c7ce | ||
|
|
1984c68516 | ||
|
|
c81c89d6d9 | ||
|
|
9ce2405f3f | ||
|
|
21fba45a3c | ||
|
|
a0bbdcefb3 | ||
|
|
753da789a0 | ||
|
|
cd5ce6e162 | ||
|
|
5a25cc171d | ||
|
|
32dc68f103 | ||
|
|
69a500d657 | ||
|
|
ed9f34de5f | ||
|
|
d6f1291c0b | ||
|
|
01079f5162 | ||
|
|
9b0dc287c1 | ||
|
|
bb92566781 | ||
|
|
17b1c664a8 | ||
|
|
2eaba084c7 | ||
|
|
ff75ab73cc | ||
|
|
3c54593456 | ||
|
|
39dfb2e606 | ||
|
|
4e7ade8612 | ||
|
|
664013e7ad | ||
|
|
9d51c64d92 | ||
|
|
ee82c7834d | ||
|
|
b389c6e103 | ||
|
|
b3a2d3c1e4 | ||
|
|
5d33af13ca | ||
|
|
6b2a851dec | ||
|
|
3b3072801c | ||
|
|
9ed33d4337 | ||
|
|
728b3eb5db | ||
|
|
f73398ea84 | ||
|
|
2b646c2153 | ||
|
|
f83692c0df | ||
|
|
b8236b1b1c | ||
|
|
1a3d77b2c0 | ||
|
|
816ee9e545 | ||
|
|
06766ddb98 | ||
|
|
7151848406 | ||
|
|
45b5347092 | ||
|
|
5b6986c230 | ||
|
|
de195d9b20 | ||
|
|
b47552c08f | ||
|
|
48dabd3ca2 | ||
|
|
91ac0368e3 | ||
|
|
dfe4bc199f | ||
|
|
1630404621 | ||
|
|
02c66491e8 | ||
|
|
d4b1d9abe5 | ||
|
|
6ab77be8fc | ||
|
|
6cf518e7df | ||
|
|
8f1745bf44 | ||
|
|
38f1ae34ad | ||
|
|
ad415945a6 | ||
|
|
a44fe29b8d | ||
|
|
c1d96fc876 | ||
|
|
65db50df5d | ||
|
|
f009d6f9e7 | ||
|
|
ed8bd18dfb | ||
|
|
af648334d1 | ||
|
|
8f4ce02d05 | ||
|
|
9b7e87c043 | ||
|
|
cae8e6ae79 | ||
|
|
1a2272ad43 | ||
|
|
fede91a98b | ||
|
|
7e8c6fcc9d | ||
|
|
0ca3167595 | ||
|
|
c74cc9bc12 | ||
|
|
061fff6f17 | ||
|
|
2aaabdd2ea | ||
|
|
2f06ed2af8 | ||
|
|
52252de3a6 | ||
|
|
ff725980c3 | ||
|
|
d6d420b1f7 | ||
|
|
977e8a4c54 | ||
|
|
b8188a7954 | ||
|
|
8ac57db117 | ||
|
|
5cc66e4d36 | ||
|
|
d9d2022096 | ||
|
|
1ea38b1981 | ||
|
|
d63a36216f | ||
|
|
9ac935ed94 | ||
|
|
02bb2b7477 | ||
|
|
9cfce59547 | ||
|
|
99f0d5c685 | ||
|
|
f84cb1c9cc | ||
|
|
ae4733c59d | ||
|
|
2629c92a00 | ||
|
|
4ccb922d1a | ||
|
|
8113e9a168 | ||
|
|
a632f3c5cb | ||
|
|
e64e2f2c4e | ||
|
|
f6d49eb5b9 | ||
|
|
ee4f498a13 | ||
|
|
3bdb1f8550 | ||
|
|
971f060029 | ||
|
|
2684fd6b62 | ||
|
|
6085c5bf01 | ||
|
|
550f0d9936 | ||
|
|
9c00554118 | ||
|
|
ec7e8989a6 | ||
|
|
3ca4272230 | ||
|
|
ae14afd5f7 | ||
|
|
3d40b23496 | ||
|
|
88c0c41a70 | ||
|
|
176917caf4 | ||
|
|
e2e8fdafb1 | ||
|
|
aad8b09d81 | ||
|
|
90e3d9e460 | ||
|
|
baf9e4a9af | ||
|
|
1b453d0436 | ||
|
|
49b1a496b1 | ||
|
|
50afd83bc6 | ||
|
|
85934dcbe2 | ||
|
|
095ff20e2b | ||
|
|
3a91ed2571 | ||
|
|
20c534fc46 | ||
|
|
0c0bd8be98 | ||
|
|
ead6f9f4cd | ||
|
|
2328d9e107 | ||
|
|
87aa8333a8 | ||
|
|
f1de985304 | ||
|
|
5d3cbf8d1a | ||
|
|
c24ed8d47b | ||
|
|
cbf4a83b3f | ||
|
|
a6887715c7 | ||
|
|
e2169bc1da | ||
|
|
89f3b46a9e | ||
|
|
d64e838b6d | ||
|
|
263e495561 | ||
|
|
127433628d | ||
|
|
29e8da0944 | ||
|
|
a2992c86e6 | ||
|
|
1cc796b1a7 | ||
|
|
679cc7af38 | ||
|
|
c4b3239e33 | ||
|
|
4139da82b9 | ||
|
|
bdc7dc2cd8 | ||
|
|
244a4da28a | ||
|
|
e7e0dbd29a | ||
|
|
1f6b2e629b | ||
|
|
793ba944d6 | ||
|
|
438480517b | ||
|
|
e3b4d13c47 | ||
|
|
3caebb31ae | ||
|
|
8b9eee4961 | ||
|
|
280f5adb22 | ||
|
|
16cfcad0bf | ||
|
|
51431d22ba | ||
|
|
ef3bc9202b | ||
|
|
cdae169922 | ||
|
|
c45a7a2ef6 | ||
|
|
ddf16b71c2 | ||
|
|
d29f843525 | ||
|
|
8ce8ac4404 | ||
|
|
b55e59e665 | ||
|
|
598a3b5d7b | ||
|
|
8c16e3231e | ||
|
|
eca5eced63 | ||
|
|
e87d8da1fb | ||
|
|
f5fba1cbd1 | ||
|
|
06b4c3faab | ||
|
|
6d0b9b3747 | ||
|
|
92f2cef4d1 | ||
|
|
5fdfbd470b | ||
|
|
75b5f70196 | ||
|
|
b68be77865 | ||
|
|
105aab0345 | ||
|
|
9c3270a2de | ||
|
|
5c33e9666a | ||
|
|
aeb9403b67 | ||
|
|
50735567c9 | ||
|
|
0e83c992c3 | ||
|
|
dac7106df8 | ||
|
|
11b467e455 | ||
|
|
7cc2437ef7 | ||
|
|
8d4ffc0713 | ||
|
|
5ec5fb17ca | ||
|
|
234d643dd3 | ||
|
|
7288a1fcb2 | ||
|
|
b8b23cd359 | ||
|
|
c05eaa9382 | ||
|
|
6d14bda7b0 | ||
|
|
e2fd951ff3 | ||
|
|
bf598d5fe9 | ||
|
|
32f420dbe5 | ||
|
|
6d0e35ddcb | ||
|
|
f9f4557841 | ||
|
|
d441cdba71 | ||
|
|
9f24fb618f | ||
|
|
9d43641765 | ||
|
|
93f9ae8a31 | ||
|
|
c2ca0852d9 | ||
|
|
8bedfc257f | ||
|
|
b709810079 | ||
|
|
d4721d50f7 | ||
|
|
14b54e554e | ||
|
|
7555091d56 | ||
|
|
dbc176fe25 | ||
|
|
0a45385d48 | ||
|
|
f33ee27f56 | ||
|
|
5444b575f3 | ||
|
|
6361cd8268 | ||
|
|
0055fcf489 | ||
|
|
b7899d0c8c | ||
|
|
c1e5e45431 | ||
|
|
44d0966892 | ||
|
|
be0932f538 | ||
|
|
6cfa740f90 | ||
|
|
1bd8ec786b | ||
|
|
9a276d7289 | ||
|
|
ac63d41daf | ||
|
|
bd0a8a642b | ||
|
|
3e9b38044f | ||
|
|
d8ca9b5f39 | ||
|
|
e9f8e5eebd | ||
|
|
bf2613ee49 | ||
|
|
3b691da8d1 | ||
|
|
4955a4ef98 | ||
|
|
ca55d86187 | ||
|
|
5974856924 | ||
|
|
bdb7c65ab0 | ||
|
|
45ba8690a9 | ||
|
|
7054190832 | ||
|
|
dbd997b551 | ||
|
|
369bda13f8 | ||
|
|
c9216e5625 | ||
|
|
93af9656d0 | ||
|
|
bcade5bb9d | ||
|
|
59ab303c5c | ||
|
|
4ab9d1a493 | ||
|
|
f1576eeb32 | ||
|
|
1f851887d9 | ||
|
|
2a2564cf45 | ||
|
|
b5a78763f8 | ||
|
|
728e1ffdd0 | ||
|
|
14c9cfb310 | ||
|
|
b511a54445 | ||
|
|
f446e5ad3d | ||
|
|
c263c12448 | ||
|
|
ed9b6f0d3f | ||
|
|
d3152bee9c | ||
|
|
a504b429bd | ||
|
|
7b6db5ad7a | ||
|
|
398f675412 | ||
|
|
d18bf338b6 | ||
|
|
3091d28615 | ||
|
|
ab2365b475 | ||
|
|
7d356a2d20 | ||
|
|
e5a4f27e79 | ||
|
|
9cbcda0f7b | ||
|
|
93b2cd6002 | ||
|
|
411ed1e0c7 | ||
|
|
e5c4fe003b | ||
|
|
d6293ab081 | ||
|
|
38a5431ceb | ||
|
|
7f2a9f6806 | ||
|
|
6ab69e5c1c | ||
|
|
cd902a12b3 | ||
|
|
72809e8724 | ||
|
|
610cad00bf | ||
|
|
4f5bbebcd8 | ||
|
|
33f88039d7 | ||
|
|
2cf6b5052d | ||
|
|
8cb680f34e | ||
|
|
f089ef3fbe | ||
|
|
e1d2d4b863 | ||
|
|
d0b34dc04c | ||
|
|
6a8cffe615 | ||
|
|
d08101a5f4 | ||
|
|
7b6a26367a | ||
|
|
08ecf3f582 | ||
|
|
8d38e97c0b | ||
|
|
4c167cf528 | ||
|
|
7d27b675d0 | ||
|
|
0ef7e82548 | ||
|
|
8db0b52821 | ||
|
|
364199916f | ||
|
|
42066ecaba | ||
|
|
986b5a2afe | ||
|
|
921689aa04 | ||
|
|
283dcaffe2 | ||
|
|
074ffacf9d | ||
|
|
f1d3177b69 | ||
|
|
fa50e9dd20 | ||
|
|
d4de43a062 | ||
|
|
af795985fc | ||
|
|
610b19d646 | ||
|
|
95c8915d78 | ||
|
|
6bdfec743c | ||
|
|
e270c46703 | ||
|
|
0c0a866481 | ||
|
|
28ca0aed48 | ||
|
|
ca9ab100e5 | ||
|
|
73732bfb29 | ||
|
|
048e7f4c1b | ||
|
|
d041df8254 | ||
|
|
8e8b9a3cff | ||
|
|
b7b65d7361 | ||
|
|
6263c8a0cd | ||
|
|
3c92054a6e | ||
|
|
cf2b6a895f | ||
|
|
5bdb34521d | ||
|
|
e1e83c11cc | ||
|
|
0f5b17de0f | ||
|
|
568d9a3e30 | ||
|
|
1518b793dc | ||
|
|
6182b46033 | ||
|
|
4194553450 | ||
|
|
5f5a696717 | ||
|
|
35d516e140 | ||
|
|
fb5e5cc13f | ||
|
|
aa475a8d2e | ||
|
|
fa5c023d33 | ||
|
|
22d8e6f79f | ||
|
|
126ae4a0f0 | ||
|
|
68f18245a7 | ||
|
|
e2e25b7134 | ||
|
|
32088647c3 | ||
|
|
baf8df9597 | ||
|
|
34aa266260 | ||
|
|
8c887c2eee | ||
|
|
a95250cabb | ||
|
|
96bc6807ae | ||
|
|
81a139b875 | ||
|
|
1a3c20f0f7 | ||
|
|
4f735d0201 | ||
|
|
ec0543335e | ||
|
|
0872d024f9 | ||
|
|
0ce21c91ef | ||
|
|
220c7c271b | ||
|
|
bf389b94d6 | ||
|
|
6187f36c33 | ||
|
|
73df4e4abf | ||
|
|
1a8a5a5e8e | ||
|
|
c4ab6280c6 | ||
|
|
a27b6a113a | ||
|
|
a60ded5c94 | ||
|
|
5ff67d4b2d | ||
|
|
874e3d976f | ||
|
|
90e1284d83 | ||
|
|
75518b71ea | ||
|
|
b355efd73a | ||
|
|
8e920d727f | ||
|
|
5976be55f4 | ||
|
|
4c3df1a963 | ||
|
|
5b44f495ee | ||
|
|
3951e15446 | ||
|
|
b9da7c6f27 | ||
|
|
c5ae4a6957 | ||
|
|
e40c2f97f0 | ||
|
|
1dbc11bdd5 | ||
|
|
299edae7c0 | ||
|
|
86309bd837 | ||
|
|
0312e9026d | ||
|
|
a7bafb60e9 | ||
|
|
602769b9d0 | ||
|
|
e76546f8e4 | ||
|
|
a9ef1680ce | ||
|
|
670ddef944 | ||
|
|
be6b8dce25 | ||
|
|
75fd20f5df | ||
|
|
f0509a6631 | ||
|
|
702319c4ca | ||
|
|
d5bd187930 | ||
|
|
753036f0c8 | ||
|
|
cfc763b488 | ||
|
|
7edfeab0b7 | ||
|
|
226b0540c5 | ||
|
|
0c36647506 | ||
|
|
1348c8880e | ||
|
|
9334285edd | ||
|
|
2330d3a056 | ||
|
|
bce54a64ff | ||
|
|
bd43400ad8 | ||
|
|
b16c75324e | ||
|
|
0ddef1169d | ||
|
|
4da09bd841 | ||
|
|
6811cd617b | ||
|
|
4e762c75b0 | ||
|
|
f471c30036 | ||
|
|
aaed932a67 | ||
|
|
5f168b1a1e | ||
|
|
5d6f0d7e47 | ||
|
|
cf176f1b99 | ||
|
|
d97e867c07 | ||
|
|
3d0654dd48 | ||
|
|
e688840703 | ||
|
|
8bf272e806 | ||
|
|
0744bc4004 | ||
|
|
918f8cbe16 | ||
|
|
b6dafff524 | ||
|
|
34686dc167 | ||
|
|
c0c75bf18e | ||
|
|
66cfb403c6 | ||
|
|
0375f9c0ae | ||
|
|
11ac758d78 | ||
|
|
9e705b2f53 | ||
|
|
b475108ff3 | ||
|
|
ab34dff152 | ||
|
|
6a3f093cfa | ||
|
|
04ef9af703 | ||
|
|
b773ab3fb4 | ||
|
|
32085dc009 | ||
|
|
18fdfc26aa | ||
|
|
f50d2fa48e | ||
|
|
e82859c979 | ||
|
|
99bb35f109 | ||
|
|
8637f8ee9b | ||
|
|
1e11d40828 | ||
|
|
5546b102eb | ||
|
|
7d9c8c9172 | ||
|
|
8dd51b7207 | ||
|
|
746c5b603f | ||
|
|
d0de8d22fe | ||
|
|
231b8e9481 | ||
|
|
f9f36700bb | ||
|
|
ba9fced3db | ||
|
|
c192ecf6b7 | ||
|
|
6ee029e14b | ||
|
|
935f880fa7 | ||
|
|
47d046c5fe | ||
|
|
4305e17cbe | ||
|
|
c5c4cdd0b4 | ||
|
|
252562db90 | ||
|
|
a898682f3e | ||
|
|
7829094668 | ||
|
|
042c23a545 | ||
|
|
af2b9e3a4c | ||
|
|
b3b7c55b9a | ||
|
|
1859ede325 | ||
|
|
2c32c374fb | ||
|
|
65d22406a3 | ||
|
|
92689a60ae | ||
|
|
1a598ccf0d | ||
|
|
e50feb74fd | ||
|
|
af067a8c84 | ||
|
|
61a196bc3d | ||
|
|
6a431daffc | ||
|
|
1aad3e6cc8 | ||
|
|
c8d42e32ed | ||
|
|
514cc6edb8 | ||
|
|
208d3ffa7b | ||
|
|
25dd92f8c0 | ||
|
|
3f81b7e56d | ||
|
|
99b7333991 | ||
|
|
a2ae4ba441 | ||
|
|
4e1b2792c9 | ||
|
|
55695bb5bc | ||
|
|
6e064da536 | ||
|
|
69ff12645c | ||
|
|
efb93d22d9 | ||
|
|
cdb0068dcc | ||
|
|
b0a0d714c4 | ||
|
|
7e36ee243c | ||
|
|
21bc56a8ba | ||
|
|
e920c0fe3e | ||
|
|
31992fb398 | ||
|
|
dc65599fae | ||
|
|
eb9dc7b70d | ||
|
|
06bf2502a6 | ||
|
|
242655bac9 | ||
|
|
8335b3ee77 | ||
|
|
a0c8ad9511 | ||
|
|
d775a9364b | ||
|
|
1695124472 | ||
|
|
70145eb150 | ||
|
|
dacd7d94d9 | ||
|
|
85bd8555c0 | ||
|
|
6920b4e366 | ||
|
|
bda3835cb1 | ||
|
|
83e5aa6137 | ||
|
|
4719e52c6e | ||
|
|
e313eadcd2 | ||
|
|
be952e40ba | ||
|
|
4d4b24f8b0 | ||
|
|
9533fa25c3 | ||
|
|
013c9072b9 | ||
|
|
bf8dc05fac | ||
|
|
f4b38662fa | ||
|
|
ea41cce5ef | ||
|
|
013c292ffb | ||
|
|
cb18f11133 | ||
|
|
ea25f49c65 | ||
|
|
5d15d5958e | ||
|
|
efed92b15c | ||
|
|
7d39d02e98 | ||
|
|
e006442e4f | ||
|
|
212848e931 | ||
|
|
732de53d1b | ||
|
|
08c00eed1e | ||
|
|
2a1c3d1f33 | ||
|
|
5f57084ed9 | ||
|
|
9368e29d62 | ||
|
|
ae8751e9ca | ||
|
|
a11b8c4750 | ||
|
|
1e7e23df96 | ||
|
|
8395e00835 | ||
|
|
66bc1bdc77 | ||
|
|
b8984661d9 | ||
|
|
ea98a1c9f9 | ||
|
|
9173b40e2e | ||
|
|
59e5b1918f | ||
|
|
ab4b7b8ee6 | ||
|
|
7f0f153ebd | ||
|
|
f3d51a242d | ||
|
|
88ce192610 | ||
|
|
bd489647e9 | ||
|
|
c36666b4d4 | ||
|
|
97727cae2c | ||
|
|
f412b6818e | ||
|
|
e8aea86e75 | ||
|
|
fac171fa95 | ||
|
|
fa1b6493da | ||
|
|
e58766745c | ||
|
|
d8a9c5b479 | ||
|
|
9a4d8ba934 | ||
|
|
ab816543c8 | ||
|
|
37ccd81985 | ||
|
|
42dad4ade8 | ||
|
|
b2ac035862 | ||
|
|
f42d7eec74 | ||
|
|
e4ef41f86a | ||
|
|
103dd3954a | ||
|
|
2f9577a28e | ||
|
|
33ec4d9430 | ||
|
|
209f09ca7a | ||
|
|
2e6af75f1d | ||
|
|
f68122a380 | ||
|
|
d51bdccf7f | ||
|
|
7d8377b133 | ||
|
|
80d3a8a757 | ||
|
|
2e6c5cde29 | ||
|
|
0f2768dca4 | ||
|
|
d5be095482 | ||
|
|
b315625a94 | ||
|
|
6b51462fa0 | ||
|
|
373e698545 | ||
|
|
3b309c6d4e | ||
|
|
8e93e9f516 | ||
|
|
ac8582eca7 | ||
|
|
e6f72fdde7 | ||
|
|
9166218d07 | ||
|
|
c0b1bde94b | ||
|
|
756a679262 | ||
|
|
13b19b35c0 | ||
|
|
cadb70d1e4 | ||
|
|
4cb4844e8d | ||
|
|
556c7ca080 | ||
|
|
962db4bfc4 | ||
|
|
da651cabe4 | ||
|
|
e03076c6ff | ||
|
|
122968e63a | ||
|
|
6beac26727 | ||
|
|
3073281d13 | ||
|
|
0e0e23eefb | ||
|
|
bcec38bd97 | ||
|
|
bd706f99b2 | ||
|
|
501af632f7 | ||
|
|
a143122804 | ||
|
|
92aa426bba | ||
|
|
96a1ce2fb2 | ||
|
|
c203a09435 | ||
|
|
c4084b4162 | ||
|
|
2a7c948a57 | ||
|
|
46912595ea | ||
|
|
120ee6c673 | ||
|
|
112238fbd7 | ||
|
|
38e288ef6a | ||
|
|
35322cf49b | ||
|
|
8d44e1af0e | ||
|
|
16af078b3b | ||
|
|
3e968b4390 | ||
|
|
0029dac32d | ||
|
|
a083343c6e | ||
|
|
c277ee1d34 | ||
|
|
ebe8592a8d | ||
|
|
6c3e357d9e | ||
|
|
64455620e8 | ||
|
|
fc799778de | ||
|
|
e04e0e38d1 | ||
|
|
8d6569be95 | ||
|
|
8b086a3898 | ||
|
|
a4b8c33cf3 | ||
|
|
1d37ba47f4 | ||
|
|
8d480c28ce | ||
|
|
6e38f40f96 | ||
|
|
017c37f212 | ||
|
|
6eee4cb38a | ||
|
|
1f6a14261c | ||
|
|
14e8d840ff | ||
|
|
125b9ea1e1 | ||
|
|
e6b1e1948e | ||
|
|
ba1072f470 | ||
|
|
1fb29de082 | ||
|
|
f79e5ab559 | ||
|
|
c3a9fd469e | ||
|
|
c8abc909fa | ||
|
|
401a9f4c62 | ||
|
|
f1edb0c960 | ||
|
|
d73335e4d3 | ||
|
|
7a554be7a7 | ||
|
|
31b6ff6046 | ||
|
|
38ab0630e6 | ||
|
|
b5fa9deb30 | ||
|
|
4e8bae1703 | ||
|
|
464ce1c3cd | ||
|
|
bb55c320c1 | ||
|
|
af585bffa9 | ||
|
|
bde4868b67 | ||
|
|
3835fc5ad1 | ||
|
|
7b815b5f07 | ||
|
|
754c6126b1 | ||
|
|
2dc2a32e45 | ||
|
|
7a579303b9 | ||
|
|
03401e377b | ||
|
|
ff4ec6d843 | ||
|
|
0dc3dcd9ed | ||
|
|
ed3237f808 | ||
|
|
9321c3c334 | ||
|
|
adc7d41183 | ||
|
|
4ca69d8818 | ||
|
|
cca52e271b | ||
|
|
a2e15bbc87 | ||
|
|
9d6ad0303c | ||
|
|
bbaa23c22d | ||
|
|
bacb860cc1 | ||
|
|
7a4191e16d | ||
|
|
0fa620e3ba | ||
|
|
96642d8bc3 | ||
|
|
8a26c3783a | ||
|
|
d2742a177c | ||
|
|
6d4713e069 | ||
|
|
342170b077 | ||
|
|
df02d784d6 | ||
|
|
340874996e | ||
|
|
3bd89154d3 | ||
|
|
1e198fbb83 | ||
|
|
01855fc66a | ||
|
|
7ac045b5e2 | ||
|
|
03f1617ff5 | ||
|
|
c75b20e37d | ||
|
|
08f72596d4 | ||
|
|
dcd1f90ae7 | ||
|
|
c10603d161 | ||
|
|
7ea335e59b | ||
|
|
d20cb91d90 | ||
|
|
e38d754e86 | ||
|
|
afacc47f33 | ||
|
|
5803cc441e | ||
|
|
d60c66deee | ||
|
|
d7797a50f5 | ||
|
|
87bbebed36 | ||
|
|
3aa33bf0b1 | ||
|
|
e37afd6976 | ||
|
|
791f2a63ac | ||
|
|
1917f2b98a | ||
|
|
78b74f1115 | ||
|
|
8ea24d9ff9 | ||
|
|
f36d5fdbdf | ||
|
|
d421fc6e6f | ||
|
|
90c4c9e96b | ||
|
|
0a79892923 | ||
|
|
d88f638fbc | ||
|
|
d29121a871 | ||
|
|
5b8e983478 | ||
|
|
24d47cb10b | ||
|
|
ae7b84a85f | ||
|
|
161240045f | ||
|
|
fe85fc9d25 | ||
|
|
b8a2cd1b06 | ||
|
|
eee51828cb | ||
|
|
1eddd9017b | ||
|
|
9c0582a103 | ||
|
|
6cd8b34abb | ||
|
|
47075bec49 | ||
|
|
8eb6cbd400 | ||
|
|
8f394b5c3f | ||
|
|
2245315b60 | ||
|
|
0d40661b33 | ||
|
|
e015b91ed1 | ||
|
|
de577709d9 | ||
|
|
52c6d79975 | ||
|
|
512064f1b5 | ||
|
|
a396b50610 | ||
|
|
67299fcd9f | ||
|
|
f7476dfb63 | ||
|
|
87f7672dbf | ||
|
|
648a958290 | ||
|
|
ed90e2fcf9 | ||
|
|
b74be70ffc | ||
|
|
2351431d71 | ||
|
|
7435f76609 | ||
|
|
d2c1a4a7fb | ||
|
|
e37fbfddc3 | ||
|
|
8ab884a89e | ||
|
|
42f438146c | ||
|
|
08b1b350db | ||
|
|
cbcd9b5004 | ||
|
|
162a0bbe46 | ||
|
|
69d50e583e | ||
|
|
40a8384087 | ||
|
|
6053b2b5c9 | ||
|
|
7e17497c1e | ||
|
|
b573be918e | ||
|
|
2fada14a65 | ||
|
|
cf64a2bc8e | ||
|
|
39fd3479b7 | ||
|
|
536133289f | ||
|
|
3f280649a9 | ||
|
|
6c80aa8c98 | ||
|
|
65c39f600f | ||
|
|
3b5a9f6c6a | ||
|
|
665db4bdad | ||
|
|
b34e7fa303 | ||
|
|
abc0458d4f | ||
|
|
1e35398a84 | ||
|
|
be3253bf87 | ||
|
|
241a762d04 | ||
|
|
b944687191 | ||
|
|
736c66ee31 | ||
|
|
d96f31d01b | ||
|
|
e30c096d87 | ||
|
|
be71b98c55 | ||
|
|
6bec3162f6 | ||
|
|
c863876dee | ||
|
|
f5d0542f06 | ||
|
|
b1650eb503 | ||
|
|
82b090e234 | ||
|
|
7f1e416d31 | ||
|
|
4312bf711c | ||
|
|
f8061448d1 | ||
|
|
e934bec4b7 | ||
|
|
4e5d7ba8ef | ||
|
|
59fd815c3d | ||
|
|
b901c6af71 | ||
|
|
b2fb6c7804 | ||
|
|
84c5f8f738 | ||
|
|
39c7f11b98 | ||
|
|
86a2d73931 | ||
|
|
8eb50c3517 | ||
|
|
d9defb19f9 | ||
|
|
874804bcfd | ||
|
|
b0f9662811 | ||
|
|
24850823a2 | ||
|
|
951604475b | ||
|
|
74f3bb2aa9 | ||
|
|
4442b798c9 | ||
|
|
f10a8de2c1 | ||
|
|
329b29269b | ||
|
|
5b3ffe6bab | ||
|
|
fb14500b41 | ||
|
|
ad29594d08 | ||
|
|
37e2142cca | ||
|
|
1e5f1de12c | ||
|
|
0f93dbcd5e | ||
|
|
e415d85dbe | ||
|
|
4c8bf53e69 | ||
|
|
83fcd4bd1f | ||
|
|
bfd960ad1b | ||
|
|
6b81808ecc | ||
|
|
c615a6f6e2 | ||
|
|
40b522b42f | ||
|
|
f2655b763f | ||
|
|
fd145e65aa | ||
|
|
6596b7f27e | ||
|
|
9d767838d6 | ||
|
|
f55219bb1b | ||
|
|
805b647c73 | ||
|
|
fd0351ca8f | ||
|
|
ed5a7802f3 | ||
|
|
44f8317b7e | ||
|
|
0200933ddd | ||
|
|
f712b2b63a | ||
|
|
71923e7cba | ||
|
|
532d14611c | ||
|
|
3a91a07d51 | ||
|
|
6a8287ea9f | ||
|
|
dc051541bd | ||
|
|
3265c2a614 | ||
|
|
f798401e93 | ||
|
|
60791e4c2b | ||
|
|
bd8fcc8f81 | ||
|
|
5d33165fa5 | ||
|
|
2e1d147135 | ||
|
|
ee8d24a260 | ||
|
|
81ac26c33c | ||
|
|
0a9cc924a4 | ||
|
|
86e12c9603 | ||
|
|
79e56f21d1 | ||
|
|
f9e4bb5288 | ||
|
|
d1085a40ba | ||
|
|
c0f83524a9 | ||
|
|
9d2976cef6 | ||
|
|
b20dd73b30 | ||
|
|
c32d5f1672 | ||
|
|
6eacade082 | ||
|
|
8baecb9c9c | ||
|
|
b7bdbffad4 | ||
|
|
c4e5a21c86 | ||
|
|
a494e05fd9 | ||
|
|
b5eed53db0 | ||
|
|
78881113b9 | ||
|
|
0d946d8083 | ||
|
|
2a20119fbb | ||
|
|
c84e56329f | ||
|
|
6348fe7362 | ||
|
|
20ab4dbf20 | ||
|
|
c09240de3b | ||
|
|
62b40b516c | ||
|
|
9d2bdd5681 | ||
|
|
46283cd513 | ||
|
|
5ba70c8c20 | ||
|
|
198fc2629e | ||
|
|
5848efe03b | ||
|
|
ca2a75db9c | ||
|
|
97474488d8 | ||
|
|
0f5ed59e50 | ||
|
|
114d78d378 | ||
|
|
fadd97c021 | ||
|
|
09764393e0 | ||
|
|
de8b4f17a1 | ||
|
|
52eab49359 | ||
|
|
3ac86a19ff | ||
|
|
0dea6dbc9d | ||
|
|
23283b7f0a | ||
|
|
7ac56a0d11 | ||
|
|
667f98334a | ||
|
|
6825b5d79a | ||
|
|
ac91a48182 | ||
|
|
855b46edee | ||
|
|
8a531ad2cb | ||
|
|
5a1dabc293 | ||
|
|
3705054095 | ||
|
|
0fed1cbedd | ||
|
|
f5a9b98578 | ||
|
|
bfbe86a3d5 | ||
|
|
d70631477d | ||
|
|
936cf5b60d | ||
|
|
8095490d23 | ||
|
|
740b421ce8 | ||
|
|
4273b6ce37 | ||
|
|
0717353069 | ||
|
|
bb494af6b0 | ||
|
|
05dfe0b0ac | ||
|
|
b63f6e807c | ||
|
|
18b982dc6a | ||
|
|
f5cfd7e6bf | ||
|
|
b16b759adf | ||
|
|
687e5d41e1 | ||
|
|
3ba3ac5813 | ||
|
|
b48ae6d519 | ||
|
|
e068d24920 | ||
|
|
85bc4f1027 | ||
|
|
005f8c7d1d | ||
|
|
0a72e7474e | ||
|
|
7a330340ac | ||
|
|
24e73b3134 | ||
|
|
c3e5b4225b | ||
|
|
85f1acb7b7 | ||
|
|
881b017606 | ||
|
|
5ff89dd695 | ||
|
|
cf02893d22 | ||
|
|
5011b9ead5 | ||
|
|
6746578120 | ||
|
|
a85247ff9f | ||
|
|
c363241fad | ||
|
|
d875bff471 | ||
|
|
44bc273590 | ||
|
|
9044531a80 | ||
|
|
f22ba886d9 | ||
|
|
3f6ac2fa68 | ||
|
|
7fd40f094a | ||
|
|
f873e3b630 | ||
|
|
6da938a714 | ||
|
|
934a7f70b2 | ||
|
|
9109751ff0 | ||
|
|
880107e72b | ||
|
|
f14c9e7ddd | ||
|
|
d736c8b281 | ||
|
|
a96f900760 | ||
|
|
45bb57a38c | ||
|
|
1b31eb9e4a | ||
|
|
d36043c678 | ||
|
|
54d10d21ec | ||
|
|
4c7a251f6d | ||
|
|
e597f68620 | ||
|
|
6ed00107cf | ||
|
|
ef2c7ac480 | ||
|
|
575b88ac04 | ||
|
|
2e0b8302dd | ||
|
|
a2ba0ae818 | ||
|
|
ae1f1599f6 | ||
|
|
296911bef9 | ||
|
|
05dc48df07 | ||
|
|
660c623dd0 | ||
|
|
b8f4a8ffb3 | ||
|
|
6bed14cb26 | ||
|
|
8cad96499d | ||
|
|
0ccad56ee6 | ||
|
|
d440360906 | ||
|
|
3c522a0e60 | ||
|
|
00fbc8289d | ||
|
|
1f386cf8bd | ||
|
|
86278b75e4 | ||
|
|
a94a324423 | ||
|
|
4df3bee178 | ||
|
|
e04c890018 | ||
|
|
e096814697 | ||
|
|
a6e188692e | ||
|
|
8d92c0668c | ||
|
|
759b869c1c | ||
|
|
c59db35ce2 | ||
|
|
d0d58ded29 | ||
|
|
65ce152e2c | ||
|
|
4fc8a588ed | ||
|
|
a585a27d1e | ||
|
|
1e703286f0 | ||
|
|
d72c476483 | ||
|
|
3fdc32d9d7 | ||
|
|
5e481951ea | ||
|
|
603537719e | ||
|
|
c4e3bd148f | ||
|
|
91f1eca95e | ||
|
|
8123cc27db | ||
|
|
e68fa34372 | ||
|
|
8476fc3b5a | ||
|
|
a41ec422d2 | ||
|
|
ca523edf0e | ||
|
|
43dfbe3f29 | ||
|
|
c1fc018449 | ||
|
|
6fa82da1f1 | ||
|
|
817524bd1c | ||
|
|
171a395369 | ||
|
|
4d8905abd6 | ||
|
|
d13982ea0e | ||
|
|
f79f85480b | ||
|
|
17c049d7e3 | ||
|
|
3fdab1222b | ||
|
|
c234f83ca6 | ||
|
|
640e955c38 | ||
|
|
307feefa87 | ||
|
|
15365c8702 | ||
|
|
bd9b43b482 | ||
|
|
77a890ff4a | ||
|
|
3f265b3f1c | ||
|
|
4b2a81e7ff | ||
|
|
6b2a865e57 | ||
|
|
324a3d09e6 | ||
|
|
8b44e3d6f6 | ||
|
|
0cc8d402d6 | ||
|
|
83e9513623 | ||
|
|
7ede817241 | ||
|
|
a09a6db24d | ||
|
|
2241e635c6 | ||
|
|
dd3db3fc54 | ||
|
|
928bf71d2a | ||
|
|
8e1470f637 | ||
|
|
91627b28b4 | ||
|
|
4594e02812 | ||
|
|
2af8cde40d | ||
|
|
97b94acd86 | ||
|
|
e0caacfa6f | ||
|
|
6ff46a795f | ||
|
|
9abaa1adf6 | ||
|
|
42d730c80f | ||
|
|
c3c15a95c4 | ||
|
|
384f87b89c | ||
|
|
a25dc9c38c | ||
|
|
1497e894cf | ||
|
|
e6728d9d55 | ||
|
|
c0443e25f9 | ||
|
|
7faa5db9e5 | ||
|
|
d53171e20f | ||
|
|
48eee328b9 | ||
|
|
21c6bb6b59 | ||
|
|
b0932825a9 | ||
|
|
be9587d520 | ||
|
|
635f411880 | ||
|
|
24f97fd221 | ||
|
|
ca3b857f22 | ||
|
|
bac0930591 | ||
|
|
1f31edf65c | ||
|
|
39328c5c66 | ||
|
|
26ea5bcfed | ||
|
|
2d0ad7fb72 | ||
|
|
cd22a1d00d | ||
|
|
485e514409 | ||
|
|
71b2c17e2c | ||
|
|
954688a38d | ||
|
|
def04c2524 | ||
|
|
963f071a70 | ||
|
|
e45aa63a8b | ||
|
|
5627d91c17 | ||
|
|
aef731fdbe | ||
|
|
5a9aeb165f | ||
|
|
c1fea5bc16 | ||
|
|
b5f9e14cd3 | ||
|
|
0ab31a2e9f | ||
|
|
4c941f81ec | ||
|
|
e6e7a55d7e | ||
|
|
f7bcb92d9a | ||
|
|
2406ae6e07 | ||
|
|
74b08589c4 | ||
|
|
5435718167 | ||
|
|
87c56ccfc4 | ||
|
|
1a29a6da1d | ||
|
|
d73bf834b3 | ||
|
|
ffbfd2c844 | ||
|
|
0f4f09c597 | ||
|
|
f5f44286bf | ||
|
|
65e57a8230 | ||
|
|
e74ba82093 | ||
|
|
b8eb18836f | ||
|
|
66a1c26b77 | ||
|
|
f4010029f1 | ||
|
|
cff9f83a45 | ||
|
|
0d7f141279 | ||
|
|
23578e963f | ||
|
|
e9518f78c7 | ||
|
|
7563f54e83 | ||
|
|
b7f1c65f7e | ||
|
|
e127ca0cd1 | ||
|
|
752957604e | ||
|
|
fba9c6c04d | ||
|
|
05b8e80ac8 | ||
|
|
5f9653d9ef | ||
|
|
d67caab621 | ||
|
|
5e9fe31f4e | ||
|
|
55173bf27a | ||
|
|
252eaa2d62 | ||
|
|
cfdacb900e | ||
|
|
8fe0061751 | ||
|
|
ee9672858c | ||
|
|
1ee0e23617 | ||
|
|
1dfd2e2ec1 | ||
|
|
65aa811344 | ||
|
|
e2992cbc02 | ||
|
|
a546cb8f7f | ||
|
|
9c24e48e68 | ||
|
|
862d606514 | ||
|
|
5f58c325ca | ||
|
|
c1d21c5513 | ||
|
|
d9c4ace613 | ||
|
|
59dfe52b52 | ||
|
|
d3f0718001 | ||
|
|
f460cac3ba | ||
|
|
4586a645fc | ||
|
|
beb8ec2668 | ||
|
|
e68c977ecf | ||
|
|
45de8f77cd | ||
|
|
ec9c6521fd | ||
|
|
bdb4ff0d83 | ||
|
|
f343614640 | ||
|
|
8841df96c0 | ||
|
|
8c6cad559e | ||
|
|
ed62ae124b | ||
|
|
0a7b725340 | ||
|
|
ac87484acc | ||
|
|
8235d6cb72 | ||
|
|
77c961ba40 | ||
|
|
154ed57633 | ||
|
|
b0d1d4ff44 | ||
|
|
52943d8399 | ||
|
|
980c954bf4 | ||
|
|
73bb8e4fdf | ||
|
|
3f56414824 | ||
|
|
7e29a7e5a4 | ||
|
|
7966c27246 | ||
|
|
c2af477758 | ||
|
|
b4eaf3722f | ||
|
|
ddf305fce5 | ||
|
|
857ab07f1c | ||
|
|
1f50dd7496 | ||
|
|
83143bd42e | ||
|
|
e19b0bce57 | ||
|
|
2e2d6ba35d | ||
|
|
aad4f3e753 | ||
|
|
d7e6ef4ce6 | ||
|
|
77eb380305 | ||
|
|
0326659b14 | ||
|
|
3bad60ce84 | ||
|
|
067faccdd2 | ||
|
|
253571fd35 | ||
|
|
a58fde68e6 | ||
|
|
8fe7a173cd | ||
|
|
fc9beafc32 | ||
|
|
2175814acf | ||
|
|
19072b6595 | ||
|
|
43e3055d11 | ||
|
|
ab64023e56 | ||
|
|
a8a50641f6 | ||
|
|
9722bcd3c3 | ||
|
|
9832a935d7 | ||
|
|
b12f0d865f | ||
|
|
77e630b78a | ||
|
|
30e5731f14 | ||
|
|
18311d6a4c | ||
|
|
17fdc6a0f3 | ||
|
|
33ac2e7d15 | ||
|
|
589aba3713 | ||
|
|
2e6174bd2c | ||
|
|
13dfceff48 | ||
|
|
f9bf87f50d | ||
|
|
0226c443e7 | ||
|
|
f91286dbf3 | ||
|
|
aec1249481 | ||
|
|
b919de9dd1 | ||
|
|
c2dad218e5 | ||
|
|
ddb300027c | ||
|
|
420b675746 | ||
|
|
1fe352d8a6 | ||
|
|
de7a92944f | ||
|
|
dae8e0d233 | ||
|
|
5260d63565 | ||
|
|
7aa85960ba | ||
|
|
dcbf62a294 | ||
|
|
42f2210f7f | ||
|
|
0717bf788a | ||
|
|
831c8b9189 | ||
|
|
8fdaaa2eab | ||
|
|
ce8a30bf8f | ||
|
|
0a0430051c | ||
|
|
8ba9cc102a | ||
|
|
bb5bfda5c6 | ||
|
|
b61f6d517b | ||
|
|
38f1a9a762 | ||
|
|
bda80fc748 | ||
|
|
553d8ccbb4 | ||
|
|
d8dfe0a1e9 | ||
|
|
ef9c8ce877 | ||
|
|
4dc0db6ee6 | ||
|
|
c93692a779 | ||
|
|
756e3b4a12 | ||
|
|
681531d128 | ||
|
|
6bff64f834 | ||
|
|
4dc26ab234 | ||
|
|
c6fc357c43 | ||
|
|
64cc1b106c | ||
|
|
b61619cf40 | ||
|
|
14cfdafd05 | ||
|
|
010893092e | ||
|
|
b5fd684160 | ||
|
|
a9c2409e0f | ||
|
|
6d5fedcf97 | ||
|
|
2881149f0b | ||
|
|
142d91dfb5 | ||
|
|
4d8b9aee2a | ||
|
|
04df2824cf | ||
|
|
059d856f45 | ||
|
|
2ce3a004ba | ||
|
|
e9e58fd791 | ||
|
|
4f22bc8162 | ||
|
|
1159f6d4f8 | ||
|
|
315c87bd4f | ||
|
|
e1bb96cc94 | ||
|
|
205c8a05c3 | ||
|
|
c288be3d4c | ||
|
|
feaf5ba5f2 | ||
|
|
f7838750c9 | ||
|
|
6051312dfb | ||
|
|
bafb0db6d1 | ||
|
|
31dcacb941 | ||
|
|
74105d6983 | ||
|
|
e4e306baca | ||
|
|
5f3c1816f9 | ||
|
|
90a198e3f1 | ||
|
|
2dbfe9f743 | ||
|
|
a68d834f8f | ||
|
|
c3b45f3237 | ||
|
|
61dca40679 | ||
|
|
94c6814be8 | ||
|
|
436e252d0e | ||
|
|
4032b91e72 | ||
|
|
509e24f966 | ||
|
|
d0f3c620d2 | ||
|
|
86263d05bc | ||
|
|
cee077d1d3 | ||
|
|
ee0b2b1249 | ||
|
|
b167bd6807 | ||
|
|
90e8923c31 | ||
|
|
7af74deaac | ||
|
|
d96b1ef525 | ||
|
|
0bd65614d0 | ||
|
|
0e3401da2c | ||
|
|
692adbd04a | ||
|
|
7b587dcc9c | ||
|
|
17c66cc2d3 | ||
|
|
d7de81aaaa | ||
|
|
a216f28c9d | ||
|
|
1180de51fd | ||
|
|
6844849305 | ||
|
|
af07d803fd | ||
|
|
284ca6ae68 | ||
|
|
122de7a7d7 | ||
|
|
e17f83c2cf | ||
|
|
7ed0f38623 | ||
|
|
ae2ae8b982 | ||
|
|
02a60acbcc | ||
|
|
69ba5b447f | ||
|
|
11c346ab02 | ||
|
|
88c2e9ea48 | ||
|
|
52cefc5543 | ||
|
|
3e1b76c0a9 | ||
|
|
f45c618fc2 | ||
|
|
9892624242 | ||
|
|
4dee68faaf | ||
|
|
04aa251dee | ||
|
|
be6db93698 | ||
|
|
c61473d060 | ||
|
|
47bdc58c1a | ||
|
|
70a862fced | ||
|
|
c6a39006d5 | ||
|
|
0c5df806bf | ||
|
|
94910216f7 | ||
|
|
f1b4bee88f | ||
|
|
87ee413141 | ||
|
|
823618aea8 | ||
|
|
bb3fb35c7e | ||
|
|
8f171c70f5 | ||
|
|
f11334cb3b | ||
|
|
df1461bba6 | ||
|
|
97749e6005 | ||
|
|
11ed747741 | ||
|
|
a982852e30 | ||
|
|
a811e653a7 | ||
|
|
0d4549a66e | ||
|
|
f3dbf24864 | ||
|
|
525027f993 | ||
|
|
e34116e340 | ||
|
|
55d0d40697 | ||
|
|
9d9e8a9217 | ||
|
|
167a4b4d12 | ||
|
|
c1e6773818 | ||
|
|
e1a223c7c3 | ||
|
|
21c13a850c | ||
|
|
64d8b7fbe7 | ||
|
|
8f82cd11b9 | ||
|
|
958e27c782 | ||
|
|
f032e663cd | ||
|
|
70a1b31f5d | ||
|
|
dc4b382b20 | ||
|
|
4308aa29dd | ||
|
|
043b5d351f | ||
|
|
97bfe08c04 | ||
|
|
407a64c118 | ||
|
|
e7513c8c58 | ||
|
|
3eda42075a | ||
|
|
85d35311d0 | ||
|
|
88a53f013e | ||
|
|
88edd1acd6 | ||
|
|
fd1305e4da | ||
|
|
35c50e01e1 | ||
|
|
2a409af54e | ||
|
|
cf3d5bc040 | ||
|
|
40da5697c5 | ||
|
|
ea759d7b68 | ||
|
|
34e779a654 | ||
|
|
8bc01eb375 | ||
|
|
b373763924 | ||
|
|
b2618ba148 | ||
|
|
6902ce007a | ||
|
|
e9b3b89620 | ||
|
|
1606a50bb4 | ||
|
|
4402bbda55 | ||
|
|
4bf3819778 | ||
|
|
9ecda0489b | ||
|
|
0dadda66cf | ||
|
|
aa20220627 | ||
|
|
45103ec496 | ||
|
|
397f257b39 | ||
|
|
0f20a22e10 | ||
|
|
e64567e119 | ||
|
|
73116752b9 | ||
|
|
cd33a17584 | ||
|
|
1a327a73a0 | ||
|
|
c1232136c2 | ||
|
|
06d6001b0c | ||
|
|
080ba94ed2 | ||
|
|
a13222f926 | ||
|
|
146f9a766e | ||
|
|
7b495437ae | ||
|
|
2b95e3b48b | ||
|
|
22fb1e2df4 | ||
|
|
52b6ae0bc2 | ||
|
|
e293e96f00 | ||
|
|
d4f87112ec | ||
|
|
f3ac8ee464 | ||
|
|
286e32c012 | ||
|
|
c39598b98d | ||
|
|
ae945f49e3 | ||
|
|
bdcfcc65ea | ||
|
|
d8d69f2aa8 | ||
|
|
70f29072bf | ||
|
|
9bdf6675fc | ||
|
|
3ba2ae0275 | ||
|
|
4f50e7e478 | ||
|
|
2e411a6019 | ||
|
|
6d9d39d4c8 | ||
|
|
dba223eb18 | ||
|
|
c072c0e82b | ||
|
|
7bb3f41fdc | ||
|
|
248c8b9da4 | ||
|
|
4213b4a409 | ||
|
|
e788dd352c | ||
|
|
2c869afbc6 | ||
|
|
108e8bdf0a | ||
|
|
7584571fbc | ||
|
|
e92d15e459 | ||
|
|
03b0d2eb00 | ||
|
|
0fcabe2b8e | ||
|
|
2925f3635f | ||
|
|
8628993fb0 | ||
|
|
4995b13994 | ||
|
|
f430bca472 | ||
|
|
c3403de216 | ||
|
|
dcfe9f7aff | ||
|
|
bac66e1e5e | ||
|
|
4eb5d2c5ed | ||
|
|
5bfd48c65c | ||
|
|
d1344fdd91 | ||
|
|
a8b392e662 | ||
|
|
9768cfb4ba | ||
|
|
975f33df52 | ||
|
|
49986bab5e | ||
|
|
a949b24434 | ||
|
|
6523b0e9c2 | ||
|
|
29f83b4364 | ||
|
|
efd2df8a33 | ||
|
|
58a9460f7c | ||
|
|
f9909f4226 | ||
|
|
56372cc46d | ||
|
|
c31d6b9ca3 | ||
|
|
6d9ace148e | ||
|
|
8d167158ae | ||
|
|
71a04aae23 | ||
|
|
21908bdaad | ||
|
|
1e056ca3fa | ||
|
|
45c1579a15 | ||
|
|
b85ebbbc2d | ||
|
|
060ca1915f | ||
|
|
de728dbefc | ||
|
|
bba37b1ff7 | ||
|
|
e5f19a4312 | ||
|
|
14be2649cf | ||
|
|
1f0f584397 | ||
|
|
2925077169 | ||
|
|
d0ada6b40a | ||
|
|
238da17196 | ||
|
|
9b8239bafa | ||
|
|
6d21761a4e | ||
|
|
16fcd1d1ad | ||
|
|
d9bd63fcb7 | ||
|
|
98b19656c9 | ||
|
|
93e5f86e24 | ||
|
|
2195ac9051 | ||
|
|
be2bf9faca | ||
|
|
b0edc68c3d | ||
|
|
a4057d569f | ||
|
|
f7966bd213 | ||
|
|
e8cc2df46c | ||
|
|
7283b1a177 | ||
|
|
26fdc3ea4b | ||
|
|
b52a2f4962 | ||
|
|
3376722a43 | ||
|
|
7dd4fd16fd | ||
|
|
178354099d | ||
|
|
d9cee7467f | ||
|
|
811f9c52c6 | ||
|
|
6dd90aeaef | ||
|
|
24e5d909d0 | ||
|
|
2101e17004 | ||
|
|
627f216bf7 | ||
|
|
1630805fd8 | ||
|
|
c77e0a3a56 | ||
|
|
f925c88753 | ||
|
|
973ebd153d | ||
|
|
4116aed738 | ||
|
|
0f917c24a5 | ||
|
|
2feaa8adf7 | ||
|
|
54590a843a | ||
|
|
91acaa2555 | ||
|
|
a0dc71378e | ||
|
|
c19f8f8997 | ||
|
|
bd3918bd64 | ||
|
|
d85d02ac02 | ||
|
|
32c30ad9e4 | ||
|
|
8dd9af23d4 | ||
|
|
2384a3d172 | ||
|
|
9814d442cd | ||
|
|
601241b2c7 | ||
|
|
63645de85b | ||
|
|
2849f0bc81 | ||
|
|
d2d5fcf07a | ||
|
|
8281eec60e | ||
|
|
146b33f120 | ||
|
|
483f28044b | ||
|
|
7597ac12b6 | ||
|
|
b06468e268 | ||
|
|
a3a700eeaf | ||
|
|
8d56332993 | ||
|
|
23c0b0f7b1 | ||
|
|
3ca8ada424 | ||
|
|
7040ad9990 | ||
|
|
a9d8a7d70f | ||
|
|
4237ab9925 | ||
|
|
db80ff5477 | ||
|
|
c73769607e | ||
|
|
841d0cfe0e | ||
|
|
d6e39b7ab0 | ||
|
|
31c70a7c38 | ||
|
|
edaa8f7817 | ||
|
|
8e52dc1e22 | ||
|
|
1e84b00126 | ||
|
|
ab02bfa7c0 | ||
|
|
b70b3382c7 | ||
|
|
5a4c05607d | ||
|
|
fa4f4bca73 | ||
|
|
ab65f2ab5e | ||
|
|
527e5a8610 | ||
|
|
e65019a6fc | ||
|
|
0009ff8853 | ||
|
|
70a6c59126 | ||
|
|
90a9708619 | ||
|
|
b5f50f283c | ||
|
|
44026aa899 | ||
|
|
e90fbfe138 | ||
|
|
848a930e1a | ||
|
|
2669a31171 | ||
|
|
59e06c8bbd | ||
|
|
3ed58ffde0 | ||
|
|
0542fa527c | ||
|
|
d48e4cd138 | ||
|
|
f020ffabeb | ||
|
|
1317f19de2 | ||
|
|
614ef4a35b | ||
|
|
c8524022b7 | ||
|
|
9c77896f2d | ||
|
|
d5abf459bb | ||
|
|
763533060a | ||
|
|
8cd2da61c5 | ||
|
|
8a7f6c8c01 | ||
|
|
290ca11fc7 | ||
|
|
8281b57c56 | ||
|
|
4803ed0a4e | ||
|
|
3313acac84 | ||
|
|
b52063e4e0 | ||
|
|
2e9349328a | ||
|
|
94901f8be3 | ||
|
|
06da3a1359 | ||
|
|
25af4de320 | ||
|
|
80c67e2d48 | ||
|
|
9cb0093a1a | ||
|
|
136c326059 | ||
|
|
3b56b0340d | ||
|
|
a7ff19ac98 | ||
|
|
18bc19a09c | ||
|
|
a781b4529b | ||
|
|
fbf10dcdf5 | ||
|
|
83a28ddab1 | ||
|
|
70dde551e3 | ||
|
|
fa9b30fa9e | ||
|
|
4f33bfb9f3 | ||
|
|
b2da348834 | ||
|
|
e0499b587e | ||
|
|
9d4c41e051 | ||
|
|
707d2dae71 | ||
|
|
9422e32f23 | ||
|
|
d2a5e3b675 | ||
|
|
727693248d | ||
|
|
c1e625cc4b | ||
|
|
77b6ce1c27 | ||
|
|
a207abcfc1 | ||
|
|
7177bd3597 | ||
|
|
67a5c8e314 | ||
|
|
fec12819fa | ||
|
|
08419440f1 | ||
|
|
18e892f473 | ||
|
|
48aef61027 | ||
|
|
b7c0c9589a | ||
|
|
24b9c5698e | ||
|
|
3a5d1ace91 | ||
|
|
4e96ed3e74 | ||
|
|
00ed02f831 | ||
|
|
3851014634 | ||
|
|
fef8dfd05b | ||
|
|
bbcfc0ff1d | ||
|
|
5f0699d382 | ||
|
|
fc1e00b7ef | ||
|
|
b284ab7566 | ||
|
|
ada56a1c03 | ||
|
|
160117ffbb | ||
|
|
f04f941dbb | ||
|
|
e68a3606a9 | ||
|
|
27cb700259 | ||
|
|
f75ae3e046 | ||
|
|
d272334c71 | ||
|
|
9587afc5ed | ||
|
|
fd39f14b4e | ||
|
|
1893bfe93d | ||
|
|
c87a054b4c | ||
|
|
587a893a0e | ||
|
|
fbffa1c7bc | ||
|
|
e3d6e50ba0 | ||
|
|
b7dfb2c294 | ||
|
|
3c59221dd1 | ||
|
|
d310ae948d | ||
|
|
67cd7713b8 | ||
|
|
f5346129ae | ||
|
|
a333a65419 | ||
|
|
982ef41814 | ||
|
|
7f8ca17752 | ||
|
|
33d8290fd4 | ||
|
|
f3b17cf021 | ||
|
|
b5a917fb08 | ||
|
|
739787e8c4 | ||
|
|
d988e8d764 | ||
|
|
a6193b0a51 | ||
|
|
8552090f50 | ||
|
|
286b6448be | ||
|
|
48961ed3df | ||
|
|
1b4c8991c8 | ||
|
|
a35edc95cf | ||
|
|
91c2f62c9e | ||
|
|
7a7f98955b | ||
|
|
3a877a51b5 | ||
|
|
17519c21b4 | ||
|
|
ead1243c61 | ||
|
|
fad389faab | ||
|
|
af63023d92 | ||
|
|
0b51f09a38 | ||
|
|
18abe94e7f | ||
|
|
128eaf5790 | ||
|
|
bfe0ba7e99 | ||
|
|
1bbc51c947 | ||
|
|
1097e246a4 | ||
|
|
f90a4871b4 | ||
|
|
e0111195a5 | ||
|
|
bb09d3fe74 | ||
|
|
e88f29d3ac | ||
|
|
084c7db9ac | ||
|
|
1af6979e88 | ||
|
|
f28bfa4ad1 | ||
|
|
7efa96c732 | ||
|
|
2eb6d9a0fb | ||
|
|
02546459ea | ||
|
|
b6ac5e3be0 | ||
|
|
bc25ffb52c | ||
|
|
3d1b79464c | ||
|
|
221a8dc530 | ||
|
|
36406e2fd9 | ||
|
|
7e35c7750e | ||
|
|
c1ab094938 | ||
|
|
26b954fdc6 | ||
|
|
1221b5c271 | ||
|
|
f1f888bd11 | ||
|
|
869bdb727a | ||
|
|
076d13a7c2 | ||
|
|
109ca396b9 | ||
|
|
ce0395947f | ||
|
|
551b52922a | ||
|
|
90938b100c | ||
|
|
ee0ebe1c04 | ||
|
|
23f727351c | ||
|
|
133af79c45 | ||
|
|
704d998c7f | ||
|
|
e50a4463a5 | ||
|
|
6a2ed3d078 | ||
|
|
0ad5680597 | ||
|
|
2e0baa7162 | ||
|
|
11e08642f3 | ||
|
|
8760214817 | ||
|
|
d760ad7293 | ||
|
|
0a247868df | ||
|
|
15b9e775a1 | ||
|
|
82ce20210f | ||
|
|
467659200d | ||
|
|
5639273cec | ||
|
|
07f2459178 | ||
|
|
be6b46b793 | ||
|
|
bd4d04f914 | ||
|
|
c27ae16b42 | ||
|
|
affa24e596 | ||
|
|
52408145c1 | ||
|
|
19af887257 | ||
|
|
607b56be97 | ||
|
|
c7ad748e98 | ||
|
|
f8f783737d | ||
|
|
a6cec6a04e | ||
|
|
8dee1a3e9f | ||
|
|
eef643cf63 | ||
|
|
290183040f | ||
|
|
ee2890517c | ||
|
|
46cd43ab9e | ||
|
|
4ca84e8049 | ||
|
|
a4bb6234ac | ||
|
|
dac2a302ec | ||
|
|
72eddb7286 | ||
|
|
f0cdf398a6 | ||
|
|
ffb1a3d11e | ||
|
|
721253bf49 | ||
|
|
526c143eb5 | ||
|
|
4d2f7ae9e2 | ||
|
|
d7851132c4 | ||
|
|
6f7890b709 | ||
|
|
d3be481327 | ||
|
|
256afa8b9d | ||
|
|
770eb0bdaf | ||
|
|
6e8578ff6c | ||
|
|
5e585c69ff | ||
|
|
3db5e42b96 | ||
|
|
ae1bc651d6 | ||
|
|
fafbb3cc63 | ||
|
|
6251c3f8ab | ||
|
|
1e60161932 | ||
|
|
6cc969a89c | ||
|
|
0235bec410 | ||
|
|
12e9ddfa2b | ||
|
|
8a9ec4c706 | ||
|
|
5509bfc003 | ||
|
|
48f51b3ce3 | ||
|
|
6bc31a0023 | ||
|
|
fb1f73fbd4 | ||
|
|
970dfb9cfd | ||
|
|
87daea8a06 | ||
|
|
edeb0d7bd7 | ||
|
|
1d93cd25e5 | ||
|
|
80cd65d347 | ||
|
|
4a2482e950 | ||
|
|
bc6e5213a0 | ||
|
|
434a06cb72 | ||
|
|
05a31bd656 | ||
|
|
b60765e976 | ||
|
|
c61566dec0 | ||
|
|
0fe9a9535e | ||
|
|
048356a393 | ||
|
|
7704960e1d | ||
|
|
e36199c499 | ||
|
|
9ea1610d37 | ||
|
|
a6fac1e009 | ||
|
|
157add3eea | ||
|
|
d81f236910 | ||
|
|
dedd860d40 | ||
|
|
294e54c42b | ||
|
|
690dae5c17 | ||
|
|
72eafeaf40 | ||
|
|
51253193e0 | ||
|
|
4a55f7b845 | ||
|
|
bc477e1ce1 | ||
|
|
b436898d2a | ||
|
|
742b829c82 | ||
|
|
c5196b4ebf | ||
|
|
0599e675a0 | ||
|
|
3dc5162079 | ||
|
|
6c73256196 | ||
|
|
d5b312866d | ||
|
|
cf46e52035 | ||
|
|
475e5865d7 | ||
|
|
1248aa95cb | ||
|
|
ce24c87a3f | ||
|
|
2076b90d92 | ||
|
|
06fa29678b | ||
|
|
00d680f4bd | ||
|
|
d6a671d4ae | ||
|
|
501225c630 | ||
|
|
f407c5aabd | ||
|
|
d8b52111cf | ||
|
|
1851595aff | ||
|
|
6249831bb9 | ||
|
|
0020568823 | ||
|
|
a4e01d4593 | ||
|
|
3cfc00b355 | ||
|
|
49f566dc9f | ||
|
|
4280ee1f0a | ||
|
|
3bb8fcf655 | ||
|
|
65291ace12 | ||
|
|
7674545814 | ||
|
|
d86d9f66a9 | ||
|
|
db2b487247 | ||
|
|
29356ef465 | ||
|
|
dae36f59d2 | ||
|
|
6840041ee6 | ||
|
|
9bfc82cfc7 | ||
|
|
c9201111ab | ||
|
|
3ef92baa74 | ||
|
|
423f677264 | ||
|
|
7412d1ac43 | ||
|
|
2068f3fc60 | ||
|
|
82c99695d7 | ||
|
|
f9ee7e01bf | ||
|
|
8817e71c99 | ||
|
|
3beb47f8d9 | ||
|
|
de38219927 | ||
|
|
e208c0f8cf | ||
|
|
ca33ccc60e | ||
|
|
7c0fc3b777 | ||
|
|
20d825b054 | ||
|
|
d579dc16f1 | ||
|
|
0ba7b18032 | ||
|
|
fa0deffc5d | ||
|
|
e94b5f9e54 | ||
|
|
f1df1de64f | ||
|
|
1f5c0639b9 | ||
|
|
dedd82747a | ||
|
|
d5e8fc6fea | ||
|
|
794ef66392 | ||
|
|
0dffc13e49 | ||
|
|
9a435c1a7e | ||
|
|
fcee1e5496 | ||
|
|
f8b8b5db13 | ||
|
|
5ac4b41281 | ||
|
|
68d8840075 | ||
|
|
0af847bd29 | ||
|
|
af98432881 | ||
|
|
b819cfcbe8 | ||
|
|
501a714b98 | ||
|
|
d55ddd4795 | ||
|
|
37221a5fe5 | ||
|
|
5e27e6dd78 | ||
|
|
0a3f380718 | ||
|
|
794e2e47d0 | ||
|
|
e18ee42afc | ||
|
|
789c619169 | ||
|
|
ad4a5f9ef4 | ||
|
|
b2b8bfc433 | ||
|
|
f6e12f82de | ||
|
|
b68e8f059b | ||
|
|
8d977d43bb | ||
|
|
be89e23030 | ||
|
|
4840d1db93 | ||
|
|
bb39276ccc | ||
|
|
a74609d321 | ||
|
|
ceb7eaaf47 | ||
|
|
c664a48f26 | ||
|
|
7b9c8634f4 | ||
|
|
df446510da | ||
|
|
c60cdbba07 | ||
|
|
1e5e742601 | ||
|
|
0a88fe1f3b | ||
|
|
d49acfc087 | ||
|
|
b5b74388f4 | ||
|
|
b7d01b4889 | ||
|
|
717677402c | ||
|
|
288c8fedce | ||
|
|
f2525acedf | ||
|
|
ec09699fb0 | ||
|
|
693de2a9dd | ||
|
|
7d875076e2 | ||
|
|
880b93246c | ||
|
|
b33321d6c6 | ||
|
|
d24450f4a9 | ||
|
|
862518e7da | ||
|
|
8117df5644 | ||
|
|
cb56b3f76b | ||
|
|
1bb398c6c2 | ||
|
|
1949c586f3 | ||
|
|
23897eca23 | ||
|
|
df7ee3b166 | ||
|
|
0142d33d5c | ||
|
|
52c1d027ee | ||
|
|
0be35a3799 | ||
|
|
119942b7a4 | ||
|
|
b6246a7ba4 | ||
|
|
a40e6ba693 | ||
|
|
49dc994351 | ||
|
|
5ea864f09d | ||
|
|
30024767ea | ||
|
|
593e44ca54 | ||
|
|
0dee88e805 | ||
|
|
5153d9a198 | ||
|
|
e651147c53 | ||
|
|
047e63ee5f | ||
|
|
b7bb3daa9d | ||
|
|
3f9ea1d01b | ||
|
|
9cfe1b88fc | ||
|
|
951cce7543 | ||
|
|
f9d96f55a5 | ||
|
|
cc9c3a2a28 | ||
|
|
db4d4ed278 | ||
|
|
dbddc3dd75 | ||
|
|
d8f65dc427 | ||
|
|
f3d31a1946 | ||
|
|
1cbd959ae8 | ||
|
|
8bfe851446 | ||
|
|
5917029788 | ||
|
|
7512c01ca6 | ||
|
|
f42befadf1 | ||
|
|
e42d506a64 | ||
|
|
9e3fb9f3ce | ||
|
|
3806c93867 | ||
|
|
4b71dd3c08 | ||
|
|
10e995aa06 | ||
|
|
e1df43703c | ||
|
|
b088ee69cd | ||
|
|
0a8ac3ba04 | ||
|
|
2243b56115 | ||
|
|
87eb7f1e1f | ||
|
|
9db778a1ed | ||
|
|
7295837135 | ||
|
|
513f377a8f | ||
|
|
25628d09e6 | ||
|
|
f62636e893 | ||
|
|
c5a243ba43 | ||
|
|
e9e7974b15 | ||
|
|
e703a7b5b7 | ||
|
|
40d9e13334 | ||
|
|
32eac3ff13 | ||
|
|
64c526ede2 | ||
|
|
458f22d214 | ||
|
|
599d25c59b | ||
|
|
390391e119 | ||
|
|
bbf248fc46 | ||
|
|
d4b1a0daa5 | ||
|
|
edf3b43e2f | ||
|
|
14edc2246e | ||
|
|
398a2dfd30 | ||
|
|
7acc51ef67 | ||
|
|
7e10e4d6eb | ||
|
|
7801682377 | ||
|
|
c695a7eabb | ||
|
|
aa338d234d | ||
|
|
1b931172fb | ||
|
|
84913da5b9 | ||
|
|
c59f1bfea6 | ||
|
|
993af8c19e | ||
|
|
20e2a4055c | ||
|
|
8dcaa48651 | ||
|
|
ce8047bd8c | ||
|
|
4b722cc253 | ||
|
|
c121b180be | ||
|
|
a8d1a7cba1 | ||
|
|
5d111636b4 | ||
|
|
c634f2e6e3 | ||
|
|
2473d626d8 | ||
|
|
4507712a72 | ||
|
|
2e8ca89f3d | ||
|
|
82493343fa | ||
|
|
33b6cbc2a9 | ||
|
|
802c18cb68 | ||
|
|
31606db6fe | ||
|
|
1144cc9ad9 | ||
|
|
df6c0b610b | ||
|
|
e01bba4525 | ||
|
|
4c287191cd | ||
|
|
e883e93f52 | ||
|
|
a37e62337d | ||
|
|
6177f89c3f | ||
|
|
81fd8e011f | ||
|
|
0800cdbbc2 | ||
|
|
7187b883b0 | ||
|
|
ef6b65afb4 | ||
|
|
7f362de7db | ||
|
|
d72a49ad5c | ||
|
|
4c166eb3e3 | ||
|
|
66b2659a47 | ||
|
|
efe0ceb588 | ||
|
|
02bf212789 | ||
|
|
5804af6b6c | ||
|
|
7c072094ae | ||
|
|
37089065ba | ||
|
|
d993e4ebc8 | ||
|
|
0ec98e32d4 | ||
|
|
d55c611947 | ||
|
|
f3b6868e51 | ||
|
|
4105fe41fb | ||
|
|
84e0f315ad | ||
|
|
4890a26ae0 | ||
|
|
1470315356 | ||
|
|
456ea95794 | ||
|
|
de6c1f88dc | ||
|
|
712a922cc5 | ||
|
|
97ed78109c | ||
|
|
2415fd3415 | ||
|
|
6a6fd48af9 | ||
|
|
983f6e28f5 | ||
|
|
6445af6eb2 | ||
|
|
376e699515 | ||
|
|
e0394921e9 | ||
|
|
4624d2d175 | ||
|
|
541dfdfc7f | ||
|
|
5b5b9cc6c9 | ||
|
|
9efcd9a096 | ||
|
|
e15807eff8 | ||
|
|
c7267d3665 | ||
|
|
7c37e86283 | ||
|
|
4497532edb | ||
|
|
b9a6dca4b4 | ||
|
|
803bac5da0 | ||
|
|
91e8e0d33c | ||
|
|
5470f7ff5e | ||
|
|
dabfff8b35 | ||
|
|
e96d316d41 | ||
|
|
ff0c9334e6 | ||
|
|
34f665dc7e | ||
|
|
18da716016 | ||
|
|
e3c40359d4 | ||
|
|
0689f4bb36 | ||
|
|
2ffc6b3acd | ||
|
|
99f8d2fa84 | ||
|
|
cf33fb3ca1 | ||
|
|
028f468d26 | ||
|
|
ee54396670 | ||
|
|
5583a75eac | ||
|
|
d841f27b25 | ||
|
|
cebc531c13 | ||
|
|
b8858663f4 | ||
|
|
53dfb8efb9 | ||
|
|
b501a1deae | ||
|
|
dc3bd53f7b | ||
|
|
31a3ee3cbc | ||
|
|
afc9412191 | ||
|
|
64bc5409d1 | ||
|
|
b76abc3550 | ||
|
|
5640ee8a23 | ||
|
|
d32b583b3e | ||
|
|
e0da758d1b | ||
|
|
6c5b63707d | ||
|
|
4f9ec8caa0 | ||
|
|
e649ad8241 | ||
|
|
5826be9a74 | ||
|
|
406403cd8e | ||
|
|
3f8510eaae | ||
|
|
11eba8738c | ||
|
|
cd0bda3ab4 | ||
|
|
464031e8d3 | ||
|
|
6c81bb54f7 | ||
|
|
f5d89062e0 | ||
|
|
0f685fbb49 | ||
|
|
de3bb1b39d | ||
|
|
ade09b0630 | ||
|
|
1e7b6d6dbe | ||
|
|
23d436237c | ||
|
|
9f12d3a380 | ||
|
|
618940d78c | ||
|
|
538e5691f0 | ||
|
|
9e23d15d51 | ||
|
|
f21fbc24cf | ||
|
|
efed4a07ef | ||
|
|
0d02d1e41b | ||
|
|
d6575ed267 | ||
|
|
9031c24fc7 | ||
|
|
89991594de | ||
|
|
8ec4e40ae1 | ||
|
|
262d36f49a | ||
|
|
ec7116f2ed | ||
|
|
9468b04713 | ||
|
|
5cdb6dcb12 | ||
|
|
bae445d9d2 | ||
|
|
5f2441e832 | ||
|
|
275f5bd744 | ||
|
|
4aaf55b4b7 | ||
|
|
acd7fa90ef | ||
|
|
0192c538ee | ||
|
|
aed639bb20 | ||
|
|
5fe01f0149 | ||
|
|
3a054b9f91 | ||
|
|
511ceede3b | ||
|
|
7dbf01b024 | ||
|
|
170d1cb94c | ||
|
|
1f236cab75 | ||
|
|
95e7045db7 | ||
|
|
f45f8c9479 | ||
|
|
1ad5711b63 | ||
|
|
06cf30019b | ||
|
|
7a1ee439d2 | ||
|
|
f1e44bfd47 | ||
|
|
89a33c0ab3 | ||
|
|
a8aeeb5a6a | ||
|
|
a679766740 | ||
|
|
f5e50d4571 | ||
|
|
5cf5f40c65 | ||
|
|
ddffd9acd6 | ||
|
|
bc9892d324 | ||
|
|
0f7044a90f | ||
|
|
c9bc6eac69 | ||
|
|
bfdfc495a3 | ||
|
|
faf147d029 | ||
|
|
6bcdb55f22 | ||
|
|
413fd004da | ||
|
|
ee07f860fc | ||
|
|
af89879750 | ||
|
|
a94561fba7 | ||
|
|
f07ca859e5 | ||
|
|
b7f5404062 | ||
|
|
a8a5d4bca9 | ||
|
|
c998a51f71 | ||
|
|
3b771a6a94 | ||
|
|
3d3c039596 | ||
|
|
2859123c47 | ||
|
|
c278e6414c | ||
|
|
a6b2d30bd0 | ||
|
|
acb61a3cf2 | ||
|
|
3f359147c8 | ||
|
|
a1b6f0b76a | ||
|
|
ca5d78e7a5 | ||
|
|
7431a18bbe | ||
|
|
c9a5443539 | ||
|
|
e8c91f0537 | ||
|
|
8190379519 | ||
|
|
4ffc0d2247 | ||
|
|
3c2f7983a5 | ||
|
|
527ba52dec | ||
|
|
17d5f8985d | ||
|
|
232c4b482a | ||
|
|
657ce60ff8 | ||
|
|
839b243bf1 | ||
|
|
9534b2af1d | ||
|
|
b8406a5b95 | ||
|
|
b097ca9979 | ||
|
|
54651731f9 | ||
|
|
f19985c410 | ||
|
|
2c1ebae039 | ||
|
|
a1f213cfd0 | ||
|
|
d65c4c1892 | ||
|
|
2465b0e278 | ||
|
|
fa18568d62 | ||
|
|
d78de3237c | ||
|
|
6066f48d7c | ||
|
|
20695d6b15 | ||
|
|
3f4bb44310 | ||
|
|
4ab7d78574 | ||
|
|
74336d952d | ||
|
|
ade01ecb86 | ||
|
|
91d4c4aa37 | ||
|
|
17cbb835ce | ||
|
|
b2bf0301bb | ||
|
|
7a5f9e80e7 | ||
|
|
b5e561e68f | ||
|
|
b3b272e2e2 | ||
|
|
df5cfb303b | ||
|
|
191ebbcacf | ||
|
|
44b700a6fd | ||
|
|
97b74fa6ea | ||
|
|
843650e79e | ||
|
|
a4553e821f | ||
|
|
2c7f54134e | ||
|
|
7287dce376 | ||
|
|
3143a46e4d | ||
|
|
155cf385bd | ||
|
|
ce332571dc | ||
|
|
6a7648d2b0 | ||
|
|
ee890c508e | ||
|
|
10afd0b684 | ||
|
|
38c03ecbbb | ||
|
|
d8884e3a2f | ||
|
|
80e379820d | ||
|
|
d3b120fafd | ||
|
|
02c028d14f | ||
|
|
5769ae3e78 | ||
|
|
b941d16f78 | ||
|
|
b8cedae527 | ||
|
|
913cb296b4 | ||
|
|
c4abe44e67 | ||
|
|
2c5b75a695 | ||
|
|
3e0f9d3931 | ||
|
|
dc5e4e61c5 | ||
|
|
093e19aae6 | ||
|
|
83e6ecb5af | ||
|
|
8067a480c7 | ||
|
|
9cdc963c97 | ||
|
|
f38c132efe | ||
|
|
cd70ba753e | ||
|
|
a0c18d97fd | ||
|
|
d05c4e60be | ||
|
|
494e384d9e | ||
|
|
2b4e73e885 | ||
|
|
ce7fbe6398 | ||
|
|
afef852609 | ||
|
|
7d5066bc3c | ||
|
|
140f2fc0dd | ||
|
|
d1c6b6b789 | ||
|
|
c6d6865bb9 | ||
|
|
a9da983d02 | ||
|
|
eed1e4fe8a | ||
|
|
a90d588167 | ||
|
|
8f7b9f609f | ||
|
|
82f7a23be4 | ||
|
|
2e0be1f75a | ||
|
|
6df4fea079 | ||
|
|
84f838aab0 | ||
|
|
e47aa28af9 | ||
|
|
1703e9f8d9 | ||
|
|
69e837c1ea | ||
|
|
913bb359a0 | ||
|
|
a691abc630 | ||
|
|
93fba0a8e7 | ||
|
|
85231dfca6 | ||
|
|
01b210f42a | ||
|
|
0e13200911 | ||
|
|
37b8819fc5 | ||
|
|
66ed78f2c8 | ||
|
|
406ef3741c | ||
|
|
e168b00ee0 | ||
|
|
1a727febe9 | ||
|
|
096bb8bf74 | ||
|
|
f33a6076dc | ||
|
|
bf8fb7bad6 | ||
|
|
271f60b65a | ||
|
|
c90eec2814 | ||
|
|
57c7e56203 | ||
|
|
7b7278bc85 | ||
|
|
4d79754f78 | ||
|
|
34fe57d84b | ||
|
|
4b975efa23 | ||
|
|
e90046d8a2 | ||
|
|
279dfd741a | ||
|
|
5ef141187a | ||
|
|
39a4d3ce4e | ||
|
|
3f6193580c | ||
|
|
18ea20e7b0 | ||
|
|
dc52ec7aec | ||
|
|
b800ed0a10 | ||
|
|
df1a8e8667 | ||
|
|
9fa484dbab | ||
|
|
b102134ae3 | ||
|
|
675a60b3d4 | ||
|
|
03445d0b55 | ||
|
|
678829a5b2 | ||
|
|
7138769182 | ||
|
|
4a90499ec9 | ||
|
|
446adf1983 | ||
|
|
ab0d785ab5 | ||
|
|
083380297f | ||
|
|
88983caaba | ||
|
|
3e5f434df3 | ||
|
|
cfb795c23c | ||
|
|
f25091414e | ||
|
|
85c3ee823f | ||
|
|
d5adcdd1b2 | ||
|
|
8cbaacfe38 | ||
|
|
8e191dabbd | ||
|
|
5d01952254 | ||
|
|
5729230f56 | ||
|
|
f27baec6fb | ||
|
|
56b0026160 | ||
|
|
2c8b2b48bd | ||
|
|
790e0a8327 | ||
|
|
16750c19ce | ||
|
|
a29a4d69d9 | ||
|
|
2ec8cdb86d | ||
|
|
34425d892c | ||
|
|
7fa6740710 | ||
|
|
99b8168ea8 | ||
|
|
7bcee22890 | ||
|
|
a0ac42cf6d | ||
|
|
7f6e2e4bf4 | ||
|
|
65ee46c0fb | ||
|
|
16d33f8960 | ||
|
|
4595aae0de | ||
|
|
378eccc6ea | ||
|
|
d0dd60f295 | ||
|
|
3d43293a5d | ||
|
|
32f14f48b0 | ||
|
|
465aa00fc7 | ||
|
|
f929d79473 | ||
|
|
7f9f7d49c6 | ||
|
|
55d4604d8f | ||
|
|
5d00a845ac | ||
|
|
79a0403163 | ||
|
|
be85c568ab | ||
|
|
705e39473d | ||
|
|
430fc7b596 | ||
|
|
cd9a0cd1d5 | ||
|
|
2057f3ff15 | ||
|
|
6e47834e8a | ||
|
|
4a477244f1 | ||
|
|
3b073343cc | ||
|
|
76c98e7140 | ||
|
|
047599e12c | ||
|
|
b5fecc49a3 | ||
|
|
b8eb4c26ea | ||
|
|
52d88a7282 | ||
|
|
5927cef89f | ||
|
|
10a7e7a15f | ||
|
|
e50efceb62 | ||
|
|
559f93f353 | ||
|
|
40f26cb975 | ||
|
|
12bf837eee | ||
|
|
8ef6d7ffec | ||
|
|
37f145f6bd | ||
|
|
c25ae58c6f | ||
|
|
142082837c | ||
|
|
358f098b65 | ||
|
|
626bf27887 | ||
|
|
86ed9f68f6 | ||
|
|
a0cb6dda94 | ||
|
|
97a24c006a | ||
|
|
56893a0731 | ||
|
|
0f17734896 | ||
|
|
4b4fa06432 | ||
|
|
5a77ed14bf | ||
|
|
e8ebb7d23d | ||
|
|
ab97832a78 | ||
|
|
5d071ceebe | ||
|
|
9983bcfbe6 | ||
|
|
ba1497ca48 | ||
|
|
f2fa60e56b | ||
|
|
27536283f2 | ||
|
|
9d4337b7eb | ||
|
|
532e7c906d | ||
|
|
46e8057f9c | ||
|
|
a6e845088d | ||
|
|
d9936dbbfb | ||
|
|
91292f0bfa | ||
|
|
5000687b10 | ||
|
|
20c8a11925 | ||
|
|
319287dbe5 | ||
|
|
7117633204 | ||
|
|
c57f861f2b | ||
|
|
35122e6601 | ||
|
|
60ef26ec51 | ||
|
|
f3f50a948e | ||
|
|
ce658e8a96 | ||
|
|
961715ab62 | ||
|
|
a699e94b2b | ||
|
|
b1d1783da4 | ||
|
|
6bdee6a5bd | ||
|
|
08adfb5746 | ||
|
|
3b6cdf32fc | ||
|
|
5b67f8528a | ||
|
|
613fe3740f | ||
|
|
d2fa215aa9 | ||
|
|
3279cba559 | ||
|
|
1881d12f61 | ||
|
|
1aa585e56b | ||
|
|
47d65c3f89 | ||
|
|
b5dbd794de | ||
|
|
a1c4077d83 | ||
|
|
5799e35327 | ||
|
|
73ca53eadc | ||
|
|
ede7fa86fa | ||
|
|
9da3d9a5bf | ||
|
|
9eb78a0a19 | ||
|
|
92be17986f | ||
|
|
30235f49db | ||
|
|
395b372ef7 | ||
|
|
bc022789fc | ||
|
|
f1d1acd487 | ||
|
|
53b818ac3b | ||
|
|
90c9686684 | ||
|
|
0c43fa92e5 | ||
|
|
56e96a8ff9 | ||
|
|
37e54ebd9f | ||
|
|
a6c67dde55 | ||
|
|
e5a7cc4a1c | ||
|
|
e2a72b2798 | ||
|
|
d33eff635b | ||
|
|
eb4089657e | ||
|
|
50969601bf | ||
|
|
de314d253e | ||
|
|
2788198b75 | ||
|
|
8f8a83a038 | ||
|
|
9dd0ef681d | ||
|
|
3442ba7483 | ||
|
|
2a921b40af | ||
|
|
be67773dd7 | ||
|
|
64010cf797 | ||
|
|
12c21de66c | ||
|
|
476a4ec882 | ||
|
|
3d12b33113 | ||
|
|
a7c9005626 | ||
|
|
a52607e346 | ||
|
|
83a5a78728 | ||
|
|
f6478a2c0c | ||
|
|
6c6071b939 | ||
|
|
67a7c326fc | ||
|
|
ee25b2e5b2 | ||
|
|
f9b42716d2 | ||
|
|
5a8c75e4a8 | ||
|
|
e68674bc5e | ||
|
|
ecc37c4d1f | ||
|
|
a59e098b5a | ||
|
|
268a6dc6c1 | ||
|
|
306681bc93 | ||
|
|
ac9700f261 | ||
|
|
0e60733537 | ||
|
|
f8fd636eac | ||
|
|
ada8047419 | ||
|
|
0a312295db | ||
|
|
dca272e12d | ||
|
|
a15d3d5811 | ||
|
|
246dab3375 | ||
|
|
f60148979f | ||
|
|
a83077285f | ||
|
|
9140f071f6 | ||
|
|
5dc7ef9ed1 | ||
|
|
8831ed80df | ||
|
|
5e6cb22eeb | ||
|
|
86e6745f21 | ||
|
|
667ccfad76 | ||
|
|
ba14536441 | ||
|
|
52b687dc55 | ||
|
|
fabef0334b | ||
|
|
eea4e383f9 | ||
|
|
149bcea2d8 | ||
|
|
2c1bbd5efb | ||
|
|
ca8bf22423 | ||
|
|
ab22d56735 | ||
|
|
a2e2ed1ecf | ||
|
|
b3ae282522 | ||
|
|
f430a63312 | ||
|
|
7a2c94f6e1 | ||
|
|
2d9f72c2a8 | ||
|
|
540c69897e | ||
|
|
48bff06202 | ||
|
|
7d9d2f3982 | ||
|
|
076b336b0f | ||
|
|
a3695f1cfd | ||
|
|
44416bbf7f | ||
|
|
fbeb2737bd | ||
|
|
5103ef27e6 | ||
|
|
fca9f7a458 | ||
|
|
05f20fa664 | ||
|
|
b25bb59aea | ||
|
|
af19813d99 | ||
|
|
6ad8563c16 | ||
|
|
82ea30cf3f | ||
|
|
809c8bf291 | ||
|
|
6366284385 | ||
|
|
9a50e7ea99 | ||
|
|
3dc44bafb3 | ||
|
|
9ebcb3b141 | ||
|
|
4b0dc9c0df | ||
|
|
f25e7ff004 | ||
|
|
d8a8b31eb4 | ||
|
|
385ae40646 | ||
|
|
0448b4902c | ||
|
|
418974a28a | ||
|
|
d6e06e9bc7 | ||
|
|
ca0f15a31f | ||
|
|
9bb9037e42 | ||
|
|
99670fde76 | ||
|
|
d48166be64 | ||
|
|
51976aa06b | ||
|
|
d87330fcca | ||
|
|
2409486c2d | ||
|
|
f1e2a2efbb | ||
|
|
2608673ca7 | ||
|
|
2ff231c27d | ||
|
|
a4b307a3bd | ||
|
|
397cb081c3 | ||
|
|
39ac5bff71 | ||
|
|
0fede4cb66 | ||
|
|
bab8bdfe47 | ||
|
|
2764474274 | ||
|
|
fd5378d9c1 | ||
|
|
75606fd1a9 | ||
|
|
ab0fc39520 | ||
|
|
aad5efa637 | ||
|
|
2c6805259e | ||
|
|
5f62a5752e | ||
|
|
9f41f33e86 | ||
|
|
9da0cc6a91 | ||
|
|
152d1d8ac4 | ||
|
|
8decc44476 | ||
|
|
b8f4fa0e87 | ||
|
|
e44a6dcddb | ||
|
|
c329bae403 | ||
|
|
f0cf1a36ed | ||
|
|
29c7c7291c | ||
|
|
cf05f6ca40 | ||
|
|
92171ddbaa | ||
|
|
15dfad0ebc | ||
|
|
03ba36411c | ||
|
|
1feadc186d | ||
|
|
fb29353d5d | ||
|
|
db82744553 | ||
|
|
4a1e838220 | ||
|
|
057791607b | ||
|
|
7e2ccd64e8 | ||
|
|
da3c3a828c | ||
|
|
0d1a583144 | ||
|
|
49b92d956a | ||
|
|
981cb4c22c | ||
|
|
1ea573dc54 | ||
|
|
2897494732 | ||
|
|
b62270ea2e | ||
|
|
11bb7bdff9 | ||
|
|
f5b92ecdee | ||
|
|
bd1cc9b4f4 | ||
|
|
9c17d7687a | ||
|
|
bec587164b | ||
|
|
5c88d259f5 | ||
|
|
c772b6a843 | ||
|
|
f30b66522f | ||
|
|
2c717c3cdb | ||
|
|
7ca2385da2 | ||
|
|
655748f2d9 | ||
|
|
b11ad72473 | ||
|
|
1e7b69b1ab | ||
|
|
7d917afcbb | ||
|
|
c8abed371b | ||
|
|
444f5ed515 | ||
|
|
c36c26800b | ||
|
|
faae323d9d | ||
|
|
3d3e4ec1ba | ||
|
|
f58d9e3f39 | ||
|
|
5cf2147754 | ||
|
|
a3a530adf6 | ||
|
|
7ec2eb050b | ||
|
|
1727c863fe | ||
|
|
d393116fb9 | ||
|
|
15c955c384 | ||
|
|
6dc3966be9 | ||
|
|
b0b4adea75 | ||
|
|
c5b5a3039a | ||
|
|
e8c50aaadf | ||
|
|
b6356eb5f8 | ||
|
|
cb0e422228 | ||
|
|
0ece59b710 | ||
|
|
fe8160f3ec | ||
|
|
67738a57b7 | ||
|
|
9c97092efd | ||
|
|
3d3ccbfcd7 | ||
|
|
b8c3bd4fae | ||
|
|
cf58a32583 | ||
|
|
6186676add | ||
|
|
329a1ae59d | ||
|
|
0df056ac61 | ||
|
|
1954c2ce09 | ||
|
|
b39f408afc | ||
|
|
d304261333 | ||
|
|
df9a45aa14 | ||
|
|
d2169d725b | ||
|
|
dcbb05982a | ||
|
|
b916ce6d30 | ||
|
|
1a3b532530 | ||
|
|
435b7dcd2b | ||
|
|
85c1aca70e | ||
|
|
b4185a96c7 | ||
|
|
0dbb467045 | ||
|
|
342e114de8 | ||
|
|
5e8501b5f1 | ||
|
|
0ed46c8b74 | ||
|
|
3231e79566 | ||
|
|
400ed82715 | ||
|
|
28a4d0390f | ||
|
|
14e1ecbbf6 | ||
|
|
4519e32586 | ||
|
|
8a968a0c11 | ||
|
|
566d0c846f | ||
|
|
32047c6130 | ||
|
|
bbc305d2b9 | ||
|
|
c89e9134f6 | ||
|
|
d296f0257f | ||
|
|
ed829d427c | ||
|
|
0728acaf55 | ||
|
|
b53d22ae7d | ||
|
|
1afc75d6d9 | ||
|
|
3e0ec4ebd3 | ||
|
|
a50d67e59e | ||
|
|
788a3c294c | ||
|
|
00cc4362e8 | ||
|
|
441602aee0 | ||
|
|
a0829e9a24 | ||
|
|
da5da1425b | ||
|
|
6040f8c838 | ||
|
|
74817a52ef | ||
|
|
491b6e12f7 | ||
|
|
5858f72748 | ||
|
|
21c9d9d020 | ||
|
|
0e9dcfbf31 | ||
|
|
5de82289dd | ||
|
|
aaf1fbd83e | ||
|
|
5523b02718 | ||
|
|
0ae5c89656 | ||
|
|
dcfb6a56b3 | ||
|
|
ec1656f380 | ||
|
|
669d6096d0 | ||
|
|
a60b45f481 | ||
|
|
271bec0f14 | ||
|
|
bb4efe7a34 | ||
|
|
9952bf285d | ||
|
|
e479bc923e | ||
|
|
2849776054 | ||
|
|
79f2468952 | ||
|
|
6c4ac7eb7f | ||
|
|
cb775c64b1 | ||
|
|
54bcf9a657 | ||
|
|
c4ca10258b | ||
|
|
73b02c204b | ||
|
|
551847411f | ||
|
|
2684093b5b | ||
|
|
451f4267ba | ||
|
|
93274bfa49 | ||
|
|
c1ec6337a4 | ||
|
|
27542901c8 | ||
|
|
78a899b36b | ||
|
|
00e7429c5f | ||
|
|
7f57166eea | ||
|
|
0ce4f7624f | ||
|
|
7662e22665 | ||
|
|
1ff67c6c1b | ||
|
|
bd91a571a6 | ||
|
|
e8b16bb145 | ||
|
|
fe10f23994 | ||
|
|
e1ff498a8e | ||
|
|
6f98fd4b65 | ||
|
|
385c698212 | ||
|
|
4a3e67d143 | ||
|
|
0fdef7b7d7 | ||
|
|
86639114e5 | ||
|
|
1a79e421cd | ||
|
|
2e9a32e7ec | ||
|
|
2a292fdc05 | ||
|
|
ee53bd795b | ||
|
|
ad1cdc9122 | ||
|
|
a0aaad7ff8 | ||
|
|
cd0bf66434 | ||
|
|
136b6d8098 | ||
|
|
f0179b5be6 | ||
|
|
265c9ec055 | ||
|
|
f1b1babcf7 | ||
|
|
d70309503f | ||
|
|
439ed9617c | ||
|
|
89ce774d7e | ||
|
|
86757fd36f | ||
|
|
c422aa00aa | ||
|
|
b1f0f7f2e8 | ||
|
|
1f327346f7 | ||
|
|
b46736836e | ||
|
|
4b1467ea69 | ||
|
|
f9be4286bd | ||
|
|
c4fa3e3304 | ||
|
|
fd70ddda02 | ||
|
|
4df5c0ee1e | ||
|
|
656efa5e20 | ||
|
|
2c5a23b696 | ||
|
|
029461c5ae | ||
|
|
a70bfbdaa9 | ||
|
|
0c67dc99f7 | ||
|
|
4e13c3375b | ||
|
|
11fe2619eb | ||
|
|
9936fc7f15 | ||
|
|
23dba26ba3 | ||
|
|
f881bd9bd6 | ||
|
|
5c5d3a770f | ||
|
|
975a37f209 | ||
|
|
b591c5e9ab | ||
|
|
0304b124ed | ||
|
|
74bba35765 | ||
|
|
6c80e6b93f | ||
|
|
fa894d9d48 | ||
|
|
db36dc2326 | ||
|
|
8cdd823671 | ||
|
|
413d58df57 | ||
|
|
6529fa419f | ||
|
|
c50c6034c0 | ||
|
|
fb640cbdb9 | ||
|
|
edd949583a | ||
|
|
3f99395d3b | ||
|
|
f86ea02594 | ||
|
|
dd5d1a1abb | ||
|
|
40d02400ca | ||
|
|
a5cc8efb10 | ||
|
|
645b2dc17a | ||
|
|
0bd49ad778 | ||
|
|
81ccb637f9 | ||
|
|
3fba5a2c11 | ||
|
|
359be55ce0 | ||
|
|
d7beb3cdc7 | ||
|
|
176e3609a5 | ||
|
|
07eb0770cd | ||
|
|
366e7b9dbd | ||
|
|
8d8f0f82d8 | ||
|
|
baabbc3c9f | ||
|
|
751447a028 | ||
|
|
b5e3fc97dc | ||
|
|
f7f9e30efc | ||
|
|
6229b204fa | ||
|
|
e5db98c137 | ||
|
|
dae2c31951 | ||
|
|
4d66818746 | ||
|
|
4d0650baa0 | ||
|
|
043832abdf | ||
|
|
e079604c48 | ||
|
|
6a9a61ec68 | ||
|
|
3d014d28e6 | ||
|
|
03a41fee23 | ||
|
|
4e2319c075 | ||
|
|
79cd8d2190 | ||
|
|
fe872b5caa | ||
|
|
1b6b3f692d | ||
|
|
197eaf3899 | ||
|
|
19ab48c280 | ||
|
|
27598fecce | ||
|
|
127bdb4cef | ||
|
|
fd4f9aacf0 | ||
|
|
457830d65d | ||
|
|
b633b2a2d1 | ||
|
|
a1d6cb278f | ||
|
|
19f153adf1 | ||
|
|
4ad60d5de5 | ||
|
|
53ada061d2 | ||
|
|
4629c8363c | ||
|
|
d3f4427ee9 | ||
|
|
23248b5293 | ||
|
|
6a4e93db3c | ||
|
|
a1bf677514 | ||
|
|
19f2d96d06 | ||
|
|
9c0865c0f4 | ||
|
|
6f0011ac9c | ||
|
|
87dc885a4a | ||
|
|
10aced77f0 | ||
|
|
56f2d307bc | ||
|
|
ecebaca3f0 | ||
|
|
67235e9a38 | ||
|
|
df79a17baa | ||
|
|
0354e5e710 | ||
|
|
98f87dfcc3 | ||
|
|
a06ed39151 | ||
|
|
5118aba456 | ||
|
|
9aab6ae7fa | ||
|
|
13ff9ab7db | ||
|
|
91326e1d93 | ||
|
|
35eac7c82f | ||
|
|
4bbf0eeb8b | ||
|
|
556ec932fb | ||
|
|
310648fb88 | ||
|
|
970ed11def | ||
|
|
cd813edb1b | ||
|
|
0711e0cd52 | ||
|
|
dc57270fb8 | ||
|
|
eeca29b6d3 | ||
|
|
c8042fe937 | ||
|
|
f78fa2aacf | ||
|
|
a0fe237dde | ||
|
|
dc5bfbb470 | ||
|
|
3324043d21 | ||
|
|
383fa03a34 | ||
|
|
664559b6d4 | ||
|
|
96c057466b | ||
|
|
0939c6302e | ||
|
|
ee3b153d7b | ||
|
|
86bb50b9b7 | ||
|
|
deed83a282 | ||
|
|
f6c138ca7e | ||
|
|
328e358b21 | ||
|
|
fc882c9efc | ||
|
|
35fa2253dd | ||
|
|
dc0db7c58b | ||
|
|
850efdc690 | ||
|
|
75aac90452 | ||
|
|
4f56db9f18 | ||
|
|
61f3258b96 | ||
|
|
edc701d3fc | ||
|
|
8816f4bf0d | ||
|
|
bf2904d380 | ||
|
|
543bb2270e | ||
|
|
9d6d7f7f63 | ||
|
|
b3d90537ba | ||
|
|
6794bbbd6a | ||
|
|
60e075d6c9 | ||
|
|
454704d967 | ||
|
|
c5470a7f53 | ||
|
|
9222e93c40 | ||
|
|
95b5ab5f1f | ||
|
|
0bf54aa6f6 | ||
|
|
25bf39e895 | ||
|
|
f44f676cce | ||
|
|
ef96e050f9 | ||
|
|
aee23929dc | ||
|
|
b28382632a | ||
|
|
a1acaaa50c | ||
|
|
d1af8cd806 | ||
|
|
e3f195cf5c | ||
|
|
6a067f5cd6 | ||
|
|
ee77822d22 | ||
|
|
7e52b9550f | ||
|
|
e42b9ce110 | ||
|
|
b00c603e0b | ||
|
|
8a6d56bb29 | ||
|
|
30e6a7a62a | ||
|
|
0ee3983421 | ||
|
|
389d664ffd | ||
|
|
adbb12befe | ||
|
|
54f47572af | ||
|
|
a782e03ebf | ||
|
|
e04d86ad39 | ||
|
|
105478aa6d | ||
|
|
1e1d455a4d | ||
|
|
18f5deede7 | ||
|
|
715672481b | ||
|
|
f7d84c4637 | ||
|
|
c23f3be21f | ||
|
|
257f8b1142 | ||
|
|
e0037ff709 | ||
|
|
1a1a338d68 | ||
|
|
210336d8c1 | ||
|
|
91e7c5b7f1 | ||
|
|
6afee4ae0c | ||
|
|
b45e524b2c | ||
|
|
7d35892def | ||
|
|
4102489d84 | ||
|
|
c7bc1c2cfa | ||
|
|
711314dfd8 | ||
|
|
be1c97a18b | ||
|
|
3119e0a2e7 | ||
|
|
a2c62c30ad | ||
|
|
0f1cbe7410 | ||
|
|
3269c58c8d | ||
|
|
cc3c5a8efc | ||
|
|
2365e4ff7f | ||
|
|
7de8e34963 | ||
|
|
19e872453d | ||
|
|
297f91ae7d | ||
|
|
d7118671e6 | ||
|
|
6032d91293 | ||
|
|
1426dc1fc5 | ||
|
|
e2c472baa9 | ||
|
|
5362fc9c26 | ||
|
|
5d318c9c3c | ||
|
|
dacbe78f35 | ||
|
|
8b2a3e3c10 | ||
|
|
ca9e876241 | ||
|
|
76fae2282e | ||
|
|
d05b31e91c | ||
|
|
60e8d40492 | ||
|
|
e71380b82c | ||
|
|
fb3eaa9eff | ||
|
|
ff4ba6712c | ||
|
|
c164769eec | ||
|
|
9b73c0eeec | ||
|
|
cd0a6f05a0 | ||
|
|
f2dd92b5f8 | ||
|
|
09116d8964 | ||
|
|
d648755d75 | ||
|
|
e64ae9b6bf | ||
|
|
5db24d4e4a | ||
|
|
d923432023 | ||
|
|
4e4a097240 | ||
|
|
f9f55029d1 | ||
|
|
b5625ad8b0 | ||
|
|
5d0eefeebd | ||
|
|
845a3d0ab8 | ||
|
|
33678441dc | ||
|
|
24f06187df | ||
|
|
639986faa7 | ||
|
|
4aa8b0f977 | ||
|
|
ca903b6b14 | ||
|
|
d08e49f2df | ||
|
|
30ffda406c | ||
|
|
8023183999 | ||
|
|
2a9451fed5 | ||
|
|
a9f41c6824 | ||
|
|
9cf54b8897 | ||
|
|
5903ee95fe | ||
|
|
2b115d031e | ||
|
|
3c65ddf72e | ||
|
|
0277b69ff1 | ||
|
|
08cb843180 | ||
|
|
aec8e959d9 | ||
|
|
5ab97eb873 | ||
|
|
f9771c38a6 | ||
|
|
8eb1bc1986 | ||
|
|
26a4ba360f | ||
|
|
2fed813228 | ||
|
|
f2560998c8 | ||
|
|
c8c27cbfd1 | ||
|
|
efe3bc1613 | ||
|
|
dca0c4ed79 | ||
|
|
c533a65764 | ||
|
|
f9b51e2656 | ||
|
|
1ac1bc9a95 | ||
|
|
cb96dec8a6 | ||
|
|
a30a6583c1 | ||
|
|
61c4f9399a | ||
|
|
8b1eb3b456 | ||
|
|
297459c9f6 | ||
|
|
37c0067caf | ||
|
|
a14e3c25b0 | ||
|
|
b00792d6ce | ||
|
|
2e06e960bb | ||
|
|
94e1635882 | ||
|
|
3c8d4029dd | ||
|
|
333cd61c17 | ||
|
|
c009a95d68 | ||
|
|
184f0df2c5 | ||
|
|
593d948615 | ||
|
|
e860742131 | ||
|
|
aaaf80f785 | ||
|
|
3f467cae67 | ||
|
|
95e91b8f44 | ||
|
|
6b76db2973 | ||
|
|
5a5dc7f67f | ||
|
|
9319ed1afb | ||
|
|
6ef3bfb943 | ||
|
|
9f664c5f9c | ||
|
|
b6e95fea52 | ||
|
|
8bf6ba1440 | ||
|
|
ce1955ff60 | ||
|
|
16431653e4 | ||
|
|
5c60f66890 | ||
|
|
84d090e2fd | ||
|
|
1a52179298 | ||
|
|
6f8dbe589c | ||
|
|
280553b41f | ||
|
|
0b9d68e60c | ||
|
|
2b884a7e7c | ||
|
|
1ef35e7a1e | ||
|
|
b8ed34a277 | ||
|
|
8f3b908e38 | ||
|
|
15a9a95284 | ||
|
|
56ea8c4fe6 | ||
|
|
c4c1b58108 | ||
|
|
6fd328611f | ||
|
|
18f772e71c | ||
|
|
97df1dd3b5 | ||
|
|
4ce3fdfcb2 | ||
|
|
939e576df9 | ||
|
|
1939671e7f | ||
|
|
ea52da9428 | ||
|
|
f0d08aa7d0 | ||
|
|
a7717b9ff1 | ||
|
|
ba449a524a | ||
|
|
f68bbfba60 | ||
|
|
bce30e7388 | ||
|
|
58f5a5b915 | ||
|
|
e53b2585d1 | ||
|
|
49e316e488 | ||
|
|
56b76b17a0 | ||
|
|
8d3ff9444f | ||
|
|
7b9547de3e | ||
|
|
d652d4e364 | ||
|
|
69b97dc3a6 | ||
|
|
2c294fad8e | ||
|
|
4aa594197a | ||
|
|
62dd5d980d | ||
|
|
5afa0e6d20 | ||
|
|
79db01d7ed | ||
|
|
2c4af87e13 | ||
|
|
6e22efe790 | ||
|
|
3b380148ee | ||
|
|
420f642f65 | ||
|
|
d7ae93d856 | ||
|
|
a3114a2f8d | ||
|
|
47cfbcb3fb | ||
|
|
d13f5b192b | ||
|
|
160f4fd255 | ||
|
|
9770755881 | ||
|
|
82ebf36970 | ||
|
|
9fd8d5c58c | ||
|
|
e55ad0a12e | ||
|
|
b944e54868 | ||
|
|
e45fa9b6d8 | ||
|
|
6a5795abaf | ||
|
|
4858dea259 | ||
|
|
75346f42c3 | ||
|
|
a7285ff375 | ||
|
|
63eaea26d2 | ||
|
|
c0eb053866 | ||
|
|
2b6905307d | ||
|
|
5308be3c4d | ||
|
|
654af774c8 | ||
|
|
4b72c32a09 | ||
|
|
8550cb9b1b | ||
|
|
69ae598b7e | ||
|
|
f54b79c274 | ||
|
|
9af1d3b137 | ||
|
|
46f1821046 | ||
|
|
6bcd118b62 | ||
|
|
eb2ca00e8d | ||
|
|
6ef0e94520 | ||
|
|
0c5353a709 | ||
|
|
f9e3605254 | ||
|
|
f5eeaf1baa | ||
|
|
5aef5030d7 | ||
|
|
cacaf3822b | ||
|
|
e43ba53ea9 | ||
|
|
3d06cca15c | ||
|
|
d77168f19e | ||
|
|
8e420fe39b | ||
|
|
b9c0faf51c | ||
|
|
bb5e91a377 | ||
|
|
6452ae077c | ||
|
|
96ef800777 | ||
|
|
7a83f7c8f6 | ||
|
|
df639970c6 | ||
|
|
9c12937351 | ||
|
|
80e3e00f96 | ||
|
|
d78f9fdf2b | ||
|
|
03027453c8 | ||
|
|
10dd9412a1 | ||
|
|
90b0e7af83 | ||
|
|
471a58a7a9 | ||
|
|
63a6e94444 | ||
|
|
9ff5f5de7e | ||
|
|
908049a0fb | ||
|
|
363b87b334 | ||
|
|
1dc5d07696 | ||
|
|
18fe9431e0 | ||
|
|
bbc3e36055 | ||
|
|
23cbfdcf47 | ||
|
|
2ec35f4493 | ||
|
|
92473c2ef6 | ||
|
|
02a9d73c89 | ||
|
|
9c65b73ae6 | ||
|
|
23174f3a00 | ||
|
|
aa03c83126 | ||
|
|
230c1ece35 | ||
|
|
21227cd12f | ||
|
|
2827394f3c | ||
|
|
f2da7ece5c | ||
|
|
cc62165e36 | ||
|
|
50dda75c0d | ||
|
|
f6600ec835 | ||
|
|
dbfbc333f4 | ||
|
|
89848346ae | ||
|
|
132caf7f4a | ||
|
|
3c38087e78 | ||
|
|
24be7785db | ||
|
|
5b6b386708 | ||
|
|
e7d1a58a5a | ||
|
|
b34338a500 | ||
|
|
70c2778686 | ||
|
|
293983ea71 | ||
|
|
7bf920b07c | ||
|
|
c6b8763ba6 | ||
|
|
afde59bb19 | ||
|
|
fa096cfce0 | ||
|
|
c87b8c7f49 | ||
|
|
aee571e9b2 | ||
|
|
cc52be15f3 | ||
|
|
3a15751fe9 | ||
|
|
f2a9b59aae | ||
|
|
1c66851344 | ||
|
|
fd5d80b53f | ||
|
|
d943870413 | ||
|
|
45687cd51a | ||
|
|
e506dc1457 | ||
|
|
d92e4343e3 | ||
|
|
0967f9bcfc | ||
|
|
33f4f04594 | ||
|
|
6392f79fb6 | ||
|
|
2a94dbcfe3 | ||
|
|
4db6b287cd | ||
|
|
ee05d55a51 | ||
|
|
e2d8992310 | ||
|
|
a69cb88b16 | ||
|
|
877c4358d8 | ||
|
|
159ce78680 | ||
|
|
f2b402b0cb | ||
|
|
0e84e2c438 | ||
|
|
aef0f94dcf | ||
|
|
476ccf8ac9 | ||
|
|
b44c0a3fbd | ||
|
|
d3ecec5d6c | ||
|
|
62d07c8335 | ||
|
|
99f814d376 | ||
|
|
de7a3b70c9 | ||
|
|
92aa43fe91 | ||
|
|
014753894a | ||
|
|
d048baf503 | ||
|
|
74e6c437f2 | ||
|
|
7679dcf469 | ||
|
|
03133bc539 | ||
|
|
d77d440a04 | ||
|
|
6feb59fef5 | ||
|
|
63982bf6b7 | ||
|
|
9788f6db2c | ||
|
|
33571dda42 | ||
|
|
0db14df070 | ||
|
|
c381cb90be | ||
|
|
eda1ab44ac | ||
|
|
e8fe2eeb59 | ||
|
|
fc8423e49d | ||
|
|
88a02941f6 | ||
|
|
9b651e44d0 | ||
|
|
9830b2dd98 | ||
|
|
beac776025 | ||
|
|
9e687895e1 | ||
|
|
7c42928b57 | ||
|
|
68cfc5d953 | ||
|
|
2007894ba6 | ||
|
|
dfa4680547 | ||
|
|
1f6b44d556 | ||
|
|
924156f3cb | ||
|
|
af6f040202 | ||
|
|
ed6ac00186 | ||
|
|
4e58558eb7 | ||
|
|
4c1b7086be | ||
|
|
4bb968158d | ||
|
|
c0a38b45f1 | ||
|
|
77f52cf04d | ||
|
|
c8a285dee6 | ||
|
|
7b6c2be067 | ||
|
|
c6b944753b | ||
|
|
6bc322cab1 | ||
|
|
62c1fc621a | ||
|
|
c14c23a063 | ||
|
|
b6415bf6fc | ||
|
|
73369db6c2 | ||
|
|
9dd92c1cb5 | ||
|
|
bd6261e3de | ||
|
|
b749c8ef7d | ||
|
|
317683461f | ||
|
|
0d6b9e9570 | ||
|
|
b245b06959 | ||
|
|
003046c91c | ||
|
|
66487b18e3 | ||
|
|
51ba799779 | ||
|
|
11187cff9e | ||
|
|
0814690534 | ||
|
|
c8c1429493 | ||
|
|
e79ea75ae2 | ||
|
|
55d469e7f2 | ||
|
|
ddb6aac826 | ||
|
|
fd69720d11 | ||
|
|
b48bc8e71c | ||
|
|
902b88ac1a | ||
|
|
7d1d88e408 | ||
|
|
5de92562a7 | ||
|
|
2e4e22f0a5 | ||
|
|
a4d899132c | ||
|
|
41baf1de14 | ||
|
|
91570a9e0f | ||
|
|
888897ed48 | ||
|
|
56b8612502 | ||
|
|
557f50fb4e | ||
|
|
6ccc4911c5 | ||
|
|
ee9c31317e | ||
|
|
2f8932e370 | ||
|
|
dbfe21c444 | ||
|
|
f409079864 | ||
|
|
c678627b19 | ||
|
|
a3f3e7705d | ||
|
|
b739e9187d | ||
|
|
8e3b34bce6 | ||
|
|
6f09cd9b81 | ||
|
|
96b02be1d1 | ||
|
|
9961478212 | ||
|
|
3886d72e0f | ||
|
|
d0cb0f59d9 | ||
|
|
2cd9aff867 | ||
|
|
cc1a320c61 | ||
|
|
441e786d3d | ||
|
|
7c17b9ef5b | ||
|
|
132332f9b8 | ||
|
|
fc35de02f2 | ||
|
|
7054450348 | ||
|
|
a6f7a9576e | ||
|
|
a36d5a0221 | ||
|
|
7290576a2a | ||
|
|
ba2efec983 | ||
|
|
b19804190e | ||
|
|
40929a4728 | ||
|
|
e9825dccc0 | ||
|
|
066a9aaf71 | ||
|
|
3ee72e7cec | ||
|
|
62417dae99 | ||
|
|
14178cb184 | ||
|
|
de1717c1a1 | ||
|
|
43981f5981 | ||
|
|
300f16df61 | ||
|
|
9401e52b08 | ||
|
|
61b984a6c1 | ||
|
|
11cd6b56cd | ||
|
|
1fc3516637 | ||
|
|
4195b77fa3 | ||
|
|
9acb871c7b | ||
|
|
cc6a58da18 | ||
|
|
563772fdf1 | ||
|
|
e6d42338ad | ||
|
|
e89f46139b | ||
|
|
a936cd9eb1 | ||
|
|
34bedddd5c | ||
|
|
55f4dea468 | ||
|
|
39f509feaa | ||
|
|
6a122268cb | ||
|
|
cec185fd66 | ||
|
|
0781cb65bf | ||
|
|
3228789808 | ||
|
|
6024359011 | ||
|
|
60cf62fea1 | ||
|
|
6bdd4ff186 | ||
|
|
718042e6a6 | ||
|
|
a3bf46ecd9 | ||
|
|
cd11ae1ac6 | ||
|
|
668670941c | ||
|
|
976b77f144 | ||
|
|
a1a6374709 | ||
|
|
1f1b68a9b4 | ||
|
|
fbafd44209 | ||
|
|
877a112193 | ||
|
|
8ff74fc6c2 | ||
|
|
afd5ceef7a | ||
|
|
5e043b3b6f | ||
|
|
3fb2afb51a | ||
|
|
482f1e953a | ||
|
|
ed8592b30b | ||
|
|
3289dc1cc7 | ||
|
|
fe8793081a | ||
|
|
c6fcf0aaab | ||
|
|
87808fee03 | ||
|
|
2941fd9b87 | ||
|
|
5d4ae31ba1 | ||
|
|
284880f768 | ||
|
|
2d46bc661d | ||
|
|
9a5225dfdf | ||
|
|
079baaed99 | ||
|
|
be46832c7b | ||
|
|
637f777ea9 | ||
|
|
eb0d22626f | ||
|
|
de0c4a7fc7 | ||
|
|
5a69a2f689 | ||
|
|
87f36852b6 | ||
|
|
bbce809ac9 | ||
|
|
56a976e277 | ||
|
|
b270c1bb67 | ||
|
|
6a202c9b5f | ||
|
|
d00b8081ac | ||
|
|
ff9749f6dc | ||
|
|
ead3d21bdb | ||
|
|
568b96b885 | ||
|
|
70c3c1a48f | ||
|
|
e77aac0bf1 | ||
|
|
bdcf83ca45 | ||
|
|
bb306dfe90 | ||
|
|
116a5d822c | ||
|
|
9618283217 | ||
|
|
55e95cc552 | ||
|
|
e9989a5966 | ||
|
|
a1cdeb2fd1 | ||
|
|
4e675ef6e1 | ||
|
|
ba782e90c8 | ||
|
|
16d5f477ff | ||
|
|
e8b2d036ee | ||
|
|
9e7069f374 | ||
|
|
643ed528c2 | ||
|
|
3408d1a873 | ||
|
|
a0c6c1cb9f | ||
|
|
8eab618502 | ||
|
|
34ac15f7eb | ||
|
|
7eb0b0ac65 | ||
|
|
97612edd58 | ||
|
|
6af2f7ef46 | ||
|
|
acf771edd8 | ||
|
|
7f5dc2135e | ||
|
|
c3f36ad430 | ||
|
|
d4b62444d1 | ||
|
|
6a4fa90b8f | ||
|
|
641df126c4 | ||
|
|
e72aa23436 | ||
|
|
de5e9a85bb | ||
|
|
9d60d6acfd | ||
|
|
060689d3e9 | ||
|
|
6bae2f7629 | ||
|
|
4202cbe7e8 | ||
|
|
0980c7185f | ||
|
|
ec9c97e0bf | ||
|
|
506ea4c4d2 | ||
|
|
08d923ca6f | ||
|
|
64104ca9fd | ||
|
|
c12c6ed149 | ||
|
|
eb7030cf12 | ||
|
|
270f7fd905 | ||
|
|
d7074503d8 | ||
|
|
6b3fb14339 | ||
|
|
db4ff1e8fc | ||
|
|
3d6bfacd55 | ||
|
|
8b6ccde441 | ||
|
|
cb7425c59f | ||
|
|
6e111205a2 | ||
|
|
5fefe28e39 | ||
|
|
94c160401c | ||
|
|
0021ad66e0 | ||
|
|
ddd2e3f8f0 | ||
|
|
7a03bafa27 | ||
|
|
7b79235f19 | ||
|
|
e2e882e08b | ||
|
|
bad3fa73f4 | ||
|
|
407224d29c | ||
|
|
e3333a9b8c | ||
|
|
413ba4b430 | ||
|
|
6252c7bd6a | ||
|
|
f147923555 | ||
|
|
c2a19b7be5 | ||
|
|
4d88a57f27 | ||
|
|
ac89730a4d | ||
|
|
ac1bc9d6fc | ||
|
|
f406051ed9 | ||
|
|
1414d64b18 | ||
|
|
773be7bb95 | ||
|
|
48b2383096 | ||
|
|
075a9f38ed | ||
|
|
d3ddd9b1f7 | ||
|
|
163fd2bad9 | ||
|
|
52da124a2b | ||
|
|
a58f56fa4a | ||
|
|
17ac536116 | ||
|
|
73e3072715 | ||
|
|
9332f9b1ac | ||
|
|
508a8b477e | ||
|
|
b68761fa0d | ||
|
|
bb0c0d3d27 | ||
|
|
fc5dde464f | ||
|
|
9c222f8efe | ||
|
|
5f099b1bea | ||
|
|
55112938a2 | ||
|
|
e73607395b | ||
|
|
a16fe6f016 | ||
|
|
374374fdf1 | ||
|
|
535b0d4aac | ||
|
|
0e3e9c2c59 | ||
|
|
987f783632 | ||
|
|
936f66d701 | ||
|
|
3133221fd7 | ||
|
|
d7fd3d7648 | ||
|
|
10ee832dc1 | ||
|
|
5c7084f8bf | ||
|
|
f5bf1f655d | ||
|
|
a30f642860 | ||
|
|
0d5ae808ef | ||
|
|
f8a6a3c6ef | ||
|
|
c8d4d5528e | ||
|
|
e9e7580582 | ||
|
|
3296ade983 | ||
|
|
7982e3abfe | ||
|
|
7354c1fa0d | ||
|
|
889001c026 | ||
|
|
910ef1db41 | ||
|
|
47c255be2c | ||
|
|
3155278ac7 | ||
|
|
8219bcd1b4 | ||
|
|
e36976bf86 | ||
|
|
e48ce1bc69 | ||
|
|
46e63c1f17 | ||
|
|
5c23a9fac0 | ||
|
|
5af929a387 | ||
|
|
811d8781ab | ||
|
|
8a16d96112 | ||
|
|
7106909d3f | ||
|
|
90531f8b7b | ||
|
|
425059d882 | ||
|
|
8a9abd8a1b | ||
|
|
ffe6587e62 | ||
|
|
79a38858d1 | ||
|
|
64ab2d53e1 | ||
|
|
8e8598412d | ||
|
|
930f07df4a | ||
|
|
e56f75fe9a | ||
|
|
aa2b474d1a | ||
|
|
a9c1a1c768 | ||
|
|
80f8de5e0b | ||
|
|
61c4df0375 | ||
|
|
e55fcae981 | ||
|
|
29aef04fbf | ||
|
|
12dcb701c7 | ||
|
|
6df9eb8dab | ||
|
|
9c60541f3c | ||
|
|
c6f57c0bdb | ||
|
|
8cb6d255ca | ||
|
|
6905d4d883 | ||
|
|
cc2fda6d6d | ||
|
|
c0a47c2c79 | ||
|
|
bcba2597f3 | ||
|
|
31d95448ed | ||
|
|
45dfb0dcdb | ||
|
|
90e38f68d8 | ||
|
|
ea6f9acf86 | ||
|
|
a130fcaa4e | ||
|
|
119ab90657 | ||
|
|
5a4541f2f4 | ||
|
|
12b622c9c1 | ||
|
|
19586fdd7f | ||
|
|
ca002c56e5 | ||
|
|
c898c13eb9 | ||
|
|
7406e13028 | ||
|
|
cc6ac657f8 | ||
|
|
6e49139d0e | ||
|
|
46b70a72cb | ||
|
|
8c6e4cd28b | ||
|
|
dabc99f466 | ||
|
|
b5f0959e6d | ||
|
|
a9e622357a | ||
|
|
371b52f4f3 | ||
|
|
ad0279a0ab | ||
|
|
96623acdcd | ||
|
|
6282c3d263 | ||
|
|
86a10969f3 | ||
|
|
2ea47a1d96 | ||
|
|
fa7ffcd1bf | ||
|
|
0e4c63db5d | ||
|
|
aed7ccaadf | ||
|
|
e6b0a7828e | ||
|
|
2c99a0775c | ||
|
|
8cd6f4375e | ||
|
|
cd333c2c94 | ||
|
|
8a723b3be8 | ||
|
|
4f09124f19 | ||
|
|
dbffad2aef | ||
|
|
f25fe48c9b | ||
|
|
1ae48db873 | ||
|
|
1094446862 | ||
|
|
6a52b8cdcb | ||
|
|
d71dac0918 | ||
|
|
61c68f20f0 | ||
|
|
f02c683178 | ||
|
|
ee7749452d | ||
|
|
4c477d3cd6 | ||
|
|
af64865c5d | ||
|
|
ece7d6e718 | ||
|
|
4ab29eb280 | ||
|
|
d4833a4618 | ||
|
|
744fa18d95 | ||
|
|
19b97f8684 | ||
|
|
2e2c9b14a4 | ||
|
|
224d51b0aa | ||
|
|
ac1424ad6d | ||
|
|
0e239cac66 | ||
|
|
8791d8e5b0 | ||
|
|
7b4133ac08 | ||
|
|
78f0b65e19 | ||
|
|
b9df1e643b | ||
|
|
628f5abaac | ||
|
|
2aadf0be89 | ||
|
|
55bc8e13fc | ||
|
|
8c8b1f497c | ||
|
|
468b9ded46 | ||
|
|
57824261c6 | ||
|
|
946e6046b3 | ||
|
|
548d6b31bf | ||
|
|
4ecbb750a8 | ||
|
|
7247ee1ad0 | ||
|
|
b4cb805a91 | ||
|
|
bbd8cbbcf4 | ||
|
|
85e2a0a6bb | ||
|
|
f28f03803f | ||
|
|
0c3a0da58f | ||
|
|
51fe6c20ca | ||
|
|
5fe1cab889 | ||
|
|
e429677a07 | ||
|
|
bf8dc7707a | ||
|
|
fa4ae7800b | ||
|
|
ee4d295667 | ||
|
|
e05b5d2420 | ||
|
|
25ed5857d8 | ||
|
|
3a7f2a5c0b | ||
|
|
106c678cc1 | ||
|
|
52bad3505c | ||
|
|
f5b9965910 | ||
|
|
6f01936943 | ||
|
|
9119e3110d | ||
|
|
f73de4c59c | ||
|
|
7e6c325210 | ||
|
|
86327b52a9 | ||
|
|
d17e0eba9b | ||
|
|
8a57d7f470 | ||
|
|
1b41d19016 | ||
|
|
e0877608ae | ||
|
|
fb5471f34f | ||
|
|
ea38e2eba5 | ||
|
|
f2f66c02d3 | ||
|
|
c58acd1105 | ||
|
|
54f8aca7d5 | ||
|
|
062d141cf1 | ||
|
|
67a6f31b88 | ||
|
|
4cf3328682 | ||
|
|
549b438a84 | ||
|
|
43fa7cd6c6 | ||
|
|
d55e9cbd96 | ||
|
|
ec6ac75b10 | ||
|
|
5d62e47229 | ||
|
|
eddaf71d47 | ||
|
|
e847d94062 | ||
|
|
781323ff10 | ||
|
|
01c64f1b35 | ||
|
|
7577165a97 | ||
|
|
0b72708981 | ||
|
|
d13d5aef00 | ||
|
|
a97bc2309a | ||
|
|
0ff7ea3ccc | ||
|
|
9c0bbfec1f | ||
|
|
752dbdefd2 | ||
|
|
eb7824e6ff | ||
|
|
d1c8808797 | ||
|
|
6575fe7cce | ||
|
|
d5bd5db072 | ||
|
|
b3006e2a6a | ||
|
|
a020c98421 | ||
|
|
a5564896ea | ||
|
|
e0c598f38e | ||
|
|
4076e3387e | ||
|
|
29941f3e0d | ||
|
|
e299ac1ffa | ||
|
|
59ecfb23d7 | ||
|
|
154dea1557 | ||
|
|
da76440c14 | ||
|
|
dc2eed6ca1 | ||
|
|
f6df6b350b | ||
|
|
83da33e2ab | ||
|
|
cb59794b8d | ||
|
|
1ae4b5d0ba | ||
|
|
5e9ffc4a94 | ||
|
|
bf4997b6a5 | ||
|
|
48007350b6 | ||
|
|
4644a16c5b | ||
|
|
7e8360efbc | ||
|
|
6a5bb5df83 | ||
|
|
e12447101f | ||
|
|
48b8d78139 | ||
|
|
a2f3b78bac | ||
|
|
1957cf13c2 | ||
|
|
eb000f0f41 | ||
|
|
f41b536682 | ||
|
|
11f09d4944 | ||
|
|
691eae755f | ||
|
|
02bde2f386 | ||
|
|
c23d256f02 | ||
|
|
526faf9193 | ||
|
|
606944a127 | ||
|
|
4a0697fda2 | ||
|
|
0901f0a848 | ||
|
|
e51eadaf16 | ||
|
|
a4f794f3a6 | ||
|
|
58be50d978 | ||
|
|
f8ae0f7e19 | ||
|
|
3819e22432 | ||
|
|
1b0112de22 | ||
|
|
038ae8c7fc | ||
|
|
d624927022 | ||
|
|
5e75a66f82 | ||
|
|
83d293d41c | ||
|
|
5713993777 | ||
|
|
e683ce2994 | ||
|
|
63bbf52219 | ||
|
|
cdeacafd27 | ||
|
|
8ec184d265 | ||
|
|
824473a34b | ||
|
|
d4d95e2f10 | ||
|
|
697aa5e4b7 | ||
|
|
f0fec02eec | ||
|
|
6f6e5eb325 | ||
|
|
6899fc74f9 | ||
|
|
415e27136e | ||
|
|
d9da9f4bc2 | ||
|
|
fce3918562 | ||
|
|
e091f4233a | ||
|
|
0353273733 | ||
|
|
3b11164637 | ||
|
|
1ad71a9b85 | ||
|
|
1a61148b00 | ||
|
|
0c0e0e9266 | ||
|
|
59752120d6 | ||
|
|
5527bcb13e | ||
|
|
bf0106d2bc | ||
|
|
ef0ebd6517 | ||
|
|
554b797b92 | ||
|
|
84dbdd6b18 | ||
|
|
1427d55b08 | ||
|
|
a743707728 | ||
|
|
07989a0a17 | ||
|
|
c2fd67b1cb | ||
|
|
93f1dc2804 | ||
|
|
7d938834d2 | ||
|
|
bb0f08b2c1 | ||
|
|
a8c2076d04 | ||
|
|
e87a6b9ccd | ||
|
|
a1f4d2ca3f | ||
|
|
013c47950d | ||
|
|
50b71f69da | ||
|
|
7215618621 | ||
|
|
3a9ff840cf | ||
|
|
abb1cc5fe7 | ||
|
|
c511ce80d2 | ||
|
|
c7aca64642 | ||
|
|
c8f53f32fc | ||
|
|
cd5132d201 | ||
|
|
d38bd9c950 | ||
|
|
4669e1423d | ||
|
|
0e43803562 | ||
|
|
73209c520c | ||
|
|
46989a0c6c | ||
|
|
aa5c0ebb95 | ||
|
|
b2155f82f4 | ||
|
|
fe845aee58 | ||
|
|
0a5b1eb75d | ||
|
|
f605012659 | ||
|
|
c183368d72 | ||
|
|
894ce5b7d6 | ||
|
|
c368afd6d2 | ||
|
|
e1dff69a43 | ||
|
|
774373cc65 | ||
|
|
acbe6c24a0 | ||
|
|
202945aa49 | ||
|
|
bc524d5e56 | ||
|
|
bea4e56d5d | ||
|
|
80af99bb44 | ||
|
|
0704b73c2f | ||
|
|
d05163a26f | ||
|
|
ecbd8d9f2f | ||
|
|
ade00f8a70 | ||
|
|
eb3a423f80 | ||
|
|
4328d099c4 | ||
|
|
9a5bf12c0b | ||
|
|
7928cff354 | ||
|
|
c3a1cc3801 | ||
|
|
af742a753e | ||
|
|
3a094604f6 | ||
|
|
71ac570f32 | ||
|
|
b6d06f53d6 | ||
|
|
4da3f567f4 | ||
|
|
959d652dbb | ||
|
|
38da174670 | ||
|
|
1fa68071d8 | ||
|
|
f8ec61a3fc | ||
|
|
417ba188bd | ||
|
|
e4e93bd7f5 | ||
|
|
cf97c304ac | ||
|
|
8307cfc54d | ||
|
|
8747781bdc | ||
|
|
9abe96cba4 | ||
|
|
5035869d96 | ||
|
|
f687f993cc | ||
|
|
6c34f6c334 | ||
|
|
b33418f270 | ||
|
|
31c2d2a654 | ||
|
|
f183ca12d9 | ||
|
|
584397a3fd | ||
|
|
8a04f5f52c | ||
|
|
ef9570003e | ||
|
|
9899d0d6b7 | ||
|
|
8ff0249213 | ||
|
|
9a10612f0b | ||
|
|
c8f52b0ba3 | ||
|
|
193bda164b | ||
|
|
3b96e98eac | ||
|
|
f0c064261b | ||
|
|
ee89fa5eec | ||
|
|
57a90e5fa5 | ||
|
|
3d6921d9ca | ||
|
|
651d287f1d | ||
|
|
ec6b5a12e3 | ||
|
|
252458d5bd | ||
|
|
c6abc08b5f | ||
|
|
fd7a862226 | ||
|
|
292e7a6573 | ||
|
|
a092806d38 | ||
|
|
40e9ce9036 | ||
|
|
9994111173 | ||
|
|
11ddfefb60 | ||
|
|
0161c2838e | ||
|
|
ae2642e55a | ||
|
|
d8702a9523 | ||
|
|
210829f633 | ||
|
|
cfb61c71dd | ||
|
|
2e1db411fa | ||
|
|
15733ed8cf | ||
|
|
51ceec74a3 | ||
|
|
ca68ddd0d0 | ||
|
|
42aee34482 | ||
|
|
ef3802b67a | ||
|
|
41459e6a2c | ||
|
|
63f9d419f8 | ||
|
|
a26dc73836 | ||
|
|
48d90a988a | ||
|
|
b26ed0db60 | ||
|
|
3280860ca9 | ||
|
|
292dbbb6ac | ||
|
|
1b0b89776f | ||
|
|
56fb12878e | ||
|
|
9e7b2ed153 | ||
|
|
b8b6a55952 | ||
|
|
c280d69d6f | ||
|
|
a3c6ad636b | ||
|
|
d1dc12f6b0 | ||
|
|
9fa1b290ba | ||
|
|
77a924ee7d | ||
|
|
3ccc53ee74 | ||
|
|
5faed17d21 | ||
|
|
9fdb7f6cd5 | ||
|
|
96ccdb40f1 | ||
|
|
6052614233 | ||
|
|
fd75085111 | ||
|
|
c5edd38681 | ||
|
|
8f52d82e58 | ||
|
|
fc1d9aef09 | ||
|
|
dce6d3f451 | ||
|
|
122871654e | ||
|
|
6710b0c906 | ||
|
|
0cbbf2daf9 | ||
|
|
a25f3ccdda | ||
|
|
bb5d120a3b | ||
|
|
6dca3656ed | ||
|
|
df307bed02 | ||
|
|
5ef53b4587 | ||
|
|
6ab47c934d | ||
|
|
a8e8cb9b6e | ||
|
|
411e434baf | ||
|
|
c92e76b17e | ||
|
|
322290b19c | ||
|
|
8f986828e7 | ||
|
|
77ac35058c | ||
|
|
933e43cb58 | ||
|
|
5f9ddd2f83 | ||
|
|
eb955592ee | ||
|
|
6b22450a1b | ||
|
|
06f4b77f63 | ||
|
|
21f0752ce7 | ||
|
|
49b91ea78f | ||
|
|
cb05daf437 | ||
|
|
6ad4345a39 | ||
|
|
149f30c7fa | ||
|
|
802ae36a66 | ||
|
|
70033020a3 | ||
|
|
af646895f4 | ||
|
|
a892a95af7 | ||
|
|
48d9763d26 | ||
|
|
fa53968b3c | ||
|
|
f3610b7c5c | ||
|
|
b5e8a2166b | ||
|
|
7837d69021 | ||
|
|
a84a315473 | ||
|
|
eac7527b93 | ||
|
|
54ddf5becb | ||
|
|
b360c07253 | ||
|
|
b1ca6ba528 | ||
|
|
0dcd60b524 | ||
|
|
c337ab6a66 | ||
|
|
897b17d259 | ||
|
|
1bd26f6fc9 | ||
|
|
904ffb5d20 | ||
|
|
201e7d1430 | ||
|
|
e5565d32b1 | ||
|
|
f965502187 | ||
|
|
896c9cccec | ||
|
|
f800ed9c2e | ||
|
|
e44fc33d48 | ||
|
|
4a2549ef24 | ||
|
|
8defe54e3b | ||
|
|
db18a01a7b | ||
|
|
379d9e4b88 | ||
|
|
d5700a8508 | ||
|
|
5719c6c3c0 | ||
|
|
281b6861e1 | ||
|
|
614209be2d | ||
|
|
940263d490 | ||
|
|
2d094cbc3b | ||
|
|
9d562a454b | ||
|
|
da1eb056a3 | ||
|
|
694546e870 | ||
|
|
ef29daa9d0 | ||
|
|
7641d6726f | ||
|
|
08a270a429 | ||
|
|
2aedb97796 | ||
|
|
f6ba6cc3a9 | ||
|
|
629d2bd425 | ||
|
|
92484a8416 | ||
|
|
042311a827 | ||
|
|
e90c87a8ef | ||
|
|
d632454a23 | ||
|
|
560966c539 | ||
|
|
e063be3043 | ||
|
|
a275cf8e57 | ||
|
|
3fe9ff7ac8 | ||
|
|
2f5ba10e6b | ||
|
|
728fa2c1a4 | ||
|
|
7433ee7fc1 | ||
|
|
f47321c287 | ||
|
|
8acc319a4a | ||
|
|
f3d738d771 | ||
|
|
914573a5c3 | ||
|
|
14a62c3a3f | ||
|
|
e9ae9cacd8 | ||
|
|
577bfaa8cd | ||
|
|
f40c1de919 | ||
|
|
6b52cc9829 | ||
|
|
ad143d92da | ||
|
|
9cb35a8972 | ||
|
|
6e3f41f164 | ||
|
|
d8e6ba4274 | ||
|
|
a977f1e6c1 | ||
|
|
d520f3852b | ||
|
|
50e3474b60 | ||
|
|
3c5fad7ef6 | ||
|
|
f7fb0f686b | ||
|
|
55155ca7f1 | ||
|
|
f3e78b8267 | ||
|
|
6b2fcbd070 | ||
|
|
c39dc3dd78 | ||
|
|
e1fcd569e7 | ||
|
|
96a62351ac | ||
|
|
38366c084e | ||
|
|
93d5b52df3 | ||
|
|
5b9e93c652 | ||
|
|
37d84a7148 | ||
|
|
ada5daf7c7 | ||
|
|
b374b1bca6 | ||
|
|
81faa33a38 | ||
|
|
a922a0b1f5 | ||
|
|
4dcb47d829 | ||
|
|
fcda371f9a | ||
|
|
6e3d6a1b17 | ||
|
|
bde62436fa | ||
|
|
76a75efef1 | ||
|
|
846f31851e | ||
|
|
22f1048e8f | ||
|
|
e4dd0069ca | ||
|
|
05004450a0 | ||
|
|
3e8f9ac518 | ||
|
|
4d8dea0892 | ||
|
|
eb104f60e2 | ||
|
|
b6db0a3c30 | ||
|
|
5694ef56ca | ||
|
|
8a93a71504 | ||
|
|
d09ac6d589 | ||
|
|
5a77123a15 | ||
|
|
98ac329cf5 | ||
|
|
122f730608 | ||
|
|
7963f418c1 | ||
|
|
4eaee45d1a | ||
|
|
7c33694c1a | ||
|
|
4dc4892588 | ||
|
|
0a62461515 | ||
|
|
78282c7ed7 | ||
|
|
33db759a77 | ||
|
|
10ac426fd5 | ||
|
|
4c9525c9d9 | ||
|
|
bcb7805c11 | ||
|
|
1aeec47b30 | ||
|
|
d7cdbf6f27 | ||
|
|
4060bcf9c9 | ||
|
|
f09837f939 | ||
|
|
7bcfc9827e | ||
|
|
cf222d1ccf | ||
|
|
937fee84f4 | ||
|
|
11bad7b07a | ||
|
|
6eb385fd9b | ||
|
|
188a1f1416 | ||
|
|
1498f538dd | ||
|
|
fc1d88cb51 | ||
|
|
51cf02d27b | ||
|
|
04ff2aff65 | ||
|
|
c695d6a3a3 | ||
|
|
890d7ab953 | ||
|
|
b84a2cfaf6 | ||
|
|
d258ef6275 | ||
|
|
546eac4646 | ||
|
|
8391b08e8f | ||
|
|
c28353e01f | ||
|
|
e8ed18feba | ||
|
|
39b405648a | ||
|
|
d00e0ed605 | ||
|
|
8a4cfe9b23 | ||
|
|
29eb9f05de | ||
|
|
811605fcb5 | ||
|
|
ca35e707c4 | ||
|
|
352fbf0c1f | ||
|
|
8b6ffc3f45 | ||
|
|
cdee1875a5 | ||
|
|
354b11c619 | ||
|
|
c10d6c3ed1 | ||
|
|
a0f96189d3 | ||
|
|
27d39d98d3 | ||
|
|
9255f785da | ||
|
|
6cfe287c70 | ||
|
|
f80af64a2b | ||
|
|
d9fa7f7d34 | ||
|
|
4a7304de50 | ||
|
|
8b0114596b | ||
|
|
1e0b0605a6 | ||
|
|
59ec48a120 | ||
|
|
b5d6ccace1 | ||
|
|
4e429b27be | ||
|
|
0efbd283c4 | ||
|
|
1b5f2639a0 | ||
|
|
219519b578 | ||
|
|
286e7293fa | ||
|
|
c9dbd4118b | ||
|
|
27d0995a8b | ||
|
|
126bfa3ee7 | ||
|
|
b2ae86d142 | ||
|
|
d09737dbb5 | ||
|
|
6d1d32cd83 | ||
|
|
dca7bf5edc | ||
|
|
4ebfceffd2 | ||
|
|
69888e5ab0 | ||
|
|
46662b0436 | ||
|
|
d300d85787 | ||
|
|
75264ee423 | ||
|
|
fb7c2c1837 | ||
|
|
9d4f8a322c | ||
|
|
ac7cbdf6c3 | ||
|
|
7cdec614c7 | ||
|
|
43f461cc36 | ||
|
|
ceb383628b | ||
|
|
278f6e5941 | ||
|
|
46866268ed | ||
|
|
d73741c9b8 | ||
|
|
cbf8f22b62 | ||
|
|
1fefb4897e | ||
|
|
7b8d2d1945 | ||
|
|
be4b06ef3e | ||
|
|
f41e5da94b | ||
|
|
7761ec5584 | ||
|
|
bb1c225e66 | ||
|
|
387db6d4ba | ||
|
|
5c483df3e8 | ||
|
|
2af05a92f8 | ||
|
|
f22843816b | ||
|
|
54b0edbb13 | ||
|
|
fa7822fbbf | ||
|
|
ba1689f6d6 | ||
|
|
150b1e8423 | ||
|
|
74aefcb918 | ||
|
|
abdd847fbe | ||
|
|
62b7097731 | ||
|
|
6bd5afea8f | ||
|
|
6778fa2b71 | ||
|
|
4ab97be693 | ||
|
|
83ffbc2d3d | ||
|
|
2b9c368fa8 | ||
|
|
6f4212320b | ||
|
|
bb5f989c05 | ||
|
|
af3e55af63 | ||
|
|
1c58d5acff | ||
|
|
6f2ded8222 | ||
|
|
30b722b807 | ||
|
|
a9af0ee5a0 | ||
|
|
4765770dc8 | ||
|
|
9c1224b045 | ||
|
|
140a61692d | ||
|
|
f244706cc2 | ||
|
|
ba463ed076 | ||
|
|
61406a4349 | ||
|
|
6ef793545d | ||
|
|
c78b5b706d | ||
|
|
810bec2d65 | ||
|
|
e0029270e3 | ||
|
|
823431599f | ||
|
|
342c10bd85 | ||
|
|
a6db486afe | ||
|
|
48ebfea17b | ||
|
|
dc2779b385 | ||
|
|
8c2a79ab54 | ||
|
|
6bf87d7eff | ||
|
|
d900917bfa | ||
|
|
c5f94fbced | ||
|
|
c4068e5188 | ||
|
|
ff3052935e | ||
|
|
9b82449542 | ||
|
|
290397d1af | ||
|
|
ade38d4f85 | ||
|
|
8b6751943e | ||
|
|
171e7f016d | ||
|
|
5ec5265ec4 | ||
|
|
78af562897 | ||
|
|
a17b0e5364 | ||
|
|
3a8857a782 | ||
|
|
fbc0b1849d | ||
|
|
35a2c59181 | ||
|
|
8f6a3d9fe8 | ||
|
|
15efe69e46 | ||
|
|
191219f7d8 | ||
|
|
1f21945d52 | ||
|
|
e606958a43 | ||
|
|
34a94990c4 | ||
|
|
3f916f440a | ||
|
|
4de2df2865 | ||
|
|
a3f07e6baf | ||
|
|
17027c16cd | ||
|
|
ab9bdb009b | ||
|
|
b84b2808f4 | ||
|
|
7ea0273119 | ||
|
|
dc53278163 | ||
|
|
6496e6db11 | ||
|
|
1d7cef08a7 | ||
|
|
908a37598c | ||
|
|
c8c9731262 | ||
|
|
0f5d3d2f1b | ||
|
|
011cd90fbe | ||
|
|
f99711cdc2 | ||
|
|
630177ef4c | ||
|
|
28fd47dd22 | ||
|
|
2c11acf40c | ||
|
|
230a497a12 | ||
|
|
6073a26f5d | ||
|
|
b622474adb | ||
|
|
834cd08f8c | ||
|
|
0e329347cf | ||
|
|
e27ef3c081 | ||
|
|
1292cd505e | ||
|
|
0e39caaad3 | ||
|
|
b6a73f6db3 | ||
|
|
4cb164b795 | ||
|
|
ee3038c5b7 | ||
|
|
efc1274b2c | ||
|
|
014e27bc20 | ||
|
|
312db7755b | ||
|
|
9769f19ebe | ||
|
|
0e83b89dbd | ||
|
|
2ad5db2279 | ||
|
|
99350d6caa | ||
|
|
1f0de9a1ce | ||
|
|
40f7d6c95b | ||
|
|
f6637ff958 | ||
|
|
6aaae6970e | ||
|
|
f4fa115c82 | ||
|
|
bd0947e7a3 | ||
|
|
432999fae8 | ||
|
|
6d7e2c56d9 | ||
|
|
f6e4a3081d | ||
|
|
de1584b9f2 | ||
|
|
a132d923ce | ||
|
|
73f1d7d099 | ||
|
|
a9168fed56 | ||
|
|
084530eeca | ||
|
|
fb4f274882 | ||
|
|
38aa4e1745 | ||
|
|
2be9cf060d | ||
|
|
faa4be49c7 | ||
|
|
8dfeeb354f | ||
|
|
c3dbc4e945 | ||
|
|
629bb23832 | ||
|
|
ff68ad61e7 | ||
|
|
0c20385ccf | ||
|
|
ed0fba174e | ||
|
|
b3a1345bb8 | ||
|
|
41f6337bfa | ||
|
|
333e0cc82f | ||
|
|
afd6541ca4 | ||
|
|
de0f36fe78 | ||
|
|
ee57605f77 | ||
|
|
10ebe16653 | ||
|
|
c1fd01545a | ||
|
|
768a4412d5 | ||
|
|
64442379aa | ||
|
|
4e3730f8f4 | ||
|
|
7667635752 | ||
|
|
78d4e5a3bf | ||
|
|
5aba06f354 | ||
|
|
b8257d2c58 | ||
|
|
15c9006f0d | ||
|
|
41c49faa81 | ||
|
|
c23241c5f4 | ||
|
|
785fe6b2e3 | ||
|
|
5fdc9da885 | ||
|
|
ca22aadca9 | ||
|
|
b10c357065 | ||
|
|
743caf46f2 | ||
|
|
f64488f818 | ||
|
|
75c803df11 | ||
|
|
5c158b4df9 | ||
|
|
85c59fdb5e | ||
|
|
86a8cbf402 | ||
|
|
94b822df3b | ||
|
|
a5db116d00 | ||
|
|
168402217f | ||
|
|
af74a75c54 | ||
|
|
27c45fc995 | ||
|
|
8600ada735 | ||
|
|
081676bcd8 | ||
|
|
ab44ebd7e0 | ||
|
|
eeca9f61bf | ||
|
|
79d57e2949 | ||
|
|
f7c0a910f8 | ||
|
|
63bbe55ecd | ||
|
|
24b83fd96c | ||
|
|
c749f961ef | ||
|
|
1ad6fd8297 | ||
|
|
f8e2c65cef | ||
|
|
acc9530d66 | ||
|
|
039d035952 | ||
|
|
8fff11fdee | ||
|
|
fad0a2a55f | ||
|
|
43d0bd99cb | ||
|
|
4aa25c4971 | ||
|
|
5d61f656eb | ||
|
|
57cbc901b7 | ||
|
|
fe27d3b25a | ||
|
|
9dc7930ff2 | ||
|
|
49cd6bc782 | ||
|
|
fbdd0f4394 | ||
|
|
29ef586f91 | ||
|
|
36a1c7a265 | ||
|
|
e0ec8b3be1 | ||
|
|
854246846d | ||
|
|
74282b46ff | ||
|
|
e10ac8cbec | ||
|
|
18ea36adc4 | ||
|
|
13526fc679 | ||
|
|
bea611e805 | ||
|
|
687c0b45e2 | ||
|
|
41051f3cfe | ||
|
|
5fec900861 | ||
|
|
4558dd9e28 | ||
|
|
7a71b6f3d0 | ||
|
|
bc8d9d40bd | ||
|
|
a74a5d95ab | ||
|
|
3c74f0f907 | ||
|
|
025eef63b5 | ||
|
|
c9abec7cbe | ||
|
|
0a4ff90bfb | ||
|
|
eb796a13ce | ||
|
|
be32e8940a | ||
|
|
d179efc3ea | ||
|
|
49cea778a0 | ||
|
|
6d49bf6fc6 | ||
|
|
431b4f6f17 | ||
|
|
ff30e15a4c | ||
|
|
2aea8ee696 | ||
|
|
5956493684 | ||
|
|
3b122a1ba5 | ||
|
|
b31c23b37b | ||
|
|
6299d9efa9 | ||
|
|
849c2f36d9 | ||
|
|
1cbd4c5387 | ||
|
|
574e0a7531 | ||
|
|
96b412ebb8 | ||
|
|
58f2b6c257 | ||
|
|
c783b6d7b5 | ||
|
|
9be61f83df | ||
|
|
1bcb7eccbc | ||
|
|
7a7844162d | ||
|
|
3356c63cdc | ||
|
|
af2278c3c2 | ||
|
|
e4777f6563 | ||
|
|
fe2dfdb3b9 | ||
|
|
82d1aba67f | ||
|
|
7ed360e06b | ||
|
|
0cde534e30 | ||
|
|
54c320c724 | ||
|
|
2ff67f3741 | ||
|
|
5415b7ad5b | ||
|
|
2aeb406e38 | ||
|
|
d57b812f36 | ||
|
|
ada0d57452 | ||
|
|
d158ac5ffe | ||
|
|
481a884d25 | ||
|
|
f14c78cf12 | ||
|
|
91d8e7c7c6 | ||
|
|
854f3d5b85 | ||
|
|
056cbbcdcd | ||
|
|
c02a545c7d | ||
|
|
fecf8e3ed2 | ||
|
|
12e7eac1b4 | ||
|
|
f8e89b694a | ||
|
|
a0aa585afd | ||
|
|
3300470a29 | ||
|
|
b2508dcb59 | ||
|
|
798d6a9134 | ||
|
|
965334350f | ||
|
|
676c7b89c7 | ||
|
|
b431d172b7 | ||
|
|
8fe8cad8f9 | ||
|
|
420f111611 | ||
|
|
9c8a48f38c | ||
|
|
50bb101abf | ||
|
|
21dcfc8dae | ||
|
|
24e5819f99 | ||
|
|
64c197de47 | ||
|
|
c4bf09ad32 | ||
|
|
8c37418e44 | ||
|
|
d6c27c190d | ||
|
|
0d0a54f095 | ||
|
|
590b75453c | ||
|
|
f80d17c2be | ||
|
|
58b94d5a63 | ||
|
|
1d95dbe4a1 | ||
|
|
ebe9b3368e | ||
|
|
504337d25e | ||
|
|
c53d11b2cd | ||
|
|
6de73c7ab3 | ||
|
|
83fecb46f6 | ||
|
|
20cc02c90d | ||
|
|
41bfb6e80a | ||
|
|
f5838c5178 | ||
|
|
e8636136c8 | ||
|
|
17d2d9217b | ||
|
|
2e4643a398 | ||
|
|
2204885fbb | ||
|
|
66a87ce4d0 | ||
|
|
31400b29c3 | ||
|
|
f5b4ccf741 | ||
|
|
59fa831542 | ||
|
|
4e19f7adbf | ||
|
|
bd5e54e825 | ||
|
|
1d983a6818 | ||
|
|
390568ade9 | ||
|
|
c3ff1074bb | ||
|
|
9af03035aa | ||
|
|
9e13b7da01 | ||
|
|
c5d35d434c | ||
|
|
38010432ee | ||
|
|
bab9826fb1 | ||
|
|
aaf03123f8 | ||
|
|
46ab3ee24f | ||
|
|
45ac69a1f6 | ||
|
|
b8f7e12bc0 | ||
|
|
2ced227ad3 | ||
|
|
392816fae3 | ||
|
|
36fd2b6854 | ||
|
|
1279112ac0 | ||
|
|
358954d69e | ||
|
|
f6c02262c4 | ||
|
|
6e029fc184 | ||
|
|
5c7e2d103c | ||
|
|
f88972013f | ||
|
|
f2de553d63 | ||
|
|
7d75a73105 | ||
|
|
07c69ebed4 | ||
|
|
58102a39a4 | ||
|
|
b75868cc7c | ||
|
|
4a562401dc | ||
|
|
8b245c12ad | ||
|
|
f8787ca6b9 | ||
|
|
23fa0657a7 | ||
|
|
a04d9fa388 | ||
|
|
266c114c1e | ||
|
|
11ed4de0aa | ||
|
|
742b0edaa8 | ||
|
|
a6ed698fca | ||
|
|
3912f3330f | ||
|
|
97d99632a6 | ||
|
|
b170bddad9 | ||
|
|
a26afbe9a1 | ||
|
|
49840bb621 | ||
|
|
e8f35f0bab | ||
|
|
802f1029e9 | ||
|
|
53b2fdf31c | ||
|
|
5c7d9d08e2 | ||
|
|
b51eca87b6 | ||
|
|
e043822a93 | ||
|
|
732dc881e4 | ||
|
|
b896eed5d4 | ||
|
|
5298c2016f | ||
|
|
833622c870 | ||
|
|
b7659ea3a5 | ||
|
|
5986cbcfe6 | ||
|
|
bc0b1a78e5 | ||
|
|
9cb8c70434 | ||
|
|
02861fabc8 | ||
|
|
33fb806f13 | ||
|
|
47264dc350 | ||
|
|
2ff43f2ed8 | ||
|
|
1a9a65d4d0 | ||
|
|
b951e24024 | ||
|
|
b15ab1b1cf | ||
|
|
94b50b85e7 | ||
|
|
585ccc1b24 | ||
|
|
d332bb1645 | ||
|
|
9e101c9ef0 | ||
|
|
595ad99a5b | ||
|
|
05763b3669 | ||
|
|
ec63b04719 | ||
|
|
0939424574 | ||
|
|
806ede241a | ||
|
|
984fcfda2e | ||
|
|
7a2cbfd6bf | ||
|
|
2dcc85d64c | ||
|
|
9b0b325339 | ||
|
|
7a3239cba0 | ||
|
|
5f449151a1 | ||
|
|
ecd7107ccb | ||
|
|
a71a549fa3 | ||
|
|
7597b31215 | ||
|
|
db4f28f4ca | ||
|
|
b09a82fb94 | ||
|
|
36528bb723 | ||
|
|
03899a6240 | ||
|
|
d8f88ee1e3 | ||
|
|
b9e62be3c1 | ||
|
|
756176118b | ||
|
|
6be52e435d | ||
|
|
2159245224 | ||
|
|
29eed182c2 | ||
|
|
1d364f1991 | ||
|
|
0d3f02ee34 | ||
|
|
3a04e3d003 | ||
|
|
dc00af8829 | ||
|
|
9d99889703 | ||
|
|
627212290e | ||
|
|
d9e43b5d8d | ||
|
|
98a5492e37 | ||
|
|
a3b3b4f657 | ||
|
|
413d1828eb | ||
|
|
4b5aabe6b0 | ||
|
|
5b4c948e43 | ||
|
|
f91faacc53 | ||
|
|
e408b3ab02 | ||
|
|
7d771229e2 | ||
|
|
31d8142a0d | ||
|
|
3cff588eff | ||
|
|
a50766384b | ||
|
|
c183de5662 | ||
|
|
1b369520ed | ||
|
|
2e09c7faf3 | ||
|
|
4b24cfa5ea | ||
|
|
9da843c994 | ||
|
|
35b162adbf | ||
|
|
94e19ac903 | ||
|
|
61182249f0 | ||
|
|
5c537fdbe3 | ||
|
|
9c7e9cc6f2 | ||
|
|
873ae6717e | ||
|
|
d3a3a8528f | ||
|
|
41990a6402 | ||
|
|
ffcac1bc3b | ||
|
|
adb92ce349 | ||
|
|
14bd5a4f59 | ||
|
|
6c512c1973 | ||
|
|
3cb0e3bb13 | ||
|
|
303564fd70 | ||
|
|
99180f5afb | ||
|
|
201c9cd2a4 | ||
|
|
07df39c208 | ||
|
|
b2a2a3ace1 | ||
|
|
bb35261aca | ||
|
|
2155f65478 | ||
|
|
16904d580d | ||
|
|
cca6e1dcae | ||
|
|
47c2f0a289 | ||
|
|
7392f52184 | ||
|
|
620b9b3300 | ||
|
|
92b1f3cf6d | ||
|
|
088aa2ffdc | ||
|
|
688f05ff26 | ||
|
|
c115a4cf76 | ||
|
|
ef3435441f | ||
|
|
73a879caad | ||
|
|
92aa270062 | ||
|
|
d23caa9b72 | ||
|
|
4b9d409628 | ||
|
|
a378e307b3 | ||
|
|
11aebe465f | ||
|
|
3b97137ccf | ||
|
|
24eb1627e5 | ||
|
|
2b30e7880e | ||
|
|
2d0a61fc8d | ||
|
|
38c4f5b6e7 | ||
|
|
ebae8b65f8 | ||
|
|
1cbade511d | ||
|
|
cf131b51a2 | ||
|
|
e91194994f | ||
|
|
9fa053cd88 | ||
|
|
8555b9b5ec | ||
|
|
dad4ab1980 | ||
|
|
12d2c6be56 | ||
|
|
83d83b9add | ||
|
|
820919c0a9 | ||
|
|
2940320930 | ||
|
|
ad63c13cd1 | ||
|
|
5b91dc45e0 | ||
|
|
df32564bef | ||
|
|
82405982f7 | ||
|
|
557b672232 | ||
|
|
117c249595 | ||
|
|
cb0a430aa4 | ||
|
|
df5278df72 | ||
|
|
975441dfe9 | ||
|
|
2d591182c4 | ||
|
|
41fb11d846 | ||
|
|
bcc0160103 | ||
|
|
4c84a99f68 | ||
|
|
b4001e65e7 | ||
|
|
82ad1392ef | ||
|
|
815ac8be04 | ||
|
|
ba94643f0f | ||
|
|
ae73356ecf | ||
|
|
38c2de3ae3 | ||
|
|
a18d624bcb | ||
|
|
439472d4f8 | ||
|
|
85ddf69042 | ||
|
|
a5282daf91 | ||
|
|
94f2ad9263 | ||
|
|
6977658443 | ||
|
|
2aa33e2875 | ||
|
|
b123b6df89 | ||
|
|
eb8ede38cf | ||
|
|
f1eff358da | ||
|
|
cf4194fef7 | ||
|
|
f174d71ac7 | ||
|
|
ae2e8469b4 | ||
|
|
4fff0e952c | ||
|
|
67d9436f22 | ||
|
|
178f31f4c6 | ||
|
|
e344578a01 | ||
|
|
1837d43d96 | ||
|
|
fb174b482f | ||
|
|
448ca97d93 | ||
|
|
9865270e68 | ||
|
|
f3a89f59e4 | ||
|
|
84a8fdadc5 | ||
|
|
bd45bab34a | ||
|
|
2ea078beb5 | ||
|
|
3075ec2203 | ||
|
|
a3efc77255 | ||
|
|
1a768ca438 | ||
|
|
559f64ee4f | ||
|
|
c498833c27 | ||
|
|
0af80b7c86 | ||
|
|
4227a5bb59 | ||
|
|
84222a9746 | ||
|
|
0e2d61d422 | ||
|
|
58df02e97f | ||
|
|
5c1023a332 | ||
|
|
4889e9783f | ||
|
|
f423cf73c4 | ||
|
|
7d3c850813 | ||
|
|
6d6ed1a205 | ||
|
|
611239db5c | ||
|
|
f862f5be03 | ||
|
|
b54a824abd | ||
|
|
f443804b35 | ||
|
|
b1de70c526 | ||
|
|
05a186af82 | ||
|
|
b538c8fe75 | ||
|
|
ec7781f1f9 | ||
|
|
91f805675b | ||
|
|
0a5f796c33 | ||
|
|
438fbf31cf | ||
|
|
ae8aa358e4 | ||
|
|
da2bf4e366 | ||
|
|
9ff385f6f3 | ||
|
|
714fcaaadd | ||
|
|
b3836c58d2 | ||
|
|
646c02a5e2 | ||
|
|
4a6a3af418 | ||
|
|
8f02052232 | ||
|
|
489a89ae8b | ||
|
|
6862106dee | ||
|
|
607e01690c | ||
|
|
500d2e076d | ||
|
|
17b33afd64 | ||
|
|
319b3dabdf | ||
|
|
ff89619b09 | ||
|
|
726f9d5312 | ||
|
|
f3adf4bf57 | ||
|
|
193d9f838b | ||
|
|
1ff6eec1e3 | ||
|
|
c218ef3970 | ||
|
|
674d22321a | ||
|
|
cdb71101a1 | ||
|
|
26993380b1 | ||
|
|
da1bb43618 | ||
|
|
f86ea9f19b | ||
|
|
0610690fa7 | ||
|
|
de962d3e7e | ||
|
|
213fa1c148 | ||
|
|
2a2a022792 | ||
|
|
ba91c8f0c2 | ||
|
|
c232f90d6e | ||
|
|
d0b1162b15 | ||
|
|
63944e8c43 | ||
|
|
35ed991abe | ||
|
|
23d081ab21 | ||
|
|
6d7b1f9dbd | ||
|
|
965fccaff0 | ||
|
|
dc42c65dfb | ||
|
|
eda22c241d | ||
|
|
c56ac2cf3e | ||
|
|
af38b8bf97 | ||
|
|
c65e467c83 | ||
|
|
5751e38180 | ||
|
|
cf71049bd4 | ||
|
|
da054a2aab | ||
|
|
09b8aaed71 | ||
|
|
bf10873405 | ||
|
|
a2cdcb4e4d | ||
|
|
bccc3ef253 | ||
|
|
e5e601eb75 | ||
|
|
15d66cf337 | ||
|
|
936d9edc4c | ||
|
|
de6216b37b | ||
|
|
72d54d3df6 | ||
|
|
7ff28ab5ae | ||
|
|
9393b20e13 | ||
|
|
754045b6f7 | ||
|
|
972c907ac2 | ||
|
|
f0393e50c2 | ||
|
|
625c4a9a05 | ||
|
|
56c2d20b90 | ||
|
|
8d00ae25c4 | ||
|
|
6074d60a90 | ||
|
|
6e54dfe5ba | ||
|
|
9163ed351c | ||
|
|
f8a79e5d40 | ||
|
|
1cf30584f0 | ||
|
|
1ecb5aed0f | ||
|
|
0b93aa5d12 | ||
|
|
3d4e1c1246 | ||
|
|
096c9316b8 | ||
|
|
d67b9cba14 | ||
|
|
5c7c9452d6 | ||
|
|
1e7fd83ac5 | ||
|
|
077ae2e6a0 | ||
|
|
28e1f87d9e | ||
|
|
1a5f01ca9f | ||
|
|
1d2ce62b2c | ||
|
|
d9efbfb178 | ||
|
|
6f9feee759 | ||
|
|
701743a4ec | ||
|
|
9183d1d2c6 | ||
|
|
9120c3bfb1 | ||
|
|
5d119bec31 | ||
|
|
ad7892bd15 | ||
|
|
33a7672196 | ||
|
|
44b5552231 | ||
|
|
81adc3ef4d | ||
|
|
3400d7eecc | ||
|
|
03acb22212 | ||
|
|
9b110d8c3c | ||
|
|
0ad5abbbfc | ||
|
|
cb64cb6abe | ||
|
|
6aef44271e | ||
|
|
0d659a1b46 | ||
|
|
21612cafc1 | ||
|
|
24c780c884 | ||
|
|
e3d1871f86 | ||
|
|
fff5230631 | ||
|
|
d589be9415 | ||
|
|
7b3984059a | ||
|
|
e4f4350bb4 | ||
|
|
8779583bdb | ||
|
|
725aaccf5c | ||
|
|
671a575216 | ||
|
|
253057a765 | ||
|
|
70cec30dcf | ||
|
|
240191dff8 | ||
|
|
8fe94ec07e | ||
|
|
fffd829f88 | ||
|
|
f9c2025149 | ||
|
|
87cf7b6d30 | ||
|
|
d1315b6187 | ||
|
|
87fc4c1e44 | ||
|
|
2f972b91a3 | ||
|
|
3acac3203b | ||
|
|
52ec143a92 | ||
|
|
fe1947ea48 | ||
|
|
696510d220 | ||
|
|
f5e6c82e86 | ||
|
|
8cf3a83dd7 | ||
|
|
1fbee92044 | ||
|
|
ced2dd9200 | ||
|
|
6dabc68c16 | ||
|
|
f5fbfe98bd | ||
|
|
62c21fd58f | ||
|
|
791dc84d49 | ||
|
|
6a7c38f30d | ||
|
|
da57014eb8 | ||
|
|
d42759c641 | ||
|
|
83b5bdbd29 | ||
|
|
b02cc6ecbe | ||
|
|
b0baa8d8f9 | ||
|
|
fcdc3a4745 | ||
|
|
7c4a952ee0 | ||
|
|
3fab287e8d | ||
|
|
5c6d10da96 | ||
|
|
285bcbcec0 | ||
|
|
c2e21fa30e | ||
|
|
cb2c9ce4e6 | ||
|
|
a583fafa37 | ||
|
|
b244de73ca | ||
|
|
93471d46df | ||
|
|
648cc2bb39 | ||
|
|
80be9d92ca | ||
|
|
09c72375ab | ||
|
|
98e8d93fa3 | ||
|
|
ecd00d377a | ||
|
|
f55f3b94a1 | ||
|
|
fce2814735 | ||
|
|
44e671bb0a | ||
|
|
248ad0ddde | ||
|
|
b8a84d170a | ||
|
|
4c084391fc | ||
|
|
b87881c91b | ||
|
|
048b657c8f | ||
|
|
6c521c36dd | ||
|
|
b56ff3fce7 | ||
|
|
9d1b27cde8 | ||
|
|
1be3f48017 | ||
|
|
14a76a8499 | ||
|
|
761ce60a8e | ||
|
|
7a61dc2c88 | ||
|
|
8fecd3512c | ||
|
|
c88cd1b065 | ||
|
|
af3c1fc510 | ||
|
|
c92830b103 | ||
|
|
7aa554b8eb | ||
|
|
8038ce1aa9 | ||
|
|
10eb88f6fe | ||
|
|
9b6c3bd106 | ||
|
|
5a63a62454 | ||
|
|
f2edc50675 | ||
|
|
c1160f40d0 | ||
|
|
3f89f4bd32 | ||
|
|
58e4076620 | ||
|
|
d812222061 | ||
|
|
ef75b36013 | ||
|
|
e4c2c53b19 | ||
|
|
6ae082dab2 | ||
|
|
7a33cda122 | ||
|
|
f441efd776 | ||
|
|
5c53708f43 | ||
|
|
0708d7c539 | ||
|
|
c974a0d888 | ||
|
|
2320efeb55 | ||
|
|
1a32062439 | ||
|
|
d34e99b38b | ||
|
|
555c96a941 | ||
|
|
10b3d429fe | ||
|
|
c58b04979f | ||
|
|
c368618d09 | ||
|
|
1acc81c25d | ||
|
|
3dc7dc0cdc | ||
|
|
b0b5c27fec | ||
|
|
c2587abcea | ||
|
|
632b4971de | ||
|
|
b3474b5a71 | ||
|
|
29d229264d | ||
|
|
ff98dac104 | ||
|
|
61669d1f3f | ||
|
|
b178423166 | ||
|
|
2c3fd160c3 | ||
|
|
d4a6e18c01 | ||
|
|
415090d249 | ||
|
|
afe86a5f66 | ||
|
|
a83042d5c0 | ||
|
|
83eb79c9d9 | ||
|
|
b86518ef24 | ||
|
|
f367fa5a98 | ||
|
|
259b81317d | ||
|
|
947b6b5503 | ||
|
|
872ab9d2b1 | ||
|
|
1f8608f6dd | ||
|
|
deaceb6b08 | ||
|
|
61a6fe9cd9 | ||
|
|
b9d57843eb | ||
|
|
40ac87c9bc | ||
|
|
7f64f39c05 | ||
|
|
031b6e6372 | ||
|
|
b9369e7c00 | ||
|
|
903d3595e5 | ||
|
|
0453e5cad8 | ||
|
|
07d7905896 | ||
|
|
4d39bbe329 | ||
|
|
ac78688a32 | ||
|
|
cdeed349e3 | ||
|
|
faa46bb62d | ||
|
|
592d4b024a | ||
|
|
1d634f9b44 | ||
|
|
5109687a31 | ||
|
|
cfb801345b | ||
|
|
24038f8ce7 | ||
|
|
56d0c51033 | ||
|
|
a9b63a2106 | ||
|
|
f41bb8db5e | ||
|
|
310181b97f | ||
|
|
2b8a808fe3 | ||
|
|
704776027b | ||
|
|
a95adcb999 | ||
|
|
61a7c747e1 | ||
|
|
c2229e3c0b | ||
|
|
f6cad2235b | ||
|
|
4c3e98754e | ||
|
|
9862e5d207 | ||
|
|
c9db1c6c4b | ||
|
|
4fca5f4d88 | ||
|
|
7ec8c7f9fe | ||
|
|
fadc727df4 | ||
|
|
aeef39a417 | ||
|
|
e4516ac9b8 | ||
|
|
8431299b92 | ||
|
|
3b5bc9c38d | ||
|
|
0f5529be18 | ||
|
|
c3e38e46c7 | ||
|
|
608bb5ccb2 | ||
|
|
15220c386a | ||
|
|
e3bfa2be88 | ||
|
|
211c7745de | ||
|
|
230b470a3c | ||
|
|
df96361ded | ||
|
|
417d0a3606 | ||
|
|
46fb6e9b48 | ||
|
|
483b3d6368 | ||
|
|
29c2ccb310 | ||
|
|
3919a32dc3 | ||
|
|
31b0b53394 | ||
|
|
a34942c882 | ||
|
|
bb25ce1c6a | ||
|
|
23f48e07ed | ||
|
|
008fea5d89 | ||
|
|
0d275868a5 | ||
|
|
268b4d9f9f | ||
|
|
dc85989553 | ||
|
|
37379d5d1d | ||
|
|
b76305a0d2 | ||
|
|
994274623b | ||
|
|
7c06e87d59 | ||
|
|
923c297dfc | ||
|
|
e674518c4e | ||
|
|
681c09f25c | ||
|
|
0fd5346860 | ||
|
|
2252ba1bb7 | ||
|
|
30a5922a0b | ||
|
|
58c3794ce7 | ||
|
|
ef25502491 | ||
|
|
cc6d193e1d | ||
|
|
8fd46e96aa | ||
|
|
574a2c774e | ||
|
|
6b78b8f9ce | ||
|
|
322473c295 | ||
|
|
2e20693583 | ||
|
|
e728a14c19 | ||
|
|
d58e43edbf | ||
|
|
8abf242e2c | ||
|
|
051c5c4bf7 | ||
|
|
141c9e9c86 | ||
|
|
a281bda9a6 | ||
|
|
8e29e09943 | ||
|
|
4a47224ac1 | ||
|
|
e31ce87bb3 | ||
|
|
633f7a1db9 | ||
|
|
43b4cfc215 | ||
|
|
82d12691e1 | ||
|
|
8b4da69861 | ||
|
|
0e2ec9c2cb | ||
|
|
4aa79df402 | ||
|
|
b251d47712 | ||
|
|
9c598fcd01 | ||
|
|
4ee942aba2 | ||
|
|
d64db65743 | ||
|
|
8db9a27970 | ||
|
|
259521ec3e | ||
|
|
e0cd520837 | ||
|
|
d1788ac1e9 | ||
|
|
de8d3fb1eb | ||
|
|
a3478e02f4 | ||
|
|
f513ca2a28 | ||
|
|
c5d727da39 | ||
|
|
356429d0e7 | ||
|
|
2da6cb263d | ||
|
|
5e5b927abd | ||
|
|
a7e76438b2 | ||
|
|
056ecb1c39 | ||
|
|
63c825d0e0 | ||
|
|
1fba5cb580 | ||
|
|
1053234507 | ||
|
|
49d5c4260f | ||
|
|
1530effb29 | ||
|
|
ae6f26f3ef | ||
|
|
cf739d2493 | ||
|
|
18f677d530 | ||
|
|
f6c27c2abf | ||
|
|
5596f69c0e | ||
|
|
784f549339 | ||
|
|
5b3dfc3f9e | ||
|
|
6c3a4c6927 | ||
|
|
f3e1ba5251 | ||
|
|
31b32d3b11 | ||
|
|
b3b1f3ac68 | ||
|
|
d3a748ce3a | ||
|
|
ed3052dea5 | ||
|
|
809684e9de | ||
|
|
a283e95fed | ||
|
|
16b6cc41a4 | ||
|
|
747f4dc3fe | ||
|
|
f13f50779c | ||
|
|
363b581926 | ||
|
|
1573f513ce | ||
|
|
ae0577bc16 | ||
|
|
cccf216dbb | ||
|
|
d872c0560a | ||
|
|
f8f79788e4 | ||
|
|
f678ff8cfd | ||
|
|
b1850f2465 | ||
|
|
d7866831ae | ||
|
|
5917bf31c3 | ||
|
|
59247c7838 | ||
|
|
dce3c57e6a | ||
|
|
9c440ab6b7 | ||
|
|
fc085c1758 | ||
|
|
fdd6ea3651 | ||
|
|
1834b7d0f9 | ||
|
|
95b98c5a38 | ||
|
|
327515366f | ||
|
|
1f60e3101e | ||
|
|
f8e474a1c5 | ||
|
|
8f11049c9f | ||
|
|
f314c2a4d9 | ||
|
|
5d90afe648 | ||
|
|
5ff9e94a2e | ||
|
|
107251e099 | ||
|
|
f970090577 | ||
|
|
1547dd4215 | ||
|
|
253bd1aea3 | ||
|
|
49b80a4916 | ||
|
|
8259b29896 | ||
|
|
f1c4b7d5df | ||
|
|
58ed49f3c9 | ||
|
|
ae57b960c2 | ||
|
|
758cf25888 | ||
|
|
3d65312999 | ||
|
|
437afbbbf3 | ||
|
|
b871c6b46f | ||
|
|
055f236aa5 | ||
|
|
85fe24cede | ||
|
|
8562409a92 | ||
|
|
c9974b65c4 | ||
|
|
270d7191ce | ||
|
|
aa4b2d9f3a | ||
|
|
233f66db5e | ||
|
|
d1ae298211 | ||
|
|
5d1b160fe9 | ||
|
|
ba557e20a4 | ||
|
|
7ab5cb20c8 | ||
|
|
bc7aa1a500 | ||
|
|
86951aff9a | ||
|
|
653d825083 | ||
|
|
72fc467109 | ||
|
|
86a6f5d67c | ||
|
|
852ed21e88 | ||
|
|
c023d7676a | ||
|
|
9f6c6d9917 | ||
|
|
9c643ae9ca | ||
|
|
fb3580efa1 | ||
|
|
5dfb7d63dc | ||
|
|
db4b4fb166 | ||
|
|
cedc8aae44 | ||
|
|
42b51611af | ||
|
|
820462dbc0 | ||
|
|
e80ca0fa92 | ||
|
|
885ef7a46f | ||
|
|
565cb70875 | ||
|
|
1668392988 | ||
|
|
9a51820dec | ||
|
|
01f0f436ac | ||
|
|
99c43881df | ||
|
|
d4a163e9cc | ||
|
|
1f44c4be2f | ||
|
|
8fdf973e66 | ||
|
|
b1f2d27ddf | ||
|
|
264b764d6e | ||
|
|
8958b2042f | ||
|
|
a9bc568217 | ||
|
|
c2cf8e528c | ||
|
|
604d3bac3c | ||
|
|
8945ace3f7 | ||
|
|
45be4626f6 | ||
|
|
cc4cc342c2 | ||
|
|
31248da3d1 | ||
|
|
defdd27987 | ||
|
|
f5e096a66f | ||
|
|
c284459382 | ||
|
|
7bb201a1d2 | ||
|
|
978b3eca05 | ||
|
|
24684033ca | ||
|
|
2c0a4ac906 | ||
|
|
3c30db965d | ||
|
|
37a1230c01 | ||
|
|
a4658eac24 | ||
|
|
25e76d0564 | ||
|
|
51c64fcbe6 | ||
|
|
deb2ed3d09 | ||
|
|
06055add5c | ||
|
|
317a464278 | ||
|
|
6ef5607d99 | ||
|
|
d84d30fe87 | ||
|
|
7ca9ca9465 | ||
|
|
357dcdb55e | ||
|
|
fbf7ccbdda | ||
|
|
c440c7c93a | ||
|
|
5ced9c1f19 | ||
|
|
c2777ff989 | ||
|
|
1b9b47dd6a | ||
|
|
510eccd471 | ||
|
|
a8a2db8eb1 | ||
|
|
335d7f3ae5 | ||
|
|
7ea0e90678 | ||
|
|
d185a85a07 | ||
|
|
ae441e6a2c | ||
|
|
5d593dd948 | ||
|
|
15b1d8d3f0 | ||
|
|
dbb4bdf59f | ||
|
|
76bd968c59 | ||
|
|
b695e0065a | ||
|
|
a415d59e2f | ||
|
|
733fd79f46 | ||
|
|
679f3347bb | ||
|
|
4d52c55784 | ||
|
|
039573b133 | ||
|
|
0f022da98c | ||
|
|
9a832c7bcd | ||
|
|
36631f2270 | ||
|
|
3bc847a9f0 | ||
|
|
95fe77a594 | ||
|
|
19a8ed8b25 | ||
|
|
ee05137415 | ||
|
|
1ec70f1df3 | ||
|
|
08b6edae80 | ||
|
|
3aabc1adbf | ||
|
|
9af34cc611 | ||
|
|
3b733930fe | ||
|
|
344636d88e | ||
|
|
22ebdcf1cf | ||
|
|
ab228c8484 | ||
|
|
ca59ce45c0 | ||
|
|
f45527468f | ||
|
|
db853b4462 | ||
|
|
5ca63a4e89 | ||
|
|
574a807678 | ||
|
|
8873b27eb8 | ||
|
|
79666b26c0 | ||
|
|
c66004bbb2 | ||
|
|
9cd4984f7c | ||
|
|
b36dfb356e | ||
|
|
d827497403 | ||
|
|
9b93c07339 | ||
|
|
6fd46eb36a | ||
|
|
a0629587be | ||
|
|
1c900e780a | ||
|
|
1cc696ab31 | ||
|
|
3653a7746a | ||
|
|
677f890c5c | ||
|
|
61333ecb40 | ||
|
|
1b8d6a38e7 | ||
|
|
7d165da105 | ||
|
|
354aa6831b | ||
|
|
5b72fab2e4 | ||
|
|
3be055a366 | ||
|
|
7dcf1cbf90 | ||
|
|
49c44db635 | ||
|
|
7f4791fa85 | ||
|
|
c3ac3ecbe7 | ||
|
|
dc365e066d | ||
|
|
cf13cccb1e | ||
|
|
471f33ceef | ||
|
|
744d07b8a1 | ||
|
|
59be0818e2 | ||
|
|
955a69b16e | ||
|
|
c7c6566bca | ||
|
|
b6638d4eec | ||
|
|
fd1cc2fdcb | ||
|
|
3996fbe365 | ||
|
|
c5f086b385 | ||
|
|
4612b79575 | ||
|
|
d1e07295e7 | ||
|
|
5e1064da55 | ||
|
|
f77c1900fa | ||
|
|
9c84712640 | ||
|
|
98c22b9acb | ||
|
|
d8e0b9f541 | ||
|
|
e8ab0f6e85 | ||
|
|
5d93a392e4 | ||
|
|
29c25bc375 | ||
|
|
34686394a6 | ||
|
|
df2f8684d6 | ||
|
|
8d24aa2b39 | ||
|
|
fc32b749dd | ||
|
|
7ad38057b5 | ||
|
|
a6eb615431 | ||
|
|
e511265cc9 | ||
|
|
8d4fadb3c8 | ||
|
|
90ad9cf668 | ||
|
|
adb8be3287 | ||
|
|
749037346c | ||
|
|
fea31f7422 | ||
|
|
97172f5e51 | ||
|
|
fd58ee6289 | ||
|
|
c272359f20 | ||
|
|
b34243fa7b | ||
|
|
e0961d81a0 | ||
|
|
04d82d8127 | ||
|
|
be9995bd1e | ||
|
|
43f5b5e2a6 | ||
|
|
ebb2a8ad5a | ||
|
|
ca4f265ce6 | ||
|
|
013940250b | ||
|
|
fdf5e7ab2a | ||
|
|
ef9a144437 | ||
|
|
78b2848622 | ||
|
|
ccd9ce1728 | ||
|
|
e229dc1549 | ||
|
|
307c4a22ed | ||
|
|
ad8a84a532 | ||
|
|
7f871b0cc6 | ||
|
|
1e343084e2 | ||
|
|
6c6ed5f443 | ||
|
|
5e460c57f8 | ||
|
|
277b8f3503 | ||
|
|
43e8796b2c | ||
|
|
4047e34050 | ||
|
|
35fa20d965 | ||
|
|
95be7cf505 | ||
|
|
f22a8126ed | ||
|
|
236c0c78c3 | ||
|
|
58fe959f85 | ||
|
|
280b036b91 | ||
|
|
6e2bf98d5f | ||
|
|
719982e4a3 | ||
|
|
76494e5f9c | ||
|
|
e38aba0dff | ||
|
|
f26842faa7 | ||
|
|
816e38db8e | ||
|
|
2734f53a79 | ||
|
|
71601b88ff | ||
|
|
97a8cc7ce5 | ||
|
|
0b83b849e7 | ||
|
|
d89b09427f | ||
|
|
b00ae974d2 | ||
|
|
c64e8f944e | ||
|
|
57d029f34a | ||
|
|
0ca36e8943 | ||
|
|
a61aa8ff0b | ||
|
|
49cd751acf | ||
|
|
2967d5d3f1 | ||
|
|
60da39712c | ||
|
|
52fbfdc5ab | ||
|
|
b91bd3ea01 | ||
|
|
6966e08306 | ||
|
|
38b77397e0 | ||
|
|
6558317a7e | ||
|
|
7a40b27931 | ||
|
|
0f387a8e3c | ||
|
|
15fbd6fbf4 | ||
|
|
310f13a2f7 | ||
|
|
2a60264e40 | ||
|
|
6e6eae7844 | ||
|
|
b3d31869d6 | ||
|
|
c448c2becb | ||
|
|
d39f17bda3 | ||
|
|
9648e25018 | ||
|
|
64d499af6e | ||
|
|
02da178d5c | ||
|
|
35cf2638e8 | ||
|
|
b1d446895b | ||
|
|
f0a54bf6e3 | ||
|
|
a5a2298c7d | ||
|
|
796b2d4970 | ||
|
|
ac1b3845b2 | ||
|
|
5ef2d538a0 | ||
|
|
a0c1719695 | ||
|
|
ebdf54a60b | ||
|
|
3546d54e3b | ||
|
|
639aafda12 | ||
|
|
4d5e051387 | ||
|
|
91b2e5bdbb | ||
|
|
7b9654f164 | ||
|
|
07d54587bd | ||
|
|
55b0be36cd | ||
|
|
5420fcaf3a | ||
|
|
6589feaacd | ||
|
|
3994141d40 | ||
|
|
1a1d6ab478 | ||
|
|
4796803c33 | ||
|
|
95063a7b65 | ||
|
|
f2a0f9f61a | ||
|
|
77e128aa11 | ||
|
|
72d3e4e03f | ||
|
|
751fdb96da | ||
|
|
4ebe739b44 | ||
|
|
c8e9207879 | ||
|
|
ccf198a80b | ||
|
|
8c1722faa2 | ||
|
|
64a97483fb | ||
|
|
de480ec0f5 | ||
|
|
d540dbec79 | ||
|
|
303996818c | ||
|
|
d27d2dd520 | ||
|
|
c2b67ccb78 | ||
|
|
c03b388786 | ||
|
|
ac14db7b19 | ||
|
|
36d2f96519 | ||
|
|
e503534ff4 | ||
|
|
d6ae5bfafa | ||
|
|
f06f44c30a | ||
|
|
0abf686406 | ||
|
|
1f8a0db290 | ||
|
|
a678ae2529 | ||
|
|
f9d8cb97c0 | ||
|
|
6ee841319f | ||
|
|
b282909c9e | ||
|
|
aba0c733cd | ||
|
|
029d74f855 | ||
|
|
bcb951077d | ||
|
|
a6c25b7bff | ||
|
|
cac822f785 | ||
|
|
145d6e29c2 | ||
|
|
c638e5ec87 | ||
|
|
6abd806539 | ||
|
|
244bb555f9 | ||
|
|
cedc4f241d | ||
|
|
bb50b3419e | ||
|
|
022e650dc6 | ||
|
|
dc874a99cd | ||
|
|
7e5bca3dfd | ||
|
|
52a2bb5524 | ||
|
|
79209c31bf | ||
|
|
4d10eda308 | ||
|
|
a123e65185 | ||
|
|
d01194da0b | ||
|
|
6323268f40 | ||
|
|
774d98991c | ||
|
|
3d8be787a2 | ||
|
|
b47c50ae5d | ||
|
|
1ee0526e41 | ||
|
|
bdc29dbbbf | ||
|
|
c9a1558c60 | ||
|
|
b546d096bd | ||
|
|
448fee76c1 | ||
|
|
165bcf5662 | ||
|
|
19a9d639b1 | ||
|
|
da688114f4 | ||
|
|
e4337b6631 | ||
|
|
a1cdf7189a | ||
|
|
c71ef6fa4c | ||
|
|
e5c6b2e952 | ||
|
|
7103707aeb | ||
|
|
d78d515acb | ||
|
|
2b925e0103 | ||
|
|
b6693c4345 | ||
|
|
7b222768d4 | ||
|
|
c6d42c09d8 | ||
|
|
411a25b610 | ||
|
|
601c828562 | ||
|
|
5a1cb00a07 | ||
|
|
eb18a2ac0f | ||
|
|
6613862aed | ||
|
|
25b0b63216 | ||
|
|
e61d14168a | ||
|
|
e3a2ad03bc | ||
|
|
67e7d63f0f | ||
|
|
b246d13bae | ||
|
|
18941f1b80 | ||
|
|
16f12bcfa5 | ||
|
|
2ec0f26122 | ||
|
|
c1f45dafa5 | ||
|
|
de32691b4e | ||
|
|
1fb2c66a21 | ||
|
|
018895067b | ||
|
|
f3d14dadc7 | ||
|
|
1a8825b374 | ||
|
|
8ee2d3d367 | ||
|
|
b2984cd3d0 | ||
|
|
27ea9c22bb | ||
|
|
b45adb6e6a | ||
|
|
6bc6d20a87 | ||
|
|
95d70db153 | ||
|
|
a0b014ecfc | ||
|
|
fc996951cb | ||
|
|
2ae133e993 | ||
|
|
a02937a67b | ||
|
|
0f4cc3231a | ||
|
|
2b2042e1c2 | ||
|
|
57090e8ec5 | ||
|
|
d6b834e8af | ||
|
|
fa826b3167 | ||
|
|
a49b3c9bf6 | ||
|
|
cdfbff9af0 | ||
|
|
87eed3965e | ||
|
|
c5cd716c20 | ||
|
|
02cfe9aeeb | ||
|
|
d87452ed21 | ||
|
|
029468e7b4 | ||
|
|
c9a1097579 | ||
|
|
f338ffea74 | ||
|
|
765b68458a | ||
|
|
15a4d1f0a9 | ||
|
|
bf0e5dc5bd | ||
|
|
19ceea4f1e | ||
|
|
cc68776069 | ||
|
|
d36002a02a | ||
|
|
fa5effafcd | ||
|
|
fa249a3f78 | ||
|
|
c8f6d68d68 | ||
|
|
44bbdbe49d | ||
|
|
252c043409 | ||
|
|
07e21427b9 | ||
|
|
0f1c10230a | ||
|
|
deb7121fde | ||
|
|
534e01e2d6 | ||
|
|
5c7e2432bd | ||
|
|
5fbf702500 | ||
|
|
b62859ffa2 | ||
|
|
2700f06fe7 | ||
|
|
63ec74ebea | ||
|
|
9d8135cf1c | ||
|
|
2cc98191f0 | ||
|
|
0417a10483 | ||
|
|
2e7fab7813 | ||
|
|
ef7530af29 | ||
|
|
e8e66ec4b5 | ||
|
|
90707f8d4e | ||
|
|
cc15a9480b | ||
|
|
447e0d0336 | ||
|
|
15db7eeb81 | ||
|
|
0a1454ff6c | ||
|
|
dc2864ad7a | ||
|
|
2d2fdd6e44 | ||
|
|
f38cd9d80d | ||
|
|
1a09712f89 | ||
|
|
c41cf6c444 | ||
|
|
39bf84a13c | ||
|
|
2d8a0dc59c | ||
|
|
61eddca39d | ||
|
|
8fe65ec371 | ||
|
|
24ff2482a4 | ||
|
|
6f64fc9f84 | ||
|
|
41afd85a5d | ||
|
|
5ad4cbace7 | ||
|
|
88b7470c07 | ||
|
|
f28ab4c280 | ||
|
|
214253c579 | ||
|
|
823670e4c5 | ||
|
|
276bd01fcc | ||
|
|
19e992869a | ||
|
|
078577c7c5 | ||
|
|
332ef5892b | ||
|
|
8b94320524 | ||
|
|
866173a481 | ||
|
|
1fa9e3fc93 | ||
|
|
74822d6ba3 | ||
|
|
9a188a87c2 | ||
|
|
fb2182dd9b | ||
|
|
59a4442880 | ||
|
|
0b86aad059 | ||
|
|
efb5c85c76 | ||
|
|
5d6f9a316a | ||
|
|
5a75906ce7 | ||
|
|
f35c5f1c91 | ||
|
|
0dcce91a6e | ||
|
|
0ff7076d84 | ||
|
|
bc54e3d01b | ||
|
|
e738acbe3c | ||
|
|
8e8b8f8ed5 | ||
|
|
84f1b08033 | ||
|
|
bc24e90070 | ||
|
|
005f63d455 | ||
|
|
e7f66900fa | ||
|
|
0477e03965 | ||
|
|
a8286e7458 | ||
|
|
af60501fb6 | ||
|
|
869f4d1898 | ||
|
|
e9e1b33884 | ||
|
|
ac9f2ed284 | ||
|
|
41bede60eb | ||
|
|
27f313ee16 | ||
|
|
f978f9a07d | ||
|
|
4eda5fb924 | ||
|
|
16affc9ef4 | ||
|
|
2844facae5 | ||
|
|
87d73684fa | ||
|
|
4096e72835 | ||
|
|
f19da94bfd | ||
|
|
44f90efb93 | ||
|
|
e329b6ffd0 | ||
|
|
6db1844656 | ||
|
|
2aac8d875a | ||
|
|
92ae8a5be7 | ||
|
|
1ea83ba3a7 | ||
|
|
6376e8d6e7 | ||
|
|
5e3c2f0c6a | ||
|
|
460b7be47a | ||
|
|
67dc3eef4b | ||
|
|
140fe74ca2 | ||
|
|
e8e6d3bc77 | ||
|
|
c782b6222c | ||
|
|
242ac26299 | ||
|
|
55599e1802 | ||
|
|
11cdb070c0 | ||
|
|
eacd789a88 | ||
|
|
02b0451d3c | ||
|
|
91e07727e3 | ||
|
|
1068208887 | ||
|
|
27e7ecce65 | ||
|
|
defbdcc2b8 | ||
|
|
dbad57b8e8 | ||
|
|
47f69f694a | ||
|
|
620876e0e7 | ||
|
|
76f38d3da0 | ||
|
|
d714a2a393 | ||
|
|
55bc7a678a | ||
|
|
64e8e02f54 | ||
|
|
48c4d54a6c | ||
|
|
a9f9c1406c | ||
|
|
7e30d16797 | ||
|
|
46ba9aa117 | ||
|
|
9f53987e3b | ||
|
|
e5ea4cc5d4 | ||
|
|
d726d4d4aa | ||
|
|
7fa55c39f1 | ||
|
|
cff8cb137c | ||
|
|
eb1e890278 | ||
|
|
67aee8a19c | ||
|
|
56adb85a87 | ||
|
|
62aff1f2a1 | ||
|
|
d6383e6c21 | ||
|
|
d3ebd4b318 | ||
|
|
c592ccb3e5 | ||
|
|
20aee23edc | ||
|
|
0937526aac | ||
|
|
77b9f2c15e | ||
|
|
dbf6b38a2e | ||
|
|
38c802a4ef | ||
|
|
ed47dca8a1 | ||
|
|
b8c1fa9b43 | ||
|
|
043d2926fa | ||
|
|
f04dfe43a8 | ||
|
|
8387de09e2 | ||
|
|
ac7e7a79c3 | ||
|
|
768ed80ece | ||
|
|
f40b2e641b | ||
|
|
5719bddbb5 | ||
|
|
aea75f51bd | ||
|
|
d58c07d697 | ||
|
|
fa12743c8e | ||
|
|
5cf2688c0c | ||
|
|
7d35e15fea | ||
|
|
0f62bccb0b | ||
|
|
9182a287e2 | ||
|
|
8e2b19ada7 | ||
|
|
55a408edad | ||
|
|
fee374b0e9 | ||
|
|
259a39ef0c | ||
|
|
53a70d9018 | ||
|
|
1e3c46a6bb | ||
|
|
b6a55f50ab | ||
|
|
b322ef286e | ||
|
|
3c0a97354c | ||
|
|
8b91aefd49 | ||
|
|
11e5fe8879 | ||
|
|
dbda9292d8 | ||
|
|
e271932f41 | ||
|
|
e25e8bc580 | ||
|
|
f8605dda61 | ||
|
|
97e268e5a5 | ||
|
|
7c3cee0624 | ||
|
|
296ef4184f | ||
|
|
7277074d9e | ||
|
|
5a17b95901 | ||
|
|
1e92c24847 | ||
|
|
ddc68626d8 | ||
|
|
e680a90e90 | ||
|
|
6e306ee44f | ||
|
|
e872552fdc | ||
|
|
c56ca4a0fa | ||
|
|
f9ebc0ba70 | ||
|
|
25bc2dff07 | ||
|
|
f76bf9dddc | ||
|
|
10ea05bc6f | ||
|
|
812e41d578 | ||
|
|
086dfc8a14 | ||
|
|
567976e822 | ||
|
|
3f0655c821 | ||
|
|
ca46921796 | ||
|
|
3b4c357aaa | ||
|
|
4cdf05efac | ||
|
|
5913ff1bd8 | ||
|
|
6fb7beb58a | ||
|
|
d855bc5ca8 | ||
|
|
abc9f7d096 | ||
|
|
2c74ff1e54 | ||
|
|
093704f073 | ||
|
|
b491f5cdc5 | ||
|
|
e642bbc426 | ||
|
|
91eccb7bab | ||
|
|
85fb55a0e1 | ||
|
|
2ed67f6d65 | ||
|
|
78bf5ad88e | ||
|
|
e7d4bc4506 | ||
|
|
a1fdf1e625 | ||
|
|
a37cd40ce3 | ||
|
|
a2086ed458 | ||
|
|
82d83ca579 | ||
|
|
3f03f7333c | ||
|
|
8b3e04d1b6 | ||
|
|
eefe3e8d4f | ||
|
|
df4645a84a | ||
|
|
d6e447a89c | ||
|
|
d8050634f6 | ||
|
|
7e2b3da928 | ||
|
|
f450056626 | ||
|
|
a735e2b58f | ||
|
|
29c97a9bf2 | ||
|
|
16c2baa0df | ||
|
|
6b6821d0c6 | ||
|
|
309a8283b2 | ||
|
|
31a74abebe | ||
|
|
5c614bceba | ||
|
|
6085da91e2 | ||
|
|
7e91eb6616 | ||
|
|
8aa70f05ad | ||
|
|
a1a5f470f7 | ||
|
|
cc62e8c785 | ||
|
|
d69f2b6cc5 | ||
|
|
1bcb5e0cc1 | ||
|
|
264eb52d61 | ||
|
|
11eeeb6ab1 | ||
|
|
4cfb2b248e | ||
|
|
72661e7c16 | ||
|
|
a065a1d918 | ||
|
|
1e3e343e43 | ||
|
|
a5671f016a | ||
|
|
79d019b5bb | ||
|
|
1f4f55bcc9 | ||
|
|
4ec941440d | ||
|
|
d7c1faf563 | ||
|
|
ce20544a4f | ||
|
|
79587215bb | ||
|
|
36dd50005a | ||
|
|
1a085788de | ||
|
|
896730ceda | ||
|
|
dce67351f9 | ||
|
|
185012b2b7 | ||
|
|
b8ac54052c | ||
|
|
1c398c2b77 | ||
|
|
36e82abd12 | ||
|
|
41c522104e | ||
|
|
e05e7bee82 | ||
|
|
ce8b9c153c | ||
|
|
4318b83414 | ||
|
|
113c78b67e | ||
|
|
eddabf9dbc | ||
|
|
0ecee3deda | ||
|
|
ab1ab7b6f1 | ||
|
|
2436480d9b | ||
|
|
3904c67e6e | ||
|
|
c10728319b | ||
|
|
7ac47676e2 | ||
|
|
aee0d4c0c8 | ||
|
|
2112e38886 | ||
|
|
4a0656e903 | ||
|
|
cf48e9d640 | ||
|
|
5aa3d71eaf | ||
|
|
52a88a7bdf | ||
|
|
08579021c5 | ||
|
|
3234c8241b | ||
|
|
1c8de02c8d | ||
|
|
5ffc911a69 | ||
|
|
bbf046033c | ||
|
|
c13fd1923b | ||
|
|
d736dc1a0a | ||
|
|
60ece1ee72 | ||
|
|
8c4d8cfdca | ||
|
|
df45c99f96 | ||
|
|
fca2661e05 | ||
|
|
ff3d9bd373 | ||
|
|
415ce93425 | ||
|
|
61075febae | ||
|
|
1132230674 | ||
|
|
7ece9b823d | ||
|
|
399ad3f450 | ||
|
|
fdc10e13ec | ||
|
|
f5675fc0fe | ||
|
|
ec07571069 | ||
|
|
d482c5de91 | ||
|
|
f1ba9c9d6a | ||
|
|
e6e8e2e4d5 | ||
|
|
9e9505a732 | ||
|
|
c530858df3 | ||
|
|
7c205d7a1e | ||
|
|
292c6810ad | ||
|
|
2b00447a43 | ||
|
|
e6bf77d148 | ||
|
|
c7940856ce | ||
|
|
8dd16b1fdb | ||
|
|
471722482e | ||
|
|
f9b56bc354 | ||
|
|
1a41053c76 | ||
|
|
3b2b6a20aa | ||
|
|
4768f912b8 | ||
|
|
8418d54ac7 | ||
|
|
2b2412ca20 | ||
|
|
7202cac7d0 | ||
|
|
08a8bfa76c | ||
|
|
17988fc7de | ||
|
|
405f312fe8 | ||
|
|
5672d2b39e | ||
|
|
538bb418ce | ||
|
|
5d49a6b685 | ||
|
|
959abe64f8 | ||
|
|
3d192b7f8d | ||
|
|
c6e1753803 | ||
|
|
6d2196125d | ||
|
|
564bf8a089 | ||
|
|
43a1c48f75 | ||
|
|
c2b31c0987 | ||
|
|
6bc02cbb45 | ||
|
|
9c8b5e37a4 | ||
|
|
12512f767b | ||
|
|
38a511e3e1 | ||
|
|
e7745d13f4 | ||
|
|
5344c3f121 | ||
|
|
de56e30bba | ||
|
|
c8162df936 | ||
|
|
5ea80b86db | ||
|
|
8b74c108a4 | ||
|
|
67288b4735 | ||
|
|
bbecc3d0c2 | ||
|
|
b20433c0be | ||
|
|
fb26254fbb | ||
|
|
f7ddd488e1 | ||
|
|
6f19d928f6 | ||
|
|
fa15d7fd26 | ||
|
|
be7af60ab5 | ||
|
|
c6ed5ee9c6 | ||
|
|
36cd1ae3cc | ||
|
|
58f04975e1 | ||
|
|
179681ef18 | ||
|
|
7682bf9b49 | ||
|
|
a648e2db70 | ||
|
|
c61e09e36a | ||
|
|
453ac88dce | ||
|
|
a9c18c57e4 | ||
|
|
03a6f2093e | ||
|
|
05818d70f4 | ||
|
|
f888aa61fb | ||
|
|
2aeceafb36 | ||
|
|
4f24d22a68 | ||
|
|
d33bdc7da1 | ||
|
|
9150747df1 | ||
|
|
2409817556 | ||
|
|
06dba2d258 | ||
|
|
9ae6c2673a | ||
|
|
352b61c741 | ||
|
|
db81925c4b | ||
|
|
60e0f3b9b5 | ||
|
|
68eb3774b9 | ||
|
|
b6da1bcb15 | ||
|
|
0c3324b6ef | ||
|
|
1f4439a89e | ||
|
|
d2e5c32c83 | ||
|
|
bde5960581 | ||
|
|
eaa4abea45 | ||
|
|
5c02636dd9 | ||
|
|
571432a7aa | ||
|
|
57cdf0bf16 | ||
|
|
da2046e90e | ||
|
|
6362b9c9b2 | ||
|
|
e10ed744bc | ||
|
|
5f6658ae9a | ||
|
|
7aa6564dcc | ||
|
|
280ca1dd85 | ||
|
|
e23b6e3484 | ||
|
|
f95c38f632 | ||
|
|
f963fcfa66 | ||
|
|
a7ba779ba8 | ||
|
|
1c21ea955c | ||
|
|
247d33a627 | ||
|
|
2166980f91 | ||
|
|
58b43dbb6c | ||
|
|
9537accb51 | ||
|
|
e258f3e2fa | ||
|
|
7b27be1306 | ||
|
|
203fb71851 | ||
|
|
899784cbdc | ||
|
|
3a274e85f0 | ||
|
|
ad61503d83 | ||
|
|
14fa797235 | ||
|
|
156f1b70c3 | ||
|
|
a4c7541092 | ||
|
|
df5035d975 | ||
|
|
37c049425d | ||
|
|
f5b174f985 | ||
|
|
fa921215d9 | ||
|
|
e02753df46 | ||
|
|
37e4d2bd48 | ||
|
|
96b5170d8c | ||
|
|
ed0adf61d3 | ||
|
|
30ce6b0a6a | ||
|
|
99476f4b13 | ||
|
|
08f7bd2dc3 | ||
|
|
1522cba5b0 | ||
|
|
e776118de9 | ||
|
|
3ab12cef2f | ||
|
|
025be70c42 | ||
|
|
5b061e062c | ||
|
|
82060320ef | ||
|
|
c054b097e9 | ||
|
|
caacb1dc9f | ||
|
|
d47d9e5017 | ||
|
|
913e3d65d2 | ||
|
|
cd9ee3c468 | ||
|
|
4065730e36 | ||
|
|
2fc244a3eb | ||
|
|
24a673c482 | ||
|
|
b57b97eb3c | ||
|
|
92d4d93fce | ||
|
|
5871874f70 | ||
|
|
32aab3366d | ||
|
|
156b6425d2 | ||
|
|
c019f86529 | ||
|
|
25b29a2864 | ||
|
|
4effc70792 | ||
|
|
23782b5c24 | ||
|
|
5ecbc2889b | ||
|
|
5b04672ba2 | ||
|
|
48d962e15a | ||
|
|
fb6a6f73c4 | ||
|
|
ecbcc566fe | ||
|
|
fc86620327 | ||
|
|
30b452543a | ||
|
|
d41613c46a | ||
|
|
d5681ba01c | ||
|
|
70ee8c5bc4 | ||
|
|
91c164ecca | ||
|
|
265ea82780 | ||
|
|
c540840cd4 | ||
|
|
f34e77f08c | ||
|
|
c94fecdadb | ||
|
|
f97b556e23 | ||
|
|
e890ce989c | ||
|
|
d58b71688b | ||
|
|
37c7fa7663 | ||
|
|
c8dddfed06 | ||
|
|
21d1bd48ec | ||
|
|
7b0427e86e | ||
|
|
8424eeb4ee | ||
|
|
055b9c57e7 | ||
|
|
5948c2d8cd | ||
|
|
f712c5c6d0 | ||
|
|
642cc50ac4 | ||
|
|
7c430c9d3c | ||
|
|
b8b0a0d662 | ||
|
|
f4566acfa5 | ||
|
|
6defe6e07d | ||
|
|
ad652706d6 | ||
|
|
90af611fdb | ||
|
|
e190841d67 | ||
|
|
3077cc82cc | ||
|
|
7435e6e7b3 | ||
|
|
6430e41fb5 | ||
|
|
9b58b3fb6e | ||
|
|
21e6a344a2 | ||
|
|
826b38c47a | ||
|
|
9cacfee8c7 | ||
|
|
7add3d1018 | ||
|
|
4bf484c881 | ||
|
|
6b5761dfa4 | ||
|
|
424e7d65e5 | ||
|
|
5676acaef9 | ||
|
|
e0581ee771 | ||
|
|
14e1ed06df | ||
|
|
7d191ebf8e | ||
|
|
12b8704502 | ||
|
|
b4c7d32741 | ||
|
|
1011a757a8 | ||
|
|
b78c772a14 | ||
|
|
2160d7da81 | ||
|
|
02dff2653a | ||
|
|
60267790a1 | ||
|
|
7a5e1d4154 | ||
|
|
a9d25efcde | ||
|
|
e45f90fac3 | ||
|
|
e195e67a48 | ||
|
|
35e17127af | ||
|
|
4227477fc4 | ||
|
|
f78d1a4018 | ||
|
|
d89043d8ac | ||
|
|
5e5069423b | ||
|
|
cb19451418 | ||
|
|
c445a14c46 | ||
|
|
eaa4fd41e2 | ||
|
|
0aa8fe0f20 | ||
|
|
f946f38f26 | ||
|
|
04a578495f | ||
|
|
f63e38a59e | ||
|
|
45bfe2ad58 | ||
|
|
5b04f4dab9 | ||
|
|
4808d89449 | ||
|
|
f7495c6867 | ||
|
|
de6b7752d4 | ||
|
|
a6ba7a19b9 | ||
|
|
5d81fa70ff | ||
|
|
91161b37dd | ||
|
|
0de8f4a3a6 | ||
|
|
0d43de516c | ||
|
|
ab31915ce9 | ||
|
|
aeb92592e7 | ||
|
|
df70b8bb0e | ||
|
|
726b901dc5 | ||
|
|
c7f0a85d41 | ||
|
|
49d175b677 | ||
|
|
ad08701cb1 | ||
|
|
1960d51e60 | ||
|
|
de38963904 | ||
|
|
fda511a949 | ||
|
|
583de1bf0b | ||
|
|
9ee090a36e | ||
|
|
8ec1461842 | ||
|
|
b4b878ac24 | ||
|
|
9d2cd8490c | ||
|
|
a0eca54f96 | ||
|
|
da1b032793 | ||
|
|
4281b8630b | ||
|
|
d610a6aac4 | ||
|
|
d027ed2092 | ||
|
|
1558220f74 | ||
|
|
8ee0783bd3 | ||
|
|
fa1377a8ee | ||
|
|
67e955919f | ||
|
|
a149d6b26f | ||
|
|
dd98a0b913 | ||
|
|
5035c8bd48 | ||
|
|
dda44519c1 | ||
|
|
87867beb0e | ||
|
|
3709b5aecc | ||
|
|
b5ec683318 | ||
|
|
821e3ff294 | ||
|
|
8217c717f6 | ||
|
|
9598417f42 | ||
|
|
99bccc6dff | ||
|
|
cb8088216b | ||
|
|
59ef668fd2 | ||
|
|
8b247bde35 | ||
|
|
994c9147f5 | ||
|
|
943e000c41 | ||
|
|
c44f605b5e | ||
|
|
5b68415173 | ||
|
|
0f226939aa | ||
|
|
25fb54e959 | ||
|
|
dcb676765e | ||
|
|
2e567d6d55 | ||
|
|
d129aedfe8 | ||
|
|
5035e7417d | ||
|
|
2c02094281 | ||
|
|
8a7184be3f | ||
|
|
04a72381e6 | ||
|
|
6a09fa56fb | ||
|
|
4611264ce3 | ||
|
|
00aa07ad97 | ||
|
|
22a40b65ae | ||
|
|
fdae698f07 | ||
|
|
d158d4de51 | ||
|
|
847b57907e | ||
|
|
2941adf364 | ||
|
|
95e3dcb448 | ||
|
|
395e2f31d0 | ||
|
|
3f404c8edb | ||
|
|
53690cf9d0 | ||
|
|
9e6cb79f4e | ||
|
|
12443da00c | ||
|
|
c2a9118186 | ||
|
|
7aaf36d24d | ||
|
|
7cc13ce99c | ||
|
|
d533c393b2 | ||
|
|
fb97de7f79 | ||
|
|
23289c09bb | ||
|
|
7c34982528 | ||
|
|
5de16001e2 | ||
|
|
b9e8384c11 | ||
|
|
121e92a829 | ||
|
|
4475c4fe7c | ||
|
|
cef76de547 | ||
|
|
a62019a3fd | ||
|
|
52e3c3516d | ||
|
|
f751f70b1e | ||
|
|
dfb4b5a339 | ||
|
|
1208dbe8c7 | ||
|
|
8751203986 | ||
|
|
8ccdc05c08 | ||
|
|
17886a9808 | ||
|
|
69a84a2782 | ||
|
|
9ad33012ad | ||
|
|
a1b0ae467e | ||
|
|
69c9a3d793 | ||
|
|
5736b5e9eb | ||
|
|
0ab7b6340d | ||
|
|
e16b367e6e | ||
|
|
da9577076c | ||
|
|
3dd8574e33 | ||
|
|
af1b6f4b42 | ||
|
|
b8a023d158 | ||
|
|
decac5fd12 | ||
|
|
cb279ef321 | ||
|
|
e3787b6b3c | ||
|
|
771583c559 | ||
|
|
8943a9db4a | ||
|
|
063d2e568a | ||
|
|
eec74fd963 | ||
|
|
72d43b2e56 | ||
|
|
2ca624c8c6 | ||
|
|
d922225e69 | ||
|
|
9aea76b0e8 | ||
|
|
8ee9295f39 | ||
|
|
c4ebdd1f37 | ||
|
|
00643dbdfb | ||
|
|
ee08a6fc53 | ||
|
|
5bdadbc089 | ||
|
|
97a68becb9 | ||
|
|
7736c90457 | ||
|
|
3b7ba39590 | ||
|
|
eec3d02737 | ||
|
|
cc1756b8e5 | ||
|
|
16ef7ca5fd | ||
|
|
b42ddba13c | ||
|
|
8dee7daeb9 | ||
|
|
856a12f94f | ||
|
|
a4d0c23071 | ||
|
|
e96b29f84f | ||
|
|
eb2c61ccc0 | ||
|
|
27400b0be1 | ||
|
|
cf722fdf50 | ||
|
|
459aebe8bf | ||
|
|
beadc0e69b | ||
|
|
0fb249284f | ||
|
|
791a0ce702 | ||
|
|
37de84d55f | ||
|
|
1bd8113f66 | ||
|
|
f010f9458b | ||
|
|
3a8164ac4e | ||
|
|
e347c8b0b1 | ||
|
|
b243e2532b | ||
|
|
2ec8d88d80 | ||
|
|
8f4823d604 | ||
|
|
80b6140a3e | ||
|
|
7f3f6e96d8 | ||
|
|
f1b3d7d036 | ||
|
|
de24ce0a8f | ||
|
|
cb29585e84 | ||
|
|
f6ee94589f | ||
|
|
587c0ea339 | ||
|
|
a99750ae87 | ||
|
|
181d8f52d5 | ||
|
|
261ef9ab6a | ||
|
|
8ca212d142 | ||
|
|
791a14bec0 | ||
|
|
a80a7175f3 | ||
|
|
13bb7cf30a | ||
|
|
b866055264 | ||
|
|
c163b845eb | ||
|
|
3f9ea4fc79 | ||
|
|
93067ee30f | ||
|
|
205b496d5c | ||
|
|
8e5e770fd1 | ||
|
|
c87e4a4582 | ||
|
|
72699bc988 | ||
|
|
c59406e9e4 | ||
|
|
9f8e4bcef4 | ||
|
|
722448c97b | ||
|
|
007c46eedd | ||
|
|
5d303c793b | ||
|
|
6649f43069 | ||
|
|
c43b1ac201 | ||
|
|
be34b963e9 | ||
|
|
3f67fac085 | ||
|
|
ade2c23fb5 | ||
|
|
e344ec46a5 | ||
|
|
0fdaf659d6 | ||
|
|
d998ca2f0f | ||
|
|
d4b79754ad | ||
|
|
46ff5dccff | ||
|
|
a83b8d62ec | ||
|
|
7eb242d3ad | ||
|
|
68aa182b16 | ||
|
|
46a4d2dc47 | ||
|
|
eb69522641 | ||
|
|
da741e294e | ||
|
|
adb17bb071 | ||
|
|
02ea7d390c | ||
|
|
834652922a | ||
|
|
490cb757bf | ||
|
|
e760a9566a | ||
|
|
a487aaf952 | ||
|
|
c829826870 | ||
|
|
bfbc6de7b5 | ||
|
|
2213564977 | ||
|
|
9e2f309e30 | ||
|
|
ba458c1391 | ||
|
|
643db78cc4 | ||
|
|
41986f4307 | ||
|
|
0b3542a573 | ||
|
|
0ef8ddb2a2 | ||
|
|
7292955600 | ||
|
|
5db0d682b8 | ||
|
|
d07076b9d4 | ||
|
|
9b0ecdf43f | ||
|
|
b516c1001a | ||
|
|
9ed9b2d8cd | ||
|
|
4ff1f31ecd | ||
|
|
653998e005 | ||
|
|
de7d127c52 | ||
|
|
95ef4e20f8 | ||
|
|
56c2e94daf | ||
|
|
01b7f1ae18 | ||
|
|
a3788c4e98 | ||
|
|
e7581f4e15 | ||
|
|
b508a07d74 | ||
|
|
afa375f220 | ||
|
|
997f0535f5 | ||
|
|
d378021dee | ||
|
|
ec57f1305a | ||
|
|
bc73195193 | ||
|
|
696d95b112 | ||
|
|
0b10ea6e36 | ||
|
|
3e278a2e75 | ||
|
|
236e5fcf9d | ||
|
|
8e83564ce9 | ||
|
|
dadbebd3ea | ||
|
|
88900ed0d5 | ||
|
|
7b8616ac7b | ||
|
|
5abacd3667 | ||
|
|
34ea33f237 | ||
|
|
ba706b6dab | ||
|
|
6b950d0408 | ||
|
|
a97cbf038c | ||
|
|
d865efceb9 | ||
|
|
cf939620ea | ||
|
|
aa3f4c74dc | ||
|
|
97215008c9 | ||
|
|
ee5861efc8 | ||
|
|
38edd77034 | ||
|
|
87dcfbc645 | ||
|
|
edef3ad8c3 | ||
|
|
af01e95164 | ||
|
|
883963232f | ||
|
|
3d5c1b4ef8 | ||
|
|
4b00ec9d4f | ||
|
|
2e3a7386e9 | ||
|
|
e57a75ac55 | ||
|
|
610bf8a277 | ||
|
|
5ca92ecd67 | ||
|
|
ca8955daf3 | ||
|
|
3a4787dd98 | ||
|
|
40b1a3996a | ||
|
|
8555a87380 | ||
|
|
5a84a0d8d2 | ||
|
|
410922a943 | ||
|
|
3a9bd90a3b | ||
|
|
92078b1c58 | ||
|
|
34826c9506 | ||
|
|
97cc468509 | ||
|
|
e5d4f2c24f | ||
|
|
60fe26ff2f | ||
|
|
89fad4d3ad | ||
|
|
db379ad7b5 | ||
|
|
2d4e2fb8cb | ||
|
|
66050db322 | ||
|
|
bfeb3e801a | ||
|
|
6c7cfe9e4d | ||
|
|
de5f7f70e2 | ||
|
|
0b0e2a3f34 | ||
|
|
02b5d80bb9 | ||
|
|
0e602ab50b | ||
|
|
e98eedb16a | ||
|
|
72a5425c3c | ||
|
|
234bf8af34 | ||
|
|
85489d05e0 | ||
|
|
6fa7a8989c | ||
|
|
fd8c762772 | ||
|
|
3d38cdb609 | ||
|
|
1103f9046a | ||
|
|
b07b06a9fb | ||
|
|
cb776d2f50 | ||
|
|
e1febf7ec1 | ||
|
|
35f599833c | ||
|
|
c0e58e48ae | ||
|
|
f9b4ff17a5 | ||
|
|
a601991f91 | ||
|
|
f904cd6c4a | ||
|
|
729218ec4b | ||
|
|
9bbb0fe1f6 | ||
|
|
1db5e0c0bf | ||
|
|
a66c911fed | ||
|
|
8987ca61a1 | ||
|
|
ef9b8b792f | ||
|
|
1e018d8a8a | ||
|
|
9ba470fc63 | ||
|
|
d53ed5bbee | ||
|
|
a788173534 | ||
|
|
eee10a10d8 | ||
|
|
bef8447447 | ||
|
|
6002719c8c | ||
|
|
f569606475 | ||
|
|
e3867ffa41 | ||
|
|
5b5655c989 | ||
|
|
fe45975f43 | ||
|
|
1853d0d16d | ||
|
|
8637516565 | ||
|
|
f8c442cf76 | ||
|
|
0dadc124d3 | ||
|
|
1e549b0ab4 | ||
|
|
30d1c0e0b5 | ||
|
|
44e6445180 | ||
|
|
b910e20413 | ||
|
|
909584d473 | ||
|
|
aff75131e4 | ||
|
|
999166fa58 | ||
|
|
2b558a9606 | ||
|
|
823a37aed7 | ||
|
|
5b287deca2 | ||
|
|
2b61edb80d | ||
|
|
4061539e1b | ||
|
|
1718d07f94 | ||
|
|
d7b40433db | ||
|
|
fd4997ab94 | ||
|
|
8ae7f60b04 | ||
|
|
85cf009f80 | ||
|
|
dc347e4854 | ||
|
|
81a4ca5667 | ||
|
|
7236ed93e9 | ||
|
|
fc0cebe7c5 | ||
|
|
c47501d228 | ||
|
|
f423549257 | ||
|
|
77f9113301 | ||
|
|
c843130854 | ||
|
|
38b9198dba | ||
|
|
32182fe126 | ||
|
|
255a62dd21 | ||
|
|
c05195a47b | ||
|
|
eec86488e8 | ||
|
|
5ace5a5d8e | ||
|
|
b2b0cf11eb | ||
|
|
8ab46827de | ||
|
|
0a60e504b6 | ||
|
|
e2c5236706 | ||
|
|
a20edc1783 | ||
|
|
e810428c86 | ||
|
|
465cfb4fad | ||
|
|
67a7a63a36 | ||
|
|
1445bf7fb1 | ||
|
|
f67cb001df | ||
|
|
b1404cff37 | ||
|
|
50caca4002 | ||
|
|
122baa17a2 | ||
|
|
83a877c3dc | ||
|
|
253e801f51 | ||
|
|
e92636ab1a | ||
|
|
a74677acf7 | ||
|
|
499fed40f2 | ||
|
|
8889f4fdcc | ||
|
|
92bb849e7c | ||
|
|
115b14bc94 | ||
|
|
5b74374bb2 | ||
|
|
0b362fd866 | ||
|
|
fe0229aed0 | ||
|
|
5611333c29 | ||
|
|
5140a2e107 | ||
|
|
0f81482ed1 | ||
|
|
278411898a | ||
|
|
9af112b38f | ||
|
|
095437d0c7 | ||
|
|
45443b48ef | ||
|
|
6f561d6bd7 | ||
|
|
c3afcffc50 | ||
|
|
e1651c752a | ||
|
|
054d8c4c9f | ||
|
|
a0e619bcd7 | ||
|
|
15390cd966 | ||
|
|
ea1a9943fc | ||
|
|
51b40c6b18 | ||
|
|
c2aa56ac38 | ||
|
|
fd4bc63854 | ||
|
|
a9a955f8b9 | ||
|
|
119f6deb24 | ||
|
|
6ac76c86d7 | ||
|
|
224370e866 | ||
|
|
98de0d4351 | ||
|
|
d6e702a9eb | ||
|
|
93dc772565 | ||
|
|
d59e4ca4d1 | ||
|
|
8c5c4608d2 | ||
|
|
85f64b8c08 | ||
|
|
c20dc61f16 | ||
|
|
3ec458ef4f | ||
|
|
6391b00c00 | ||
|
|
35a1c9a133 | ||
|
|
64001c9643 | ||
|
|
da347aa077 | ||
|
|
326d50b686 | ||
|
|
ec3170752a | ||
|
|
8e17f915c6 | ||
|
|
62e4423f30 | ||
|
|
3329bc1748 | ||
|
|
91e46a94f5 | ||
|
|
c889659ad7 | ||
|
|
7407162dfe | ||
|
|
2ffdbe781f | ||
|
|
e5e0f85b50 | ||
|
|
766b5514f0 | ||
|
|
eaa211212d | ||
|
|
cf993c2a36 | ||
|
|
edfda74e9c | ||
|
|
2662809900 | ||
|
|
65daf74d0e | ||
|
|
fdbe018cdf | ||
|
|
841df74010 | ||
|
|
5efbf2a802 | ||
|
|
b2fbbddfa0 | ||
|
|
e983be4060 | ||
|
|
3544b84632 | ||
|
|
d5e56c7e76 | ||
|
|
04a8efd8c3 | ||
|
|
0f11838d93 | ||
|
|
50c7775e47 | ||
|
|
2939abd8de | ||
|
|
1d4e2cedf8 | ||
|
|
5d1e5df205 | ||
|
|
c959424957 | ||
|
|
c037686a26 | ||
|
|
b21ce8c9fb | ||
|
|
11f59ada16 | ||
|
|
135cdfca46 | ||
|
|
41157ee3e9 | ||
|
|
ba62ce9e93 | ||
|
|
bfd1bcec69 | ||
|
|
53e24a8e30 | ||
|
|
ebea587465 | ||
|
|
7185927e7e | ||
|
|
522149f503 | ||
|
|
f5d71352ca | ||
|
|
75ec16fd72 | ||
|
|
d0a23a7d73 | ||
|
|
0147e6cb8d | ||
|
|
fea95c2951 | ||
|
|
af855bc295 | ||
|
|
393e56a604 | ||
|
|
8485a8c654 | ||
|
|
95be13bc4a | ||
|
|
411010e6e6 | ||
|
|
64718e576f | ||
|
|
3f5ac02697 | ||
|
|
8b1c465bf6 | ||
|
|
00dea566f2 | ||
|
|
e8f8d55010 | ||
|
|
e985488471 | ||
|
|
5a20d629ab | ||
|
|
90c5f0e1ae | ||
|
|
91362f938d | ||
|
|
82fe0148f2 | ||
|
|
b174f4736f | ||
|
|
e0ac3cfb12 | ||
|
|
8ff78378cd | ||
|
|
e36f1d3128 | ||
|
|
c00b427efa | ||
|
|
117c3414f2 | ||
|
|
724542d870 | ||
|
|
2ff611137e | ||
|
|
2c3f9e35ac | ||
|
|
8c127a8193 | ||
|
|
da4d3562f5 | ||
|
|
3f3141c186 | ||
|
|
3ea98b0c00 | ||
|
|
69d585e867 | ||
|
|
6dd83d3cba | ||
|
|
9e773ff980 | ||
|
|
a2a23579bd | ||
|
|
fb184da86e | ||
|
|
72327802d6 | ||
|
|
09817b24f0 | ||
|
|
6b513239f8 | ||
|
|
7b2dc697fb | ||
|
|
1a700145ec | ||
|
|
162bf3d22d | ||
|
|
d78f887d1c | ||
|
|
8a9a56707c | ||
|
|
22fccd5143 | ||
|
|
ebb6e34196 | ||
|
|
30c4456b85 | ||
|
|
9ac6cd503d | ||
|
|
71c440862c | ||
|
|
961abd823f | ||
|
|
fd412c2938 | ||
|
|
fd237244a2 | ||
|
|
39f661c5f5 | ||
|
|
e86e472d4f | ||
|
|
dafec4642c | ||
|
|
27f6fb1ff1 | ||
|
|
807ec04229 | ||
|
|
44f1281915 | ||
|
|
c6794733ca | ||
|
|
157b68a29f | ||
|
|
00dde7d2cf | ||
|
|
68daf5f0ad | ||
|
|
72e8d083b7 | ||
|
|
b9c5ab08a8 | ||
|
|
a569a2e166 | ||
|
|
3c7e45ccc8 | ||
|
|
e7ca031d1e | ||
|
|
e472713c62 | ||
|
|
f3f0d743ff | ||
|
|
e8596f0430 | ||
|
|
8a61c7d336 | ||
|
|
87138c9854 | ||
|
|
05b8ec97e9 | ||
|
|
fa9981b1ca | ||
|
|
bdfe8a224a | ||
|
|
41a80fce20 | ||
|
|
40438cf2bd | ||
|
|
9ac22ee9aa | ||
|
|
5bf12519da | ||
|
|
42783279ff | ||
|
|
522ca27243 | ||
|
|
254081e3ad | ||
|
|
fc5e293ef6 | ||
|
|
25cd35147e | ||
|
|
a9864a5619 | ||
|
|
d2436fa86d | ||
|
|
16057d8b04 | ||
|
|
f2ecfc99ad | ||
|
|
e50e9a5e65 | ||
|
|
395d43fd9c | ||
|
|
968af6148e | ||
|
|
4bc9cbc24f | ||
|
|
eb4db2152c | ||
|
|
ef21a8dbd0 | ||
|
|
39a6bda52d | ||
|
|
e285036455 | ||
|
|
fdaf0e9979 | ||
|
|
e2602b3967 | ||
|
|
41f509873d | ||
|
|
39dc8368fa | ||
|
|
be0b8cf2f5 | ||
|
|
53b5ecf34a | ||
|
|
366f793cf0 | ||
|
|
1328865279 | ||
|
|
a865ba8cf5 | ||
|
|
2fea78a6c4 | ||
|
|
37deeb0d52 | ||
|
|
14dffa762b | ||
|
|
2fc3ef8124 | ||
|
|
38c548854e | ||
|
|
20c8b89bb7 | ||
|
|
35568f6425 | ||
|
|
76230c1305 | ||
|
|
e23ba2340c | ||
|
|
022cd9cd64 | ||
|
|
6ec7d2c340 | ||
|
|
8c3798e96b | ||
|
|
d623453451 | ||
|
|
aafa333355 | ||
|
|
9bcd9f0a73 | ||
|
|
a7a8c542f5 | ||
|
|
74ace74d50 | ||
|
|
f3b6829c74 | ||
|
|
c73d626757 | ||
|
|
4ac17428ac | ||
|
|
c8da280a19 | ||
|
|
d4b30620a7 | ||
|
|
46a2f6ed24 | ||
|
|
28cfd50f08 | ||
|
|
f06d055372 | ||
|
|
7fae220f18 | ||
|
|
7b48923a2c | ||
|
|
22de865582 | ||
|
|
5f680141b4 | ||
|
|
3c528f0fdd | ||
|
|
812a2e4850 | ||
|
|
e3d5eb5a4e | ||
|
|
859d62d2a7 | ||
|
|
6e66bea152 | ||
|
|
a6eb871b42 | ||
|
|
a09b42e046 | ||
|
|
c85713850d | ||
|
|
3823b1a6fc | ||
|
|
52b4604d3b | ||
|
|
aade5278d8 | ||
|
|
afdf5cdfe2 | ||
|
|
41d13dc2c6 | ||
|
|
9bcd34349f | ||
|
|
1c4b430984 | ||
|
|
92d7639267 | ||
|
|
8977673fdf | ||
|
|
25a4636d0a | ||
|
|
80589dfeb2 | ||
|
|
76ca2aab29 | ||
|
|
429005559d | ||
|
|
e193a48b75 | ||
|
|
09b975ab46 | ||
|
|
582a834b89 | ||
|
|
1ae9c0858a | ||
|
|
5211c95b81 | ||
|
|
e75d3f759f | ||
|
|
5b08bda5b8 | ||
|
|
0e1188565e | ||
|
|
50c7cb1717 | ||
|
|
9e13a7bdaa | ||
|
|
29b0b17f50 | ||
|
|
d57466608e | ||
|
|
c80037bb2f | ||
|
|
dd097fe361 | ||
|
|
fd56195b2d | ||
|
|
5c0c9a60e9 | ||
|
|
834cc3f2c5 | ||
|
|
b09295fc7c | ||
|
|
4ddc4778e4 | ||
|
|
3570467838 | ||
|
|
9b7b9bc407 | ||
|
|
9eb73e1ef0 | ||
|
|
743e615224 | ||
|
|
6291910b02 | ||
|
|
8737db97e7 | ||
|
|
60a9463e7a | ||
|
|
fcdbae6806 | ||
|
|
bd1d3724c1 | ||
|
|
a9a26b93f9 | ||
|
|
c121bccb03 | ||
|
|
39b77c6fd3 | ||
|
|
3f17898bf5 | ||
|
|
fbffa507b8 | ||
|
|
e392212e67 | ||
|
|
de2b97c640 | ||
|
|
74db92bee4 | ||
|
|
4f28403c03 | ||
|
|
963be27b75 | ||
|
|
19b0f604b4 | ||
|
|
7c7de87fcf | ||
|
|
b50a777437 | ||
|
|
4852d255c7 | ||
|
|
ae18127409 | ||
|
|
8c5c73ea4b | ||
|
|
24be4b4969 | ||
|
|
bb15e54438 | ||
|
|
0d25a0592a | ||
|
|
6dda879e63 | ||
|
|
6698c5760b | ||
|
|
9f87fb16a2 | ||
|
|
6a94a7d49a | ||
|
|
c72400e927 | ||
|
|
b56197d30b | ||
|
|
ade57809c1 | ||
|
|
4fa8834de4 | ||
|
|
592aacb25a | ||
|
|
7edf747e84 | ||
|
|
fc3ff48777 | ||
|
|
5252edcd0e | ||
|
|
f813b9e25b | ||
|
|
c15958f3c2 | ||
|
|
be720b96c1 | ||
|
|
d5830ef708 |
90
.clang-format
Normal file
90
.clang-format
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
Language: Cpp
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: DontAlign
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlines: DontAlign
|
||||
AlignOperands: true
|
||||
AlignTrailingComments: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: true
|
||||
AfterClass: true
|
||||
AfterControlStatement: true
|
||||
AfterEnum: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
IndentBraces: false
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeBraces: Custom
|
||||
BreakBeforeTernaryOperators: false
|
||||
BreakConstructorInitializers: BeforeComma
|
||||
ColumnLimit: 0
|
||||
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
ForEachMacros: []
|
||||
IncludeCategories:
|
||||
- Regex: '^"(stdafx|PrecompiledHeader)'
|
||||
Priority: -2
|
||||
- Regex: '^".*Common'
|
||||
Priority: -1
|
||||
- Regex: '^<'
|
||||
Priority: 1
|
||||
- Regex: '^"'
|
||||
Priority: 2
|
||||
IndentCaseLabels: true
|
||||
IndentWidth: 4
|
||||
IndentWrappedFunctionNames: false
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 3
|
||||
NamespaceIndentation: All
|
||||
ObjCBlockIndentWidth: 2
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PenaltyBreakBeforeFirstCallParameter: 19
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PointerAlignment: Left
|
||||
ReflowComments: false
|
||||
SortIncludes: false
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
Standard: Cpp11
|
||||
TabWidth: 4
|
||||
UseTab: ForContinuationAndIndentation
|
||||
...
|
||||
5
.codacy.yaml
Normal file
5
.codacy.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
exclude_paths:
|
||||
- '3rdparty/**'
|
||||
- '*.md'
|
||||
- '**/*.md'
|
||||
56
.github/CONTRIBUTING.md
vendored
Normal file
56
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
# So you want to contribute to PCSX2? Great
|
||||
|
||||
As a first step, please review these links as they'll help you understand how the development of PCSX2 works.
|
||||
|
||||
* [Just Starting Out](#just-starting-out)
|
||||
* [Issue Reporting](#issue-reporting)
|
||||
* [Pull Request Guidelines](#pull-request-guidelines)
|
||||
* [General Documentation And Coding Strategies](#general-documentation-and-coding-strategies)
|
||||
* [Tasks](#tasks)
|
||||
|
||||
## Just Starting Out
|
||||
|
||||
* If you're unfamilar with git, check out this [brief introduction to Git](https://github.com/PCSX2/pcsx2/wiki/Git-survival-guide)
|
||||
* [How to build PCSX2 for Windows](https://github.com/PCSX2/pcsx2/wiki/Setting-up-the-PCSX2-repository-on-Windows-\(WIP---maybe-more-useful-as-a-manpage-instead%3F\))
|
||||
* [How to build PCSX2 for Linux](https://github.com/PCSX2/pcsx2/wiki/Installing-on-Linux)
|
||||
|
||||
## Issue Reporting
|
||||
|
||||
* [How to write a useful issue](https://github.com/PCSX2/pcsx2/wiki/How-to-create-useful-and-valid-issues)
|
||||
|
||||
## Pull Request Guidelines
|
||||
|
||||
The following is a list of *general* style recommendations that will make reviewing and merging easier:
|
||||
|
||||
* Commit Messages
|
||||
* Please try to prefix your commit message, indicating what area of the project was modified.
|
||||
* For example `gs: message...`.
|
||||
* Looking at the project's commit history will help with keeping prefixes consistent overtime, *there is no strictly enforced list*.
|
||||
|
||||
* Try to keep messages brief and informative
|
||||
|
||||
* Remove unnecessary commits and squash commits together when appropriate.
|
||||
* If you are not familiar with rebasing with git, check out the following resources:
|
||||
* CLI - https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history
|
||||
* GUI (SourceTree) - https://www.atlassian.com/blog/sourcetree/interactive-rebase-sourcetree
|
||||
|
||||
* Code Styling and Formatting
|
||||
* [Consult the style guide](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md)
|
||||
|
||||
* Run `clang-format` using the configuration file in the root of the repository
|
||||
* Visual Studio Setup - https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/
|
||||
* IMPORTANT - if you are running `clang-format` on unrelated changes (ie. formatting an entire file), please do so in a separate commit.
|
||||
* If you cannot scope your `clang-format` to just your changes and do not want to format unrelated code. Try your best to stick with the existing formatting already established in the file in question.
|
||||
|
||||
## General Documentation And Coding Strategies
|
||||
|
||||
* [Commenting Etiquette](https://github.com/PCSX2/pcsx2/wiki/Commenting-Etiquette)
|
||||
|
||||
* [Coding style](https://github.com/PCSX2/pcsx2/wiki/Code-Formatting-Guidelines)
|
||||
* [More comprehensive style-guide (Currently in Draft)](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md)
|
||||
|
||||
## Tasks
|
||||
|
||||
* [Todo List](https://github.com/PCSX2/pcsx2/wiki/Contributing-\(TODO-List\))
|
||||
* [Issues](https://github.com/PCSX2/pcsx2/issues)
|
||||
* [A collection of ideas to improve GS OGL](https://github.com/PCSX2/pcsx2/wiki/Todo-List)
|
||||
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [PCSX2]
|
||||
90
.github/ISSUE_TEMPLATE/app_bug_report.yaml
vendored
Normal file
90
.github/ISSUE_TEMPLATE/app_bug_report.yaml
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
|
||||
name: Application Bug Report
|
||||
description: Found a problem with the application itself (ie. bad file path handling, UX issue)? Help us improve it.
|
||||
title: "[BUG]: "
|
||||
labels: [Bug]
|
||||
# assignees:
|
||||
# - octocat
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## Important: Read First
|
||||
|
||||
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
|
||||
If you need help configuring the emulator please make a request on our forums or contact us on discord.
|
||||
|
||||
If you are unsure, start with [discord](https://discord.com/invite/TCz3t9k) or the [forums](https://forums.pcsx2.net/index.php).
|
||||
|
||||
Please make an effort to make sure your issue isn't already reported.
|
||||
|
||||
### Please Avoid Issues Pertaining to the Following:
|
||||
- We are **not** accepting bug reports for **PSX mode** at this time.
|
||||
- If you are interested in helping contribute to PSX mode please do so on the forums. Otherwise our recommendation is that you use [Duckstation](https://github.com/stenzek/duckstation/releases/tag/latest).
|
||||
- We do **not** accept issues relating to **upscaling** at this time.
|
||||
- We are aware of the various problems with upscaling. The issue spans many games and having hundreds of issues for the same fundamental issues isn't particularly helpful. There are several workarounds for graphical problems that come as a result of upscaling.
|
||||
- Please try your game at native resolution before creating an issue.
|
||||
- If your bug is the result of upscaling please use the forums or discord for assistance with various upscaling workarounds. Additionally, the unofficial PCSX2 [Wiki](https://wiki.pcsx2.net/Main_Page) often lists various fixes for upscaling issues.
|
||||
- We do **not** accept issues relating to Widescreen/no-interlace patches at this time.
|
||||
- Any issues pertaining to Widescreen/no-interlace patches please forward them to the [patches repository](https://github.com/PCSX2/pcsx2_patches).
|
||||
|
||||
- type: textarea
|
||||
id: desc
|
||||
attributes:
|
||||
label: Describe the Bug
|
||||
description: "A clear and concise description of what the bug is"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: repro
|
||||
attributes:
|
||||
label: Reproduction Steps
|
||||
description: "Steps to reproduce the behavior"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expect
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "A clear and concise description of what you expected to happen"
|
||||
validations:
|
||||
required: false
|
||||
- type: input
|
||||
id: rev
|
||||
attributes:
|
||||
label: PCSX2 Revision
|
||||
description: "Please ensure you are on the latest version before making an issue"
|
||||
placeholder: "Example: v1.7.1337"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
options:
|
||||
- Windows 11
|
||||
- Windows 10 (64bit)
|
||||
- Linux (64bit) - Specify distro below
|
||||
- macOS 13 (Ventura)
|
||||
- macOS 12 (Monterey)
|
||||
- macOS 11 (Big Sur)
|
||||
- macOS 10.15 (Catalina)
|
||||
- macOS 10.14 (Mojave)
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: os-distro
|
||||
attributes:
|
||||
label: If Linux - Specify Distro
|
||||
placeholder: "Example: Arch"
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: logsDumps
|
||||
attributes:
|
||||
label: "Logs & Dumps"
|
||||
description: |
|
||||
Please feel free to attach any logs here.
|
||||
If PCSX2 crashed, please post crash logs and the .dmp file (in a zip file) if appropriate.
|
||||
validations:
|
||||
required: false
|
||||
11
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
11
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Support Forums
|
||||
url: https://forums.pcsx2.net/index.php
|
||||
about: For community support and answers
|
||||
- name: Discord
|
||||
url: https://discord.com/invite/TCz3t9k
|
||||
about: Get direct support and hang out with us
|
||||
- name: Wiki
|
||||
url: https://wiki.pcsx2.net/Main_Page
|
||||
about: For user provided information and reports
|
||||
146
.github/ISSUE_TEMPLATE/emu_bug_report.yaml
vendored
Normal file
146
.github/ISSUE_TEMPLATE/emu_bug_report.yaml
vendored
Normal file
@@ -0,0 +1,146 @@
|
||||
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
|
||||
name: Emulation Bug Report
|
||||
description: Problem in a game (ie. graphical artifacts, crashes)? Help us improve it.
|
||||
title: "[BUG]: "
|
||||
labels: [Bug]
|
||||
# assignees:
|
||||
# - octocat
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## Important: Read First
|
||||
|
||||
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
|
||||
If you need help configuring the emulator please make a request on our forums or contact us on discord.
|
||||
|
||||
If you are unsure, start with [discord](https://discord.com/invite/TCz3t9k) or the [forums](https://forums.pcsx2.net/index.php).
|
||||
|
||||
Please make an effort to make sure your issue isn't already reported.
|
||||
|
||||
### Please Avoid Issues Pertaining to the Following:
|
||||
- We are **not** accepting bug reports for **PSX mode** at this time.
|
||||
- If you are interested in helping contribute to PSX mode please do so on the forums. Otherwise our recommendation is that you use [Duckstation](https://github.com/stenzek/duckstation/releases/tag/latest).
|
||||
- We do **not** accept issues relating to **upscaling** at this time.
|
||||
- We are aware of the various problems with upscaling. The issue spans many games and having hundreds of issues for the same fundamental issues isn't particularly helpful. There are several workarounds for graphical problems that come as a result of upscaling.
|
||||
- Please try your game at native resolution before creating an issue.
|
||||
- If your bug is the result of upscaling please use the forums or discord for assistance with various upscaling workarounds. Additionally, the unofficial PCSX2 [Wiki](https://wiki.pcsx2.net/Main_Page) often lists various fixes for upscaling issues.
|
||||
- We do **not** accept issues relating to Widescreen/no-interlace patches at this time.
|
||||
- Any issues pertaining to Widescreen/no-interlace patches please forward them to the [patches repository](https://github.com/PCSX2/pcsx2_patches).
|
||||
|
||||
- type: textarea
|
||||
id: desc
|
||||
attributes:
|
||||
label: Describe the Bug
|
||||
description: "A clear and concise description of what the bug is"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: repro
|
||||
attributes:
|
||||
label: Reproduction Steps
|
||||
description: "Steps to reproduce the behavior"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expect
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "A clear and concise description of what you expected to happen"
|
||||
validations:
|
||||
required: false
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## System Info
|
||||
|
||||
Please make sure your system meets our requirements for OS version, CPU and GPU
|
||||
- [System Requirements](https://github.com/PCSX2/pcsx2#system-requirements).
|
||||
|
||||
Performance issues as a result of not meeting our hardware requirements are not valid.
|
||||
|
||||
Please read our known issues pages for AMD and Intel drivers.
|
||||
- [Intel Drivers](https://github.com/PCSX2/pcsx2/wiki/OpenGL-and-Intel-GPUs-All-you-need-to-know).
|
||||
- [AMD Drivers](https://github.com/PCSX2/pcsx2/wiki/OpenGL-and-AMD-GPUs---All-you-need-to-know).
|
||||
|
||||
We are **not** accepting issues related to the **libretro** core. The libretro core is being maintained separately at this time
|
||||
- type: input
|
||||
id: rev
|
||||
attributes:
|
||||
label: PCSX2 Revision
|
||||
description: "We only accept bug reports for the latest dev version. Please try upgrading before making an issue."
|
||||
placeholder: "Example: v1.7.1337"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
options:
|
||||
- Windows 11
|
||||
- Windows 10 (64bit)
|
||||
- Linux (64bit) - Specify distro below
|
||||
- macOS 13 (Ventura)
|
||||
- macOS 12 (Monterey)
|
||||
- macOS 11 (Big Sur)
|
||||
- macOS 10.15 (Catalina)
|
||||
- macOS 10.14 (Mojave)
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: os-distro
|
||||
attributes:
|
||||
label: If Linux - Specify Distro
|
||||
placeholder: "Example: Arch"
|
||||
validations:
|
||||
required: false
|
||||
- type: input
|
||||
id: cpu
|
||||
attributes:
|
||||
label: CPU
|
||||
placeholder: "Example: i5-7600"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: gpu
|
||||
attributes:
|
||||
label: GPU
|
||||
placeholder: "Example: GTX 1070"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: gsSettings
|
||||
attributes:
|
||||
label: GS Settings
|
||||
description: "Any **non-default** settings for GS. If you don't want to list them out, please provide screenshots of your configuration window (including hw hacks if enabled)."
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: emuSettings
|
||||
attributes:
|
||||
label: Emulation Settings
|
||||
description: |
|
||||
Any non-default core settings. If you don't want to list them out, please provide screenshots of your configuration window.
|
||||
|
||||
Please note that the safe preset works for most games. MTVU can have some compatibility issues so please disable it before making a report.
|
||||
|
||||
If you need to modify the settings manually because a game requires you to do so to work, please state that explicitly.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: gsScreens
|
||||
attributes:
|
||||
label: GS Window Screenshots
|
||||
description: "If your issue is graphical in nature and you think screenshots will help illustrate your issue, you may do that here."
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: logsDumps
|
||||
attributes:
|
||||
label: "Logs & Dumps"
|
||||
description: |
|
||||
Please feel free to attach any logs, block dumps, GSdump, etc here.
|
||||
If PCSX2 crashed, please post crash logs and the .dmp file (in a zip file) if appropriate.
|
||||
If your problem is graphical in nature it is highly recommended that you provide a GSdump. [GSdump Guide](https://forums.pcsx2.net/Thread-How-to-create-a-proper-GS-dump)
|
||||
validations:
|
||||
required: false
|
||||
41
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
Normal file
41
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
|
||||
name: Feature request
|
||||
description: Suggest a new feature or improve an existing one
|
||||
title: "[Feature Request]: "
|
||||
labels: ["Enhancement / Feature Request"]
|
||||
# assignees:
|
||||
# - octocat
|
||||
body:
|
||||
- type: textarea
|
||||
id: desc
|
||||
attributes:
|
||||
label: Description
|
||||
description: |
|
||||
A concise description of the feature you want
|
||||
|
||||
Include step by step examples of how the feature should work under various circumstances
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reason
|
||||
attributes:
|
||||
label: Reason
|
||||
description: |
|
||||
Give a reason why you want this feature
|
||||
- How will it make things easier for you?
|
||||
- How does this feature help your enjoyment of the emulator?
|
||||
- What does it provide that isn't being provided currently?
|
||||
|
||||
We are not accepting feature requests related to the libretro core as it's being maintained separately at this time
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: examples
|
||||
attributes:
|
||||
label: Examples
|
||||
description: |
|
||||
Provide examples of the feature as implemented by other software
|
||||
|
||||
Include screenshots or video if you like to help demonstrate how you'd like this feature to work
|
||||
validations:
|
||||
required: true
|
||||
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
### Description of Changes
|
||||
<!-- Brief description or overview on what was changed in the PR -->
|
||||
|
||||
### Rationale behind Changes
|
||||
<!-- Why were these changes made? What problem does it solve / area does it improve? -->
|
||||
|
||||
### Suggested Testing Steps
|
||||
<!-- If applicable, including examples you've already tested with / recommendations for how to test further is very helpful! -->
|
||||
8
.github/dependabot.yml
vendored
Normal file
8
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
# Set update schedule for GitHub Actions
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
# Check for updates to GitHub Actions every week
|
||||
interval: "weekly"
|
||||
128
.github/labeler.yml
vendored
Normal file
128
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
# Documentation - https://github.com/actions/labeler
|
||||
|
||||
# General Labels
|
||||
'Build | Project System':
|
||||
- '.github/*'
|
||||
- '.github/**/*'
|
||||
- '*.sln'
|
||||
- '**/*.sln'
|
||||
- '*.vcxproj*'
|
||||
- '**/*.vcxproj*'
|
||||
- 'cmake/*'
|
||||
- 'cmake/**/*'
|
||||
- 'CMakeLists.txt'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'build.sh'
|
||||
'Dependencies':
|
||||
- '3rdparty/*'
|
||||
- '3rdparty/**/*'
|
||||
- '**/3rdpartyDeps.props'
|
||||
- '.gitmodules'
|
||||
'Documentation':
|
||||
- '*.md'
|
||||
- '**/*.md'
|
||||
- '*.pdf'
|
||||
- '**/*.pdf'
|
||||
'GUI/Qt':
|
||||
- 'pcsx2-qt/*'
|
||||
- 'pcsx2-qt/**/*'
|
||||
- '3rdparty/Qt/*'
|
||||
- '3rdparty/Qt/**/*'
|
||||
'GameDB':
|
||||
- '**/GameIndex.*'
|
||||
'Installer | Package':
|
||||
- 'build.sh'
|
||||
'Translations':
|
||||
- 'pcsx2-qt/Translations/*'
|
||||
|
||||
# Tools / Features
|
||||
'Debugger':
|
||||
- 'pcsx2/DebugTools/*'
|
||||
- 'pcsx2/DebugTools/**/*'
|
||||
- 'pcsx2-qt/Debugger/*'
|
||||
- 'pcsx2-qt/Debugger/**/*'
|
||||
'IPC':
|
||||
- 'pcsx2/IPC*'
|
||||
- 'pcsx2/**/IPC*'
|
||||
'TAS Functionality':
|
||||
- 'pcsx2/Recording/*'
|
||||
- 'pcsx2/Recording/**/*'
|
||||
'RetroAchievements':
|
||||
- 'pcsx2/Frontend/Achievements.*'
|
||||
- 'pcsx2/Achievements.*'
|
||||
|
||||
# Emulation Components
|
||||
'Counters':
|
||||
- 'pcsx2/Counters.*'
|
||||
'Vector Units':
|
||||
- 'pcsx2/VU*'
|
||||
- 'pcsx2/**/VU*'
|
||||
- 'pcsx2/*VU*'
|
||||
- 'pcsx2/**/*VU*'
|
||||
'VIF':
|
||||
- 'pcsx2/Vif*'
|
||||
- 'pcsx2/**/Vif*'
|
||||
- 'pcsx2/VIF*'
|
||||
- 'pcsx2/**/VIF*'
|
||||
|
||||
# GS Related Labels
|
||||
'GS':
|
||||
- 'pcsx2/GS/*'
|
||||
- 'pcsx2/GS/**/*'
|
||||
- 'bin/resources/shaders/*'
|
||||
- 'bin/resources/shaders/**/*'
|
||||
'GS: Direct3D 11':
|
||||
- 'pcsx2/GS/Renderers/DX11/*'
|
||||
- 'pcsx2/GS/Renderers/DX11/**/*'
|
||||
- 'bin/resources/shaders/dx11/*'
|
||||
- 'bin/resources/shaders/dx11/**/*'
|
||||
'GS: Direct3D 12':
|
||||
- 'pcsx2/GS/Renderers/DX12/*'
|
||||
- 'pcsx2/GS/Renderers/DX12/**/*'
|
||||
- 'bin/resources/shaders/dx11/*'
|
||||
- 'bin/resources/shaders/dx11/**/*'
|
||||
'GS: Hardware':
|
||||
- 'pcsx2/GS/Renderers/HW/*'
|
||||
- 'pcsx2/GS/Renderers/HW/**/*'
|
||||
'GS: OpenGL':
|
||||
- 'pcsx2/GS/Renderers/OpenGL/*'
|
||||
- 'pcsx2/GS/Renderers/OpenGL/**/*'
|
||||
- 'bin/resources/shaders/opengl/*'
|
||||
- 'bin/resources/shaders/opengl/**/*'
|
||||
'GS: Vulkan':
|
||||
- 'pcsx2/GS/Renderers/Vulkan/*'
|
||||
- 'pcsx2/GS/Renderers/Vulkan/**/*'
|
||||
- 'bin/resources/shaders/vulkan/*'
|
||||
- 'bin/resources/shaders/vulkan/**/*'
|
||||
'GS: Metal':
|
||||
- 'pcsx2/GS/Renderers/Metal/*'
|
||||
- 'pcsx2/GS/Renderers/Metal/**/*'
|
||||
'GS: Texture Cache':
|
||||
- 'pcsx2/GS/Renderers/*TextureCache*.*'
|
||||
- 'pcsx2/GS/Renderers/**/*TextureCache*.*'
|
||||
'GS: Software':
|
||||
- 'pcsx2/GS/Renderers/SW/*'
|
||||
- 'pcsx2/GS/Renderers/SW/**/*'
|
||||
|
||||
# Other Core Components
|
||||
'CDVD':
|
||||
- 'pcsx2/CDVD/*'
|
||||
- 'pcsx2/CDVD/**/*'
|
||||
'DEV9':
|
||||
- 'pcsx2/DEV9/*'
|
||||
- 'pcsx2/DEV9/**/*'
|
||||
'IPU':
|
||||
- 'pcsx2/IPU/*'
|
||||
- 'pcsx2/IPU/**/*'
|
||||
'Memory Card':
|
||||
- 'pcsx2/SIO/Memcard/*'
|
||||
- 'pcsx2/SIO/Memcard/**/*'
|
||||
'PAD':
|
||||
- 'pcsx2/SIO/Pad/*'
|
||||
- 'pcsx2/SIO/Pad/**/*'
|
||||
'SPU2':
|
||||
- 'pcsx2/SPU2/*'
|
||||
- 'pcsx2/SPU2/**/*'
|
||||
'USB':
|
||||
- 'pcsx2/USB/*'
|
||||
- 'pcsx2/USB/**/*'
|
||||
14
.github/workflows/architecture/README.md
vendored
Normal file
14
.github/workflows/architecture/README.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# CI Documentation
|
||||
|
||||
## Releases
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
PCSX2 Repo->>Actions: PR is merged or commit is pushed to master
|
||||
Actions->>PCSX2 Repo: Increment latest tag and push, create a draft release
|
||||
Actions->>Actions: Kicked off pipeline on the tag push, build relevant configs
|
||||
Actions->>PCSX2 Repo: Rename and upload artifacts to draft release, publish the release
|
||||
Actions->>Discord: Announce release via a WebHook
|
||||
PCSX2 Repo->>Web API: POST webhook to API informing it that a new release has occurred
|
||||
Web API->>Web API: Update cache with new release
|
||||
```
|
||||
42
.github/workflows/cron_publish_flatpak.yml
vendored
Normal file
42
.github/workflows/cron_publish_flatpak.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
name: 📦 Publish Flathub Release
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *" # Every day at 12am UTC.
|
||||
workflow_dispatch: # As well as manually.
|
||||
|
||||
jobs:
|
||||
check:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
name: "Check if release is needed"
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
PCSX2_RELEASE: ${{ steps.getinfo.outputs.PCSX2_RELEASE }}
|
||||
FLATHUB_RELEASE: ${{ steps.getinfo.outputs.FLATHUB_RELEASE }}
|
||||
steps:
|
||||
- name: Get latest tag and Flathub release
|
||||
id: getinfo
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
PCSX2_RELEASE=$(gh api -H 'Accept: application/vnd.github+json' -H 'X-GitHub-Api-Version: 2022-11-28' /repos/PCSX2/pcsx2/releases | jq -r '.[0].tag_name')
|
||||
FLATHUB_RELEASE=$(curl -L -s https://flathub.org/api/v2/appstream/net.pcsx2.PCSX2 | jq -r '.releases | max_by(.version) | .version')
|
||||
echo "Latest PCSX2 release is: '${PCSX2_RELEASE}'"
|
||||
echo "Latest Flathub release is: '${FLATHUB_RELEASE}'"
|
||||
echo "PCSX2_RELEASE=${PCSX2_RELEASE}" >> "$GITHUB_OUTPUT"
|
||||
echo "FLATHUB_RELEASE=${FLATHUB_RELEASE}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
build:
|
||||
needs: check
|
||||
if: needs.check.outputs.FLATHUB_RELEASE < needs.check.outputs.PCSX2_RELEASE
|
||||
name: "Build and publish Flatpak"
|
||||
uses: ./.github/workflows/linux_build_flatpak.yml
|
||||
with:
|
||||
jobName: "Qt"
|
||||
compiler: clang
|
||||
cmakeflags: ""
|
||||
publish: true
|
||||
branch: stable
|
||||
fetchTags: true
|
||||
secrets: inherit
|
||||
|
||||
28
.github/workflows/cron_update_base_translation.yml
vendored
Normal file
28
.github/workflows/cron_update_base_translation.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: 🌎 Update Base Translation
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *" # Every day at 12am UTC.
|
||||
workflow_dispatch: # As well as manually.
|
||||
|
||||
jobs:
|
||||
update:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
name: "Update Base Translation"
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Update Base Translation
|
||||
run: ./.github/workflows/scripts/common/update_base_translation.sh
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
title: "Qt: Update Base Translation"
|
||||
commit-message: "Qt: Update Base Translation"
|
||||
committer: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
|
||||
author: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
|
||||
body: "Daily update of base translation sources."
|
||||
branch: update-base-translation
|
||||
delete-branch: true
|
||||
29
.github/workflows/cron_update_controller_db.yml
vendored
Normal file
29
.github/workflows/cron_update_controller_db.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: 🏭 Update Controller Database
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 16 * * 1" # every monday @ 12pm EST - https://crontab.guru/#0_16_*_*_1
|
||||
|
||||
jobs:
|
||||
update-controller-db:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Get Latest DB and Prepare DB File
|
||||
run: |
|
||||
cd .github/workflows/scripts/controller-db/
|
||||
wget -O game_controller_db.txt https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
|
||||
python ./update-db.py
|
||||
mv ./game_controller_db.txt ${{github.workspace}}/bin/resources/game_controller_db.txt
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
title: "PAD: Update to latest controller database"
|
||||
commit-message: "PAD: Update to latest controller database."
|
||||
committer: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
|
||||
author: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
|
||||
body: "Weekly automatic update of SDL Controller DB"
|
||||
reviewers: lightningterror
|
||||
31
.github/workflows/lint_gamedb.yml
vendored
Normal file
31
.github/workflows/lint_gamedb.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
name: 📝 Validate GameDB
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- "l10n_master"
|
||||
paths:
|
||||
- '**/GameIndex.yaml'
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- '**/GameIndex.yaml'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Lint and Validate GameDB
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Validate Contents
|
||||
run: |
|
||||
npm install -g ajv-cli
|
||||
ajv validate -s ./pcsx2/Docs/gamedb-schema.json --spec=draft2020 -d ./bin/resources/GameIndex.yaml
|
||||
|
||||
- name: Check Formatting
|
||||
run: |
|
||||
npm install -g prettier
|
||||
prettier --check ./bin/resources/GameIndex.yaml
|
||||
121
.github/workflows/linux_build_flatpak.yml
vendored
Normal file
121
.github/workflows/linux_build_flatpak.yml
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
name: Flatpak Build Steps
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
jobName:
|
||||
required: true
|
||||
type: string
|
||||
os:
|
||||
required: false
|
||||
type: string
|
||||
default: ubuntu-22.04
|
||||
platform:
|
||||
required: false
|
||||
type: string
|
||||
default: x64
|
||||
compiler:
|
||||
required: true
|
||||
type: string
|
||||
cmakeflags:
|
||||
required: true
|
||||
type: string
|
||||
branch:
|
||||
required: false
|
||||
type: string
|
||||
default: "stable"
|
||||
publish:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
patchesUrl:
|
||||
required: false
|
||||
type: string
|
||||
default: https://github.com/PCSX2/pcsx2_patches/releases/latest/download
|
||||
fetchTags:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
build_linux:
|
||||
name: ${{ inputs.jobName }}
|
||||
runs-on: ${{ inputs.os }}
|
||||
timeout-minutes: 60
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
# Hackity hack. When running the workflow on a schedule, we don't have the tag,
|
||||
# it doesn't fetch tags, therefore we don't get a version. So grab them manually.
|
||||
# actions/checkout elides tags, fetch them primarily for releases
|
||||
- name: Fetch tags
|
||||
if: ${{ inputs.fetchTags }}
|
||||
run: git fetch --tags --no-recurse-submodules
|
||||
|
||||
- name: Prepare Artifact Metadata
|
||||
id: artifact-metadata
|
||||
shell: bash
|
||||
env:
|
||||
OS: linux
|
||||
BUILD_SYSTEM: flatpak
|
||||
ARCH: ${{ inputs.platform }}
|
||||
EVENT_NAME: ${{ github.event_name }}
|
||||
PR_TITLE: ${{ github.event.pull_request.title }}
|
||||
PR_NUM: ${{ github.event.pull_request.number }}
|
||||
PR_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: ./.github/workflows/scripts/common/name-artifacts.sh
|
||||
|
||||
- name: Install Packages
|
||||
env:
|
||||
COMPILER: ${{ inputs.compiler }}
|
||||
run: .github/workflows/scripts/linux/install-packages-flatpak.sh
|
||||
|
||||
- name: Download patches
|
||||
run: |
|
||||
cd bin/resources
|
||||
aria2c -Z "${{ inputs.patchesUrl }}/patches.zip"
|
||||
|
||||
- name: Generate AppStream XML
|
||||
run: |
|
||||
./.github/workflows/scripts/linux/generate-metainfo.sh .github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.metainfo.xml
|
||||
cat .github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.metainfo.xml
|
||||
flatpak run org.freedesktop.appstream-glib validate .github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.metainfo.xml
|
||||
|
||||
- name: Build Flatpak
|
||||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6.1
|
||||
with:
|
||||
bundle: ${{ steps.artifact-metadata.outputs.artifact-name }}.flatpak
|
||||
manifest-path: .github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json
|
||||
arch: x86_64
|
||||
build-bundle: true
|
||||
verbose: true
|
||||
mirror-screenshots-url: https://dl.flathub.org/repo/screenshots
|
||||
branch: ${{ inputs.branch }}
|
||||
cache: true
|
||||
restore-cache: true
|
||||
cache-key: ${{ inputs.os }} ${{ inputs.platform }} ${{ inputs.compiler }} flatpak ${{ hashFiles('.github/workflows/scripts/linux/flatpak/**/*.json') }}
|
||||
|
||||
- name: Commit screenshots to OSTree
|
||||
run: |
|
||||
ostree commit --repo=repo --canonical-permissions --branch=screenshots/x86_64 flatpak_app/screenshots
|
||||
|
||||
- name: Push to Flathub beta
|
||||
if: inputs.publish == true && inputs.branch == 'beta'
|
||||
uses: flatpak/flatpak-github-actions/flat-manager@v6.1
|
||||
with:
|
||||
flat-manager-url: https://hub.flathub.org/
|
||||
repository: beta
|
||||
token: ${{ secrets.FLATHUB_BETA_TOKEN }}
|
||||
|
||||
- name: Push to Flathub stable
|
||||
if: inputs.publish == true && inputs.branch == 'stable'
|
||||
uses: flatpak/flatpak-github-actions/flat-manager@v6.1
|
||||
with:
|
||||
flat-manager-url: https://hub.flathub.org/
|
||||
repository: stable
|
||||
token: ${{ secrets.FLATHUB_TOKEN }}
|
||||
|
||||
31
.github/workflows/linux_build_matrix.yml
vendored
Normal file
31
.github/workflows/linux_build_matrix.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
name: 🐧 Linux Builds
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- "l10n_master"
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build_linux_qt:
|
||||
name: "AppImage"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/linux_build_qt.yml
|
||||
with:
|
||||
jobName: "AppImage Build"
|
||||
compiler: clang
|
||||
cmakeflags: ""
|
||||
buildAppImage: true
|
||||
secrets: inherit
|
||||
build_linux_flatpak:
|
||||
name: "Flatpak"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/linux_build_flatpak.yml
|
||||
with:
|
||||
jobName: "Flatpak Build"
|
||||
compiler: clang
|
||||
cmakeflags: ""
|
||||
publish: false
|
||||
secrets: inherit
|
||||
140
.github/workflows/linux_build_qt.yml
vendored
Normal file
140
.github/workflows/linux_build_qt.yml
vendored
Normal file
@@ -0,0 +1,140 @@
|
||||
name: Linux Build Steps
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
jobName:
|
||||
required: true
|
||||
type: string
|
||||
os:
|
||||
required: false
|
||||
type: string
|
||||
default: ubuntu-22.04
|
||||
platform:
|
||||
required: false
|
||||
type: string
|
||||
default: x64
|
||||
compiler:
|
||||
required: true
|
||||
type: string
|
||||
cmakeflags:
|
||||
required: true
|
||||
type: string
|
||||
buildAppImage:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
detail:
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
patchesUrl:
|
||||
required: false
|
||||
type: string
|
||||
default: https://github.com/PCSX2/pcsx2_patches/releases/latest/download
|
||||
fetchTags:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
build_linux:
|
||||
name: ${{ inputs.jobName }}
|
||||
runs-on: ${{ inputs.os }}
|
||||
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
CCACHE_BASEDIR: ${{ github.workspace }}
|
||||
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
||||
CCACHE_COMPRESS: true
|
||||
CCACHE_COMPRESSLEVEL: 9
|
||||
CCACHE_MAXSIZE: 100M
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
# actions/checkout elides tags, fetch them primarily for releases
|
||||
- name: Fetch Tags
|
||||
if: ${{ inputs.fetchTags }}
|
||||
run: git fetch --tags --no-recurse-submodules
|
||||
|
||||
- name: Prepare Artifact Metadata
|
||||
id: artifact-metadata
|
||||
shell: bash
|
||||
env:
|
||||
OS: linux
|
||||
ARCH: ${{ inputs.platform }}
|
||||
EVENT_NAME: ${{ github.event_name }}
|
||||
PR_TITLE: ${{ github.event.pull_request.title }}
|
||||
PR_NUM: ${{ github.event.pull_request.number }}
|
||||
PR_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: ./.github/workflows/scripts/common/name-artifacts.sh
|
||||
|
||||
# -- SETUP CCACHE - https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/
|
||||
- name: Prepare ccache timestamp
|
||||
id: ccache_cache_timestamp
|
||||
run: echo "timestamp=$(date -u "+%Y-%m-%d-%H;%M;%S")" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: ccache cache files
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .ccache
|
||||
key: ${{ inputs.os }} ${{ inputs.platform }} ${{ inputs.compiler }} ${{ inputs.detail }} ccache ${{ steps.ccache_cache_timestamp.outputs.timestamp }}
|
||||
restore-keys: ${{ inputs.os }} ${{ inputs.platform }} ${{ inputs.compiler }} ${{ inputs.detail }} ccache
|
||||
|
||||
- name: Install Packages
|
||||
env:
|
||||
COMPILER: ${{ inputs.compiler }}
|
||||
run: .github/workflows/scripts/linux/install-packages-qt.sh
|
||||
|
||||
- name: Cache Dependencies
|
||||
id: cache-deps
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/deps
|
||||
key: ${{ inputs.os }} ${{ inputs.platform }} deps ${{ hashFiles('.github/workflows/scripts/linux/build-dependencies-qt.sh') }}
|
||||
|
||||
- name: Build Dependencies
|
||||
if: steps.cache-deps.outputs.cache-hit != 'true'
|
||||
run: .github/workflows/scripts/linux/build-dependencies-qt.sh
|
||||
|
||||
- name: Download patches
|
||||
run: |
|
||||
cd bin/resources
|
||||
aria2c -Z "${{ inputs.patchesUrl }}/patches.zip"
|
||||
|
||||
- name: Generate CMake
|
||||
env:
|
||||
COMPILER: ${{ inputs.compiler }}
|
||||
ADDITIONAL_CMAKE_ARGS: ${{ inputs.cmakeflags }}
|
||||
CLANG_PATH: /usr/bin/clang-16
|
||||
CLANGXX_PATH: /usr/bin/clang++-16
|
||||
run: |
|
||||
DEPS_PREFIX="$HOME/deps" .github/workflows/scripts/linux/generate-cmake-qt.sh
|
||||
|
||||
- name: Build PCSX2
|
||||
working-directory: build
|
||||
run: ../.github/workflows/scripts/linux/compile.sh
|
||||
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
run: ninja unittests
|
||||
|
||||
- name: Package AppImage
|
||||
if: inputs.buildAppImage == true
|
||||
env:
|
||||
NAME: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
run: |
|
||||
.github/workflows/scripts/linux/appimage-qt.sh "$(realpath .)" "$(realpath ./build)" "$HOME/deps" "$NAME"
|
||||
mkdir -p "$GITHUB_WORKSPACE"/ci-artifacts/
|
||||
mv "${NAME}.AppImage" "$GITHUB_WORKSPACE"/ci-artifacts/
|
||||
|
||||
- name: Upload artifact
|
||||
if: inputs.buildAppImage == true
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
path: ci-artifacts
|
||||
157
.github/workflows/macos_build.yml
vendored
Normal file
157
.github/workflows/macos_build.yml
vendored
Normal file
@@ -0,0 +1,157 @@
|
||||
name: MacOS Build Steps
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
jobName:
|
||||
required: true
|
||||
type: string
|
||||
os:
|
||||
required: false
|
||||
type: string
|
||||
default: macos-13
|
||||
patchesUrl:
|
||||
required: false
|
||||
type: string
|
||||
default: https://github.com/PCSX2/pcsx2_patches/releases/latest/download
|
||||
fetchTags:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
build_macos:
|
||||
name: ${{ inputs.jobName }}
|
||||
runs-on: ${{ inputs.os }}
|
||||
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
|
||||
timeout-minutes: 90
|
||||
env:
|
||||
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||
CCACHE_BASEDIR: ${{ github.workspace }}
|
||||
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
||||
CCACHE_COMPRESS: true
|
||||
CCACHE_COMPRESSLEVEL: 9
|
||||
CCACHE_MAXSIZE: 100M
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
# actions/checkout elides tags, fetch them primarily for releases
|
||||
- name: Fetch Tags
|
||||
if: ${{ inputs.fetchTags }}
|
||||
run: git fetch --tags --no-recurse-submodules
|
||||
|
||||
- name: Use Xcode 14.3.1
|
||||
run: sudo xcode-select -s /Applications/Xcode_14.3.1.app
|
||||
|
||||
- name: Prepare Artifact Metadata
|
||||
id: artifact-metadata
|
||||
shell: bash
|
||||
env:
|
||||
OS: macos
|
||||
EVENT_NAME: ${{ github.event_name }}
|
||||
PR_TITLE: ${{ github.event.pull_request.title }}
|
||||
PR_NUM: ${{ github.event.pull_request.number }}
|
||||
PR_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: ./.github/workflows/scripts/common/name-artifacts.sh
|
||||
|
||||
- name: Install Packages
|
||||
env:
|
||||
PLATFORM: "x64"
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
HOMEBREW_NO_ANALYTICS: 1
|
||||
run: |
|
||||
brew unlink libjpeg || true # Conflicts with our self-built dependencies
|
||||
brew unlink libpng || true
|
||||
# Unlike other packages, brew's MoltenVK build uses MoltenVK's minimum macOS version of 10.13 so we can use it
|
||||
if ! brew install molten-vk ccache nasm; then
|
||||
brew update
|
||||
brew install molten-vk ccache nasm
|
||||
fi
|
||||
|
||||
- name: Cache Dependencies
|
||||
id: cache-deps
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/deps
|
||||
key: ${{ inputs.os }} deps ${{ hashFiles('.github/workflows/scripts/macos/build-dependencies.sh') }}
|
||||
|
||||
- name: Build Dependencies
|
||||
if: steps.cache-deps.outputs.cache-hit != 'true'
|
||||
run: .github/workflows/scripts/macos/build-dependencies.sh
|
||||
|
||||
- name: Download patches
|
||||
run: |
|
||||
cd bin/resources
|
||||
aria2c -Z "${{ inputs.patchesUrl }}/patches.zip"
|
||||
|
||||
# -- SETUP CCACHE - https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/
|
||||
- name: Prepare ccache timestamp
|
||||
id: ccache_cache_timestamp
|
||||
run: echo "timestamp=$(date -u "+%Y-%m-%d-%H;%M;%S")" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache ccache cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .ccache
|
||||
key: ${{ inputs.os }} ccache ${{ steps.ccache_cache_timestamp.outputs.timestamp }}
|
||||
restore-keys: ${{ inputs.os }} ccache
|
||||
|
||||
- name: Generate CMake Files
|
||||
run: |
|
||||
cmake -DCMAKE_PREFIX_PATH="$HOME/deps" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DUSE_OPENGL=OFF \
|
||||
-DUSE_VULKAN=OFF \
|
||||
-DDISABLE_ADVANCE_SIMD=ON \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||
-DUSE_SYSTEM_LIBS=OFF \
|
||||
-DUSE_SYSTEM_SDL2=ON \
|
||||
-DUSE_LINKED_FFMPEG=ON \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
|
||||
-B build .
|
||||
|
||||
- name: Build PCSX2
|
||||
working-directory: build
|
||||
run: |
|
||||
ccache -p
|
||||
ccache -s
|
||||
ccache -z
|
||||
make -j$(getconf _NPROCESSORS_ONLN) # macOS doesn't use make install
|
||||
ccache -s
|
||||
# Ensure there's no global constructors in multi-isa files
|
||||
for dir in */CMakeFiles/GS-{avx,avx2}.dir; do
|
||||
if find "$dir" -name "*.o" | xargs nm | grep _GLOBAL_; then
|
||||
echo "::error::Multi-isa files must not have global constructors!"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Run Tests
|
||||
working-directory: build
|
||||
run: make -j$(getconf _NPROCESSORS_ONLN) unittests
|
||||
|
||||
- name: Prepare Build Artifacts
|
||||
run: |
|
||||
cp /usr/local/lib/libMoltenVK.dylib build/pcsx2*/PCSX2.app/Contents/Frameworks/
|
||||
TAG="$(git tag --points-at HEAD)"
|
||||
if [ -z "$TAG" ]; then
|
||||
APPNAME="${{ steps.artifact-metadata.outputs.artifact-name }}"
|
||||
else
|
||||
APPNAME="PCSX2-$TAG"
|
||||
fi
|
||||
mv build/pcsx2*/PCSX2.app "$APPNAME.app"
|
||||
tar --options xz:compression-level=9 -cvJf "${{ steps.artifact-metadata.outputs.artifact-name }}.tar.xz" "$APPNAME.app"
|
||||
mkdir ci-artifacts
|
||||
cp "${{ steps.artifact-metadata.outputs.artifact-name }}.tar.xz" ci-artifacts/macOS.tar.xz
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
path: "*.tar.xz"
|
||||
18
.github/workflows/macos_build_matrix.yml
vendored
Normal file
18
.github/workflows/macos_build_matrix.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
name: 🍎 MacOS Builds
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- "l10n_master"
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build_macos_qt:
|
||||
name: "Defaults"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/macos_build.yml
|
||||
with:
|
||||
jobName: "MacOS Build"
|
||||
secrets: inherit
|
||||
201
.github/workflows/release_cut_new.yml
vendored
Normal file
201
.github/workflows/release_cut_new.yml
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
# Whenever a commit is pushed to master (ideally via a pull-request!)
|
||||
# this action will create the next release, which means:
|
||||
# 1. tag master with the proper version
|
||||
# 2. create a new draft release (pre-released if a nightly build)
|
||||
# 3. add release notes
|
||||
|
||||
name: 🏭 Create Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
# TODO - future work
|
||||
# workflow_dispatch:
|
||||
# inputs:
|
||||
# isStable:
|
||||
# description: 'Should it be a stable release?'
|
||||
# required: true
|
||||
# default: 'false'
|
||||
# versionTag:
|
||||
# description: 'The version to tag with'
|
||||
# required: true
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
cut-release:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
name: "Create Tag and Release"
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
new_tag: ${{ steps.tag_version.outputs.new_tag }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
# Docs - https://github.com/mathieudutour/github-tag-action
|
||||
- name: Bump Version and Push Tag
|
||||
id: tag_version
|
||||
uses: mathieudutour/github-tag-action@v6.1
|
||||
with:
|
||||
github_token: ${{ github.token }}
|
||||
tag_prefix: v
|
||||
default_bump: patch
|
||||
|
||||
# TODO - we could do this and remove the node.js script, but auto-generated notes only work
|
||||
# with PRs -- not commits (determine how much we care).
|
||||
# - name: Create Draft Release
|
||||
# run: |
|
||||
# echo "Creating release with tag - ${{ steps.tag_version.outputs.new_tag }}"
|
||||
# gh release create ${{ steps.tag_version.outputs.new_tag }} --draft --generate-notes -title ${{ steps.tag_version.outputs.new_tag }}
|
||||
|
||||
- name: Generate Release Notes
|
||||
env:
|
||||
OWNER: PCSX2
|
||||
REPO: pcsx2
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
COMMIT_SHA: ${{ github.SHA }}
|
||||
run: |
|
||||
cd ./.github/workflows/scripts/releases/generate-release-notes
|
||||
npm ci
|
||||
node index.js
|
||||
mv ./release-notes.md ${GITHUB_WORKSPACE}/release-notes.md
|
||||
|
||||
- name: Create a GitHub Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: steps.tag_version.outputs.new_tag
|
||||
with:
|
||||
body_path: ./release-notes.md
|
||||
draft: true
|
||||
prerelease: true
|
||||
tag_name: ${{ steps.tag_version.outputs.new_tag }}
|
||||
|
||||
# Build Everything
|
||||
# Linux
|
||||
build_linux_qt:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
needs:
|
||||
- cut-release
|
||||
name: "Linux"
|
||||
uses: ./.github/workflows/linux_build_qt.yml
|
||||
with:
|
||||
jobName: "AppImage Build"
|
||||
compiler: clang
|
||||
cmakeflags: ""
|
||||
buildAppImage: true
|
||||
fetchTags: true
|
||||
secrets: inherit
|
||||
|
||||
build_linux_flatpak:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
needs:
|
||||
- cut-release
|
||||
name: "Linux"
|
||||
uses: ./.github/workflows/linux_build_flatpak.yml
|
||||
with:
|
||||
jobName: "Flatpak Build"
|
||||
compiler: clang
|
||||
cmakeflags: ""
|
||||
branch: "stable"
|
||||
publish: false
|
||||
fetchTags: true
|
||||
secrets: inherit
|
||||
|
||||
# Windows
|
||||
build_windows_qt:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
needs:
|
||||
- cut-release
|
||||
name: "Windows"
|
||||
uses: ./.github/workflows/windows_build_qt.yml
|
||||
with:
|
||||
jobName: "Windows Build"
|
||||
configuration: CMake
|
||||
buildSystem: cmake
|
||||
cmakeFlags: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl
|
||||
fetchTags: true
|
||||
secrets: inherit
|
||||
|
||||
# MacOS
|
||||
build_macos_qt:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
needs:
|
||||
- cut-release
|
||||
name: "MacOS"
|
||||
uses: ./.github/workflows/macos_build.yml
|
||||
with:
|
||||
jobName: "MacOS Build"
|
||||
fetchTags: true
|
||||
secrets: inherit
|
||||
|
||||
# Upload the Artifacts
|
||||
upload_artifacts:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
needs:
|
||||
- cut-release
|
||||
- build_linux_flatpak
|
||||
- build_linux_qt
|
||||
- build_windows_qt
|
||||
- build_macos_qt
|
||||
name: "Upload Artifacts"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Prepare Artifact Folder
|
||||
run: mkdir ./ci-artifacts/
|
||||
|
||||
- uses: actions/download-artifact@v3
|
||||
name: Download all Artifacts
|
||||
with:
|
||||
path: ./ci-artifacts/
|
||||
|
||||
- name: Display structure of downloaded files
|
||||
run: ls ./ci-artifacts/
|
||||
|
||||
# Prepare artifacts, they are all zips from github!
|
||||
- name: Prepare Artifacts
|
||||
working-directory: ./ci-artifacts/
|
||||
run: for d in *windows*/; do 7z a "${d}asset.7z" ./$d/*; done
|
||||
|
||||
# Artifact Naming:
|
||||
# MacOS: PCSX2-<tag>-macOS-[additional hyphen seperated tags]
|
||||
# Windows|Linux: PCSX2-<tag>-<windows|linux>-<32bit|64bit>--[additional hyphen seperated tags]
|
||||
- name: Name and Upload the Release Assets
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
SCAN_DIR: ${{ github.WORKSPACE }}/ci-artifacts
|
||||
OUT_DIR: ${{ github.WORKSPACE }}/ci-artifacts/out
|
||||
run: |
|
||||
TAG_VAL=${{needs.cut-release.outputs.new_tag}}
|
||||
echo "TAG_VAL=${TAG_VAL}"
|
||||
gh release list --repo PCSX2/pcsx2
|
||||
mkdir -p ${{ github.WORKSPACE }}/ci-artifacts/out
|
||||
TAG_VAL=${TAG_VAL} python ./.github/workflows/scripts/releases/rename-release-assets.py
|
||||
ls ${{ github.WORKSPACE }}/ci-artifacts/out
|
||||
gh release upload "${TAG_VAL}" ${{ github.WORKSPACE }}/ci-artifacts/out/* --repo PCSX2/pcsx2 --clobber
|
||||
|
||||
- name: Publish Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
TAG_VAL=${{needs.cut-release.outputs.new_tag}}
|
||||
echo "TAG_VAL=${TAG_VAL}"
|
||||
gh release edit ${TAG_VAL} --draft=false --repo PCSX2/pcsx2
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: Announce Release
|
||||
env:
|
||||
OWNER: PCSX2
|
||||
REPO: pcsx2
|
||||
DISCORD_BUILD_WEBHOOK: ${{ secrets.DISCORD_BUILD_WEBHOOK }}
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
TAG_VAL=${{needs.cut-release.outputs.new_tag}}
|
||||
cd ./.github/workflows/scripts/releases/announce-release
|
||||
npm ci
|
||||
TAG_VAL=${TAG_VAL} node index.js
|
||||
57
.github/workflows/scripts/common/name-artifacts.sh
vendored
Executable file
57
.github/workflows/scripts/common/name-artifacts.sh
vendored
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Artifact Naming Scheme:
|
||||
# PCSX2-<OS>-Qt-[ARCH]-[SIMD]-[pr\[PR_NUM\]]-[title|sha\[SHA|PR_TITLE\]
|
||||
# -- limited to 200 chars
|
||||
# Outputs:
|
||||
# - artifact-name
|
||||
|
||||
# Inputs as env-vars
|
||||
# OS
|
||||
# BUILD_SYSTEM
|
||||
# ARCH
|
||||
# SIMD
|
||||
# EVENT_NAME
|
||||
# PR_TITLE
|
||||
# PR_NUM
|
||||
# PR_SHA
|
||||
|
||||
NAME=""
|
||||
|
||||
if [ "${OS}" == "macos" ]; then
|
||||
# MacOS has combined binaries for x64 and ARM64.
|
||||
NAME="PCSX2-${OS}-Qt"
|
||||
elif [[ ("${OS}" == "windows" && "$BUILD_SYSTEM" != "cmake") ]]; then
|
||||
NAME="PCSX2-${OS}-Qt-${ARCH}-${SIMD}"
|
||||
else
|
||||
NAME="PCSX2-${OS}-Qt-${ARCH}"
|
||||
fi
|
||||
|
||||
# Add cmake if used to differentate it from msbuild builds
|
||||
# Else the two artifacts will have the same name and the files will be merged
|
||||
if [[ ! -z "${BUILD_SYSTEM}" ]]; then
|
||||
if [[ "${BUILD_SYSTEM}" == "cmake" ]] || [[ "${BUILD_SYSTEM}" == "flatpak" ]]; then
|
||||
NAME="${NAME}-${BUILD_SYSTEM}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Add PR / Commit Metadata
|
||||
if [ "$EVENT_NAME" == "pull_request" ]; then
|
||||
PR_SHA=$(git rev-parse --short "${PR_SHA}")
|
||||
if [ ! -z "${PR_NUM}" ]; then
|
||||
NAME="${NAME}-pr[${PR_NUM}]"
|
||||
fi
|
||||
NAME="${NAME}-sha[${PR_SHA}]"
|
||||
if [ ! -z "${PR_TITLE}" ]; then
|
||||
PR_TITLE=$(echo "${PR_TITLE}" | tr -cd '[a-zA-Z0-9[:space:]]_-')
|
||||
NAME="${NAME}-title[${PR_TITLE}"
|
||||
fi
|
||||
else
|
||||
SHA=$(git rev-parse --short "$GITHUB_SHA")
|
||||
NAME="${NAME}-sha[${SHA}"
|
||||
fi
|
||||
|
||||
# Trim the Name
|
||||
NAME=$(printf "%.199s]" "$NAME")
|
||||
echo "${NAME}"
|
||||
echo "artifact-name=${NAME}" >> "$GITHUB_OUTPUT"
|
||||
12
.github/workflows/scripts/common/update_base_translation.sh
vendored
Executable file
12
.github/workflows/scripts/common/update_base_translation.sh
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
source "$SCRIPTDIR/../linux/functions.sh"
|
||||
|
||||
set -e
|
||||
|
||||
# While we use custom Qt builds for our releases, the Qt6 package will be good enough
|
||||
# for just updating translations. Saves building it for this action alone.
|
||||
retry_command sudo apt-get -y install qt6-l10n-tools
|
||||
|
||||
PATH=/usr/lib/qt6/bin:$PATH "$SCRIPTDIR/../../../../pcsx2-qt/Translations/update_en_translation.sh"
|
||||
1
.github/workflows/scripts/controller-db/.gitignore
vendored
Normal file
1
.github/workflows/scripts/controller-db/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.txt
|
||||
39
.github/workflows/scripts/controller-db/update-db.py
vendored
Normal file
39
.github/workflows/scripts/controller-db/update-db.py
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
import os
|
||||
|
||||
relevant_categories = [
|
||||
"# Windows",
|
||||
"# Mac OS X",
|
||||
"# Linux"
|
||||
]
|
||||
|
||||
header_lines = []
|
||||
new_db_contents = []
|
||||
|
||||
def is_relevant_category(line):
|
||||
for category in relevant_categories:
|
||||
if category in line:
|
||||
return True
|
||||
return False
|
||||
|
||||
with open("./game_controller_db.txt") as file:
|
||||
lines = file.readlines()
|
||||
finished_header = False
|
||||
processing_section = False
|
||||
for line in lines:
|
||||
if finished_header is False:
|
||||
header_lines.append(line)
|
||||
if line == "\n":
|
||||
finished_header = True
|
||||
if processing_section and line == "\n":
|
||||
processing_section = False
|
||||
new_db_contents.append("\n")
|
||||
if is_relevant_category(line) and processing_section is False:
|
||||
processing_section = True
|
||||
new_db_contents.append(line)
|
||||
elif processing_section:
|
||||
new_db_contents.append(line)
|
||||
|
||||
os.remove("./game_controller_db.txt")
|
||||
with open("./game_controller_db.txt", "w") as f:
|
||||
f.writelines(header_lines)
|
||||
f.writelines(new_db_contents)
|
||||
157
.github/workflows/scripts/linux/appimage-qt.sh
vendored
Executable file
157
.github/workflows/scripts/linux/appimage-qt.sh
vendored
Executable file
@@ -0,0 +1,157 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This is free and unencumbered software released into the public domain.
|
||||
#
|
||||
# Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
# distribute this software, either in source code form or as a compiled
|
||||
# binary, for any purpose, commercial or non-commercial, and by any
|
||||
# means.
|
||||
#
|
||||
# In jurisdictions that recognize copyright laws, the author or authors
|
||||
# of this software dedicate any and all copyright interest in the
|
||||
# software to the public domain. We make this dedication for the benefit
|
||||
# of the public at large and to the detriment of our heirs and
|
||||
# successors. We intend this dedication to be an overt act of
|
||||
# relinquishment in perpetuity of all present and future rights to this
|
||||
# software under copyright law.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
# OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# For more information, please refer to <http://unlicense.org/>
|
||||
|
||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
source "$SCRIPTDIR/functions.sh"
|
||||
|
||||
if [ "$#" -ne 4 ]; then
|
||||
echo "Syntax: $0 <path to pcsx2 directory> <path to build directory> <deps prefix> <output name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PCSX2DIR=$1
|
||||
BUILDDIR=$2
|
||||
DEPSDIR=$3
|
||||
NAME=$4
|
||||
|
||||
BINARY=pcsx2-qt
|
||||
APPDIRNAME=PCSX2.AppDir
|
||||
STRIP=strip
|
||||
|
||||
declare -a MANUAL_QT_LIBS=(
|
||||
"libQt6WaylandEglClientHwIntegration.so.6"
|
||||
)
|
||||
|
||||
declare -a MANUAL_QT_PLUGINS=(
|
||||
"wayland-decoration-client"
|
||||
"wayland-graphics-integration-client"
|
||||
"wayland-shell-integration"
|
||||
)
|
||||
|
||||
set -e
|
||||
|
||||
LINUXDEPLOY=./linuxdeploy-x86_64.AppImage
|
||||
LINUXDEPLOY_PLUGIN_QT=./linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
APPIMAGETOOL=./appimagetool-x86_64.AppImage
|
||||
PATCHELF=patchelf
|
||||
|
||||
if [ ! -f "$LINUXDEPLOY" ]; then
|
||||
retry_command wget -O "$LINUXDEPLOY" https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
chmod +x "$LINUXDEPLOY"
|
||||
fi
|
||||
|
||||
if [ ! -f "$LINUXDEPLOY_PLUGIN_QT" ]; then
|
||||
retry_command wget -O "$LINUXDEPLOY_PLUGIN_QT" https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
chmod +x "$LINUXDEPLOY_PLUGIN_QT"
|
||||
fi
|
||||
|
||||
if [ ! -f "$APPIMAGETOOL" ]; then
|
||||
retry_command wget -O "$APPIMAGETOOL" https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
|
||||
chmod +x "$APPIMAGETOOL"
|
||||
fi
|
||||
|
||||
OUTDIR=$(realpath "./$APPDIRNAME")
|
||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
rm -fr "$OUTDIR"
|
||||
|
||||
# Why the nastyness? linuxdeploy strips our main binary, and there's no option to turn it off.
|
||||
# It also doesn't strip the Qt libs. We can't strip them after running linuxdeploy, because
|
||||
# patchelf corrupts the libraries (but they still work), but patchelf+strip makes them crash
|
||||
# on load. So, make a backup copy, strip the original (since that's where linuxdeploy finds
|
||||
# the libs to copy), then swap them back after we're done.
|
||||
# Isn't Linux packaging amazing?
|
||||
|
||||
rm -fr "$DEPSDIR.bak"
|
||||
cp -a "$DEPSDIR" "$DEPSDIR.bak"
|
||||
IFS="
|
||||
"
|
||||
for i in $(find "$DEPSDIR" -iname '*.so'); do
|
||||
echo "Stripping deps library ${i}"
|
||||
strip "$i"
|
||||
done
|
||||
|
||||
echo "Copying desktop file..."
|
||||
cp "$PCSX2DIR/.github/workflows/scripts/linux/pcsx2-qt.desktop" "net.pcsx2.PCSX2.desktop"
|
||||
cp "$PCSX2DIR/bin/resources/icons/AppIconLarge.png" "PCSX2.png"
|
||||
|
||||
echo "Running linuxdeploy to create AppDir..."
|
||||
EXTRA_QT_PLUGINS="core;gui;network;svg;waylandclient;widgets;xcbqpa" \
|
||||
EXTRA_PLATFORM_PLUGINS="libqwayland-egl.so;libqwayland-generic.so" \
|
||||
QMAKE="$DEPSDIR/bin/qmake" \
|
||||
NO_STRIP="1" \
|
||||
$LINUXDEPLOY --plugin qt --appdir="$OUTDIR" --executable="$BUILDDIR/bin/pcsx2-qt" \
|
||||
--desktop-file="net.pcsx2.PCSX2.desktop" --icon-file="PCSX2.png"
|
||||
|
||||
echo "Copying resources into AppDir..."
|
||||
cp -a "$BUILDDIR/bin/resources" "$OUTDIR/usr/bin"
|
||||
|
||||
# LinuxDeploy's Qt plugin doesn't include Wayland support. So manually copy in the additional Wayland libraries.
|
||||
echo "Copying Qt Wayland libraries..."
|
||||
for lib in "${MANUAL_QT_LIBS[@]}"; do
|
||||
srcpath="$DEPSDIR/lib/$lib"
|
||||
dstpath="$OUTDIR/usr/lib/$lib"
|
||||
echo " $srcpath -> $dstpath"
|
||||
cp "$srcpath" "$dstpath"
|
||||
$PATCHELF --set-rpath '$ORIGIN' "$dstpath"
|
||||
done
|
||||
|
||||
# .. and plugins.
|
||||
echo "Copying Qt Wayland plugins..."
|
||||
for GROUP in "${MANUAL_QT_PLUGINS[@]}"; do
|
||||
srcpath="$DEPSDIR/plugins/$GROUP"
|
||||
dstpath="$OUTDIR/usr/plugins/$GROUP"
|
||||
echo " $srcpath -> $dstpath"
|
||||
mkdir -p "$dstpath"
|
||||
|
||||
for srcsopath in $(find "$DEPSDIR/plugins/$GROUP" -iname '*.so'); do
|
||||
# This is ../../ because it's usually plugins/group/name.so
|
||||
soname=$(basename "$srcsopath")
|
||||
dstsopath="$dstpath/$soname"
|
||||
echo " $srcsopath -> $dstsopath"
|
||||
cp "$srcsopath" "$dstsopath"
|
||||
$PATCHELF --set-rpath '$ORIGIN/../../lib:$ORIGIN' "$dstsopath"
|
||||
done
|
||||
done
|
||||
|
||||
# Restore unstripped deps (for cache).
|
||||
rm -fr "$DEPSDIR"
|
||||
mv "$DEPSDIR.bak" "$DEPSDIR"
|
||||
|
||||
# Fix up translations.
|
||||
rm -fr "$OUTDIR/usr/bin/translations"
|
||||
mv "$OUTDIR/usr/translations" "$OUTDIR/usr/bin"
|
||||
cp -a "$BUILDDIR/bin/translations" "$OUTDIR/usr/bin"
|
||||
|
||||
# Generate AppStream meta-info.
|
||||
echo "Generating AppStream metainfo..."
|
||||
mkdir -p "$OUTDIR/usr/share/metainfo"
|
||||
"$SCRIPTDIR/generate-metainfo.sh" "$OUTDIR/usr/share/metainfo/net.pcsx2.PCSX2.appdata.xml"
|
||||
|
||||
echo "Generating AppImage..."
|
||||
rm -f "$NAME.AppImage"
|
||||
$APPIMAGETOOL -v "$OUTDIR" "$NAME.AppImage"
|
||||
|
||||
159
.github/workflows/scripts/linux/build-dependencies-qt.sh
vendored
Executable file
159
.github/workflows/scripts/linux/build-dependencies-qt.sh
vendored
Executable file
@@ -0,0 +1,159 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
INSTALLDIR="$HOME/deps"
|
||||
NPROCS="$(getconf _NPROCESSORS_ONLN)"
|
||||
SDL=SDL2-2.28.1
|
||||
QT=6.5.2
|
||||
LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075
|
||||
|
||||
mkdir -p deps-build
|
||||
cd deps-build
|
||||
|
||||
cat > SHASUMS <<EOF
|
||||
4977ceba5c0054dbe6c2f114641aced43ce3bf2b41ea64b6a372d6ba129cb15d $SDL.tar.gz
|
||||
fd6f417fe9e3a071cf1424a5152d926a34c4a3c5070745470be6cf12a404ed79 $LIBBACKTRACE.zip
|
||||
3db4c729b4d80a9d8fda8dd77128406353baff4755ca619177eda4cddae71269 qtbase-everywhere-src-$QT.tar.xz
|
||||
aae0c08924c6a5e47f9d57e031673d611ffff7aab2bee2e1cc460471ecac6743 qtimageformats-everywhere-src-$QT.tar.xz
|
||||
48b4cc1093af2e0ab3bea30f60651bddd877a2335d16e7207879a2e9e81963a3 qtsvg-everywhere-src-$QT.tar.xz
|
||||
551ffb22751d8fd4d88e9ebd55b9131f4ca55341ee497fdbbba4da8d10d94341 qttools-everywhere-src-$QT.tar.xz
|
||||
337c45637e757e754c2f0ea65c20de3e6e53a841dda1253db15baa622515beeb qttranslations-everywhere-src-$QT.tar.xz
|
||||
3020be86fb7fd0abb8509906ca6583cadcaee168159abceaeb5b3e9d42563c9a qtwayland-everywhere-src-$QT.tar.xz
|
||||
EOF
|
||||
|
||||
curl -L \
|
||||
-O "https://libsdl.org/release/$SDL.tar.gz" \
|
||||
-O "https://github.com/ianlancetaylor/libbacktrace/archive/$LIBBACKTRACE.zip" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtbase-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtimageformats-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtsvg-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttools-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttranslations-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtwayland-everywhere-src-$QT.tar.xz"
|
||||
|
||||
shasum -a 256 --check SHASUMS
|
||||
|
||||
echo "Building SDL..."
|
||||
tar xf "$SDL.tar.gz"
|
||||
cd "$SDL"
|
||||
./configure --prefix "$INSTALLDIR" --disable-dbus --without-x --disable-video-opengl --disable-video-opengles --disable-video-vulkan --disable-wayland-shared --disable-ime --disable-oss --disable-alsa --disable-jack --disable-esd --disable-pipewire --disable-pulseaudio --disable-arts --disable-nas --disable-sndio --disable-fusionsound --disable-diskaudio
|
||||
make "-j$NPROCS"
|
||||
make install
|
||||
cd ..
|
||||
|
||||
echo "Building libbacktrace..."
|
||||
unzip "$LIBBACKTRACE.zip"
|
||||
cd "libbacktrace-$LIBBACKTRACE"
|
||||
./configure --prefix="$HOME/deps"
|
||||
make
|
||||
make install
|
||||
cd ..
|
||||
|
||||
# Couple notes:
|
||||
# -fontconfig is needed otherwise Qt Widgets render only boxes.
|
||||
# -qt-doubleconversion avoids a dependency on libdouble-conversion.
|
||||
# ICU avoids pulling in a bunch of large libraries, and hopefully we can get away without it.
|
||||
# OpenGL is needed to render window decorations in Wayland, apparently.
|
||||
echo "Building Qt Base..."
|
||||
tar xf "qtbase-everywhere-src-$QT.tar.xz"
|
||||
cd "qtbase-everywhere-src-$QT"
|
||||
mkdir build
|
||||
cd build
|
||||
../configure -prefix "$INSTALLDIR" -release -no-dbus -gui -widgets -fontconfig -qt-doubleconversion -ssl -openssl-runtime -opengl desktop -qpa xcb,wayland -xkbcommon -- -DFEATURE_dbus=OFF -DFEATURE_icu=OFF -DFEATURE_printsupport=OFF -DFEATURE_sql=OFF
|
||||
cmake --build . --parallel
|
||||
cmake --install .
|
||||
cd ../../
|
||||
|
||||
echo "Building Qt SVG..."
|
||||
tar xf "qtsvg-everywhere-src-$QT.tar.xz"
|
||||
cd "qtsvg-everywhere-src-$QT"
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G Ninja -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release ..
|
||||
cmake --build . --parallel
|
||||
cmake --install .
|
||||
cd ../../
|
||||
|
||||
echo "Building Qt Image Formats..."
|
||||
tar xf "qtimageformats-everywhere-src-$QT.tar.xz"
|
||||
cd "qtimageformats-everywhere-src-$QT"
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G Ninja -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release ..
|
||||
cmake --build . --parallel
|
||||
cmake --install .
|
||||
cd ../../
|
||||
|
||||
echo "Building Qt Wayland..."
|
||||
tar xf "qtwayland-everywhere-src-$QT.tar.xz"
|
||||
cd "qtwayland-everywhere-src-$QT"
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G Ninja -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release ..
|
||||
cmake --build . --parallel
|
||||
cmake --install .
|
||||
cd ../../
|
||||
|
||||
echo "Installing Qt Tools..."
|
||||
tar xf "qttools-everywhere-src-$QT.tar.xz"
|
||||
cd "qttools-everywhere-src-$QT"
|
||||
# From Mac build-dependencies.sh:
|
||||
# Linguist relies on a library in the Designer target, which takes 5-7 minutes to build on the CI
|
||||
# Avoid it by not building Linguist, since we only need the tools that come with it
|
||||
patch -u src/linguist/CMakeLists.txt <<EOF
|
||||
--- src/linguist/CMakeLists.txt
|
||||
+++ src/linguist/CMakeLists.txt
|
||||
@@ -14,7 +14,7 @@
|
||||
add_subdirectory(lrelease-pro)
|
||||
add_subdirectory(lupdate)
|
||||
add_subdirectory(lupdate-pro)
|
||||
-if(QT_FEATURE_process AND QT_FEATURE_pushbutton AND QT_FEATURE_toolbutton AND TARGET Qt::Widgets AND NOT no-png)
|
||||
+if(QT_FEATURE_process AND QT_FEATURE_pushbutton AND QT_FEATURE_toolbutton AND TARGET Qt::Widgets AND TARGET Qt::PrintSupport AND NOT no-png)
|
||||
add_subdirectory(linguist)
|
||||
endif()
|
||||
EOF
|
||||
|
||||
# Also force disable clang scanning, it gets very confused.
|
||||
patch -u configure.cmake <<EOF
|
||||
--- configure.cmake
|
||||
+++ configure.cmake
|
||||
@@ -14,12 +14,12 @@
|
||||
# Presumably because 6.0 ClangConfig.cmake files are not good enough?
|
||||
# In any case explicitly request a minimum version of 8.x for now, otherwise
|
||||
# building with CMake will fail at compilation time.
|
||||
-qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)
|
||||
+#qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)
|
||||
# special case end
|
||||
|
||||
-if(TARGET WrapLibClang::WrapLibClang)
|
||||
- set(TEST_libclang "ON" CACHE BOOL "Required libclang version found." FORCE)
|
||||
-endif()
|
||||
+#if(TARGET WrapLibClang::WrapLibClang)
|
||||
+# set(TEST_libclang "ON" CACHE BOOL "Required libclang version found." FORCE)
|
||||
+#endif()
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G Ninja -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release -DFEATURE_assistant=OFF -DFEATURE_clang=OFF -DFEATURE_designer=OFF -DFEATURE_kmap2qmap=OFF -DFEATURE_pixeltool=OFF -DFEATURE_pkg_config=OFF -DFEATURE_qev=OFF -DFEATURE_qtattributionsscanner=OFF -DFEATURE_qtdiag=OFF -DFEATURE_qtplugininfo=OFF ..
|
||||
cmake --build . --parallel
|
||||
cmake --install .
|
||||
cd ../../
|
||||
|
||||
echo "Installing Qt Translations..."
|
||||
tar xf "qttranslations-everywhere-src-$QT.tar.xz"
|
||||
cd "qttranslations-everywhere-src-$QT"
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G Ninja -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release ..
|
||||
cmake --build . --parallel
|
||||
cmake --install .
|
||||
cd ../../
|
||||
|
||||
echo "Cleaning up..."
|
||||
cd ..
|
||||
rm -r deps-build
|
||||
15
.github/workflows/scripts/linux/compile.sh
vendored
Executable file
15
.github/workflows/scripts/linux/compile.sh
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ -n "${GITHUB_ACTIONS}" ]; then
|
||||
echo "Warning: Running this script outside of GitHub Actions isn't recommended."
|
||||
fi
|
||||
|
||||
# Prepare the Cache
|
||||
ccache -p
|
||||
ccache -z
|
||||
# Build
|
||||
ninja
|
||||
# Save the Cache
|
||||
ccache -s
|
||||
24
.github/workflows/scripts/linux/flatpak/modules/10-libpcap.json
vendored
Normal file
24
.github/workflows/scripts/linux/flatpak/modules/10-libpcap.json
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "libpcap",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"build-options": {
|
||||
"strip": true
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/the-tcpdump-group/libpcap.git",
|
||||
"tag": "libpcap-1.10.4",
|
||||
"commit": "104271ba4a14de6743e43bcf87536786d8fddea4"
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin",
|
||||
"/include",
|
||||
"/lib/*.a",
|
||||
"/lib/*.la",
|
||||
"/lib/pkgconfig",
|
||||
"/share/man"
|
||||
]
|
||||
}
|
||||
|
||||
24
.github/workflows/scripts/linux/flatpak/modules/11-libaio.json
vendored
Normal file
24
.github/workflows/scripts/linux/flatpak/modules/11-libaio.json
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "libaio",
|
||||
"no-autogen": true,
|
||||
"make-install-args": [
|
||||
"prefix=/app"
|
||||
],
|
||||
"build-options": {
|
||||
"strip": true
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://pagure.io/libaio.git",
|
||||
"tag": "libaio-0.3.113",
|
||||
"commit": "1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448"
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/*.a",
|
||||
"/lib/*.la"
|
||||
]
|
||||
}
|
||||
|
||||
45
.github/workflows/scripts/linux/flatpak/modules/20-sdl2.json
vendored
Normal file
45
.github/workflows/scripts/linux/flatpak/modules/20-sdl2.json
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "sdl2",
|
||||
"buildsystem": "autotools",
|
||||
"no-autogen": true,
|
||||
"config-opts": [
|
||||
"--disable-dbus",
|
||||
"--without-x",
|
||||
"--disable-video-opengl",
|
||||
"--disable-video-opengles",
|
||||
"--disable-video-vulkan",
|
||||
"--disable-wayland-shared",
|
||||
"--disable-ime",
|
||||
"--disable-oss",
|
||||
"--disable-alsa",
|
||||
"--disable-jack",
|
||||
"--disable-esd",
|
||||
"--disable-pipewire",
|
||||
"--disable-pulseaudio",
|
||||
"--disable-arts",
|
||||
"--disable-nas",
|
||||
"--disable-sndio",
|
||||
"--disable-fusionsound",
|
||||
"--disable-diskaudio"
|
||||
],
|
||||
"build-options": {
|
||||
"strip": true
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://libsdl.org/release/SDL2-2.28.1.tar.gz",
|
||||
"sha256": "4977ceba5c0054dbe6c2f114641aced43ce3bf2b41ea64b6a372d6ba129cb15d"
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin",
|
||||
"/include",
|
||||
"/lib/*.a",
|
||||
"/lib/*.la",
|
||||
"/lib/cmake",
|
||||
"/lib/pkgconfig",
|
||||
"/share/aclocal"
|
||||
]
|
||||
}
|
||||
|
||||
22
.github/workflows/scripts/linux/flatpak/modules/21-libbacktrace.json
vendored
Normal file
22
.github/workflows/scripts/linux/flatpak/modules/21-libbacktrace.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "libbacktrace",
|
||||
"buildsystem": "autotools",
|
||||
"no-autogen": true,
|
||||
"build-options": {
|
||||
"strip": false,
|
||||
"no-debuginfo": true
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/ianlancetaylor/libbacktrace.git",
|
||||
"commit": "ad106d5fdd5d960bd33fae1c48a351af567fd075"
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/*.a",
|
||||
"/lib/*.la"
|
||||
]
|
||||
}
|
||||
|
||||
68
.github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json
vendored
Normal file
68
.github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"app-id": "net.pcsx2.PCSX2",
|
||||
"runtime": "org.kde.Platform",
|
||||
"runtime-version": "6.5",
|
||||
"sdk": "org.kde.Sdk",
|
||||
"sdk-extensions": [
|
||||
"org.freedesktop.Sdk.Extension.llvm16"
|
||||
],
|
||||
"add-extensions": {
|
||||
"org.freedesktop.Platform.ffmpeg-full": {
|
||||
"directory": "lib/ffmpeg",
|
||||
"version": "22.08",
|
||||
"add-ld-path": ".",
|
||||
"autodownload": true
|
||||
}
|
||||
},
|
||||
"command": "pcsx2-qt",
|
||||
"finish-args": [
|
||||
"--device=all",
|
||||
"--share=network",
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--socket=wayland",
|
||||
"--socket=pulseaudio",
|
||||
"--filesystem=host:ro",
|
||||
"--talk-name=org.freedesktop.ScreenSaver"
|
||||
],
|
||||
"modules": [
|
||||
"modules/10-libpcap.json",
|
||||
"modules/11-libaio.json",
|
||||
"modules/20-sdl2.json",
|
||||
"modules/21-libbacktrace.json",
|
||||
{
|
||||
"name": "pcsx2",
|
||||
"buildsystem": "simple",
|
||||
"build-options": {
|
||||
"strip": false,
|
||||
"no-debuginfo": true,
|
||||
"env": {
|
||||
"DEPS_PREFIX": "/app",
|
||||
"COMPILER": "clang",
|
||||
"CLANG_PATH": "/usr/lib/sdk/llvm16/bin/clang",
|
||||
"CLANGXX_PATH": "/usr/lib/sdk/llvm16/bin/clang++",
|
||||
"ADDITIONAL_CMAKE_ARGS": "-DUSE_LINKED_FFMPEG=ON"
|
||||
}
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"type": "dir",
|
||||
"path": "../../../../.."
|
||||
}
|
||||
],
|
||||
"build-commands": [
|
||||
".github/workflows/scripts/linux/generate-cmake-qt.sh",
|
||||
"cd build && ../.github/workflows/scripts/linux/compile.sh && cd ..",
|
||||
"cp -a build/bin ${FLATPAK_DEST}",
|
||||
"cd build && ninja unittests && cd .."
|
||||
],
|
||||
"post-install": [
|
||||
"install -Dm644 bin/resources/icons/AppIconLarge.png ${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/net.pcsx2.PCSX2.png",
|
||||
"install -Dm644 .github/workflows/scripts/linux/pcsx2-qt.desktop ${FLATPAK_DEST}/share/applications/net.pcsx2.PCSX2.desktop",
|
||||
"desktop-file-edit --set-key=Icon --set-value=net.pcsx2.PCSX2 ${FLATPAK_DEST}/share/applications/net.pcsx2.PCSX2.desktop",
|
||||
"install -Dm644 .github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.metainfo.xml ${FLATPAK_DEST}/share/metainfo/net.pcsx2.PCSX2.metainfo.xml"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
.github/workflows/scripts/linux/flatpak/screenshots/screenshot1.png
vendored
Normal file
BIN
.github/workflows/scripts/linux/flatpak/screenshots/screenshot1.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
.github/workflows/scripts/linux/flatpak/screenshots/screenshot2.png
vendored
Normal file
BIN
.github/workflows/scripts/linux/flatpak/screenshots/screenshot2.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 136 KiB |
16
.github/workflows/scripts/linux/functions.sh
vendored
Executable file
16
.github/workflows/scripts/linux/functions.sh
vendored
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
function retry_command {
|
||||
# Package servers tend to be unreliable at times..
|
||||
# Retry a bunch of times.
|
||||
local RETRIES=10
|
||||
|
||||
for i in $(seq 1 "$RETRIES"); do
|
||||
"$@" && break
|
||||
if [ "$i" == "$RETRIES" ]; then
|
||||
echo "Command \"$@\" failed after ${RETRIES} retries."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
50
.github/workflows/scripts/linux/generate-cmake-qt.sh
vendored
Executable file
50
.github/workflows/scripts/linux/generate-cmake-qt.sh
vendored
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [[ -z "${DEPS_PREFIX}" ]]; then
|
||||
echo "DEPS_PREFIX is not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Using build dependencies from: ${DEPS_PREFIX}"
|
||||
|
||||
if [ "${COMPILER}" = "clang" ]; then
|
||||
if [[ -z "${CLANG_PATH}" ]] || [[ -z "${CLANGXX_PATH}" ]]; then
|
||||
echo "CLANG_PATH or CLANGXX_PATH is not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Using clang toolchain"
|
||||
cat > "clang-toolchain.cmake" << EOF
|
||||
set(CMAKE_C_COMPILER "${CLANG_PATH}")
|
||||
set(CMAKE_CXX_COMPILER "${CLANGXX_PATH}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld")
|
||||
EOF
|
||||
ADDITIONAL_CMAKE_ARGS="$ADDITIONAL_CMAKE_ARGS -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_TOOLCHAIN_FILE=clang-toolchain.cmake"
|
||||
fi
|
||||
|
||||
echo "Additional CMake Args - ${ADDITIONAL_CMAKE_ARGS}"
|
||||
|
||||
# Generate CMake into ./build
|
||||
# DISABLE_ADVANCE_SIMD is needed otherwise we end up doing -march=native.
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
cmake \
|
||||
-B build \
|
||||
-G Ninja \
|
||||
$ADDITIONAL_CMAKE_ARGS \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DQT_BUILD=ON \
|
||||
-DCUBEB_API=ON \
|
||||
-DX11_API=ON \
|
||||
-DWAYLAND_API=ON \
|
||||
-DENABLE_SETCAP=OFF \
|
||||
-DCMAKE_PREFIX_PATH="${DEPS_PREFIX}" \
|
||||
-DUSE_SYSTEM_SDL2=ON \
|
||||
-DUSE_SYSTEM_ZSTD=OFF \
|
||||
-DDISABLE_ADVANCE_SIMD=TRUE
|
||||
|
||||
32
.github/workflows/scripts/linux/generate-metainfo.sh
vendored
Executable file
32
.github/workflows/scripts/linux/generate-metainfo.sh
vendored
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "Output file must be provided as a parameter"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OUTFILE=$1
|
||||
GIT_DATE=$(git log -1 --pretty=%cd --date=short)
|
||||
GIT_VERSION=$(git tag --points-at HEAD)
|
||||
GIT_HASH=$(git rev-parse HEAD)
|
||||
|
||||
if [[ "${GIT_VERSION}" == "" ]]; then
|
||||
# In the odd event that we run this script before the release gets tagged.
|
||||
GIT_VERSION=$(git describe --tags)
|
||||
if [[ "${GIT_VERSION}" == "" ]]; then
|
||||
GIT_VERSION=$(git rev-parse HEAD)
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "GIT_DATE: ${GIT_DATE}"
|
||||
echo "GIT_VERSION: ${GIT_VERSION}"
|
||||
echo "GIT_HASH: ${GIT_HASH}"
|
||||
|
||||
cp "${SCRIPTDIR}"/pcsx2-qt.metainfo.xml.in "${OUTFILE}"
|
||||
|
||||
sed -i -e "s/@GIT_VERSION@/${GIT_VERSION}/" "${OUTFILE}"
|
||||
sed -i -e "s/@GIT_DATE@/${GIT_DATE}/" "${OUTFILE}"
|
||||
sed -i -e "s/@GIT_HASH@/${GIT_HASH}/" "${OUTFILE}"
|
||||
|
||||
55
.github/workflows/scripts/linux/install-packages-flatpak.sh
vendored
Executable file
55
.github/workflows/scripts/linux/install-packages-flatpak.sh
vendored
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
source "$SCRIPTDIR/functions.sh"
|
||||
|
||||
set -e
|
||||
|
||||
ARCH=x86_64
|
||||
KDE_BRANCH=6.5
|
||||
BRANCH=22.08
|
||||
FLAT_MANAGER_CLIENT_DIR="$HOME/.local/bin"
|
||||
|
||||
# Build packages. Mostly needed for flat-manager-client.
|
||||
declare -a BUILD_PACKAGES=(
|
||||
"flatpak"
|
||||
"flatpak-builder"
|
||||
"appstream-util"
|
||||
"python3-aiohttp"
|
||||
"python3-tenacity"
|
||||
"python3-gi"
|
||||
"gobject-introspection"
|
||||
"libappstream-glib8"
|
||||
"libappstream-glib-dev"
|
||||
"libappstream-dev"
|
||||
"gir1.2-ostree-1.0"
|
||||
)
|
||||
|
||||
# Flatpak runtimes and SDKs.
|
||||
declare -a FLATPAK_PACKAGES=(
|
||||
"org.kde.Platform/${ARCH}/${KDE_BRANCH}"
|
||||
"org.kde.Sdk/${ARCH}/${KDE_BRANCH}"
|
||||
"org.freedesktop.Platform.ffmpeg-full/${ARCH}/${BRANCH}"
|
||||
"org.freedesktop.Sdk.Extension.llvm16/${ARCH}/${BRANCH}"
|
||||
"org.freedesktop.appstream-glib/${ARCH}/stable"
|
||||
)
|
||||
|
||||
retry_command sudo apt-get -qq update
|
||||
|
||||
# Install packages needed for building
|
||||
echo "Will install the following packages for building - ${BUILD_PACKAGES[*]}"
|
||||
retry_command sudo apt-get -y install "${BUILD_PACKAGES[@]}"
|
||||
|
||||
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
# Install packages needed for building
|
||||
echo "Will install the following packages for building - ${FLATPAK_PACKAGES[*]}"
|
||||
retry_command sudo flatpak -y install "${FLATPAK_PACKAGES[@]}"
|
||||
|
||||
echo "Downloading flat-manager-client"
|
||||
mkdir -p "$FLAT_MANAGER_CLIENT_DIR"
|
||||
pushd "$FLAT_MANAGER_CLIENT_DIR"
|
||||
aria2c -Z "https://raw.githubusercontent.com/flatpak/flat-manager/9401efbdc0d6bd489507d8401c567ba219d735d5/flat-manager-client"
|
||||
chmod +x flat-manager-client
|
||||
echo "$FLAT_MANAGER_CLIENT_DIR" >> $GITHUB_PATH
|
||||
popd
|
||||
83
.github/workflows/scripts/linux/install-packages-qt.sh
vendored
Executable file
83
.github/workflows/scripts/linux/install-packages-qt.sh
vendored
Executable file
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
source "$SCRIPTDIR/functions.sh"
|
||||
|
||||
set -e
|
||||
|
||||
# Packages - Build and Qt
|
||||
declare -a BUILD_PACKAGES=(
|
||||
"build-essential"
|
||||
"g++"
|
||||
"git"
|
||||
"cmake"
|
||||
"ccache"
|
||||
"ninja-build"
|
||||
"patchelf"
|
||||
"libfuse2"
|
||||
"libglib2.0-dev"
|
||||
"libfontconfig1-dev"
|
||||
"libharfbuzz-dev"
|
||||
"libjpeg-dev"
|
||||
"libpng-dev"
|
||||
"libfreetype-dev"
|
||||
"libinput-dev"
|
||||
"libxcb-*-dev"
|
||||
"libxkbcommon-dev"
|
||||
"libxkbcommon-x11-dev"
|
||||
"libxrender-dev"
|
||||
"libwayland-dev"
|
||||
"libgl1-mesa-dev"
|
||||
"libegl-dev"
|
||||
"libegl1-mesa-dev"
|
||||
"libgl1-mesa-dev"
|
||||
"libssl-dev"
|
||||
)
|
||||
|
||||
# Packages - PCSX2
|
||||
declare -a PCSX2_PACKAGES=(
|
||||
"extra-cmake-modules"
|
||||
"libaio-dev"
|
||||
"libasound2-dev"
|
||||
"libbz2-dev"
|
||||
"libcurl4-openssl-dev"
|
||||
"libegl1-mesa-dev"
|
||||
"libgl1-mesa-dev"
|
||||
"libgtk-3-dev"
|
||||
"libharfbuzz-dev"
|
||||
"libjpeg-dev"
|
||||
"liblzma-dev"
|
||||
"libpcap0.8-dev"
|
||||
"libpng-dev"
|
||||
"libpulse-dev"
|
||||
"librsvg2-dev"
|
||||
"libsamplerate0-dev"
|
||||
"libudev-dev"
|
||||
"libx11-xcb-dev"
|
||||
"libavcodec-dev"
|
||||
"libavformat-dev"
|
||||
"libavutil-dev"
|
||||
"libswresample-dev"
|
||||
"libswscale-dev"
|
||||
"pkg-config"
|
||||
"zlib1g-dev"
|
||||
)
|
||||
|
||||
if [ "${COMPILER}" = "clang" ]; then
|
||||
BUILD_PACKAGES+=("llvm-16" "lld-16" "clang-16")
|
||||
|
||||
# Ubuntu 22.04 doesn't ship with LLVM 16, so we need to pull it from the llvm.org repos.
|
||||
retry_command wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
sudo apt-add-repository -n 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
||||
fi
|
||||
|
||||
retry_command sudo apt-get -qq update && break
|
||||
|
||||
# Install packages needed for building
|
||||
echo "Will install the following packages for building - ${BUILD_PACKAGES[*]}"
|
||||
retry_command sudo apt-get -y install "${BUILD_PACKAGES[@]}"
|
||||
|
||||
# Install packages needed by pcsx2
|
||||
PCSX2_PACKAGES=("${PCSX2_PACKAGES[@]}")
|
||||
echo "Will install the following packages for pcsx2 - ${PCSX2_PACKAGES[*]}"
|
||||
retry_command sudo apt-get -y install "${PCSX2_PACKAGES[@]}"
|
||||
12
.github/workflows/scripts/linux/pcsx2-qt.desktop
vendored
Normal file
12
.github/workflows/scripts/linux/pcsx2-qt.desktop
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Name=PCSX2
|
||||
StartupWMClass=PCSX2
|
||||
GenericName=PlayStation 2 Emulator
|
||||
Comment=Sony PlayStation 2 emulator
|
||||
Exec=pcsx2-qt
|
||||
Icon=PCSX2
|
||||
Keywords=game;emulator;
|
||||
Categories=Game;Emulator;
|
||||
37
.github/workflows/scripts/linux/pcsx2-qt.metainfo.xml.in
vendored
Normal file
37
.github/workflows/scripts/linux/pcsx2-qt.metainfo.xml.in
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>net.pcsx2.PCSX2</id>
|
||||
<launchable type="desktop-id">net.pcsx2.PCSX2.desktop</launchable>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0</project_license>
|
||||
<name>PCSX2</name>
|
||||
<developer_name>PCSX2</developer_name>
|
||||
<summary>PlayStation 2 Emulator</summary>
|
||||
<description>
|
||||
<p>PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.</p>
|
||||
<p>PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment.</p>
|
||||
</description>
|
||||
<url type="homepage">https://pcsx2.net/</url>
|
||||
<url type="bugtracker">https://github.com/PCSX2/pcsx2/issues</url>
|
||||
<url type="donation">https://github.com/sponsors/PCSX2</url>
|
||||
<url type="faq">https://pcsx2.net/docs/</url>
|
||||
<url type="help">https://discord.com/invite/TCz3t9k</url>
|
||||
<url type="translate">https://crowdin.com/project/pcsx2-emulator</url>
|
||||
<url type="vcs-browser">https://github.com/PCSX2/pcsx2</url>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/PCSX2/pcsx2/master/.github/workflows/scripts/linux/flatpak/screenshots/screenshot1.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/PCSX2/pcsx2/master/.github/workflows/scripts/linux/flatpak/screenshots/screenshot2.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<update_contact>stenzek_AT_gmail.com</update_contact>
|
||||
<releases>
|
||||
<release version="@GIT_VERSION@" date="@GIT_DATE@" />
|
||||
</releases>
|
||||
<custom>
|
||||
<value key="flathub::manifest">https://raw.githubusercontent.com/PCSX2/pcsx2/@GIT_HASH@/.github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json</value>
|
||||
</custom>
|
||||
</component>
|
||||
232
.github/workflows/scripts/macos/build-dependencies.sh
vendored
Executable file
232
.github/workflows/scripts/macos/build-dependencies.sh
vendored
Executable file
@@ -0,0 +1,232 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.14
|
||||
|
||||
INSTALLDIR="$HOME/deps"
|
||||
NPROCS="$(getconf _NPROCESSORS_ONLN)"
|
||||
SDL=SDL2-2.28.1
|
||||
PNG=1.6.37
|
||||
JPG=9e
|
||||
SOUNDTOUCH=soundtouch-2.3.1
|
||||
FFMPEG=6.0
|
||||
QT=6.4.3 # Currently stuck on Qt 6.4 due to 6.5 requiring macOS 11.0.
|
||||
|
||||
mkdir deps-build
|
||||
cd deps-build
|
||||
|
||||
export PKG_CONFIG_PATH="$INSTALLDIR/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
export LDFLAGS="-L$INSTALLDIR/lib -dead_strip $LDFLAGS"
|
||||
export CFLAGS="-I$INSTALLDIR/include -Os $CFLAGS"
|
||||
export CXXFLAGS="-I$INSTALLDIR/include -Os $CXXFLAGS"
|
||||
|
||||
cat > SHASUMS <<EOF
|
||||
4977ceba5c0054dbe6c2f114641aced43ce3bf2b41ea64b6a372d6ba129cb15d $SDL.tar.gz
|
||||
505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca libpng-$PNG.tar.xz
|
||||
4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d jpegsrc.v$JPG.tar.gz
|
||||
6900996607258496ce126924a19fe9d598af9d892cf3f33d1e4daaa9b42ae0b1 $SOUNDTOUCH.tar.gz
|
||||
57be87c22d9b49c112b6d24bc67d42508660e6b718b3db89c44e47e289137082 ffmpeg-$FFMPEG.tar.xz
|
||||
5087c9e5b0165e7bc3c1a4ab176b35d0cd8f52636aea903fa377bdba00891a60 qtbase-everywhere-src-$QT.tar.xz
|
||||
0aff58062e74b84617c5da8325d8cdad5368d8f4d2a11ceafcd58329fe99b798 qtimageformats-everywhere-src-$QT.tar.xz
|
||||
88315f886cf81898705e487cedba6e6160724359d23c518c92c333c098879a4a qtsvg-everywhere-src-$QT.tar.xz
|
||||
867df829cd5cd3ae8efe62e825503123542764b13c96953511e567df70c5a091 qttools-everywhere-src-$QT.tar.xz
|
||||
79e56b7800d49649a8a8010818538c367a829e0b7a09d5f60bd3aecf5abe972c qttranslations-everywhere-src-$QT.tar.xz
|
||||
EOF
|
||||
|
||||
curl -L \
|
||||
-O "https://libsdl.org/release/$SDL.tar.gz" \
|
||||
-O "https://downloads.sourceforge.net/project/libpng/libpng16/$PNG/libpng-$PNG.tar.xz" \
|
||||
-O "https://www.ijg.org/files/jpegsrc.v$JPG.tar.gz" \
|
||||
-O "https://www.surina.net/soundtouch/$SOUNDTOUCH.tar.gz" \
|
||||
-O "https://ffmpeg.org/releases/ffmpeg-$FFMPEG.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtbase-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtimageformats-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtsvg-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttools-everywhere-src-$QT.tar.xz" \
|
||||
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttranslations-everywhere-src-$QT.tar.xz" \
|
||||
|
||||
shasum -a 256 --check SHASUMS
|
||||
|
||||
echo "Installing SDL..."
|
||||
tar xf "$SDL.tar.gz"
|
||||
cd "$SDL"
|
||||
./configure --prefix "$INSTALLDIR" --without-x
|
||||
make "-j$NPROCS"
|
||||
make install
|
||||
cd ..
|
||||
|
||||
echo "Installing libpng..."
|
||||
tar xf "libpng-$PNG.tar.xz"
|
||||
cd "libpng-$PNG"
|
||||
./configure --prefix "$INSTALLDIR" --disable-dependency-tracking
|
||||
make "-j$NPROCS"
|
||||
make install
|
||||
cd ..
|
||||
|
||||
echo "Installing libjpeg..."
|
||||
tar xf "jpegsrc.v$JPG.tar.gz"
|
||||
cd "jpeg-$JPG"
|
||||
./configure --prefix "$INSTALLDIR" --disable-dependency-tracking
|
||||
make "-j$NPROCS"
|
||||
make install
|
||||
cd ..
|
||||
|
||||
echo "Installing soundtouch..."
|
||||
tar xf "$SOUNDTOUCH.tar.gz"
|
||||
cd "$SOUNDTOUCH"
|
||||
cmake -B build -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=MinSizeRel
|
||||
make -C build "-j$NPROCS"
|
||||
make -C build install
|
||||
cd ..
|
||||
|
||||
echo "Installing FFmpeg..."
|
||||
tar xf "ffmpeg-$FFMPEG.tar.xz"
|
||||
cd "ffmpeg-$FFMPEG"
|
||||
./configure --prefix="$INSTALLDIR" --disable-all --disable-autodetect --disable-static --enable-shared \
|
||||
--enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale \
|
||||
--enable-audiotoolbox --enable-videotoolbox \
|
||||
--enable-encoder=ffv1,qtrle,pcm_s16be,pcm_s16le,*_at,*_videotoolbox \
|
||||
--enable-muxer=avi,matroska,mov,mp3,mp4,wav \
|
||||
--enable-protocol=file
|
||||
make "-j$NPROCS"
|
||||
make install
|
||||
cd ..
|
||||
|
||||
echo "Installing Qt Base..."
|
||||
tar xf "qtbase-everywhere-src-$QT.tar.xz"
|
||||
cd "qtbase-everywhere-src-$QT"
|
||||
# Qt's panel:shouldEnableURL: implementation does a whole bunch of things that activate macOS's sandbox permissions dialog
|
||||
# Since this is called on every file being displayed in the open/save panel, that spams users with permissions dialogs
|
||||
# Simple solution: Hopefully no one needs any filters that aren't simple file extension filters, remove all other handling
|
||||
patch -u src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm <<EOF
|
||||
--- src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
|
||||
+++ src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
|
||||
@@ -133,7 +133,5 @@
|
||||
NSURL *url = [NSURL fileURLWithPath:filepath isDirectory:info.isDir()];
|
||||
- bool selectable = (m_options->acceptMode() == QFileDialogOptions::AcceptSave)
|
||||
- || [self panel:m_panel shouldEnableURL:url];
|
||||
|
||||
m_panel.directoryURL = [NSURL fileURLWithPath:m_currentDirectory];
|
||||
- m_panel.nameFieldStringValue = selectable ? info.fileName().toNSString() : @"";
|
||||
+ m_panel.nameFieldStringValue = info.fileName().toNSString();
|
||||
|
||||
@@ -203,61 +201,2 @@
|
||||
return hidden;
|
||||
-}
|
||||
-
|
||||
-- (BOOL)panel:(id)sender shouldEnableURL:(NSURL *)url
|
||||
-{
|
||||
- Q_UNUSED(sender);
|
||||
-
|
||||
- NSString *filename = url.path;
|
||||
- if (!filename.length)
|
||||
- return NO;
|
||||
-
|
||||
- // Always accept directories regardless of their names (unless it is a bundle):
|
||||
- NSFileManager *fm = NSFileManager.defaultManager;
|
||||
- NSDictionary *fileAttrs = [fm attributesOfItemAtPath:filename error:nil];
|
||||
- if (!fileAttrs)
|
||||
- return NO; // Error accessing the file means 'no'.
|
||||
- NSString *fileType = fileAttrs.fileType;
|
||||
- bool isDir = [fileType isEqualToString:NSFileTypeDirectory];
|
||||
- if (isDir) {
|
||||
- if (!m_panel.treatsFilePackagesAsDirectories) {
|
||||
- if ([NSWorkspace.sharedWorkspace isFilePackageAtPath:filename] == NO)
|
||||
- return YES;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // Treat symbolic links and aliases to directories like directories
|
||||
- QFileInfo fileInfo(QString::fromNSString(filename));
|
||||
- if (fileInfo.isSymLink() && QFileInfo(fileInfo.symLinkTarget()).isDir())
|
||||
- return YES;
|
||||
-
|
||||
- QString qtFileName = fileInfo.fileName();
|
||||
- // No filter means accept everything
|
||||
- bool nameMatches = m_selectedNameFilter->isEmpty();
|
||||
- // Check if the current file name filter accepts the file:
|
||||
- for (int i = 0; !nameMatches && i < m_selectedNameFilter->size(); ++i) {
|
||||
- if (QDir::match(m_selectedNameFilter->at(i), qtFileName))
|
||||
- nameMatches = true;
|
||||
- }
|
||||
- if (!nameMatches)
|
||||
- return NO;
|
||||
-
|
||||
- QDir::Filters filter = m_options->filter();
|
||||
- if ((!(filter & (QDir::Dirs | QDir::AllDirs)) && isDir)
|
||||
- || (!(filter & QDir::Files) && [fileType isEqualToString:NSFileTypeRegular])
|
||||
- || ((filter & QDir::NoSymLinks) && [fileType isEqualToString:NSFileTypeSymbolicLink]))
|
||||
- return NO;
|
||||
-
|
||||
- bool filterPermissions = ((filter & QDir::PermissionMask)
|
||||
- && (filter & QDir::PermissionMask) != QDir::PermissionMask);
|
||||
- if (filterPermissions) {
|
||||
- if ((!(filter & QDir::Readable) && [fm isReadableFileAtPath:filename])
|
||||
- || (!(filter & QDir::Writable) && [fm isWritableFileAtPath:filename])
|
||||
- || (!(filter & QDir::Executable) && [fm isExecutableFileAtPath:filename]))
|
||||
- return NO;
|
||||
- }
|
||||
- if (!(filter & QDir::Hidden)
|
||||
- && (qtFileName.startsWith(u'.') || [self isHiddenFileAtURL:url]))
|
||||
- return NO;
|
||||
-
|
||||
- return YES;
|
||||
}
|
||||
@@ -406,5 +345,2 @@
|
||||
{
|
||||
- if (m_options->acceptMode() != QFileDialogOptions::AcceptSave)
|
||||
- return nil; // panel:shouldEnableURL: does the file filtering for NSOpenPanel
|
||||
-
|
||||
QStringList fileTypes;
|
||||
EOF
|
||||
cmake -B build -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release -DFEATURE_optimize_size=ON -DFEATURE_dbus=OFF -DFEATURE_framework=OFF -DFEATURE_icu=OFF -DFEATURE_opengl=OFF -DFEATURE_printsupport=OFF -DFEATURE_sql=OFF -DFEATURE_gssapi=OFF
|
||||
make -C build "-j$NPROCS"
|
||||
make -C build install
|
||||
cd ..
|
||||
echo "Installing Qt SVG..."
|
||||
tar xf "qtsvg-everywhere-src-$QT.tar.xz"
|
||||
cd "qtsvg-everywhere-src-$QT"
|
||||
cmake -B build -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=MinSizeRel
|
||||
make -C build "-j$NPROCS"
|
||||
make -C build install
|
||||
cd ..
|
||||
echo "Installing Qt Image Formats..."
|
||||
tar xf "qtimageformats-everywhere-src-$QT.tar.xz"
|
||||
cd "qtimageformats-everywhere-src-$QT"
|
||||
cmake -B build -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=MinSizeRel
|
||||
make -C build "-j$NPROCS"
|
||||
make -C build install
|
||||
cd ..
|
||||
echo "Installing Qt Tools..."
|
||||
tar xf "qttools-everywhere-src-$QT.tar.xz"
|
||||
cd "qttools-everywhere-src-$QT"
|
||||
# Linguist relies on a library in the Designer target, which takes 5-7 minutes to build on the CI
|
||||
# Avoid it by not building Linguist, since we only need the tools that come with it
|
||||
patch -u src/linguist/CMakeLists.txt <<EOF
|
||||
--- src/linguist/CMakeLists.txt
|
||||
+++ src/linguist/CMakeLists.txt
|
||||
@@ -14,7 +14,7 @@
|
||||
add_subdirectory(lrelease-pro)
|
||||
add_subdirectory(lupdate)
|
||||
add_subdirectory(lupdate-pro)
|
||||
-if(QT_FEATURE_process AND QT_FEATURE_pushbutton AND QT_FEATURE_toolbutton AND TARGET Qt::Widgets AND NOT no-png)
|
||||
+if(QT_FEATURE_process AND QT_FEATURE_pushbutton AND QT_FEATURE_toolbutton AND TARGET Qt::Widgets AND TARGET Qt::PrintSupport AND NOT no-png)
|
||||
add_subdirectory(linguist)
|
||||
endif()
|
||||
EOF
|
||||
cmake -B build -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release -DFEATURE_assistant=OFF -DFEATURE_clang=OFF -DFEATURE_designer=OFF -DFEATURE_kmap2qmap=OFF -DFEATURE_pixeltool=OFF -DFEATURE_pkg_config=OFF -DFEATURE_qev=OFF -DFEATURE_qtattributionsscanner=OFF -DFEATURE_qtdiag=OFF -DFEATURE_qtplugininfo=OFF
|
||||
make -C build "-j$NPROCS"
|
||||
make -C build install
|
||||
cd ..
|
||||
echo "Installing Qt Translations..."
|
||||
tar xf "qttranslations-everywhere-src-$QT.tar.xz"
|
||||
cd "qttranslations-everywhere-src-$QT"
|
||||
cmake -B build -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release
|
||||
make -C build "-j$NPROCS"
|
||||
make -C build install
|
||||
cd ..
|
||||
|
||||
echo "Cleaning up..."
|
||||
cd ..
|
||||
rm -r deps-build
|
||||
2
.github/workflows/scripts/releases/announce-release/.gitignore
vendored
Normal file
2
.github/workflows/scripts/releases/announce-release/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
node_modules/
|
||||
*.md
|
||||
82
.github/workflows/scripts/releases/announce-release/index.js
vendored
Normal file
82
.github/workflows/scripts/releases/announce-release/index.js
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
import { MessageEmbed, WebhookClient } from "discord.js";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import { throttling } from "@octokit/plugin-throttling";
|
||||
import { retry } from "@octokit/plugin-retry";
|
||||
|
||||
let owner = process.env.OWNER;
|
||||
let repo = process.env.REPO;
|
||||
|
||||
Octokit.plugin(throttling);
|
||||
Octokit.plugin(retry);
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.GITHUB_TOKEN,
|
||||
userAgent: `${owner}/${repo}`,
|
||||
log: {
|
||||
debug: () => { },
|
||||
info: () => { },
|
||||
warn: console.warn,
|
||||
error: console.error
|
||||
},
|
||||
throttle: {
|
||||
onRateLimit: (retryAfter, options) => {
|
||||
octokit.log.warn(
|
||||
`Request quota exhausted for request ${options.method} ${options.url}`
|
||||
);
|
||||
|
||||
// Retry twice after hitting a rate limit error, then give up
|
||||
if (options.request.retryCount <= 2) {
|
||||
console.log(`Retrying after ${retryAfter} seconds!`);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
onAbuseLimit: (retryAfter, options) => {
|
||||
// does not retry, only logs a warning
|
||||
octokit.log.warn(
|
||||
`Abuse detected for request ${options.method} ${options.url}`
|
||||
);
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
if (process.env.TAG_VAL === undefined || process.env.TAG_VAL === "") {
|
||||
console.log(`Not announcing - TAG_VAL not defined`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const { data: releaseInfo } = await octokit.rest.repos.getReleaseByTag({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
tag: process.env.TAG_VAL,
|
||||
});
|
||||
|
||||
if (releaseInfo === undefined) {
|
||||
console.log(`Not announcing - could not locate release with tag ${process.env.TAG_VAL}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (!releaseInfo.prerelease) {
|
||||
console.log("Not announcing - release was not a pre-release (aka a Nightly)");
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
// Publish Webhook
|
||||
const embed = new MessageEmbed()
|
||||
.setColor('#FF8000')
|
||||
.setTitle('New PCSX2 Nightly Build Available!')
|
||||
.setDescription("To download the latest or previous builds, [visit the official downloads page](https://pcsx2.net/downloads/).")
|
||||
.addFields(
|
||||
{ name: 'Version', value: releaseInfo.tag_name, inline: true },
|
||||
{ name: 'Installation Steps', value: '[See Here](https://github.com/PCSX2/pcsx2/wiki/Nightly-Build-Usage-Guide)', inline: true },
|
||||
{ name: 'Included Changes', value: releaseInfo.body, inline: false }
|
||||
);
|
||||
console.log(embed);
|
||||
|
||||
// Get all webhooks, simple comma-sep string
|
||||
const webhookUrls = process.env.DISCORD_BUILD_WEBHOOK.split(",");
|
||||
|
||||
for (const url of webhookUrls) {
|
||||
const webhookClient = new WebhookClient({ url: url });
|
||||
await webhookClient.send({
|
||||
embeds: [embed],
|
||||
});
|
||||
}
|
||||
851
.github/workflows/scripts/releases/announce-release/package-lock.json
generated
vendored
Normal file
851
.github/workflows/scripts/releases/announce-release/package-lock.json
generated
vendored
Normal file
@@ -0,0 +1,851 @@
|
||||
{
|
||||
"name": "announce-release",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "announce-release",
|
||||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@octokit/plugin-retry": "^3.0.9",
|
||||
"@octokit/plugin-throttling": "^3.5.2",
|
||||
"@octokit/rest": "^18.12.0",
|
||||
"discord.js": "^13.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/builders": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
|
||||
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
|
||||
"dependencies": {
|
||||
"@sindresorhus/is": "^4.0.1",
|
||||
"discord-api-types": "^0.22.0",
|
||||
"ow": "^0.27.0",
|
||||
"ts-mixer": "^6.0.0",
|
||||
"tslib": "^2.3.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/builders/node_modules/discord-api-types": {
|
||||
"version": "0.22.0",
|
||||
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
|
||||
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/collection": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
|
||||
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/form-data": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
|
||||
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
|
||||
"dependencies": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"mime-types": "^2.1.12"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/auth-token": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
|
||||
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/core": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
|
||||
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
|
||||
"dependencies": {
|
||||
"@octokit/auth-token": "^2.4.4",
|
||||
"@octokit/graphql": "^4.5.8",
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/request-error": "^2.0.5",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"before-after-hook": "^2.2.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/endpoint": {
|
||||
"version": "6.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
|
||||
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/graphql": {
|
||||
"version": "4.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
|
||||
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
|
||||
"dependencies": {
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/openapi-types": {
|
||||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
|
||||
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
|
||||
},
|
||||
"node_modules/@octokit/plugin-paginate-rest": {
|
||||
"version": "2.16.9",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
|
||||
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.33.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-request-log": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
|
||||
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
|
||||
"peerDependencies": {
|
||||
"@octokit/core": ">=3"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "5.12.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
|
||||
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.33.0",
|
||||
"deprecation": "^2.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-retry": {
|
||||
"version": "3.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
|
||||
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"bottleneck": "^2.15.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-throttling": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.7.0.tgz",
|
||||
"integrity": "sha512-qrKT1Yl/KuwGSC6/oHpLBot3ooC9rq0/ryDYBCpkRtoj+R8T47xTMDT6Tk2CxWopFota/8Pi/2SqArqwC0JPow==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.1",
|
||||
"bottleneck": "^2.15.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@octokit/core": "^3.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request": {
|
||||
"version": "5.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
|
||||
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
|
||||
"dependencies": {
|
||||
"@octokit/endpoint": "^6.0.1",
|
||||
"@octokit/request-error": "^2.1.0",
|
||||
"@octokit/types": "^6.16.1",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request-error": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
|
||||
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"deprecation": "^2.0.0",
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/rest": {
|
||||
"version": "18.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
|
||||
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
|
||||
"dependencies": {
|
||||
"@octokit/core": "^3.5.1",
|
||||
"@octokit/plugin-paginate-rest": "^2.16.8",
|
||||
"@octokit/plugin-request-log": "^1.0.4",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/types": {
|
||||
"version": "6.33.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
|
||||
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": "^11.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@sapphire/async-queue": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
|
||||
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA==",
|
||||
"engines": {
|
||||
"node": ">=v14.18.0",
|
||||
"npm": ">=7.24.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@sindresorhus/is": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
|
||||
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sindresorhus/is?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "16.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
|
||||
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
|
||||
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"node_modules/before-after-hook": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
|
||||
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
|
||||
},
|
||||
"node_modules/bottleneck": {
|
||||
"version": "2.19.5",
|
||||
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
|
||||
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
|
||||
},
|
||||
"node_modules/callsites": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"dependencies": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/deprecation": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
|
||||
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
|
||||
},
|
||||
"node_modules/discord-api-types": {
|
||||
"version": "0.23.1",
|
||||
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
|
||||
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/discord.js": {
|
||||
"version": "13.2.0",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
|
||||
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
|
||||
"dependencies": {
|
||||
"@discordjs/builders": "^0.6.0",
|
||||
"@discordjs/collection": "^0.2.1",
|
||||
"@discordjs/form-data": "^3.0.1",
|
||||
"@sapphire/async-queue": "^1.1.5",
|
||||
"@types/ws": "^8.2.0",
|
||||
"discord-api-types": "^0.23.1",
|
||||
"node-fetch": "^2.6.1",
|
||||
"ws": "^8.2.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.6.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dot-prop": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
|
||||
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
|
||||
"dependencies": {
|
||||
"is-obj": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/is-obj": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
|
||||
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-plain-object": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash.isequal": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
|
||||
},
|
||||
"node_modules/mime-db": {
|
||||
"version": "1.50.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
|
||||
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/mime-types": {
|
||||
"version": "2.1.33",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
|
||||
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
|
||||
"dependencies": {
|
||||
"mime-db": "1.50.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||
"dependencies": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "4.x || >=6.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"encoding": "^0.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"encoding": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"dependencies": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"node_modules/ow": {
|
||||
"version": "0.27.0",
|
||||
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
|
||||
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
|
||||
"dependencies": {
|
||||
"@sindresorhus/is": "^4.0.1",
|
||||
"callsites": "^3.1.0",
|
||||
"dot-prop": "^6.0.1",
|
||||
"lodash.isequal": "^4.5.0",
|
||||
"type-fest": "^1.2.1",
|
||||
"vali-date": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
|
||||
},
|
||||
"node_modules/ts-mixer": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
|
||||
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||
},
|
||||
"node_modules/type-fest": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
|
||||
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
},
|
||||
"node_modules/vali-date": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
|
||||
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
|
||||
},
|
||||
"node_modules/whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
|
||||
"dependencies": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
|
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@discordjs/builders": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
|
||||
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
|
||||
"requires": {
|
||||
"@sindresorhus/is": "^4.0.1",
|
||||
"discord-api-types": "^0.22.0",
|
||||
"ow": "^0.27.0",
|
||||
"ts-mixer": "^6.0.0",
|
||||
"tslib": "^2.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"discord-api-types": {
|
||||
"version": "0.22.0",
|
||||
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
|
||||
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@discordjs/collection": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
|
||||
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog=="
|
||||
},
|
||||
"@discordjs/form-data": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
|
||||
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"@octokit/auth-token": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
|
||||
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"@octokit/core": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
|
||||
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
|
||||
"requires": {
|
||||
"@octokit/auth-token": "^2.4.4",
|
||||
"@octokit/graphql": "^4.5.8",
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/request-error": "^2.0.5",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"before-after-hook": "^2.2.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/endpoint": {
|
||||
"version": "6.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
|
||||
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/graphql": {
|
||||
"version": "4.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
|
||||
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
|
||||
"requires": {
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/openapi-types": {
|
||||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
|
||||
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
|
||||
},
|
||||
"@octokit/plugin-paginate-rest": {
|
||||
"version": "2.16.9",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
|
||||
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.33.0"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-request-log": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
|
||||
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
|
||||
"requires": {}
|
||||
},
|
||||
"@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "5.12.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
|
||||
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.33.0",
|
||||
"deprecation": "^2.3.1"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-retry": {
|
||||
"version": "3.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
|
||||
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"bottleneck": "^2.15.3"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-throttling": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.7.0.tgz",
|
||||
"integrity": "sha512-qrKT1Yl/KuwGSC6/oHpLBot3ooC9rq0/ryDYBCpkRtoj+R8T47xTMDT6Tk2CxWopFota/8Pi/2SqArqwC0JPow==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.1",
|
||||
"bottleneck": "^2.15.3"
|
||||
}
|
||||
},
|
||||
"@octokit/request": {
|
||||
"version": "5.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
|
||||
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
|
||||
"requires": {
|
||||
"@octokit/endpoint": "^6.0.1",
|
||||
"@octokit/request-error": "^2.1.0",
|
||||
"@octokit/types": "^6.16.1",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/request-error": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
|
||||
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"deprecation": "^2.0.0",
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"@octokit/rest": {
|
||||
"version": "18.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
|
||||
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
|
||||
"requires": {
|
||||
"@octokit/core": "^3.5.1",
|
||||
"@octokit/plugin-paginate-rest": "^2.16.8",
|
||||
"@octokit/plugin-request-log": "^1.0.4",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
|
||||
}
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "6.33.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
|
||||
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^11.1.0"
|
||||
}
|
||||
},
|
||||
"@sapphire/async-queue": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
|
||||
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA=="
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
|
||||
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
|
||||
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
|
||||
},
|
||||
"@types/ws": {
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
|
||||
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"before-after-hook": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
|
||||
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
|
||||
},
|
||||
"bottleneck": {
|
||||
"version": "2.19.5",
|
||||
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
|
||||
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
|
||||
},
|
||||
"callsites": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"deprecation": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
|
||||
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
|
||||
},
|
||||
"discord-api-types": {
|
||||
"version": "0.23.1",
|
||||
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
|
||||
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ=="
|
||||
},
|
||||
"discord.js": {
|
||||
"version": "13.2.0",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
|
||||
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
|
||||
"requires": {
|
||||
"@discordjs/builders": "^0.6.0",
|
||||
"@discordjs/collection": "^0.2.1",
|
||||
"@discordjs/form-data": "^3.0.1",
|
||||
"@sapphire/async-queue": "^1.1.5",
|
||||
"@types/ws": "^8.2.0",
|
||||
"discord-api-types": "^0.23.1",
|
||||
"node-fetch": "^2.6.1",
|
||||
"ws": "^8.2.3"
|
||||
}
|
||||
},
|
||||
"dot-prop": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
|
||||
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
|
||||
"requires": {
|
||||
"is-obj": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"is-obj": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
|
||||
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
|
||||
},
|
||||
"is-plain-object": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
|
||||
},
|
||||
"lodash.isequal": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.50.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
|
||||
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.33",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
|
||||
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
|
||||
"requires": {
|
||||
"mime-db": "1.50.0"
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||
"requires": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"ow": {
|
||||
"version": "0.27.0",
|
||||
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
|
||||
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
|
||||
"requires": {
|
||||
"@sindresorhus/is": "^4.0.1",
|
||||
"callsites": "^3.1.0",
|
||||
"dot-prop": "^6.0.1",
|
||||
"lodash.isequal": "^4.5.0",
|
||||
"type-fest": "^1.2.1",
|
||||
"vali-date": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
|
||||
},
|
||||
"ts-mixer": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
|
||||
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
|
||||
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA=="
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
},
|
||||
"vali-date": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
|
||||
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY="
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
|
||||
},
|
||||
"whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
|
||||
"requires": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"ws": {
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
|
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
18
.github/workflows/scripts/releases/announce-release/package.json
vendored
Normal file
18
.github/workflows/scripts/releases/announce-release/package.json
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "announce-release",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@octokit/plugin-retry": "^3.0.9",
|
||||
"@octokit/plugin-throttling": "^3.5.2",
|
||||
"@octokit/rest": "^18.12.0",
|
||||
"discord.js": "^13.2.0"
|
||||
}
|
||||
}
|
||||
2
.github/workflows/scripts/releases/generate-release-notes/.gitignore
vendored
Normal file
2
.github/workflows/scripts/releases/generate-release-notes/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
node_modules/
|
||||
*.md
|
||||
68
.github/workflows/scripts/releases/generate-release-notes/index.js
vendored
Normal file
68
.github/workflows/scripts/releases/generate-release-notes/index.js
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import { throttling } from "@octokit/plugin-throttling";
|
||||
import { retry } from "@octokit/plugin-retry";
|
||||
|
||||
let owner = process.env.OWNER;
|
||||
let repo = process.env.REPO;
|
||||
|
||||
Octokit.plugin(throttling);
|
||||
Octokit.plugin(retry);
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.GITHUB_TOKEN,
|
||||
userAgent: `${owner}/${repo}`,
|
||||
log: {
|
||||
debug: () => { },
|
||||
info: () => { },
|
||||
warn: console.warn,
|
||||
error: console.error
|
||||
},
|
||||
throttle: {
|
||||
onRateLimit: (retryAfter, options) => {
|
||||
octokit.log.warn(
|
||||
`Request quota exhausted for request ${options.method} ${options.url}`
|
||||
);
|
||||
|
||||
// Retry twice after hitting a rate limit error, then give up
|
||||
if (options.request.retryCount <= 2) {
|
||||
console.log(`Retrying after ${retryAfter} seconds!`);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
onAbuseLimit: (retryAfter, options) => {
|
||||
// does not retry, only logs a warning
|
||||
octokit.log.warn(
|
||||
`Abuse detected for request ${options.method} ${options.url}`
|
||||
);
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
var args = process.argv.slice(2);
|
||||
let commitSha = process.env.COMMIT_SHA;
|
||||
|
||||
console.log(`Searching for Commit - ${commitSha}`);
|
||||
|
||||
const { data: commit } = await octokit.rest.repos.getCommit({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
ref: commitSha,
|
||||
});
|
||||
|
||||
const { data: associatedPulls } = await octokit.rest.repos.listPullRequestsAssociatedWithCommit({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
commit_sha: commit.sha,
|
||||
});
|
||||
|
||||
let releaseNotes = ``;
|
||||
|
||||
if (associatedPulls.length === 0) {
|
||||
releaseNotes += `- ${commit.commit.message}\n`;
|
||||
} else {
|
||||
for (var j = 0; j < associatedPulls.length; j++) {
|
||||
releaseNotes += `- [${associatedPulls[j].title}](${associatedPulls[j].html_url})\n`;
|
||||
}
|
||||
}
|
||||
|
||||
import * as fs from 'fs';
|
||||
fs.writeFileSync('./release-notes.md', releaseNotes);
|
||||
202
.github/workflows/scripts/releases/generate-release-notes/package-lock.json
generated
vendored
Normal file
202
.github/workflows/scripts/releases/generate-release-notes/package-lock.json
generated
vendored
Normal file
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"name": "generate-release-notes",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@octokit/auth-token": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
|
||||
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"@octokit/core": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
|
||||
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
|
||||
"requires": {
|
||||
"@octokit/auth-token": "^2.4.4",
|
||||
"@octokit/graphql": "^4.5.8",
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/request-error": "^2.0.5",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"before-after-hook": "^2.2.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/endpoint": {
|
||||
"version": "6.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
|
||||
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/graphql": {
|
||||
"version": "4.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
|
||||
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
|
||||
"requires": {
|
||||
"@octokit/request": "^5.6.0",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/openapi-types": {
|
||||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
|
||||
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
|
||||
},
|
||||
"@octokit/plugin-paginate-rest": {
|
||||
"version": "2.16.9",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
|
||||
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.33.0"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-request-log": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
|
||||
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
|
||||
},
|
||||
"@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "5.12.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
|
||||
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.33.0",
|
||||
"deprecation": "^2.3.1"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-retry": {
|
||||
"version": "3.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
|
||||
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"bottleneck": "^2.15.3"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-throttling": {
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.5.2.tgz",
|
||||
"integrity": "sha512-Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.1",
|
||||
"bottleneck": "^2.15.3"
|
||||
}
|
||||
},
|
||||
"@octokit/request": {
|
||||
"version": "5.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
|
||||
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
|
||||
"requires": {
|
||||
"@octokit/endpoint": "^6.0.1",
|
||||
"@octokit/request-error": "^2.1.0",
|
||||
"@octokit/types": "^6.16.1",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/request-error": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
|
||||
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"deprecation": "^2.0.0",
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"@octokit/rest": {
|
||||
"version": "18.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
|
||||
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
|
||||
"requires": {
|
||||
"@octokit/core": "^3.5.1",
|
||||
"@octokit/plugin-paginate-rest": "^2.16.8",
|
||||
"@octokit/plugin-request-log": "^1.0.4",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
|
||||
}
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "6.33.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
|
||||
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^11.1.0"
|
||||
}
|
||||
},
|
||||
"before-after-hook": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
|
||||
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
|
||||
},
|
||||
"bottleneck": {
|
||||
"version": "2.19.5",
|
||||
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
|
||||
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
|
||||
},
|
||||
"deprecation": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
|
||||
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
|
||||
},
|
||||
"is-plain-object": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||
"requires": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
|
||||
},
|
||||
"whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
|
||||
"requires": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
}
|
||||
}
|
||||
}
|
||||
17
.github/workflows/scripts/releases/generate-release-notes/package.json
vendored
Normal file
17
.github/workflows/scripts/releases/generate-release-notes/package.json
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "generate-release-notes",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@octokit/plugin-retry": "^3.0.9",
|
||||
"@octokit/plugin-throttling": "^3.5.2",
|
||||
"@octokit/rest": "^18.12.0"
|
||||
}
|
||||
}
|
||||
49
.github/workflows/scripts/releases/rename-release-assets.py
vendored
Normal file
49
.github/workflows/scripts/releases/rename-release-assets.py
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
tag = os.environ['TAG_VAL']
|
||||
scan_dir = os.environ['SCAN_DIR']
|
||||
output_dir = os.environ['OUT_DIR']
|
||||
accepted_exts = ["AppImage", "flatpak", "tar.xz", "7z"]
|
||||
|
||||
|
||||
for dir_name in os.listdir(scan_dir):
|
||||
asset_name = "pcsx2-{}".format(tag)
|
||||
if "macos" in dir_name.lower():
|
||||
asset_name += "-macos"
|
||||
elif "linux" in dir_name.lower():
|
||||
if "flatpak" in dir_name.lower():
|
||||
asset_name += "-linux-flatpak-x64"
|
||||
else:
|
||||
asset_name += "-linux-appimage-x64"
|
||||
elif "windows" in dir_name.lower():
|
||||
asset_name += "-windows-x64"
|
||||
else:
|
||||
continue;
|
||||
|
||||
if "avx2" in dir_name.lower():
|
||||
asset_name += "-AVX2"
|
||||
elif "sse4" in dir_name.lower():
|
||||
asset_name += "-SSE4"
|
||||
|
||||
asset_name += "-Qt"
|
||||
|
||||
if "symbols" in dir_name.lower():
|
||||
asset_name += "-symbols"
|
||||
|
||||
print(asset_name)
|
||||
|
||||
dir_handled = False
|
||||
for file in os.listdir(os.path.join(scan_dir, dir_name)):
|
||||
for ext in accepted_exts:
|
||||
if file.endswith(ext):
|
||||
dir_handled = True
|
||||
print("Moving {} to out dir".format(file))
|
||||
shutil.move(os.path.join(scan_dir, dir_name, file), os.path.join(output_dir, asset_name + "." + ext))
|
||||
break
|
||||
if dir_handled:
|
||||
break
|
||||
|
||||
if not dir_handled:
|
||||
print("Could not find asset in directory when one was expected")
|
||||
exit(1)
|
||||
19
.github/workflows/scripts/windows/validate-vs-filters.ps1
vendored
Normal file
19
.github/workflows/scripts/windows/validate-vs-filters.ps1
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
$filterFiles = Get-ChildItem $PWD -name -recurse *.vcxproj.filters
|
||||
|
||||
$failed = $FALSE
|
||||
foreach ($file in $filterFiles) {
|
||||
# Skip 3rdparty files
|
||||
if ($file -NotMatch "^3rdparty") {
|
||||
$expression = "python -c `"import sys, xml.dom.minidom as d; d.parse(sys.argv[1])`" $($file)"
|
||||
$expression += ';$LastExitCode'
|
||||
$exitCode = Invoke-Expression $expression
|
||||
if($exitCode -ne 0){
|
||||
Write-Host -foregroundColor red "$($file) - Invalid VS filters file. Likely missing tags"
|
||||
$failed = $TRUE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($failed) {
|
||||
exit 1
|
||||
}
|
||||
27
.github/workflows/triage_pr.yml
vendored
Normal file
27
.github/workflows/triage_pr.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# Runs steps to triage an incoming Pull Request, for example - applying labels.
|
||||
name: 🤔 Pull Request Triage
|
||||
|
||||
on: pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@main
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- uses: xTVaser/first-interaction@v1.2.4
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
debug-mode: false
|
||||
pr-message: |-
|
||||
## Thank you for submitting a contribution to PCSX2
|
||||
|
||||
As this is your first pull request, [please be aware of the contributing guidelines](https://github.com/PCSX2/pcsx2/blob/master/.github/CONTRIBUTING.md).
|
||||
|
||||
Additionally, as per recent changes in GitHub Actions, your pull request will need to be approved by a maintainer before GitHub Actions can run against it. [You can find more information about this change here.](https://github.blog/2021-04-22-github-actions-update-helping-maintainers-combat-bad-actors/)
|
||||
|
||||
Please be patient until this happens. In the meantime if you'd like to confirm the builds are passing, you have the option of opening a PR on your own fork, just make sure your fork's master branch is up to date!
|
||||
pr-labels: "First Time Contribution"
|
||||
84
.github/workflows/windows_build_matrix.yml
vendored
Normal file
84
.github/workflows/windows_build_matrix.yml
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
name: 🖥️ Windows Builds
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- "l10n_master"
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
# MSBUILD
|
||||
lint_vs_proj_files:
|
||||
name: Lint VS Project Files
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
- name: Verify VS Project Files
|
||||
run: .github\workflows\scripts\windows\validate-vs-filters.ps1
|
||||
|
||||
build_qt_sse4:
|
||||
needs: lint_vs_proj_files
|
||||
name: "SSE4"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/windows_build_qt.yml
|
||||
with:
|
||||
jobName: "MSVC SSE4"
|
||||
configuration: Release
|
||||
simd: "SSE4"
|
||||
secrets: inherit
|
||||
|
||||
build_qt_avx2:
|
||||
needs: lint_vs_proj_files
|
||||
name: "AVX2"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/windows_build_qt.yml
|
||||
with:
|
||||
jobName: "MSVC AVX2"
|
||||
configuration: Release AVX2
|
||||
secrets: inherit
|
||||
|
||||
build_qt_cmake:
|
||||
name: "CMake"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/windows_build_qt.yml
|
||||
with:
|
||||
jobName: "CMake MSVC"
|
||||
configuration: CMake
|
||||
buildSystem: cmake
|
||||
secrets: inherit
|
||||
|
||||
build_qt_clang_sse4:
|
||||
needs: lint_vs_proj_files
|
||||
name: "SSE4"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/windows_build_qt.yml
|
||||
with:
|
||||
jobName: "Clang SSE4"
|
||||
configuration: Release Clang
|
||||
simd: "SSE4"
|
||||
secrets: inherit
|
||||
|
||||
build_qt_clang_avx2:
|
||||
needs: lint_vs_proj_files
|
||||
name: "AVX2"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/windows_build_qt.yml
|
||||
with:
|
||||
jobName: "Clang AVX2"
|
||||
configuration: Release Clang AVX2
|
||||
secrets: inherit
|
||||
|
||||
build_qt_cmake_clang:
|
||||
name: "CMake"
|
||||
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
|
||||
uses: ./.github/workflows/windows_build_qt.yml
|
||||
with:
|
||||
jobName: "CMake Clang"
|
||||
configuration: CMake
|
||||
buildSystem: cmake
|
||||
cmakeFlags: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DPCSX2_EXE_NAME=pcsx2-qt-clang
|
||||
secrets: inherit
|
||||
145
.github/workflows/windows_build_qt.yml
vendored
Normal file
145
.github/workflows/windows_build_qt.yml
vendored
Normal file
@@ -0,0 +1,145 @@
|
||||
name: Windows Build Steps - Qt
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
jobName:
|
||||
required: true
|
||||
type: string
|
||||
os:
|
||||
required: false
|
||||
type: string
|
||||
default: windows-2022
|
||||
platform:
|
||||
required: false
|
||||
type: string
|
||||
default: x64
|
||||
configuration:
|
||||
required: true
|
||||
type: string
|
||||
simd:
|
||||
required: false
|
||||
type: string
|
||||
default: AVX2
|
||||
buildSystem:
|
||||
required: false
|
||||
type: string
|
||||
default: msbuild
|
||||
cmakeFlags:
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
qt_binary_url:
|
||||
required: false
|
||||
type: string
|
||||
default: https://github.com/PCSX2/pcsx2-windows-dependencies/releases/download/2023-04-25/qt-6.5.0-x64.7z
|
||||
qt_dir:
|
||||
required: false
|
||||
type: string
|
||||
default: 3rdparty\qt\6.5.0\msvc2022_64
|
||||
patchesUrl:
|
||||
required: false
|
||||
type: string
|
||||
default: https://github.com/PCSX2/pcsx2_patches/releases/latest/download
|
||||
fetchTags:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
build_windows_qt:
|
||||
name: ${{ inputs.jobName }}
|
||||
runs-on: ${{ inputs.os }}
|
||||
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
# actions/checkout elides tags, fetch them primarily for releases
|
||||
- name: Fetch Tags
|
||||
if: ${{ inputs.fetchTags }}
|
||||
run: git fetch --tags --no-recurse-submodules
|
||||
|
||||
- name: Prepare Artifact Metadata
|
||||
id: artifact-metadata
|
||||
shell: bash
|
||||
env:
|
||||
OS: windows
|
||||
BUILD_SYSTEM: ${{ inputs.buildSystem }}
|
||||
ARCH: ${{ inputs.platform }}
|
||||
SIMD: ${{ inputs.simd }}
|
||||
EVENT_NAME: ${{ github.event_name }}
|
||||
PR_TITLE: ${{ github.event.pull_request.title }}
|
||||
PR_NUM: ${{ github.event.pull_request.number }}
|
||||
PR_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: ./.github/workflows/scripts/common/name-artifacts.sh
|
||||
|
||||
- name: Setup msbuild
|
||||
if: inputs.configuration != 'CMake'
|
||||
uses: microsoft/setup-msbuild@v1
|
||||
|
||||
- name: Download Qt build files
|
||||
shell: cmd
|
||||
run: |
|
||||
cd 3rdparty\qt
|
||||
aria2c ${{ inputs.qt_binary_url }}
|
||||
7z x qt-*-x64.7z
|
||||
del qt-*-x64.7z
|
||||
|
||||
- name: Download patches
|
||||
shell: cmd
|
||||
run: |
|
||||
cd bin/resources
|
||||
aria2c -Z "${{ inputs.patchesUrl }}/patches.zip"
|
||||
|
||||
- name: Generate CMake
|
||||
if: inputs.configuration == 'CMake'
|
||||
id: cmake
|
||||
shell: cmd
|
||||
run: |
|
||||
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
cmake . -B build ${{ inputs.cmakeFlags }} "-DCMAKE_PREFIX_PATH=%cd%\${{ inputs.qt_dir }}" -DQT_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DDISABLE_ADVANCE_SIMD=ON -G Ninja
|
||||
|
||||
- name: Build PCSX2
|
||||
shell: cmd
|
||||
run: |
|
||||
if "${{ inputs.configuration }}"=="CMake" (
|
||||
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
cmake --build build --config Release || exit /b
|
||||
cmake --install build --config Release || exit /b
|
||||
) else (
|
||||
msbuild "PCSX2_qt.sln" /m /v:m /p:Configuration="${{ inputs.configuration }}" /p:Platform="${{ inputs.platform }}"
|
||||
)
|
||||
|
||||
- name: Run Tests
|
||||
if: inputs.configuration == 'CMake'
|
||||
shell: cmd
|
||||
run: |
|
||||
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
cmake --build build --config Release --target unittests
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
path: |
|
||||
./bin
|
||||
!./bin/**/*.bsc
|
||||
!./bin/**/*.exp
|
||||
!./bin/**/*.ilk
|
||||
!./bin/**/*.iobj
|
||||
!./bin/**/*.ipdb
|
||||
!./bin/**/*.pdb
|
||||
!./bin/**/*.lib
|
||||
|
||||
- name: Upload artifact - with symbols
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}-symbols
|
||||
path: ./bin/**/*.pdb
|
||||
73
.gitignore
vendored
73
.gitignore
vendored
@@ -13,18 +13,15 @@
|
||||
*.bsc
|
||||
*.aps
|
||||
*.exe
|
||||
*.wav
|
||||
|
||||
*.trace
|
||||
*.dump
|
||||
|
||||
*.asm
|
||||
!/pcsx2/IPU/yuv2rgb.asm
|
||||
!/pcsx2/x86/ix86-32/aVif_proc-32.asm
|
||||
!/plugins/CDVDpeops/i386.asm
|
||||
!/plugins/zerogs/dx/x86-32.asm
|
||||
!/plugins/zerogs/dx/x86-64.asm
|
||||
!/plugins/zerogs/opengl/x86-32.asm
|
||||
!/plugins/zzogl-pg/opengl/x86-32.asm
|
||||
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
**/Win32/Release*
|
||||
**/Win32/Debug*
|
||||
@@ -37,14 +34,16 @@ _ReSharper.*
|
||||
pcsx2.snapshot_*
|
||||
svnrev.h
|
||||
|
||||
/build
|
||||
/build*
|
||||
/obj-*
|
||||
*.obj
|
||||
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
Debug.txt
|
||||
install_log.txt
|
||||
bad_shader_*
|
||||
|
||||
Debug
|
||||
Release
|
||||
@@ -52,19 +51,31 @@ Devel
|
||||
|
||||
oprofile_data/
|
||||
|
||||
# Recording Specific Ignores (pcsx2-rr)
|
||||
*.p2s
|
||||
*.p2m2
|
||||
*.p2m2_backup
|
||||
*.p2m2_SaveState.p2s
|
||||
|
||||
# Visual Studio upgrades
|
||||
/Backup*
|
||||
/UpgradeLog*.htm
|
||||
/.vscode*
|
||||
|
||||
/bin/**/*.dll
|
||||
/bin/**/*.dmp
|
||||
/bin/**/*.exp
|
||||
/bin/**/*.ilk
|
||||
/bin/**/*.lib
|
||||
/bin/**/*.pdb
|
||||
/bin/PCSX2
|
||||
/bin/*ReplayLoader
|
||||
/bin/pcsx2*
|
||||
/bin/qt.conf
|
||||
/bin/bios
|
||||
/bin/cache
|
||||
/bin/cheats
|
||||
/bin/covers
|
||||
/bin/dumps
|
||||
/bin/gamesettings
|
||||
/bin/help
|
||||
/bin/inis
|
||||
/bin/logs
|
||||
@@ -72,41 +83,17 @@ oprofile_data/
|
||||
/bin/plugins
|
||||
/bin/snaps
|
||||
/bin/sstates
|
||||
/bin/textures
|
||||
/bin/translations
|
||||
/bin/inputprofiles
|
||||
/deps
|
||||
/ipch
|
||||
/nsis/output/
|
||||
|
||||
!/3rdparty/libjpeg/change.log
|
||||
/3rdparty/portaudio/portaudio-2.0.pc
|
||||
/3rdparty/portaudio/bin
|
||||
/3rdparty/portaudio/bin-*
|
||||
/3rdparty/portaudio/autom4te.cache
|
||||
/3rdparty/portaudio/libtool
|
||||
/3rdparty/portaudio/config.*
|
||||
/3rdparty/portaudio/lib-stamp
|
||||
/3rdparty/portaudio/Makefile
|
||||
/3rdparty/portaudio/bindings
|
||||
/3rdparty/portaudio/test
|
||||
/3rdparty/portaudio/testcvs
|
||||
/3rdparty/portaudio/src/hostapi/asio/ASIOSDK/common
|
||||
/3rdparty/portaudio/src/hostapi/asio/ASIOSDK/host
|
||||
/3rdparty/portaudio/src/hostapi/wasapi/mingw-include
|
||||
/3rdparty/**/include/wx/setup.h
|
||||
/3rdparty/**/wx/msw/rcdefs.h
|
||||
/nsis/svnrev_cdvdiso.nsh
|
||||
/nsis/svnrev_gsdx.nsh
|
||||
/nsis/svnrev_lilypad.nsh
|
||||
/nsis/svnrev_pcsx2.nsh
|
||||
/nsis/svnrev_spu2x.nsh
|
||||
/nsis/svnrev_zerogs.nsh
|
||||
/nsis/svnrev_zerospu2.nsh
|
||||
/pcsx2/gui/Resources/*.h
|
||||
!/pcsx2/gui/Resources/EmbeddedImage.h
|
||||
/plugins/CDVDolio/Template
|
||||
/plugins/GSdx/Template
|
||||
/plugins/USBqemu/Win32/bin
|
||||
/plugins/xpad/Template
|
||||
/plugins/zerospu2/Windows/dsound51.cpp
|
||||
/tools/bin
|
||||
/tools/GSDumpGUI/bin
|
||||
/tools/GSDumpGUI/obj
|
||||
.vs
|
||||
|
||||
/out/build/x64-Debug (default)
|
||||
CMakeSettings.json
|
||||
/ci-artifacts/
|
||||
/out/
|
||||
|
||||
38
.gitmodules
vendored
Normal file
38
.gitmodules
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
[submodule "3rdparty/xz/xz"]
|
||||
path = 3rdparty/xz/xz
|
||||
url = https://github.com/PCSX2/xz.git
|
||||
[submodule "3rdparty/gtest"]
|
||||
path = 3rdparty/gtest
|
||||
url = https://github.com/google/googletest.git
|
||||
[submodule "3rdparty/fmt/fmt"]
|
||||
path = 3rdparty/fmt/fmt
|
||||
url = https://github.com/fmtlib/fmt.git
|
||||
[submodule "3rdparty/libchdr/libchdr"]
|
||||
path = 3rdparty/libchdr/libchdr
|
||||
url = https://github.com/rtissera/libchdr.git
|
||||
[submodule "3rdparty/wil"]
|
||||
path = 3rdparty/wil
|
||||
url = https://github.com/microsoft/wil.git
|
||||
branch = master
|
||||
[submodule "3rdparty/rapidyaml/rapidyaml"]
|
||||
path = 3rdparty/rapidyaml/rapidyaml
|
||||
url = https://github.com/biojppm/rapidyaml.git
|
||||
branch = master
|
||||
[submodule "3rdparty/glslang/glslang"]
|
||||
path = 3rdparty/glslang/glslang
|
||||
url = https://github.com/KhronosGroup/glslang.git
|
||||
[submodule "3rdparty/vulkan-headers"]
|
||||
path = 3rdparty/vulkan-headers
|
||||
url = https://github.com/KhronosGroup/Vulkan-Headers.git
|
||||
[submodule "3rdparty/sdl2/SDL"]
|
||||
path = 3rdparty/sdl2/SDL
|
||||
url = https://github.com/libsdl-org/SDL.git
|
||||
[submodule "3rdparty/libzip/libzip"]
|
||||
path = 3rdparty/libzip/libzip
|
||||
url = https://github.com/nih-at/libzip.git
|
||||
[submodule "3rdparty/zstd/zstd"]
|
||||
path = 3rdparty/zstd/zstd
|
||||
url = https://github.com/facebook/zstd.git
|
||||
[submodule "3rdparty/rcheevos/rcheevos"]
|
||||
path = 3rdparty/rcheevos/rcheevos
|
||||
url = https://github.com/RetroAchievements/rcheevos.git
|
||||
8
.prettierrc.yaml
Normal file
8
.prettierrc.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
overrides:
|
||||
- files: "**/GameIndex.yaml"
|
||||
options:
|
||||
tabWidth: 2
|
||||
useTabs: false
|
||||
quoteProps: consistent
|
||||
endOfLine: auto
|
||||
proseWrap: preserve
|
||||
23
.travis.yml
23
.travis.yml
@@ -1,23 +0,0 @@
|
||||
language: cpp
|
||||
|
||||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
matrix:
|
||||
include:
|
||||
# Version 5 seems to be whatever is latest - for now it's 5.2
|
||||
- env: VERSION=5
|
||||
compiler: gcc
|
||||
os: linux
|
||||
- env: VERSION=4.9
|
||||
compiler: gcc
|
||||
os: linux
|
||||
- env: VERSION=3.7
|
||||
compiler: clang
|
||||
os: linux
|
||||
|
||||
before_install:
|
||||
- ./travis.sh before_install
|
||||
|
||||
script:
|
||||
- ./travis.sh script
|
||||
10
3rdparty/3rdparty.props
vendored
10
3rdparty/3rdparty.props
vendored
@@ -2,20 +2,20 @@
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||
<OutDir>$(SvnRootDir)\deps\$(PlatformName)\$(Configuration)\</OutDir>
|
||||
<OutDir>$(SolutionDir)deps\$(PlatformName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
|
||||
<ExtensionsToDeleteOnClean>*.bsc;*.idb;*.sbr;*.res;*.pch;*.pdb;*.obj;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;$(TargetPath);$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>__WIN32__;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StructMemberAlignment>16Bytes</StructMemberAlignment>
|
||||
<PreprocessorDefinitions>__WIN32__;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_HAS_EXCEPTIONS=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
28
3rdparty/3rdpartyDLL.props
vendored
28
3rdparty/3rdpartyDLL.props
vendored
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||
<OutDir>$(SvnRootDir)\deps\$(PlatformName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>__WIN32__;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StructMemberAlignment>16Bytes</StructMemberAlignment>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>$(SvnRootDir)/common/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
||||
12046
3rdparty/GL/glext.h
vendored
12046
3rdparty/GL/glext.h
vendored
File diff suppressed because it is too large
Load Diff
282
3rdparty/GL/khrplatform.h
vendored
Normal file
282
3rdparty/GL/khrplatform.h
vendored
Normal file
@@ -0,0 +1,282 @@
|
||||
#ifndef __khrplatform_h_
|
||||
#define __khrplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
/* Khronos platform-specific types and definitions.
|
||||
*
|
||||
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
||||
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||
* The last semantic modification to khrplatform.h was at commit ID:
|
||||
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
||||
*
|
||||
* Adopters may modify this file to suit their platform. Adopters are
|
||||
* encouraged to submit platform specific modifications to the Khronos
|
||||
* group so that they can be included in future versions of this file.
|
||||
* Please submit changes by filing pull requests or issues on
|
||||
* the EGL Registry repository linked above.
|
||||
*
|
||||
*
|
||||
* See the Implementer's Guidelines for information about where this file
|
||||
* should be located on your system and for more details of its use:
|
||||
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||
*
|
||||
* This file should be included as
|
||||
* #include <KHR/khrplatform.h>
|
||||
* by Khronos client API header files that use its types and defines.
|
||||
*
|
||||
* The types in khrplatform.h should only be used to define API-specific types.
|
||||
*
|
||||
* Types defined in khrplatform.h:
|
||||
* khronos_int8_t signed 8 bit
|
||||
* khronos_uint8_t unsigned 8 bit
|
||||
* khronos_int16_t signed 16 bit
|
||||
* khronos_uint16_t unsigned 16 bit
|
||||
* khronos_int32_t signed 32 bit
|
||||
* khronos_uint32_t unsigned 32 bit
|
||||
* khronos_int64_t signed 64 bit
|
||||
* khronos_uint64_t unsigned 64 bit
|
||||
* khronos_intptr_t signed same number of bits as a pointer
|
||||
* khronos_uintptr_t unsigned same number of bits as a pointer
|
||||
* khronos_ssize_t signed size
|
||||
* khronos_usize_t unsigned size
|
||||
* khronos_float_t signed 32 bit floating point
|
||||
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
||||
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
||||
* nanoseconds
|
||||
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
||||
* khronos_boolean_enum_t enumerated boolean type. This should
|
||||
* only be used as a base type when a client API's boolean type is
|
||||
* an enum. Client APIs which use an integer or other type for
|
||||
* booleans cannot use this as the base type for their boolean.
|
||||
*
|
||||
* Tokens defined in khrplatform.h:
|
||||
*
|
||||
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
||||
*
|
||||
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
||||
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
||||
*
|
||||
* Calling convention macros defined in this file:
|
||||
* KHRONOS_APICALL
|
||||
* KHRONOS_APIENTRY
|
||||
* KHRONOS_APIATTRIBUTES
|
||||
*
|
||||
* These may be used in function prototypes as:
|
||||
*
|
||||
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
||||
* int arg1,
|
||||
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||
*/
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APICALL
|
||||
*-------------------------------------------------------------------------
|
||||
* This precedes the return type of the function in the function prototype.
|
||||
*/
|
||||
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||
# define KHRONOS_APICALL __declspec(dllimport)
|
||||
#elif defined (__SYMBIAN32__)
|
||||
# define KHRONOS_APICALL IMPORT_C
|
||||
#elif defined(__ANDROID__)
|
||||
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||
#else
|
||||
# define KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIENTRY
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the return type of the function and precedes the function
|
||||
* name in the function prototype.
|
||||
*/
|
||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
||||
/* Win32 but not WinCE */
|
||||
# define KHRONOS_APIENTRY __stdcall
|
||||
#else
|
||||
# define KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIATTRIBUTES
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the closing parenthesis of the function prototype arguments.
|
||||
*/
|
||||
#if defined (__ARMCC_2__)
|
||||
#define KHRONOS_APIATTRIBUTES __softfp
|
||||
#else
|
||||
#define KHRONOS_APIATTRIBUTES
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* basic type definitions
|
||||
*-----------------------------------------------------------------------*/
|
||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||
|
||||
|
||||
/*
|
||||
* Using <stdint.h>
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(__VMS ) || defined(__sgi)
|
||||
|
||||
/*
|
||||
* Using <inttypes.h>
|
||||
*/
|
||||
#include <inttypes.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||
|
||||
/*
|
||||
* Win32
|
||||
*/
|
||||
typedef __int32 khronos_int32_t;
|
||||
typedef unsigned __int32 khronos_uint32_t;
|
||||
typedef __int64 khronos_int64_t;
|
||||
typedef unsigned __int64 khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(__sun__) || defined(__digital__)
|
||||
|
||||
/*
|
||||
* Sun or Digital
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#if defined(__arch64__) || defined(_LP64)
|
||||
typedef long int khronos_int64_t;
|
||||
typedef unsigned long int khronos_uint64_t;
|
||||
#else
|
||||
typedef long long int khronos_int64_t;
|
||||
typedef unsigned long long int khronos_uint64_t;
|
||||
#endif /* __arch64__ */
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif 0
|
||||
|
||||
/*
|
||||
* Hypothetical platform with no float or int64 support
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#define KHRONOS_SUPPORT_INT64 0
|
||||
#define KHRONOS_SUPPORT_FLOAT 0
|
||||
|
||||
#else
|
||||
|
||||
/*
|
||||
* Generic fallback
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Types that are (so far) the same on all platforms
|
||||
*/
|
||||
typedef signed char khronos_int8_t;
|
||||
typedef unsigned char khronos_uint8_t;
|
||||
typedef signed short int khronos_int16_t;
|
||||
typedef unsigned short int khronos_uint16_t;
|
||||
|
||||
/*
|
||||
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||
* to be the only LLP64 architecture in current use.
|
||||
*/
|
||||
#ifdef _WIN64
|
||||
typedef signed long long int khronos_intptr_t;
|
||||
typedef unsigned long long int khronos_uintptr_t;
|
||||
typedef signed long long int khronos_ssize_t;
|
||||
typedef unsigned long long int khronos_usize_t;
|
||||
#else
|
||||
typedef signed long int khronos_intptr_t;
|
||||
typedef unsigned long int khronos_uintptr_t;
|
||||
typedef signed long int khronos_ssize_t;
|
||||
typedef unsigned long int khronos_usize_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_FLOAT
|
||||
/*
|
||||
* Float type
|
||||
*/
|
||||
typedef float khronos_float_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_INT64
|
||||
/* Time types
|
||||
*
|
||||
* These types can be used to represent a time interval in nanoseconds or
|
||||
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
||||
* of nanoseconds since some arbitrary system event (e.g. since the last
|
||||
* time the system booted). The Unadjusted System Time is an unsigned
|
||||
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
||||
* may be either signed or unsigned.
|
||||
*/
|
||||
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
||||
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Dummy value used to pad enum types to 32 bits.
|
||||
*/
|
||||
#ifndef KHRONOS_MAX_ENUM
|
||||
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Enumerated boolean type
|
||||
*
|
||||
* Values other than zero should be considered to be true. Therefore
|
||||
* comparisons should not be made against KHRONOS_TRUE.
|
||||
*/
|
||||
typedef enum {
|
||||
KHRONOS_FALSE = 0,
|
||||
KHRONOS_TRUE = 1,
|
||||
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
||||
} khronos_boolean_enum_t;
|
||||
|
||||
#endif /* __khrplatform_h_ */
|
||||
840
3rdparty/GL/wglext.h
vendored
840
3rdparty/GL/wglext.h
vendored
@@ -1,840 +0,0 @@
|
||||
#ifndef __wglext_h_
|
||||
#define __wglext_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013-2015 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
/*
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** http://www.opengl.org/registry/
|
||||
**
|
||||
** Khronos $Revision: 31597 $ on $Date: 2015-06-25 16:32:35 -0400 (Thu, 25 Jun 2015) $
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#define WGL_WGLEXT_VERSION 20150623
|
||||
|
||||
/* Generated C header for:
|
||||
* API: wgl
|
||||
* Versions considered: .*
|
||||
* Versions emitted: _nomatch_^
|
||||
* Default extensions included: wgl
|
||||
* Additional extensions included: _nomatch_^
|
||||
* Extensions removed: _nomatch_^
|
||||
*/
|
||||
|
||||
#ifndef WGL_ARB_buffer_region
|
||||
#define WGL_ARB_buffer_region 1
|
||||
#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
|
||||
#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
|
||||
#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
|
||||
#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
|
||||
typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
|
||||
typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
|
||||
typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
|
||||
typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType);
|
||||
VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion);
|
||||
BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height);
|
||||
BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
|
||||
#endif
|
||||
#endif /* WGL_ARB_buffer_region */
|
||||
|
||||
#ifndef WGL_ARB_context_flush_control
|
||||
#define WGL_ARB_context_flush_control 1
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
||||
#endif /* WGL_ARB_context_flush_control */
|
||||
|
||||
#ifndef WGL_ARB_create_context
|
||||
#define WGL_ARB_create_context 1
|
||||
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
|
||||
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
|
||||
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
||||
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
||||
#define ERROR_INVALID_VERSION_ARB 0x2095
|
||||
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList);
|
||||
#endif
|
||||
#endif /* WGL_ARB_create_context */
|
||||
|
||||
#ifndef WGL_ARB_create_context_profile
|
||||
#define WGL_ARB_create_context_profile 1
|
||||
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
||||
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
||||
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
||||
#define ERROR_INVALID_PROFILE_ARB 0x2096
|
||||
#endif /* WGL_ARB_create_context_profile */
|
||||
|
||||
#ifndef WGL_ARB_create_context_robustness
|
||||
#define WGL_ARB_create_context_robustness 1
|
||||
#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
|
||||
#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
|
||||
#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
|
||||
#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
|
||||
#endif /* WGL_ARB_create_context_robustness */
|
||||
|
||||
#ifndef WGL_ARB_extensions_string
|
||||
#define WGL_ARB_extensions_string 1
|
||||
typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
const char *WINAPI wglGetExtensionsStringARB (HDC hdc);
|
||||
#endif
|
||||
#endif /* WGL_ARB_extensions_string */
|
||||
|
||||
#ifndef WGL_ARB_framebuffer_sRGB
|
||||
#define WGL_ARB_framebuffer_sRGB 1
|
||||
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
|
||||
#endif /* WGL_ARB_framebuffer_sRGB */
|
||||
|
||||
#ifndef WGL_ARB_make_current_read
|
||||
#define WGL_ARB_make_current_read 1
|
||||
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
||||
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
HDC WINAPI wglGetCurrentReadDCARB (void);
|
||||
#endif
|
||||
#endif /* WGL_ARB_make_current_read */
|
||||
|
||||
#ifndef WGL_ARB_multisample
|
||||
#define WGL_ARB_multisample 1
|
||||
#define WGL_SAMPLE_BUFFERS_ARB 0x2041
|
||||
#define WGL_SAMPLES_ARB 0x2042
|
||||
#endif /* WGL_ARB_multisample */
|
||||
|
||||
#ifndef WGL_ARB_pbuffer
|
||||
#define WGL_ARB_pbuffer 1
|
||||
DECLARE_HANDLE(HPBUFFERARB);
|
||||
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
|
||||
#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
|
||||
#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
|
||||
#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
|
||||
#define WGL_PBUFFER_LARGEST_ARB 0x2033
|
||||
#define WGL_PBUFFER_WIDTH_ARB 0x2034
|
||||
#define WGL_PBUFFER_HEIGHT_ARB 0x2035
|
||||
#define WGL_PBUFFER_LOST_ARB 0x2036
|
||||
typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
|
||||
typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
|
||||
typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
|
||||
typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
|
||||
HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer);
|
||||
int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC);
|
||||
BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer);
|
||||
BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
|
||||
#endif
|
||||
#endif /* WGL_ARB_pbuffer */
|
||||
|
||||
#ifndef WGL_ARB_pixel_format
|
||||
#define WGL_ARB_pixel_format 1
|
||||
#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
|
||||
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
|
||||
#define WGL_DRAW_TO_BITMAP_ARB 0x2002
|
||||
#define WGL_ACCELERATION_ARB 0x2003
|
||||
#define WGL_NEED_PALETTE_ARB 0x2004
|
||||
#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
|
||||
#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
|
||||
#define WGL_SWAP_METHOD_ARB 0x2007
|
||||
#define WGL_NUMBER_OVERLAYS_ARB 0x2008
|
||||
#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
|
||||
#define WGL_TRANSPARENT_ARB 0x200A
|
||||
#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
|
||||
#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
|
||||
#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
|
||||
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
|
||||
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
|
||||
#define WGL_SHARE_DEPTH_ARB 0x200C
|
||||
#define WGL_SHARE_STENCIL_ARB 0x200D
|
||||
#define WGL_SHARE_ACCUM_ARB 0x200E
|
||||
#define WGL_SUPPORT_GDI_ARB 0x200F
|
||||
#define WGL_SUPPORT_OPENGL_ARB 0x2010
|
||||
#define WGL_DOUBLE_BUFFER_ARB 0x2011
|
||||
#define WGL_STEREO_ARB 0x2012
|
||||
#define WGL_PIXEL_TYPE_ARB 0x2013
|
||||
#define WGL_COLOR_BITS_ARB 0x2014
|
||||
#define WGL_RED_BITS_ARB 0x2015
|
||||
#define WGL_RED_SHIFT_ARB 0x2016
|
||||
#define WGL_GREEN_BITS_ARB 0x2017
|
||||
#define WGL_GREEN_SHIFT_ARB 0x2018
|
||||
#define WGL_BLUE_BITS_ARB 0x2019
|
||||
#define WGL_BLUE_SHIFT_ARB 0x201A
|
||||
#define WGL_ALPHA_BITS_ARB 0x201B
|
||||
#define WGL_ALPHA_SHIFT_ARB 0x201C
|
||||
#define WGL_ACCUM_BITS_ARB 0x201D
|
||||
#define WGL_ACCUM_RED_BITS_ARB 0x201E
|
||||
#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
|
||||
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
|
||||
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
|
||||
#define WGL_DEPTH_BITS_ARB 0x2022
|
||||
#define WGL_STENCIL_BITS_ARB 0x2023
|
||||
#define WGL_AUX_BUFFERS_ARB 0x2024
|
||||
#define WGL_NO_ACCELERATION_ARB 0x2025
|
||||
#define WGL_GENERIC_ACCELERATION_ARB 0x2026
|
||||
#define WGL_FULL_ACCELERATION_ARB 0x2027
|
||||
#define WGL_SWAP_EXCHANGE_ARB 0x2028
|
||||
#define WGL_SWAP_COPY_ARB 0x2029
|
||||
#define WGL_SWAP_UNDEFINED_ARB 0x202A
|
||||
#define WGL_TYPE_RGBA_ARB 0x202B
|
||||
#define WGL_TYPE_COLORINDEX_ARB 0x202C
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
|
||||
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
|
||||
BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
|
||||
BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
#endif
|
||||
#endif /* WGL_ARB_pixel_format */
|
||||
|
||||
#ifndef WGL_ARB_pixel_format_float
|
||||
#define WGL_ARB_pixel_format_float 1
|
||||
#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
|
||||
#endif /* WGL_ARB_pixel_format_float */
|
||||
|
||||
#ifndef WGL_ARB_render_texture
|
||||
#define WGL_ARB_render_texture 1
|
||||
#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
|
||||
#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
|
||||
#define WGL_TEXTURE_FORMAT_ARB 0x2072
|
||||
#define WGL_TEXTURE_TARGET_ARB 0x2073
|
||||
#define WGL_MIPMAP_TEXTURE_ARB 0x2074
|
||||
#define WGL_TEXTURE_RGB_ARB 0x2075
|
||||
#define WGL_TEXTURE_RGBA_ARB 0x2076
|
||||
#define WGL_NO_TEXTURE_ARB 0x2077
|
||||
#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
|
||||
#define WGL_TEXTURE_1D_ARB 0x2079
|
||||
#define WGL_TEXTURE_2D_ARB 0x207A
|
||||
#define WGL_MIPMAP_LEVEL_ARB 0x207B
|
||||
#define WGL_CUBE_MAP_FACE_ARB 0x207C
|
||||
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
|
||||
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
|
||||
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
|
||||
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
|
||||
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
|
||||
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
|
||||
#define WGL_FRONT_LEFT_ARB 0x2083
|
||||
#define WGL_FRONT_RIGHT_ARB 0x2084
|
||||
#define WGL_BACK_LEFT_ARB 0x2085
|
||||
#define WGL_BACK_RIGHT_ARB 0x2086
|
||||
#define WGL_AUX0_ARB 0x2087
|
||||
#define WGL_AUX1_ARB 0x2088
|
||||
#define WGL_AUX2_ARB 0x2089
|
||||
#define WGL_AUX3_ARB 0x208A
|
||||
#define WGL_AUX4_ARB 0x208B
|
||||
#define WGL_AUX5_ARB 0x208C
|
||||
#define WGL_AUX6_ARB 0x208D
|
||||
#define WGL_AUX7_ARB 0x208E
|
||||
#define WGL_AUX8_ARB 0x208F
|
||||
#define WGL_AUX9_ARB 0x2090
|
||||
typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList);
|
||||
#endif
|
||||
#endif /* WGL_ARB_render_texture */
|
||||
|
||||
#ifndef WGL_ARB_robustness_application_isolation
|
||||
#define WGL_ARB_robustness_application_isolation 1
|
||||
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
|
||||
#endif /* WGL_ARB_robustness_application_isolation */
|
||||
|
||||
#ifndef WGL_ARB_robustness_share_group_isolation
|
||||
#define WGL_ARB_robustness_share_group_isolation 1
|
||||
#endif /* WGL_ARB_robustness_share_group_isolation */
|
||||
|
||||
#ifndef WGL_3DFX_multisample
|
||||
#define WGL_3DFX_multisample 1
|
||||
#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
|
||||
#define WGL_SAMPLES_3DFX 0x2061
|
||||
#endif /* WGL_3DFX_multisample */
|
||||
|
||||
#ifndef WGL_3DL_stereo_control
|
||||
#define WGL_3DL_stereo_control 1
|
||||
#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
|
||||
#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
|
||||
#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
|
||||
#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
|
||||
typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState);
|
||||
#endif
|
||||
#endif /* WGL_3DL_stereo_control */
|
||||
|
||||
#ifndef WGL_AMD_gpu_association
|
||||
#define WGL_AMD_gpu_association 1
|
||||
#define WGL_GPU_VENDOR_AMD 0x1F00
|
||||
#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
|
||||
#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
|
||||
#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
|
||||
#define WGL_GPU_RAM_AMD 0x21A3
|
||||
#define WGL_GPU_CLOCK_AMD 0x21A4
|
||||
#define WGL_GPU_NUM_PIPES_AMD 0x21A5
|
||||
#define WGL_GPU_NUM_SIMD_AMD 0x21A6
|
||||
#define WGL_GPU_NUM_RB_AMD 0x21A7
|
||||
#define WGL_GPU_NUM_SPI_AMD 0x21A8
|
||||
typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids);
|
||||
typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data);
|
||||
typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
|
||||
typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
|
||||
typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList);
|
||||
typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
|
||||
typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
|
||||
typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
|
||||
typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids);
|
||||
INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data);
|
||||
UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc);
|
||||
HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id);
|
||||
HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList);
|
||||
BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc);
|
||||
BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc);
|
||||
HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void);
|
||||
VOID WINAPI wglBlitContextFramebufferAMD (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
#endif
|
||||
#endif /* WGL_AMD_gpu_association */
|
||||
|
||||
#ifndef WGL_ATI_pixel_format_float
|
||||
#define WGL_ATI_pixel_format_float 1
|
||||
#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
|
||||
#endif /* WGL_ATI_pixel_format_float */
|
||||
|
||||
#ifndef WGL_EXT_create_context_es2_profile
|
||||
#define WGL_EXT_create_context_es2_profile 1
|
||||
#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
||||
#endif /* WGL_EXT_create_context_es2_profile */
|
||||
|
||||
#ifndef WGL_EXT_create_context_es_profile
|
||||
#define WGL_EXT_create_context_es_profile 1
|
||||
#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
||||
#endif /* WGL_EXT_create_context_es_profile */
|
||||
|
||||
#ifndef WGL_EXT_depth_float
|
||||
#define WGL_EXT_depth_float 1
|
||||
#define WGL_DEPTH_FLOAT_EXT 0x2040
|
||||
#endif /* WGL_EXT_depth_float */
|
||||
|
||||
#ifndef WGL_EXT_display_color_table
|
||||
#define WGL_EXT_display_color_table 1
|
||||
typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||
typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
|
||||
typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||
typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id);
|
||||
GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length);
|
||||
GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id);
|
||||
VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id);
|
||||
#endif
|
||||
#endif /* WGL_EXT_display_color_table */
|
||||
|
||||
#ifndef WGL_EXT_extensions_string
|
||||
#define WGL_EXT_extensions_string 1
|
||||
typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
const char *WINAPI wglGetExtensionsStringEXT (void);
|
||||
#endif
|
||||
#endif /* WGL_EXT_extensions_string */
|
||||
|
||||
#ifndef WGL_EXT_framebuffer_sRGB
|
||||
#define WGL_EXT_framebuffer_sRGB 1
|
||||
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
|
||||
#endif /* WGL_EXT_framebuffer_sRGB */
|
||||
|
||||
#ifndef WGL_EXT_make_current_read
|
||||
#define WGL_EXT_make_current_read 1
|
||||
#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
|
||||
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
HDC WINAPI wglGetCurrentReadDCEXT (void);
|
||||
#endif
|
||||
#endif /* WGL_EXT_make_current_read */
|
||||
|
||||
#ifndef WGL_EXT_multisample
|
||||
#define WGL_EXT_multisample 1
|
||||
#define WGL_SAMPLE_BUFFERS_EXT 0x2041
|
||||
#define WGL_SAMPLES_EXT 0x2042
|
||||
#endif /* WGL_EXT_multisample */
|
||||
|
||||
#ifndef WGL_EXT_pbuffer
|
||||
#define WGL_EXT_pbuffer 1
|
||||
DECLARE_HANDLE(HPBUFFEREXT);
|
||||
#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
|
||||
#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
|
||||
#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
|
||||
#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
|
||||
#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
|
||||
#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
|
||||
#define WGL_PBUFFER_LARGEST_EXT 0x2033
|
||||
#define WGL_PBUFFER_WIDTH_EXT 0x2034
|
||||
#define WGL_PBUFFER_HEIGHT_EXT 0x2035
|
||||
typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
|
||||
typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
|
||||
typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
|
||||
typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
|
||||
HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer);
|
||||
int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC);
|
||||
BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer);
|
||||
BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
|
||||
#endif
|
||||
#endif /* WGL_EXT_pbuffer */
|
||||
|
||||
#ifndef WGL_EXT_pixel_format
|
||||
#define WGL_EXT_pixel_format 1
|
||||
#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
|
||||
#define WGL_DRAW_TO_WINDOW_EXT 0x2001
|
||||
#define WGL_DRAW_TO_BITMAP_EXT 0x2002
|
||||
#define WGL_ACCELERATION_EXT 0x2003
|
||||
#define WGL_NEED_PALETTE_EXT 0x2004
|
||||
#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
|
||||
#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
|
||||
#define WGL_SWAP_METHOD_EXT 0x2007
|
||||
#define WGL_NUMBER_OVERLAYS_EXT 0x2008
|
||||
#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
|
||||
#define WGL_TRANSPARENT_EXT 0x200A
|
||||
#define WGL_TRANSPARENT_VALUE_EXT 0x200B
|
||||
#define WGL_SHARE_DEPTH_EXT 0x200C
|
||||
#define WGL_SHARE_STENCIL_EXT 0x200D
|
||||
#define WGL_SHARE_ACCUM_EXT 0x200E
|
||||
#define WGL_SUPPORT_GDI_EXT 0x200F
|
||||
#define WGL_SUPPORT_OPENGL_EXT 0x2010
|
||||
#define WGL_DOUBLE_BUFFER_EXT 0x2011
|
||||
#define WGL_STEREO_EXT 0x2012
|
||||
#define WGL_PIXEL_TYPE_EXT 0x2013
|
||||
#define WGL_COLOR_BITS_EXT 0x2014
|
||||
#define WGL_RED_BITS_EXT 0x2015
|
||||
#define WGL_RED_SHIFT_EXT 0x2016
|
||||
#define WGL_GREEN_BITS_EXT 0x2017
|
||||
#define WGL_GREEN_SHIFT_EXT 0x2018
|
||||
#define WGL_BLUE_BITS_EXT 0x2019
|
||||
#define WGL_BLUE_SHIFT_EXT 0x201A
|
||||
#define WGL_ALPHA_BITS_EXT 0x201B
|
||||
#define WGL_ALPHA_SHIFT_EXT 0x201C
|
||||
#define WGL_ACCUM_BITS_EXT 0x201D
|
||||
#define WGL_ACCUM_RED_BITS_EXT 0x201E
|
||||
#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
|
||||
#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
|
||||
#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
|
||||
#define WGL_DEPTH_BITS_EXT 0x2022
|
||||
#define WGL_STENCIL_BITS_EXT 0x2023
|
||||
#define WGL_AUX_BUFFERS_EXT 0x2024
|
||||
#define WGL_NO_ACCELERATION_EXT 0x2025
|
||||
#define WGL_GENERIC_ACCELERATION_EXT 0x2026
|
||||
#define WGL_FULL_ACCELERATION_EXT 0x2027
|
||||
#define WGL_SWAP_EXCHANGE_EXT 0x2028
|
||||
#define WGL_SWAP_COPY_EXT 0x2029
|
||||
#define WGL_SWAP_UNDEFINED_EXT 0x202A
|
||||
#define WGL_TYPE_RGBA_EXT 0x202B
|
||||
#define WGL_TYPE_COLORINDEX_EXT 0x202C
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
|
||||
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
|
||||
BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
|
||||
BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
#endif
|
||||
#endif /* WGL_EXT_pixel_format */
|
||||
|
||||
#ifndef WGL_EXT_pixel_format_packed_float
|
||||
#define WGL_EXT_pixel_format_packed_float 1
|
||||
#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
|
||||
#endif /* WGL_EXT_pixel_format_packed_float */
|
||||
|
||||
#ifndef WGL_EXT_swap_control
|
||||
#define WGL_EXT_swap_control 1
|
||||
typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
|
||||
typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglSwapIntervalEXT (int interval);
|
||||
int WINAPI wglGetSwapIntervalEXT (void);
|
||||
#endif
|
||||
#endif /* WGL_EXT_swap_control */
|
||||
|
||||
#ifndef WGL_EXT_swap_control_tear
|
||||
#define WGL_EXT_swap_control_tear 1
|
||||
#endif /* WGL_EXT_swap_control_tear */
|
||||
|
||||
#ifndef WGL_I3D_digital_video_control
|
||||
#define WGL_I3D_digital_video_control 1
|
||||
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
|
||||
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
|
||||
#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
|
||||
#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
|
||||
typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
|
||||
typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue);
|
||||
BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue);
|
||||
#endif
|
||||
#endif /* WGL_I3D_digital_video_control */
|
||||
|
||||
#ifndef WGL_I3D_gamma
|
||||
#define WGL_I3D_gamma 1
|
||||
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
|
||||
#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
|
||||
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
|
||||
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
|
||||
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue);
|
||||
BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue);
|
||||
BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
|
||||
BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
|
||||
#endif
|
||||
#endif /* WGL_I3D_gamma */
|
||||
|
||||
#ifndef WGL_I3D_genlock
|
||||
#define WGL_I3D_genlock 1
|
||||
#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
|
||||
#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
|
||||
#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
|
||||
#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
|
||||
#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
|
||||
#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
|
||||
#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
|
||||
#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
|
||||
#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
|
||||
typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
|
||||
typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
|
||||
typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
|
||||
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
|
||||
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
|
||||
typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
|
||||
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglEnableGenlockI3D (HDC hDC);
|
||||
BOOL WINAPI wglDisableGenlockI3D (HDC hDC);
|
||||
BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag);
|
||||
BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource);
|
||||
BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource);
|
||||
BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge);
|
||||
BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge);
|
||||
BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate);
|
||||
BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate);
|
||||
BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay);
|
||||
BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay);
|
||||
BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
|
||||
#endif
|
||||
#endif /* WGL_I3D_genlock */
|
||||
|
||||
#ifndef WGL_I3D_image_buffer
|
||||
#define WGL_I3D_image_buffer 1
|
||||
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
|
||||
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
|
||||
typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
|
||||
typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
|
||||
typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags);
|
||||
BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress);
|
||||
BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
|
||||
BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count);
|
||||
#endif
|
||||
#endif /* WGL_I3D_image_buffer */
|
||||
|
||||
#ifndef WGL_I3D_swap_frame_lock
|
||||
#define WGL_I3D_swap_frame_lock 1
|
||||
typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglEnableFrameLockI3D (void);
|
||||
BOOL WINAPI wglDisableFrameLockI3D (void);
|
||||
BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag);
|
||||
BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag);
|
||||
#endif
|
||||
#endif /* WGL_I3D_swap_frame_lock */
|
||||
|
||||
#ifndef WGL_I3D_swap_frame_usage
|
||||
#define WGL_I3D_swap_frame_usage 1
|
||||
typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
|
||||
typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglGetFrameUsageI3D (float *pUsage);
|
||||
BOOL WINAPI wglBeginFrameTrackingI3D (void);
|
||||
BOOL WINAPI wglEndFrameTrackingI3D (void);
|
||||
BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
|
||||
#endif
|
||||
#endif /* WGL_I3D_swap_frame_usage */
|
||||
|
||||
#ifndef WGL_NV_DX_interop
|
||||
#define WGL_NV_DX_interop 1
|
||||
#define WGL_ACCESS_READ_ONLY_NV 0x00000000
|
||||
#define WGL_ACCESS_READ_WRITE_NV 0x00000001
|
||||
#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
|
||||
typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle);
|
||||
typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice);
|
||||
typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
|
||||
typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
|
||||
typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject);
|
||||
typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access);
|
||||
typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
|
||||
typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle);
|
||||
HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice);
|
||||
BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice);
|
||||
HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
|
||||
BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject);
|
||||
BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access);
|
||||
BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
|
||||
BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
|
||||
#endif
|
||||
#endif /* WGL_NV_DX_interop */
|
||||
|
||||
#ifndef WGL_NV_DX_interop2
|
||||
#define WGL_NV_DX_interop2 1
|
||||
#endif /* WGL_NV_DX_interop2 */
|
||||
|
||||
#ifndef WGL_NV_copy_image
|
||||
#define WGL_NV_copy_image 1
|
||||
typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
|
||||
#endif
|
||||
#endif /* WGL_NV_copy_image */
|
||||
|
||||
#ifndef WGL_NV_delay_before_swap
|
||||
#define WGL_NV_delay_before_swap 1
|
||||
typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglDelayBeforeSwapNV (HDC hDC, GLfloat seconds);
|
||||
#endif
|
||||
#endif /* WGL_NV_delay_before_swap */
|
||||
|
||||
#ifndef WGL_NV_float_buffer
|
||||
#define WGL_NV_float_buffer 1
|
||||
#define WGL_FLOAT_COMPONENTS_NV 0x20B0
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
|
||||
#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
|
||||
#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
|
||||
#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
|
||||
#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
|
||||
#endif /* WGL_NV_float_buffer */
|
||||
|
||||
#ifndef WGL_NV_gpu_affinity
|
||||
#define WGL_NV_gpu_affinity 1
|
||||
DECLARE_HANDLE(HGPUNV);
|
||||
struct _GPU_DEVICE {
|
||||
DWORD cb;
|
||||
CHAR DeviceName[32];
|
||||
CHAR DeviceString[128];
|
||||
DWORD Flags;
|
||||
RECT rcVirtualScreen;
|
||||
};
|
||||
typedef struct _GPU_DEVICE *PGPU_DEVICE;
|
||||
#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
|
||||
#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
|
||||
typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
|
||||
typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
|
||||
typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
|
||||
typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
|
||||
typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu);
|
||||
BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
|
||||
HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList);
|
||||
BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
|
||||
BOOL WINAPI wglDeleteDCNV (HDC hdc);
|
||||
#endif
|
||||
#endif /* WGL_NV_gpu_affinity */
|
||||
|
||||
#ifndef WGL_NV_multisample_coverage
|
||||
#define WGL_NV_multisample_coverage 1
|
||||
#define WGL_COVERAGE_SAMPLES_NV 0x2042
|
||||
#define WGL_COLOR_SAMPLES_NV 0x20B9
|
||||
#endif /* WGL_NV_multisample_coverage */
|
||||
|
||||
#ifndef WGL_NV_present_video
|
||||
#define WGL_NV_present_video 1
|
||||
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
|
||||
#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
|
||||
typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
|
||||
typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
|
||||
BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
|
||||
BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue);
|
||||
#endif
|
||||
#endif /* WGL_NV_present_video */
|
||||
|
||||
#ifndef WGL_NV_render_depth_texture
|
||||
#define WGL_NV_render_depth_texture 1
|
||||
#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
|
||||
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
|
||||
#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
|
||||
#define WGL_DEPTH_COMPONENT_NV 0x20A7
|
||||
#endif /* WGL_NV_render_depth_texture */
|
||||
|
||||
#ifndef WGL_NV_render_texture_rectangle
|
||||
#define WGL_NV_render_texture_rectangle 1
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
|
||||
#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
|
||||
#endif /* WGL_NV_render_texture_rectangle */
|
||||
|
||||
#ifndef WGL_NV_swap_group
|
||||
#define WGL_NV_swap_group 1
|
||||
typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
|
||||
typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count);
|
||||
typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group);
|
||||
BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier);
|
||||
BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier);
|
||||
BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
|
||||
BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count);
|
||||
BOOL WINAPI wglResetFrameCountNV (HDC hDC);
|
||||
#endif
|
||||
#endif /* WGL_NV_swap_group */
|
||||
|
||||
#ifndef WGL_NV_vertex_array_range
|
||||
#define WGL_NV_vertex_array_range 1
|
||||
typedef void *(WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
|
||||
typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
void *WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
|
||||
void WINAPI wglFreeMemoryNV (void *pointer);
|
||||
#endif
|
||||
#endif /* WGL_NV_vertex_array_range */
|
||||
|
||||
#ifndef WGL_NV_video_capture
|
||||
#define WGL_NV_video_capture 1
|
||||
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
|
||||
#define WGL_UNIQUE_ID_NV 0x20CE
|
||||
#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
|
||||
typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
|
||||
typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
|
||||
typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
|
||||
UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
|
||||
BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
|
||||
BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
|
||||
BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
|
||||
#endif
|
||||
#endif /* WGL_NV_video_capture */
|
||||
|
||||
#ifndef WGL_NV_video_output
|
||||
#define WGL_NV_video_output 1
|
||||
DECLARE_HANDLE(HPVIDEODEV);
|
||||
#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
|
||||
#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
|
||||
#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
|
||||
#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
|
||||
#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
|
||||
#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
|
||||
#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
|
||||
#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
|
||||
#define WGL_VIDEO_OUT_FRAME 0x20C8
|
||||
#define WGL_VIDEO_OUT_FIELD_1 0x20C9
|
||||
#define WGL_VIDEO_OUT_FIELD_2 0x20CA
|
||||
#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
|
||||
#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
|
||||
typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
|
||||
typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
|
||||
typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
|
||||
BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice);
|
||||
BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
|
||||
BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
|
||||
#endif
|
||||
#endif /* WGL_NV_video_output */
|
||||
|
||||
#ifndef WGL_OML_sync_control
|
||||
#define WGL_OML_sync_control 1
|
||||
typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
|
||||
typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
|
||||
typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
|
||||
typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
|
||||
#ifdef WGL_WGLEXT_PROTOTYPES
|
||||
BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
|
||||
BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator);
|
||||
INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
|
||||
BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
|
||||
#endif
|
||||
#endif /* WGL_OML_sync_control */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
327
3rdparty/bzip2/CHANGES
vendored
327
3rdparty/bzip2/CHANGES
vendored
@@ -1,327 +0,0 @@
|
||||
------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------
|
||||
|
||||
|
||||
0.9.0
|
||||
~~~~~
|
||||
First version.
|
||||
|
||||
|
||||
0.9.0a
|
||||
~~~~~~
|
||||
Removed 'ranlib' from Makefile, since most modern Unix-es
|
||||
don't need it, or even know about it.
|
||||
|
||||
|
||||
0.9.0b
|
||||
~~~~~~
|
||||
Fixed a problem with error reporting in bzip2.c. This does not effect
|
||||
the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the
|
||||
program proper) compress and decompress correctly, but give misleading
|
||||
error messages (internal panics) when an I/O error occurs, instead of
|
||||
reporting the problem correctly. This shouldn't give any data loss
|
||||
(as far as I can see), but is confusing.
|
||||
|
||||
Made the inline declarations disappear for non-GCC compilers.
|
||||
|
||||
|
||||
0.9.0c
|
||||
~~~~~~
|
||||
Fixed some problems in the library pertaining to some boundary cases.
|
||||
This makes the library behave more correctly in those situations. The
|
||||
fixes apply only to features (calls and parameters) not used by
|
||||
bzip2.c, so the non-fixedness of them in previous versions has no
|
||||
effect on reliability of bzip2.c.
|
||||
|
||||
In bzlib.c:
|
||||
* made zero-length BZ_FLUSH work correctly in bzCompress().
|
||||
* fixed bzWrite/bzRead to ignore zero-length requests.
|
||||
* fixed bzread to correctly handle read requests after EOF.
|
||||
* wrong parameter order in call to bzDecompressInit in
|
||||
bzBuffToBuffDecompress. Fixed.
|
||||
|
||||
In compress.c:
|
||||
* changed setting of nGroups in sendMTFValues() so as to
|
||||
do a bit better on small files. This _does_ effect
|
||||
bzip2.c.
|
||||
|
||||
|
||||
0.9.5a
|
||||
~~~~~~
|
||||
Major change: add a fallback sorting algorithm (blocksort.c)
|
||||
to give reasonable behaviour even for very repetitive inputs.
|
||||
Nuked --repetitive-best and --repetitive-fast since they are
|
||||
no longer useful.
|
||||
|
||||
Minor changes: mostly a whole bunch of small changes/
|
||||
bugfixes in the driver (bzip2.c). Changes pertaining to the
|
||||
user interface are:
|
||||
|
||||
allow decompression of symlink'd files to stdout
|
||||
decompress/test files even without .bz2 extension
|
||||
give more accurate error messages for I/O errors
|
||||
when compressing/decompressing to stdout, don't catch control-C
|
||||
read flags from BZIP2 and BZIP environment variables
|
||||
decline to break hard links to a file unless forced with -f
|
||||
allow -c flag even with no filenames
|
||||
preserve file ownerships as far as possible
|
||||
make -s -1 give the expected block size (100k)
|
||||
add a flag -q --quiet to suppress nonessential warnings
|
||||
stop decoding flags after --, so files beginning in - can be handled
|
||||
resolved inconsistent naming: bzcat or bz2cat ?
|
||||
bzip2 --help now returns 0
|
||||
|
||||
Programming-level changes are:
|
||||
|
||||
fixed syntax error in GET_LL4 for Borland C++ 5.02
|
||||
let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
|
||||
fix overshoot of mode-string end in bzopen_or_bzdopen
|
||||
wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
|
||||
close file handles under all error conditions
|
||||
added minor mods so it compiles with DJGPP out of the box
|
||||
fixed Makefile so it doesn't give problems with BSD make
|
||||
fix uninitialised memory reads in dlltest.c
|
||||
|
||||
0.9.5b
|
||||
~~~~~~
|
||||
Open stdin/stdout in binary mode for DJGPP.
|
||||
|
||||
0.9.5c
|
||||
~~~~~~
|
||||
Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1
|
||||
version could cause the sorted order to be wrong in some extremely
|
||||
obscure cases. Also changed setting of quadrant in blocksort.c.
|
||||
|
||||
0.9.5d
|
||||
~~~~~~
|
||||
The only functional change is to make bzlibVersion() in the library
|
||||
return the correct string. This has no effect whatsoever on the
|
||||
functioning of the bzip2 program or library. Added a couple of casts
|
||||
so the library compiles without warnings at level 3 in MS Visual
|
||||
Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other
|
||||
changes are minor documentation changes.
|
||||
|
||||
1.0
|
||||
~~~
|
||||
Several minor bugfixes and enhancements:
|
||||
|
||||
* Large file support. The library uses 64-bit counters to
|
||||
count the volume of data passing through it. bzip2.c
|
||||
is now compiled with -D_FILE_OFFSET_BITS=64 to get large
|
||||
file support from the C library. -v correctly prints out
|
||||
file sizes greater than 4 gigabytes. All these changes have
|
||||
been made without assuming a 64-bit platform or a C compiler
|
||||
which supports 64-bit ints, so, except for the C library
|
||||
aspect, they are fully portable.
|
||||
|
||||
* Decompression robustness. The library/program should be
|
||||
robust to any corruption of compressed data, detecting and
|
||||
handling _all_ corruption, instead of merely relying on
|
||||
the CRCs. What this means is that the program should
|
||||
never crash, given corrupted data, and the library should
|
||||
always return BZ_DATA_ERROR.
|
||||
|
||||
* Fixed an obscure race-condition bug only ever observed on
|
||||
Solaris, in which, if you were very unlucky and issued
|
||||
control-C at exactly the wrong time, both input and output
|
||||
files would be deleted.
|
||||
|
||||
* Don't run out of file handles on test/decompression when
|
||||
large numbers of files have invalid magic numbers.
|
||||
|
||||
* Avoid library namespace pollution. Prefix all exported
|
||||
symbols with BZ2_.
|
||||
|
||||
* Minor sorting enhancements from my DCC2000 paper.
|
||||
|
||||
* Advance the version number to 1.0, so as to counteract the
|
||||
(false-in-this-case) impression some people have that programs
|
||||
with version numbers less than 1.0 are in some way, experimental,
|
||||
pre-release versions.
|
||||
|
||||
* Create an initial Makefile-libbz2_so to build a shared library.
|
||||
Yes, I know I should really use libtool et al ...
|
||||
|
||||
* Make the program exit with 2 instead of 0 when decompression
|
||||
fails due to a bad magic number (ie, an invalid bzip2 header).
|
||||
Also exit with 1 (as the manual claims :-) whenever a diagnostic
|
||||
message would have been printed AND the corresponding operation
|
||||
is aborted, for example
|
||||
bzip2: Output file xx already exists.
|
||||
When a diagnostic message is printed but the operation is not
|
||||
aborted, for example
|
||||
bzip2: Can't guess original name for wurble -- using wurble.out
|
||||
then the exit value 0 is returned, unless some other problem is
|
||||
also detected.
|
||||
|
||||
I think it corresponds more closely to what the manual claims now.
|
||||
|
||||
|
||||
1.0.1
|
||||
~~~~~
|
||||
* Modified dlltest.c so it uses the new BZ2_ naming scheme.
|
||||
* Modified makefile-msc to fix minor build probs on Win2k.
|
||||
* Updated README.COMPILATION.PROBLEMS.
|
||||
|
||||
There are no functionality changes or bug fixes relative to version
|
||||
1.0.0. This is just a documentation update + a fix for minor Win32
|
||||
build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is
|
||||
utterly pointless. Don't bother.
|
||||
|
||||
|
||||
1.0.2
|
||||
~~~~~
|
||||
A bug fix release, addressing various minor issues which have appeared
|
||||
in the 18 or so months since 1.0.1 was released. Most of the fixes
|
||||
are to do with file-handling or documentation bugs. To the best of my
|
||||
knowledge, there have been no data-loss-causing bugs reported in the
|
||||
compression/decompression engine of 1.0.0 or 1.0.1.
|
||||
|
||||
Note that this release does not improve the rather crude build system
|
||||
for Unix platforms. The general plan here is to autoconfiscate/
|
||||
libtoolise 1.0.2 soon after release, and release the result as 1.1.0
|
||||
or perhaps 1.2.0. That, however, is still just a plan at this point.
|
||||
|
||||
Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in
|
||||
parentheses.
|
||||
|
||||
* Fix an infinite segfault loop in 1.0.1 when a directory is
|
||||
encountered in -f (force) mode.
|
||||
(Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
|
||||
|
||||
* Avoid double fclose() of output file on certain I/O error paths.
|
||||
(Solar Designer)
|
||||
|
||||
* Don't fail with internal error 1007 when fed a long stream (> 48MB)
|
||||
of byte 251. Also print useful message suggesting that 1007s may be
|
||||
caused by bad memory.
|
||||
(noticed by Juan Pedro Vallejo, fixed by me)
|
||||
|
||||
* Fix uninitialised variable silly bug in demo prog dlltest.c.
|
||||
(Jorj Bauer)
|
||||
|
||||
* Remove 512-MB limitation on recovered file size for bzip2recover
|
||||
on selected platforms which support 64-bit ints. At the moment
|
||||
all GCC supported platforms, and Win32.
|
||||
(me, Alson van der Meulen)
|
||||
|
||||
* Hard-code header byte values, to give correct operation on platforms
|
||||
using EBCDIC as their native character set (IBM's OS/390).
|
||||
(Leland Lucius)
|
||||
|
||||
* Copy file access times correctly.
|
||||
(Marty Leisner)
|
||||
|
||||
* Add distclean and check targets to Makefile.
|
||||
(Michael Carmack)
|
||||
|
||||
* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS).
|
||||
(Rich Ireland, Bo Thorsen)
|
||||
|
||||
* Pass -p (create parent dirs as needed) to mkdir during make install.
|
||||
(Jeremy Fusco)
|
||||
|
||||
* Dereference symlinks when copying file permissions in -f mode.
|
||||
(Volker Schmidt)
|
||||
|
||||
* Majorly simplify implementation of uInt64_qrm10.
|
||||
(Bo Lindbergh)
|
||||
|
||||
* Check the input file still exists before deleting the output one,
|
||||
when aborting in cleanUpAndFail().
|
||||
(Joerg Prante, Robert Linden, Matthias Krings)
|
||||
|
||||
Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
|
||||
of bzip2:
|
||||
|
||||
* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
|
||||
|
||||
* Spelling changes and minor enhancements in bzip2.1.
|
||||
|
||||
* Avoid race condition between creating the output file and setting its
|
||||
interim permissions safely, by using fopen_output_safely().
|
||||
No changes to bzip2recover since there is no issue with file
|
||||
permissions there.
|
||||
|
||||
* do not print senseless report with -v when compressing an empty
|
||||
file.
|
||||
|
||||
* bzcat -f works on non-bzip2 files.
|
||||
|
||||
* do not try to escape shell meta-characters on unix (the shell takes
|
||||
care of these).
|
||||
|
||||
* added --fast and --best aliases for -1 -9 for gzip compatibility.
|
||||
|
||||
|
||||
1.0.3 (15 Feb 05)
|
||||
~~~~~~~~~~~~~~~~~
|
||||
Fixes some minor bugs since the last version, 1.0.2.
|
||||
|
||||
* Further robustification against corrupted compressed data.
|
||||
There are currently no known bitstreams which can cause the
|
||||
decompressor to crash, loop or access memory which does not
|
||||
belong to it. If you are using bzip2 or the library to
|
||||
decompress bitstreams from untrusted sources, an upgrade
|
||||
to 1.0.3 is recommended. This fixes CAN-2005-1260.
|
||||
|
||||
* The documentation has been converted to XML, from which html
|
||||
and pdf can be derived.
|
||||
|
||||
* Various minor bugs in the documentation have been fixed.
|
||||
|
||||
* Fixes for various compilation warnings with newer versions of
|
||||
gcc, and on 64-bit platforms.
|
||||
|
||||
* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
|
||||
This has been fixed.
|
||||
|
||||
|
||||
1.0.4 (20 Dec 06)
|
||||
~~~~~~~~~~~~~~~~~
|
||||
Fixes some minor bugs since the last version, 1.0.3.
|
||||
|
||||
* Fix file permissions race problem (CAN-2005-0953).
|
||||
|
||||
* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD
|
||||
scan.
|
||||
|
||||
* 'const'/prototype cleanups in the C code.
|
||||
|
||||
* Change default install location to /usr/local, and handle multiple
|
||||
'make install's without error.
|
||||
|
||||
* Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758
|
||||
to the extent that applies to bzgrep.
|
||||
|
||||
* Use 'mktemp' rather than 'tempfile' in bzdiff.
|
||||
|
||||
* Tighten up a couple of assertions in blocksort.c following automated
|
||||
analysis.
|
||||
|
||||
* Fix minor doc/comment bugs.
|
||||
|
||||
|
||||
1.0.5 (10 Dec 07)
|
||||
~~~~~~~~~~~~~~~~~
|
||||
Security fix only. Fixes CERT-FI 20469 as it applies to bzip2.
|
||||
|
||||
|
||||
1.0.6 (6 Sept 10)
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Security fix for CVE-2010-0405. This was reported by Mikolaj
|
||||
Izdebski.
|
||||
|
||||
* Make the documentation build on Ubuntu 10.04
|
||||
42
3rdparty/bzip2/LICENSE
vendored
42
3rdparty/bzip2/LICENSE
vendored
@@ -1,42 +0,0 @@
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
This program, "bzip2", the associated library "libbzip2", and all
|
||||
documentation, are copyright (C) 1996-2010 Julian R Seward. All
|
||||
rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. The origin of this software must not be misrepresented; you must
|
||||
not claim that you wrote the original software. If you use this
|
||||
software in a product, an acknowledgment in the product
|
||||
documentation would be appreciated but is not required.
|
||||
|
||||
3. Altered source versions must be plainly marked as such, and must
|
||||
not be misrepresented as being the original software.
|
||||
|
||||
4. The name of the author may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Julian Seward, jseward@bzip.org
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
215
3rdparty/bzip2/README
vendored
215
3rdparty/bzip2/README
vendored
@@ -1,215 +0,0 @@
|
||||
|
||||
This is the README for bzip2/libzip2.
|
||||
This version is fully compatible with the previous public releases.
|
||||
|
||||
------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------
|
||||
|
||||
Complete documentation is available in Postscript form (manual.ps),
|
||||
PDF (manual.pdf) or html (manual.html). A plain-text version of the
|
||||
manual page is available as bzip2.txt.
|
||||
|
||||
|
||||
HOW TO BUILD -- UNIX
|
||||
|
||||
Type 'make'. This builds the library libbz2.a and then the programs
|
||||
bzip2 and bzip2recover. Six self-tests are run. If the self-tests
|
||||
complete ok, carry on to installation:
|
||||
|
||||
To install in /usr/local/bin, /usr/local/lib, /usr/local/man and
|
||||
/usr/local/include, type
|
||||
|
||||
make install
|
||||
|
||||
To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type
|
||||
|
||||
make install PREFIX=/xxx/yyy
|
||||
|
||||
If you are (justifiably) paranoid and want to see what 'make install'
|
||||
is going to do, you can first do
|
||||
|
||||
make -n install or
|
||||
make -n install PREFIX=/xxx/yyy respectively.
|
||||
|
||||
The -n instructs make to show the commands it would execute, but not
|
||||
actually execute them.
|
||||
|
||||
|
||||
HOW TO BUILD -- UNIX, shared library libbz2.so.
|
||||
|
||||
Do 'make -f Makefile-libbz2_so'. This Makefile seems to work for
|
||||
Linux-ELF (RedHat 7.2 on an x86 box), with gcc. I make no claims
|
||||
that it works for any other platform, though I suspect it probably
|
||||
will work for most platforms employing both ELF and gcc.
|
||||
|
||||
bzip2-shared, a client of the shared library, is also built, but not
|
||||
self-tested. So I suggest you also build using the normal Makefile,
|
||||
since that conducts a self-test. A second reason to prefer the
|
||||
version statically linked to the library is that, on x86 platforms,
|
||||
building shared objects makes a valuable register (%ebx) unavailable
|
||||
to gcc, resulting in a slowdown of 10%-20%, at least for bzip2.
|
||||
|
||||
Important note for people upgrading .so's from 0.9.0/0.9.5 to version
|
||||
1.0.X. All the functions in the library have been renamed, from (eg)
|
||||
bzCompress to BZ2_bzCompress, to avoid namespace pollution.
|
||||
Unfortunately this means that the libbz2.so created by
|
||||
Makefile-libbz2_so will not work with any program which used an older
|
||||
version of the library. I do encourage library clients to make the
|
||||
effort to upgrade to use version 1.0, since it is both faster and more
|
||||
robust than previous versions.
|
||||
|
||||
|
||||
HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
|
||||
|
||||
It's difficult for me to support compilation on all these platforms.
|
||||
My approach is to collect binaries for these platforms, and put them
|
||||
on the master web site (http://www.bzip.org). Look there. However
|
||||
(FWIW), bzip2-1.0.X is very standard ANSI C and should compile
|
||||
unmodified with MS Visual C. If you have difficulties building, you
|
||||
might want to read README.COMPILATION.PROBLEMS.
|
||||
|
||||
At least using MS Visual C++ 6, you can build from the unmodified
|
||||
sources by issuing, in a command shell:
|
||||
|
||||
nmake -f makefile.msc
|
||||
|
||||
(you may need to first run the MSVC-provided script VCVARS32.BAT
|
||||
so as to set up paths to the MSVC tools correctly).
|
||||
|
||||
|
||||
VALIDATION
|
||||
|
||||
Correct operation, in the sense that a compressed file can always be
|
||||
decompressed to reproduce the original, is obviously of paramount
|
||||
importance. To validate bzip2, I used a modified version of Mark
|
||||
Nelson's churn program. Churn is an automated test driver which
|
||||
recursively traverses a directory structure, using bzip2 to compress
|
||||
and then decompress each file it encounters, and checking that the
|
||||
decompressed data is the same as the original.
|
||||
|
||||
|
||||
|
||||
Please read and be aware of the following:
|
||||
|
||||
WARNING:
|
||||
|
||||
This program and library (attempts to) compress data by
|
||||
performing several non-trivial transformations on it.
|
||||
Unless you are 100% familiar with *all* the algorithms
|
||||
contained herein, and with the consequences of modifying them,
|
||||
you should NOT meddle with the compression or decompression
|
||||
machinery. Incorrect changes can and very likely *will*
|
||||
lead to disastrous loss of data.
|
||||
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
|
||||
USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED.
|
||||
|
||||
Every compression of a file implies an assumption that the
|
||||
compressed file can be decompressed to reproduce the original.
|
||||
Great efforts in design, coding and testing have been made to
|
||||
ensure that this program works correctly. However, the complexity
|
||||
of the algorithms, and, in particular, the presence of various
|
||||
special cases in the code which occur with very low but non-zero
|
||||
probability make it impossible to rule out the possibility of bugs
|
||||
remaining in the program. DO NOT COMPRESS ANY DATA WITH THIS
|
||||
PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
|
||||
SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
|
||||
|
||||
That is not to say this program is inherently unreliable.
|
||||
Indeed, I very much hope the opposite is true. bzip2/libbzip2
|
||||
has been carefully constructed and extensively tested.
|
||||
|
||||
|
||||
PATENTS:
|
||||
|
||||
To the best of my knowledge, bzip2/libbzip2 does not use any
|
||||
patented algorithms. However, I do not have the resources
|
||||
to carry out a patent search. Therefore I cannot give any
|
||||
guarantee of the above statement.
|
||||
|
||||
|
||||
|
||||
WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ?
|
||||
|
||||
* Approx 10% faster compression, 30% faster decompression
|
||||
* -t (test mode) is a lot quicker
|
||||
* Can decompress concatenated compressed files
|
||||
* Programming interface, so programs can directly read/write .bz2 files
|
||||
* Less restrictive (BSD-style) licensing
|
||||
* Flag handling more compatible with GNU gzip
|
||||
* Much more documentation, i.e., a proper user manual
|
||||
* Hopefully, improved portability (at least of the library)
|
||||
|
||||
WHAT'S NEW IN 0.9.5 ?
|
||||
|
||||
* Compression speed is much less sensitive to the input
|
||||
data than in previous versions. Specifically, the very
|
||||
slow performance caused by repetitive data is fixed.
|
||||
* Many small improvements in file and flag handling.
|
||||
* A Y2K statement.
|
||||
|
||||
WHAT'S NEW IN 1.0.0 ?
|
||||
|
||||
See the CHANGES file.
|
||||
|
||||
WHAT'S NEW IN 1.0.2 ?
|
||||
|
||||
See the CHANGES file.
|
||||
|
||||
WHAT'S NEW IN 1.0.3 ?
|
||||
|
||||
See the CHANGES file.
|
||||
|
||||
WHAT'S NEW IN 1.0.4 ?
|
||||
|
||||
See the CHANGES file.
|
||||
|
||||
WHAT'S NEW IN 1.0.5 ?
|
||||
|
||||
See the CHANGES file.
|
||||
|
||||
WHAT'S NEW IN 1.0.6 ?
|
||||
|
||||
See the CHANGES file.
|
||||
|
||||
|
||||
I hope you find bzip2 useful. Feel free to contact me at
|
||||
jseward@bzip.org
|
||||
if you have any suggestions or queries. Many people mailed me with
|
||||
comments, suggestions and patches after the releases of bzip-0.15,
|
||||
bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
|
||||
1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this
|
||||
feedback. I thank you for your comments.
|
||||
|
||||
bzip2's "home" is http://www.bzip.org/
|
||||
|
||||
Julian Seward
|
||||
jseward@bzip.org
|
||||
Cambridge, UK.
|
||||
|
||||
18 July 1996 (version 0.15)
|
||||
25 August 1996 (version 0.21)
|
||||
7 August 1997 (bzip2, version 0.1)
|
||||
29 August 1997 (bzip2, version 0.1pl2)
|
||||
23 August 1998 (bzip2, version 0.9.0)
|
||||
8 June 1999 (bzip2, version 0.9.5)
|
||||
4 Sept 1999 (bzip2, version 0.9.5d)
|
||||
5 May 2000 (bzip2, version 1.0pre8)
|
||||
30 December 2001 (bzip2, version 1.0.2pre1)
|
||||
15 February 2005 (bzip2, version 1.0.3)
|
||||
20 December 2006 (bzip2, version 1.0.4)
|
||||
10 December 2007 (bzip2, version 1.0.5)
|
||||
6 Sept 2010 (bzip2, version 1.0.6)
|
||||
1094
3rdparty/bzip2/blocksort.c
vendored
1094
3rdparty/bzip2/blocksort.c
vendored
File diff suppressed because it is too large
Load Diff
96
3rdparty/bzip2/bzip2.vcxproj
vendored
96
3rdparty/bzip2/bzip2.vcxproj
vendored
@@ -1,96 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Devel|Win32">
|
||||
<Configuration>Devel</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F4EB4AB2-C595-4B05-8BC0-059024BC796C}</ProjectGuid>
|
||||
<RootNamespace>bzip2</RootNamespace>
|
||||
<ProjectName>bzip2</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Devel|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Devel|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\DefaultProjectRootDir.props" />
|
||||
<Import Project="..\3rdparty.props" />
|
||||
<Import Project="..\..\common\vsprops\CodeGen_Devel.props" />
|
||||
<Import Project="..\..\common\vsprops\IncrementalLinking.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\DefaultProjectRootDir.props" />
|
||||
<Import Project="..\3rdparty.props" />
|
||||
<Import Project="..\..\common\vsprops\CodeGen_Release.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\DefaultProjectRootDir.props" />
|
||||
<Import Project="..\3rdparty.props" />
|
||||
<Import Project="..\..\common\vsprops\CodeGen_Debug.props" />
|
||||
<Import Project="..\..\common\vsprops\IncrementalLinking.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Devel|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Devel|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Devel|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Devel|Win32'">$(ProjectName)-dev</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="blocksort.c" />
|
||||
<ClCompile Include="bzlib.c" />
|
||||
<ClCompile Include="compress.c" />
|
||||
<ClCompile Include="crctable.c" />
|
||||
<ClCompile Include="decompress.c" />
|
||||
<ClCompile Include="huffman.c" />
|
||||
<ClCompile Include="randtable.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="bzlib.h" />
|
||||
<ClInclude Include="bzlib_private.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
44
3rdparty/bzip2/bzip2.vcxproj.filters
vendored
44
3rdparty/bzip2/bzip2.vcxproj.filters
vendored
@@ -1,44 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="blocksort.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="bzlib.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="compress.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="crctable.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="decompress.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="huffman.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="randtable.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="bzlib.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="bzlib_private.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
1572
3rdparty/bzip2/bzlib.c
vendored
1572
3rdparty/bzip2/bzlib.c
vendored
File diff suppressed because it is too large
Load Diff
282
3rdparty/bzip2/bzlib.h
vendored
282
3rdparty/bzip2/bzlib.h
vendored
@@ -1,282 +0,0 @@
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Public header file for the library. ---*/
|
||||
/*--- bzlib.h ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------ */
|
||||
|
||||
|
||||
#ifndef _BZLIB_H
|
||||
#define _BZLIB_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define BZ_RUN 0
|
||||
#define BZ_FLUSH 1
|
||||
#define BZ_FINISH 2
|
||||
|
||||
#define BZ_OK 0
|
||||
#define BZ_RUN_OK 1
|
||||
#define BZ_FLUSH_OK 2
|
||||
#define BZ_FINISH_OK 3
|
||||
#define BZ_STREAM_END 4
|
||||
#define BZ_SEQUENCE_ERROR (-1)
|
||||
#define BZ_PARAM_ERROR (-2)
|
||||
#define BZ_MEM_ERROR (-3)
|
||||
#define BZ_DATA_ERROR (-4)
|
||||
#define BZ_DATA_ERROR_MAGIC (-5)
|
||||
#define BZ_IO_ERROR (-6)
|
||||
#define BZ_UNEXPECTED_EOF (-7)
|
||||
#define BZ_OUTBUFF_FULL (-8)
|
||||
#define BZ_CONFIG_ERROR (-9)
|
||||
|
||||
typedef
|
||||
struct {
|
||||
char *next_in;
|
||||
unsigned int avail_in;
|
||||
unsigned int total_in_lo32;
|
||||
unsigned int total_in_hi32;
|
||||
|
||||
char *next_out;
|
||||
unsigned int avail_out;
|
||||
unsigned int total_out_lo32;
|
||||
unsigned int total_out_hi32;
|
||||
|
||||
void *state;
|
||||
|
||||
void *(*bzalloc)(void *,int,int);
|
||||
void (*bzfree)(void *,void *);
|
||||
void *opaque;
|
||||
}
|
||||
bz_stream;
|
||||
|
||||
|
||||
#ifndef BZ_IMPORT
|
||||
#define BZ_EXPORT
|
||||
#endif
|
||||
|
||||
#ifndef BZ_NO_STDIO
|
||||
/* Need a definitition for FILE */
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
# include <windows.h>
|
||||
# ifdef small
|
||||
/* windows.h define small to char */
|
||||
# undef small
|
||||
# endif
|
||||
# ifdef BZ_EXPORT
|
||||
# define BZ_API(func) WINAPI func
|
||||
# define BZ_EXTERN extern
|
||||
# else
|
||||
/* import windows dll dynamically */
|
||||
# define BZ_API(func) (WINAPI * func)
|
||||
# define BZ_EXTERN
|
||||
# endif
|
||||
#else
|
||||
# define BZ_API(func) func
|
||||
# define BZ_EXTERN extern
|
||||
#endif
|
||||
|
||||
|
||||
/*-- Core (low-level) library functions --*/
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
|
||||
bz_stream* strm,
|
||||
int blockSize100k,
|
||||
int verbosity,
|
||||
int workFactor
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzCompress) (
|
||||
bz_stream* strm,
|
||||
int action
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
|
||||
bz_stream* strm
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
|
||||
bz_stream *strm,
|
||||
int verbosity,
|
||||
int small
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzDecompress) (
|
||||
bz_stream* strm
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
|
||||
bz_stream *strm
|
||||
);
|
||||
|
||||
|
||||
|
||||
/*-- High(er) level library functions --*/
|
||||
|
||||
#ifndef BZ_NO_STDIO
|
||||
#define BZ_MAX_UNUSED 5000
|
||||
|
||||
typedef void BZFILE;
|
||||
|
||||
BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
|
||||
int* bzerror,
|
||||
FILE* f,
|
||||
int verbosity,
|
||||
int small,
|
||||
void* unused,
|
||||
int nUnused
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzReadClose) (
|
||||
int* bzerror,
|
||||
BZFILE* b
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
void** unused,
|
||||
int* nUnused
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzRead) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
|
||||
int* bzerror,
|
||||
FILE* f,
|
||||
int blockSize100k,
|
||||
int verbosity,
|
||||
int workFactor
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzWrite) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
int abandon,
|
||||
unsigned int* nbytes_in,
|
||||
unsigned int* nbytes_out
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
int abandon,
|
||||
unsigned int* nbytes_in_lo32,
|
||||
unsigned int* nbytes_in_hi32,
|
||||
unsigned int* nbytes_out_lo32,
|
||||
unsigned int* nbytes_out_hi32
|
||||
);
|
||||
#endif
|
||||
|
||||
|
||||
/*-- Utility functions --*/
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
|
||||
char* dest,
|
||||
unsigned int* destLen,
|
||||
char* source,
|
||||
unsigned int sourceLen,
|
||||
int blockSize100k,
|
||||
int verbosity,
|
||||
int workFactor
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
|
||||
char* dest,
|
||||
unsigned int* destLen,
|
||||
char* source,
|
||||
unsigned int sourceLen,
|
||||
int small,
|
||||
int verbosity
|
||||
);
|
||||
|
||||
|
||||
/*--
|
||||
Code contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
|
||||
to support better zlib compatibility.
|
||||
This code is not _officially_ part of libbzip2 (yet);
|
||||
I haven't tested it, documented it, or considered the
|
||||
threading-safeness of it.
|
||||
If this code breaks, please contact both Yoshioka and me.
|
||||
--*/
|
||||
|
||||
BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
|
||||
void
|
||||
);
|
||||
|
||||
#ifndef BZ_NO_STDIO
|
||||
BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
|
||||
const char *path,
|
||||
const char *mode
|
||||
);
|
||||
|
||||
BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
|
||||
int fd,
|
||||
const char *mode
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzread) (
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzwrite) (
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzflush) (
|
||||
BZFILE* b
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzclose) (
|
||||
BZFILE* b
|
||||
);
|
||||
|
||||
BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
|
||||
BZFILE *b,
|
||||
int *errnum
|
||||
);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end bzlib.h ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
509
3rdparty/bzip2/bzlib_private.h
vendored
509
3rdparty/bzip2/bzlib_private.h
vendored
@@ -1,509 +0,0 @@
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Private header file for the library. ---*/
|
||||
/*--- bzlib_private.h ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------ */
|
||||
|
||||
|
||||
#ifndef _BZLIB_PRIVATE_H
|
||||
#define _BZLIB_PRIVATE_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifndef BZ_NO_STDIO
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#include "bzlib.h"
|
||||
|
||||
|
||||
|
||||
/*-- General stuff. --*/
|
||||
|
||||
#define BZ_VERSION "1.0.6, 6-Sept-2010"
|
||||
|
||||
typedef char Char;
|
||||
typedef unsigned char Bool;
|
||||
typedef unsigned char UChar;
|
||||
typedef int Int32;
|
||||
typedef unsigned int UInt32;
|
||||
typedef short Int16;
|
||||
typedef unsigned short UInt16;
|
||||
|
||||
#define True ((Bool)1)
|
||||
#define False ((Bool)0)
|
||||
|
||||
#ifndef __GNUC__
|
||||
#define __inline__ /* */
|
||||
#endif
|
||||
|
||||
#ifndef BZ_NO_STDIO
|
||||
|
||||
extern void BZ2_bz__AssertH__fail ( int errcode );
|
||||
#define AssertH(cond,errcode) \
|
||||
{ if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
|
||||
|
||||
#if BZ_DEBUG
|
||||
#define AssertD(cond,msg) \
|
||||
{ if (!(cond)) { \
|
||||
fprintf ( stderr, \
|
||||
"\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
|
||||
exit(1); \
|
||||
}}
|
||||
#else
|
||||
#define AssertD(cond,msg) /* */
|
||||
#endif
|
||||
|
||||
#define VPrintf0(zf) \
|
||||
fprintf(stderr,zf)
|
||||
#define VPrintf1(zf,za1) \
|
||||
fprintf(stderr,zf,za1)
|
||||
#define VPrintf2(zf,za1,za2) \
|
||||
fprintf(stderr,zf,za1,za2)
|
||||
#define VPrintf3(zf,za1,za2,za3) \
|
||||
fprintf(stderr,zf,za1,za2,za3)
|
||||
#define VPrintf4(zf,za1,za2,za3,za4) \
|
||||
fprintf(stderr,zf,za1,za2,za3,za4)
|
||||
#define VPrintf5(zf,za1,za2,za3,za4,za5) \
|
||||
fprintf(stderr,zf,za1,za2,za3,za4,za5)
|
||||
|
||||
#else
|
||||
|
||||
extern void bz_internal_error ( int errcode );
|
||||
#define AssertH(cond,errcode) \
|
||||
{ if (!(cond)) bz_internal_error ( errcode ); }
|
||||
#define AssertD(cond,msg) do { } while (0)
|
||||
#define VPrintf0(zf) do { } while (0)
|
||||
#define VPrintf1(zf,za1) do { } while (0)
|
||||
#define VPrintf2(zf,za1,za2) do { } while (0)
|
||||
#define VPrintf3(zf,za1,za2,za3) do { } while (0)
|
||||
#define VPrintf4(zf,za1,za2,za3,za4) do { } while (0)
|
||||
#define VPrintf5(zf,za1,za2,za3,za4,za5) do { } while (0)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
|
||||
#define BZFREE(ppp) (strm->bzfree)(strm->opaque,(ppp))
|
||||
|
||||
|
||||
/*-- Header bytes. --*/
|
||||
|
||||
#define BZ_HDR_B 0x42 /* 'B' */
|
||||
#define BZ_HDR_Z 0x5a /* 'Z' */
|
||||
#define BZ_HDR_h 0x68 /* 'h' */
|
||||
#define BZ_HDR_0 0x30 /* '0' */
|
||||
|
||||
/*-- Constants for the back end. --*/
|
||||
|
||||
#define BZ_MAX_ALPHA_SIZE 258
|
||||
#define BZ_MAX_CODE_LEN 23
|
||||
|
||||
#define BZ_RUNA 0
|
||||
#define BZ_RUNB 1
|
||||
|
||||
#define BZ_N_GROUPS 6
|
||||
#define BZ_G_SIZE 50
|
||||
#define BZ_N_ITERS 4
|
||||
|
||||
#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
|
||||
|
||||
|
||||
|
||||
/*-- Stuff for randomising repetitive blocks. --*/
|
||||
|
||||
extern Int32 BZ2_rNums[512];
|
||||
|
||||
#define BZ_RAND_DECLS \
|
||||
Int32 rNToGo; \
|
||||
Int32 rTPos \
|
||||
|
||||
#define BZ_RAND_INIT_MASK \
|
||||
s->rNToGo = 0; \
|
||||
s->rTPos = 0 \
|
||||
|
||||
#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
|
||||
|
||||
#define BZ_RAND_UPD_MASK \
|
||||
if (s->rNToGo == 0) { \
|
||||
s->rNToGo = BZ2_rNums[s->rTPos]; \
|
||||
s->rTPos++; \
|
||||
if (s->rTPos == 512) s->rTPos = 0; \
|
||||
} \
|
||||
s->rNToGo--;
|
||||
|
||||
|
||||
|
||||
/*-- Stuff for doing CRCs. --*/
|
||||
|
||||
extern UInt32 BZ2_crc32Table[256];
|
||||
|
||||
#define BZ_INITIALISE_CRC(crcVar) \
|
||||
{ \
|
||||
crcVar = 0xffffffffL; \
|
||||
}
|
||||
|
||||
#define BZ_FINALISE_CRC(crcVar) \
|
||||
{ \
|
||||
crcVar = ~(crcVar); \
|
||||
}
|
||||
|
||||
#define BZ_UPDATE_CRC(crcVar,cha) \
|
||||
{ \
|
||||
crcVar = (crcVar << 8) ^ \
|
||||
BZ2_crc32Table[(crcVar >> 24) ^ \
|
||||
((UChar)cha)]; \
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-- States and modes for compression. --*/
|
||||
|
||||
#define BZ_M_IDLE 1
|
||||
#define BZ_M_RUNNING 2
|
||||
#define BZ_M_FLUSHING 3
|
||||
#define BZ_M_FINISHING 4
|
||||
|
||||
#define BZ_S_OUTPUT 1
|
||||
#define BZ_S_INPUT 2
|
||||
|
||||
#define BZ_N_RADIX 2
|
||||
#define BZ_N_QSORT 12
|
||||
#define BZ_N_SHELL 18
|
||||
#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
|
||||
|
||||
|
||||
|
||||
|
||||
/*-- Structure holding all the compression-side stuff. --*/
|
||||
|
||||
typedef
|
||||
struct {
|
||||
/* pointer back to the struct bz_stream */
|
||||
bz_stream* strm;
|
||||
|
||||
/* mode this stream is in, and whether inputting */
|
||||
/* or outputting data */
|
||||
Int32 mode;
|
||||
Int32 state;
|
||||
|
||||
/* remembers avail_in when flush/finish requested */
|
||||
UInt32 avail_in_expect;
|
||||
|
||||
/* for doing the block sorting */
|
||||
UInt32* arr1;
|
||||
UInt32* arr2;
|
||||
UInt32* ftab;
|
||||
Int32 origPtr;
|
||||
|
||||
/* aliases for arr1 and arr2 */
|
||||
UInt32* ptr;
|
||||
UChar* block;
|
||||
UInt16* mtfv;
|
||||
UChar* zbits;
|
||||
|
||||
/* for deciding when to use the fallback sorting algorithm */
|
||||
Int32 workFactor;
|
||||
|
||||
/* run-length-encoding of the input */
|
||||
UInt32 state_in_ch;
|
||||
Int32 state_in_len;
|
||||
BZ_RAND_DECLS;
|
||||
|
||||
/* input and output limits and current posns */
|
||||
Int32 nblock;
|
||||
Int32 nblockMAX;
|
||||
Int32 numZ;
|
||||
Int32 state_out_pos;
|
||||
|
||||
/* map of bytes used in block */
|
||||
Int32 nInUse;
|
||||
Bool inUse[256];
|
||||
UChar unseqToSeq[256];
|
||||
|
||||
/* the buffer for bit stream creation */
|
||||
UInt32 bsBuff;
|
||||
Int32 bsLive;
|
||||
|
||||
/* block and combined CRCs */
|
||||
UInt32 blockCRC;
|
||||
UInt32 combinedCRC;
|
||||
|
||||
/* misc administratium */
|
||||
Int32 verbosity;
|
||||
Int32 blockNo;
|
||||
Int32 blockSize100k;
|
||||
|
||||
/* stuff for coding the MTF values */
|
||||
Int32 nMTF;
|
||||
Int32 mtfFreq [BZ_MAX_ALPHA_SIZE];
|
||||
UChar selector [BZ_MAX_SELECTORS];
|
||||
UChar selectorMtf[BZ_MAX_SELECTORS];
|
||||
|
||||
UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
Int32 code [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
Int32 rfreq [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
/* second dimension: only 3 needed; 4 makes index calculations faster */
|
||||
UInt32 len_pack[BZ_MAX_ALPHA_SIZE][4];
|
||||
|
||||
}
|
||||
EState;
|
||||
|
||||
|
||||
|
||||
/*-- externs for compression. --*/
|
||||
|
||||
extern void
|
||||
BZ2_blockSort ( EState* );
|
||||
|
||||
extern void
|
||||
BZ2_compressBlock ( EState*, Bool );
|
||||
|
||||
extern void
|
||||
BZ2_bsInitWrite ( EState* );
|
||||
|
||||
extern void
|
||||
BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
|
||||
|
||||
extern void
|
||||
BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
|
||||
|
||||
|
||||
|
||||
/*-- states for decompression. --*/
|
||||
|
||||
#define BZ_X_IDLE 1
|
||||
#define BZ_X_OUTPUT 2
|
||||
|
||||
#define BZ_X_MAGIC_1 10
|
||||
#define BZ_X_MAGIC_2 11
|
||||
#define BZ_X_MAGIC_3 12
|
||||
#define BZ_X_MAGIC_4 13
|
||||
#define BZ_X_BLKHDR_1 14
|
||||
#define BZ_X_BLKHDR_2 15
|
||||
#define BZ_X_BLKHDR_3 16
|
||||
#define BZ_X_BLKHDR_4 17
|
||||
#define BZ_X_BLKHDR_5 18
|
||||
#define BZ_X_BLKHDR_6 19
|
||||
#define BZ_X_BCRC_1 20
|
||||
#define BZ_X_BCRC_2 21
|
||||
#define BZ_X_BCRC_3 22
|
||||
#define BZ_X_BCRC_4 23
|
||||
#define BZ_X_RANDBIT 24
|
||||
#define BZ_X_ORIGPTR_1 25
|
||||
#define BZ_X_ORIGPTR_2 26
|
||||
#define BZ_X_ORIGPTR_3 27
|
||||
#define BZ_X_MAPPING_1 28
|
||||
#define BZ_X_MAPPING_2 29
|
||||
#define BZ_X_SELECTOR_1 30
|
||||
#define BZ_X_SELECTOR_2 31
|
||||
#define BZ_X_SELECTOR_3 32
|
||||
#define BZ_X_CODING_1 33
|
||||
#define BZ_X_CODING_2 34
|
||||
#define BZ_X_CODING_3 35
|
||||
#define BZ_X_MTF_1 36
|
||||
#define BZ_X_MTF_2 37
|
||||
#define BZ_X_MTF_3 38
|
||||
#define BZ_X_MTF_4 39
|
||||
#define BZ_X_MTF_5 40
|
||||
#define BZ_X_MTF_6 41
|
||||
#define BZ_X_ENDHDR_2 42
|
||||
#define BZ_X_ENDHDR_3 43
|
||||
#define BZ_X_ENDHDR_4 44
|
||||
#define BZ_X_ENDHDR_5 45
|
||||
#define BZ_X_ENDHDR_6 46
|
||||
#define BZ_X_CCRC_1 47
|
||||
#define BZ_X_CCRC_2 48
|
||||
#define BZ_X_CCRC_3 49
|
||||
#define BZ_X_CCRC_4 50
|
||||
|
||||
|
||||
|
||||
/*-- Constants for the fast MTF decoder. --*/
|
||||
|
||||
#define MTFA_SIZE 4096
|
||||
#define MTFL_SIZE 16
|
||||
|
||||
|
||||
|
||||
/*-- Structure holding all the decompression-side stuff. --*/
|
||||
|
||||
typedef
|
||||
struct {
|
||||
/* pointer back to the struct bz_stream */
|
||||
bz_stream* strm;
|
||||
|
||||
/* state indicator for this stream */
|
||||
Int32 state;
|
||||
|
||||
/* for doing the final run-length decoding */
|
||||
UChar state_out_ch;
|
||||
Int32 state_out_len;
|
||||
Bool blockRandomised;
|
||||
BZ_RAND_DECLS;
|
||||
|
||||
/* the buffer for bit stream reading */
|
||||
UInt32 bsBuff;
|
||||
Int32 bsLive;
|
||||
|
||||
/* misc administratium */
|
||||
Int32 blockSize100k;
|
||||
Bool smallDecompress;
|
||||
Int32 currBlockNo;
|
||||
Int32 verbosity;
|
||||
|
||||
/* for undoing the Burrows-Wheeler transform */
|
||||
Int32 origPtr;
|
||||
UInt32 tPos;
|
||||
Int32 k0;
|
||||
Int32 unzftab[256];
|
||||
Int32 nblock_used;
|
||||
Int32 cftab[257];
|
||||
Int32 cftabCopy[257];
|
||||
|
||||
/* for undoing the Burrows-Wheeler transform (FAST) */
|
||||
UInt32 *tt;
|
||||
|
||||
/* for undoing the Burrows-Wheeler transform (SMALL) */
|
||||
UInt16 *ll16;
|
||||
UChar *ll4;
|
||||
|
||||
/* stored and calculated CRCs */
|
||||
UInt32 storedBlockCRC;
|
||||
UInt32 storedCombinedCRC;
|
||||
UInt32 calculatedBlockCRC;
|
||||
UInt32 calculatedCombinedCRC;
|
||||
|
||||
/* map of bytes used in block */
|
||||
Int32 nInUse;
|
||||
Bool inUse[256];
|
||||
Bool inUse16[16];
|
||||
UChar seqToUnseq[256];
|
||||
|
||||
/* for decoding the MTF values */
|
||||
UChar mtfa [MTFA_SIZE];
|
||||
Int32 mtfbase[256 / MTFL_SIZE];
|
||||
UChar selector [BZ_MAX_SELECTORS];
|
||||
UChar selectorMtf[BZ_MAX_SELECTORS];
|
||||
UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
|
||||
Int32 limit [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
Int32 base [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
Int32 perm [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
Int32 minLens[BZ_N_GROUPS];
|
||||
|
||||
/* save area for scalars in the main decompress code */
|
||||
Int32 save_i;
|
||||
Int32 save_j;
|
||||
Int32 save_t;
|
||||
Int32 save_alphaSize;
|
||||
Int32 save_nGroups;
|
||||
Int32 save_nSelectors;
|
||||
Int32 save_EOB;
|
||||
Int32 save_groupNo;
|
||||
Int32 save_groupPos;
|
||||
Int32 save_nextSym;
|
||||
Int32 save_nblockMAX;
|
||||
Int32 save_nblock;
|
||||
Int32 save_es;
|
||||
Int32 save_N;
|
||||
Int32 save_curr;
|
||||
Int32 save_zt;
|
||||
Int32 save_zn;
|
||||
Int32 save_zvec;
|
||||
Int32 save_zj;
|
||||
Int32 save_gSel;
|
||||
Int32 save_gMinlen;
|
||||
Int32* save_gLimit;
|
||||
Int32* save_gBase;
|
||||
Int32* save_gPerm;
|
||||
|
||||
}
|
||||
DState;
|
||||
|
||||
|
||||
|
||||
/*-- Macros for decompression. --*/
|
||||
|
||||
#define BZ_GET_FAST(cccc) \
|
||||
/* c_tPos is unsigned, hence test < 0 is pointless. */ \
|
||||
if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
|
||||
s->tPos = s->tt[s->tPos]; \
|
||||
cccc = (UChar)(s->tPos & 0xff); \
|
||||
s->tPos >>= 8;
|
||||
|
||||
#define BZ_GET_FAST_C(cccc) \
|
||||
/* c_tPos is unsigned, hence test < 0 is pointless. */ \
|
||||
if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
|
||||
c_tPos = c_tt[c_tPos]; \
|
||||
cccc = (UChar)(c_tPos & 0xff); \
|
||||
c_tPos >>= 8;
|
||||
|
||||
#define SET_LL4(i,n) \
|
||||
{ if (((i) & 0x1) == 0) \
|
||||
s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else \
|
||||
s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4); \
|
||||
}
|
||||
|
||||
#define GET_LL4(i) \
|
||||
((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
|
||||
|
||||
#define SET_LL(i,n) \
|
||||
{ s->ll16[i] = (UInt16)(n & 0x0000ffff); \
|
||||
SET_LL4(i, n >> 16); \
|
||||
}
|
||||
|
||||
#define GET_LL(i) \
|
||||
(((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
|
||||
|
||||
#define BZ_GET_SMALL(cccc) \
|
||||
/* c_tPos is unsigned, hence test < 0 is pointless. */ \
|
||||
if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
|
||||
cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
|
||||
s->tPos = GET_LL(s->tPos);
|
||||
|
||||
|
||||
/*-- externs for decompression. --*/
|
||||
|
||||
extern Int32
|
||||
BZ2_indexIntoF ( Int32, Int32* );
|
||||
|
||||
extern Int32
|
||||
BZ2_decompress ( DState* );
|
||||
|
||||
extern void
|
||||
BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
|
||||
Int32, Int32, Int32 );
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
|
||||
|
||||
#ifdef BZ_NO_STDIO
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end bzlib_private.h ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
672
3rdparty/bzip2/compress.c
vendored
672
3rdparty/bzip2/compress.c
vendored
@@ -1,672 +0,0 @@
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Compression machinery (not incl block sorting) ---*/
|
||||
/*--- compress.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------ */
|
||||
|
||||
|
||||
/* CHANGES
|
||||
0.9.0 -- original version.
|
||||
0.9.0a/b -- no changes in this file.
|
||||
0.9.0c -- changed setting of nGroups in sendMTFValues()
|
||||
so as to do a bit better on small files
|
||||
*/
|
||||
|
||||
#include "bzlib_private.h"
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
/*--- Bit stream I/O ---*/
|
||||
/*---------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
void BZ2_bsInitWrite ( EState* s )
|
||||
{
|
||||
s->bsLive = 0;
|
||||
s->bsBuff = 0;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
static
|
||||
void bsFinishWrite ( EState* s )
|
||||
{
|
||||
while (s->bsLive > 0) {
|
||||
s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);
|
||||
s->numZ++;
|
||||
s->bsBuff <<= 8;
|
||||
s->bsLive -= 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
#define bsNEEDW(nz) \
|
||||
{ \
|
||||
while (s->bsLive >= 8) { \
|
||||
s->zbits[s->numZ] \
|
||||
= (UChar)(s->bsBuff >> 24); \
|
||||
s->numZ++; \
|
||||
s->bsBuff <<= 8; \
|
||||
s->bsLive -= 8; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
static
|
||||
__inline__
|
||||
void bsW ( EState* s, Int32 n, UInt32 v )
|
||||
{
|
||||
bsNEEDW ( n );
|
||||
s->bsBuff |= (v << (32 - s->bsLive - n));
|
||||
s->bsLive += n;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
static
|
||||
void bsPutUInt32 ( EState* s, UInt32 u )
|
||||
{
|
||||
bsW ( s, 8, (u >> 24) & 0xffL );
|
||||
bsW ( s, 8, (u >> 16) & 0xffL );
|
||||
bsW ( s, 8, (u >> 8) & 0xffL );
|
||||
bsW ( s, 8, u & 0xffL );
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
static
|
||||
void bsPutUChar ( EState* s, UChar c )
|
||||
{
|
||||
bsW( s, 8, (UInt32)c );
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
/*--- The back end proper ---*/
|
||||
/*---------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
static
|
||||
void makeMaps_e ( EState* s )
|
||||
{
|
||||
Int32 i;
|
||||
s->nInUse = 0;
|
||||
for (i = 0; i < 256; i++)
|
||||
if (s->inUse[i]) {
|
||||
s->unseqToSeq[i] = s->nInUse;
|
||||
s->nInUse++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
static
|
||||
void generateMTFValues ( EState* s )
|
||||
{
|
||||
UChar yy[256];
|
||||
Int32 i, j;
|
||||
Int32 zPend;
|
||||
Int32 wr;
|
||||
Int32 EOB;
|
||||
|
||||
/*
|
||||
After sorting (eg, here),
|
||||
s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,
|
||||
and
|
||||
((UChar*)s->arr2) [ 0 .. s->nblock-1 ]
|
||||
holds the original block data.
|
||||
|
||||
The first thing to do is generate the MTF values,
|
||||
and put them in
|
||||
((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].
|
||||
Because there are strictly fewer or equal MTF values
|
||||
than block values, ptr values in this area are overwritten
|
||||
with MTF values only when they are no longer needed.
|
||||
|
||||
The final compressed bitstream is generated into the
|
||||
area starting at
|
||||
(UChar*) (&((UChar*)s->arr2)[s->nblock])
|
||||
|
||||
These storage aliases are set up in bzCompressInit(),
|
||||
except for the last one, which is arranged in
|
||||
compressBlock().
|
||||
*/
|
||||
UInt32* ptr = s->ptr;
|
||||
UChar* block = s->block;
|
||||
UInt16* mtfv = s->mtfv;
|
||||
|
||||
makeMaps_e ( s );
|
||||
EOB = s->nInUse+1;
|
||||
|
||||
for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
|
||||
|
||||
wr = 0;
|
||||
zPend = 0;
|
||||
for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
|
||||
|
||||
for (i = 0; i < s->nblock; i++) {
|
||||
UChar ll_i;
|
||||
AssertD ( wr <= i, "generateMTFValues(1)" );
|
||||
j = ptr[i]-1; if (j < 0) j += s->nblock;
|
||||
ll_i = s->unseqToSeq[block[j]];
|
||||
AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );
|
||||
|
||||
if (yy[0] == ll_i) {
|
||||
zPend++;
|
||||
} else {
|
||||
|
||||
if (zPend > 0) {
|
||||
zPend--;
|
||||
while (True) {
|
||||
if (zPend & 1) {
|
||||
mtfv[wr] = BZ_RUNB; wr++;
|
||||
s->mtfFreq[BZ_RUNB]++;
|
||||
} else {
|
||||
mtfv[wr] = BZ_RUNA; wr++;
|
||||
s->mtfFreq[BZ_RUNA]++;
|
||||
}
|
||||
if (zPend < 2) break;
|
||||
zPend = (zPend - 2) / 2;
|
||||
};
|
||||
zPend = 0;
|
||||
}
|
||||
{
|
||||
register UChar rtmp;
|
||||
register UChar* ryy_j;
|
||||
register UChar rll_i;
|
||||
rtmp = yy[1];
|
||||
yy[1] = yy[0];
|
||||
ryy_j = &(yy[1]);
|
||||
rll_i = ll_i;
|
||||
while ( rll_i != rtmp ) {
|
||||
register UChar rtmp2;
|
||||
ryy_j++;
|
||||
rtmp2 = rtmp;
|
||||
rtmp = *ryy_j;
|
||||
*ryy_j = rtmp2;
|
||||
};
|
||||
yy[0] = rtmp;
|
||||
j = ryy_j - &(yy[0]);
|
||||
mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (zPend > 0) {
|
||||
zPend--;
|
||||
while (True) {
|
||||
if (zPend & 1) {
|
||||
mtfv[wr] = BZ_RUNB; wr++;
|
||||
s->mtfFreq[BZ_RUNB]++;
|
||||
} else {
|
||||
mtfv[wr] = BZ_RUNA; wr++;
|
||||
s->mtfFreq[BZ_RUNA]++;
|
||||
}
|
||||
if (zPend < 2) break;
|
||||
zPend = (zPend - 2) / 2;
|
||||
};
|
||||
zPend = 0;
|
||||
}
|
||||
|
||||
mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;
|
||||
|
||||
s->nMTF = wr;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
#define BZ_LESSER_ICOST 0
|
||||
#define BZ_GREATER_ICOST 15
|
||||
|
||||
static
|
||||
void sendMTFValues ( EState* s )
|
||||
{
|
||||
Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
|
||||
Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
|
||||
Int32 nGroups, nBytes;
|
||||
|
||||
/*--
|
||||
UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
is a global since the decoder also needs it.
|
||||
|
||||
Int32 code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
Int32 rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
|
||||
are also globals only used in this proc.
|
||||
Made global to keep stack frame size small.
|
||||
--*/
|
||||
|
||||
|
||||
UInt16 cost[BZ_N_GROUPS];
|
||||
Int32 fave[BZ_N_GROUPS];
|
||||
|
||||
UInt16* mtfv = s->mtfv;
|
||||
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf3( " %d in block, %d after MTF & 1-2 coding, "
|
||||
"%d+2 syms in use\n",
|
||||
s->nblock, s->nMTF, s->nInUse );
|
||||
|
||||
alphaSize = s->nInUse+2;
|
||||
for (t = 0; t < BZ_N_GROUPS; t++)
|
||||
for (v = 0; v < alphaSize; v++)
|
||||
s->len[t][v] = BZ_GREATER_ICOST;
|
||||
|
||||
/*--- Decide how many coding tables to use ---*/
|
||||
AssertH ( s->nMTF > 0, 3001 );
|
||||
if (s->nMTF < 200) nGroups = 2; else
|
||||
if (s->nMTF < 600) nGroups = 3; else
|
||||
if (s->nMTF < 1200) nGroups = 4; else
|
||||
if (s->nMTF < 2400) nGroups = 5; else
|
||||
nGroups = 6;
|
||||
|
||||
/*--- Generate an initial set of coding tables ---*/
|
||||
{
|
||||
Int32 nPart, remF, tFreq, aFreq;
|
||||
|
||||
nPart = nGroups;
|
||||
remF = s->nMTF;
|
||||
gs = 0;
|
||||
while (nPart > 0) {
|
||||
tFreq = remF / nPart;
|
||||
ge = gs-1;
|
||||
aFreq = 0;
|
||||
while (aFreq < tFreq && ge < alphaSize-1) {
|
||||
ge++;
|
||||
aFreq += s->mtfFreq[ge];
|
||||
}
|
||||
|
||||
if (ge > gs
|
||||
&& nPart != nGroups && nPart != 1
|
||||
&& ((nGroups-nPart) % 2 == 1)) {
|
||||
aFreq -= s->mtfFreq[ge];
|
||||
ge--;
|
||||
}
|
||||
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf5( " initial group %d, [%d .. %d], "
|
||||
"has %d syms (%4.1f%%)\n",
|
||||
nPart, gs, ge, aFreq,
|
||||
(100.0 * (float)aFreq) / (float)(s->nMTF) );
|
||||
|
||||
for (v = 0; v < alphaSize; v++)
|
||||
if (v >= gs && v <= ge)
|
||||
s->len[nPart-1][v] = BZ_LESSER_ICOST; else
|
||||
s->len[nPart-1][v] = BZ_GREATER_ICOST;
|
||||
|
||||
nPart--;
|
||||
gs = ge+1;
|
||||
remF -= aFreq;
|
||||
}
|
||||
}
|
||||
|
||||
/*---
|
||||
Iterate up to BZ_N_ITERS times to improve the tables.
|
||||
---*/
|
||||
for (iter = 0; iter < BZ_N_ITERS; iter++) {
|
||||
|
||||
for (t = 0; t < nGroups; t++) fave[t] = 0;
|
||||
|
||||
for (t = 0; t < nGroups; t++)
|
||||
for (v = 0; v < alphaSize; v++)
|
||||
s->rfreq[t][v] = 0;
|
||||
|
||||
/*---
|
||||
Set up an auxiliary length table which is used to fast-track
|
||||
the common case (nGroups == 6).
|
||||
---*/
|
||||
if (nGroups == 6) {
|
||||
for (v = 0; v < alphaSize; v++) {
|
||||
s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
|
||||
s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
|
||||
s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
|
||||
}
|
||||
}
|
||||
|
||||
nSelectors = 0;
|
||||
totc = 0;
|
||||
gs = 0;
|
||||
while (True) {
|
||||
|
||||
/*--- Set group start & end marks. --*/
|
||||
if (gs >= s->nMTF) break;
|
||||
ge = gs + BZ_G_SIZE - 1;
|
||||
if (ge >= s->nMTF) ge = s->nMTF-1;
|
||||
|
||||
/*--
|
||||
Calculate the cost of this group as coded
|
||||
by each of the coding tables.
|
||||
--*/
|
||||
for (t = 0; t < nGroups; t++) cost[t] = 0;
|
||||
|
||||
if (nGroups == 6 && 50 == ge-gs+1) {
|
||||
/*--- fast track the common case ---*/
|
||||
register UInt32 cost01, cost23, cost45;
|
||||
register UInt16 icv;
|
||||
cost01 = cost23 = cost45 = 0;
|
||||
|
||||
# define BZ_ITER(nn) \
|
||||
icv = mtfv[gs+(nn)]; \
|
||||
cost01 += s->len_pack[icv][0]; \
|
||||
cost23 += s->len_pack[icv][1]; \
|
||||
cost45 += s->len_pack[icv][2]; \
|
||||
|
||||
BZ_ITER(0); BZ_ITER(1); BZ_ITER(2); BZ_ITER(3); BZ_ITER(4);
|
||||
BZ_ITER(5); BZ_ITER(6); BZ_ITER(7); BZ_ITER(8); BZ_ITER(9);
|
||||
BZ_ITER(10); BZ_ITER(11); BZ_ITER(12); BZ_ITER(13); BZ_ITER(14);
|
||||
BZ_ITER(15); BZ_ITER(16); BZ_ITER(17); BZ_ITER(18); BZ_ITER(19);
|
||||
BZ_ITER(20); BZ_ITER(21); BZ_ITER(22); BZ_ITER(23); BZ_ITER(24);
|
||||
BZ_ITER(25); BZ_ITER(26); BZ_ITER(27); BZ_ITER(28); BZ_ITER(29);
|
||||
BZ_ITER(30); BZ_ITER(31); BZ_ITER(32); BZ_ITER(33); BZ_ITER(34);
|
||||
BZ_ITER(35); BZ_ITER(36); BZ_ITER(37); BZ_ITER(38); BZ_ITER(39);
|
||||
BZ_ITER(40); BZ_ITER(41); BZ_ITER(42); BZ_ITER(43); BZ_ITER(44);
|
||||
BZ_ITER(45); BZ_ITER(46); BZ_ITER(47); BZ_ITER(48); BZ_ITER(49);
|
||||
|
||||
# undef BZ_ITER
|
||||
|
||||
cost[0] = cost01 & 0xffff; cost[1] = cost01 >> 16;
|
||||
cost[2] = cost23 & 0xffff; cost[3] = cost23 >> 16;
|
||||
cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
|
||||
|
||||
} else {
|
||||
/*--- slow version which correctly handles all situations ---*/
|
||||
for (i = gs; i <= ge; i++) {
|
||||
UInt16 icv = mtfv[i];
|
||||
for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
|
||||
}
|
||||
}
|
||||
|
||||
/*--
|
||||
Find the coding table which is best for this group,
|
||||
and record its identity in the selector table.
|
||||
--*/
|
||||
bc = 999999999; bt = -1;
|
||||
for (t = 0; t < nGroups; t++)
|
||||
if (cost[t] < bc) { bc = cost[t]; bt = t; };
|
||||
totc += bc;
|
||||
fave[bt]++;
|
||||
s->selector[nSelectors] = bt;
|
||||
nSelectors++;
|
||||
|
||||
/*--
|
||||
Increment the symbol frequencies for the selected table.
|
||||
--*/
|
||||
if (nGroups == 6 && 50 == ge-gs+1) {
|
||||
/*--- fast track the common case ---*/
|
||||
|
||||
# define BZ_ITUR(nn) s->rfreq[bt][ mtfv[gs+(nn)] ]++
|
||||
|
||||
BZ_ITUR(0); BZ_ITUR(1); BZ_ITUR(2); BZ_ITUR(3); BZ_ITUR(4);
|
||||
BZ_ITUR(5); BZ_ITUR(6); BZ_ITUR(7); BZ_ITUR(8); BZ_ITUR(9);
|
||||
BZ_ITUR(10); BZ_ITUR(11); BZ_ITUR(12); BZ_ITUR(13); BZ_ITUR(14);
|
||||
BZ_ITUR(15); BZ_ITUR(16); BZ_ITUR(17); BZ_ITUR(18); BZ_ITUR(19);
|
||||
BZ_ITUR(20); BZ_ITUR(21); BZ_ITUR(22); BZ_ITUR(23); BZ_ITUR(24);
|
||||
BZ_ITUR(25); BZ_ITUR(26); BZ_ITUR(27); BZ_ITUR(28); BZ_ITUR(29);
|
||||
BZ_ITUR(30); BZ_ITUR(31); BZ_ITUR(32); BZ_ITUR(33); BZ_ITUR(34);
|
||||
BZ_ITUR(35); BZ_ITUR(36); BZ_ITUR(37); BZ_ITUR(38); BZ_ITUR(39);
|
||||
BZ_ITUR(40); BZ_ITUR(41); BZ_ITUR(42); BZ_ITUR(43); BZ_ITUR(44);
|
||||
BZ_ITUR(45); BZ_ITUR(46); BZ_ITUR(47); BZ_ITUR(48); BZ_ITUR(49);
|
||||
|
||||
# undef BZ_ITUR
|
||||
|
||||
} else {
|
||||
/*--- slow version which correctly handles all situations ---*/
|
||||
for (i = gs; i <= ge; i++)
|
||||
s->rfreq[bt][ mtfv[i] ]++;
|
||||
}
|
||||
|
||||
gs = ge+1;
|
||||
}
|
||||
if (s->verbosity >= 3) {
|
||||
VPrintf2 ( " pass %d: size is %d, grp uses are ",
|
||||
iter+1, totc/8 );
|
||||
for (t = 0; t < nGroups; t++)
|
||||
VPrintf1 ( "%d ", fave[t] );
|
||||
VPrintf0 ( "\n" );
|
||||
}
|
||||
|
||||
/*--
|
||||
Recompute the tables based on the accumulated frequencies.
|
||||
--*/
|
||||
/* maxLen was changed from 20 to 17 in bzip2-1.0.3. See
|
||||
comment in huffman.c for details. */
|
||||
for (t = 0; t < nGroups; t++)
|
||||
BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]),
|
||||
alphaSize, 17 /*20*/ );
|
||||
}
|
||||
|
||||
|
||||
AssertH( nGroups < 8, 3002 );
|
||||
AssertH( nSelectors < 32768 &&
|
||||
nSelectors <= (2 + (900000 / BZ_G_SIZE)),
|
||||
3003 );
|
||||
|
||||
|
||||
/*--- Compute MTF values for the selectors. ---*/
|
||||
{
|
||||
UChar pos[BZ_N_GROUPS], ll_i, tmp2, tmp;
|
||||
for (i = 0; i < nGroups; i++) pos[i] = i;
|
||||
for (i = 0; i < nSelectors; i++) {
|
||||
ll_i = s->selector[i];
|
||||
j = 0;
|
||||
tmp = pos[j];
|
||||
while ( ll_i != tmp ) {
|
||||
j++;
|
||||
tmp2 = tmp;
|
||||
tmp = pos[j];
|
||||
pos[j] = tmp2;
|
||||
};
|
||||
pos[0] = tmp;
|
||||
s->selectorMtf[i] = j;
|
||||
}
|
||||
};
|
||||
|
||||
/*--- Assign actual codes for the tables. --*/
|
||||
for (t = 0; t < nGroups; t++) {
|
||||
minLen = 32;
|
||||
maxLen = 0;
|
||||
for (i = 0; i < alphaSize; i++) {
|
||||
if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
|
||||
if (s->len[t][i] < minLen) minLen = s->len[t][i];
|
||||
}
|
||||
AssertH ( !(maxLen > 17 /*20*/ ), 3004 );
|
||||
AssertH ( !(minLen < 1), 3005 );
|
||||
BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]),
|
||||
minLen, maxLen, alphaSize );
|
||||
}
|
||||
|
||||
/*--- Transmit the mapping table. ---*/
|
||||
{
|
||||
Bool inUse16[16];
|
||||
for (i = 0; i < 16; i++) {
|
||||
inUse16[i] = False;
|
||||
for (j = 0; j < 16; j++)
|
||||
if (s->inUse[i * 16 + j]) inUse16[i] = True;
|
||||
}
|
||||
|
||||
nBytes = s->numZ;
|
||||
for (i = 0; i < 16; i++)
|
||||
if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
if (inUse16[i])
|
||||
for (j = 0; j < 16; j++) {
|
||||
if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
|
||||
}
|
||||
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf1( " bytes: mapping %d, ", s->numZ-nBytes );
|
||||
}
|
||||
|
||||
/*--- Now the selectors. ---*/
|
||||
nBytes = s->numZ;
|
||||
bsW ( s, 3, nGroups );
|
||||
bsW ( s, 15, nSelectors );
|
||||
for (i = 0; i < nSelectors; i++) {
|
||||
for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
|
||||
bsW(s,1,0);
|
||||
}
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf1( "selectors %d, ", s->numZ-nBytes );
|
||||
|
||||
/*--- Now the coding tables. ---*/
|
||||
nBytes = s->numZ;
|
||||
|
||||
for (t = 0; t < nGroups; t++) {
|
||||
Int32 curr = s->len[t][0];
|
||||
bsW ( s, 5, curr );
|
||||
for (i = 0; i < alphaSize; i++) {
|
||||
while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
|
||||
while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
|
||||
bsW ( s, 1, 0 );
|
||||
}
|
||||
}
|
||||
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf1 ( "code lengths %d, ", s->numZ-nBytes );
|
||||
|
||||
/*--- And finally, the block data proper ---*/
|
||||
nBytes = s->numZ;
|
||||
selCtr = 0;
|
||||
gs = 0;
|
||||
while (True) {
|
||||
if (gs >= s->nMTF) break;
|
||||
ge = gs + BZ_G_SIZE - 1;
|
||||
if (ge >= s->nMTF) ge = s->nMTF-1;
|
||||
AssertH ( s->selector[selCtr] < nGroups, 3006 );
|
||||
|
||||
if (nGroups == 6 && 50 == ge-gs+1) {
|
||||
/*--- fast track the common case ---*/
|
||||
UInt16 mtfv_i;
|
||||
UChar* s_len_sel_selCtr
|
||||
= &(s->len[s->selector[selCtr]][0]);
|
||||
Int32* s_code_sel_selCtr
|
||||
= &(s->code[s->selector[selCtr]][0]);
|
||||
|
||||
# define BZ_ITAH(nn) \
|
||||
mtfv_i = mtfv[gs+(nn)]; \
|
||||
bsW ( s, \
|
||||
s_len_sel_selCtr[mtfv_i], \
|
||||
s_code_sel_selCtr[mtfv_i] )
|
||||
|
||||
BZ_ITAH(0); BZ_ITAH(1); BZ_ITAH(2); BZ_ITAH(3); BZ_ITAH(4);
|
||||
BZ_ITAH(5); BZ_ITAH(6); BZ_ITAH(7); BZ_ITAH(8); BZ_ITAH(9);
|
||||
BZ_ITAH(10); BZ_ITAH(11); BZ_ITAH(12); BZ_ITAH(13); BZ_ITAH(14);
|
||||
BZ_ITAH(15); BZ_ITAH(16); BZ_ITAH(17); BZ_ITAH(18); BZ_ITAH(19);
|
||||
BZ_ITAH(20); BZ_ITAH(21); BZ_ITAH(22); BZ_ITAH(23); BZ_ITAH(24);
|
||||
BZ_ITAH(25); BZ_ITAH(26); BZ_ITAH(27); BZ_ITAH(28); BZ_ITAH(29);
|
||||
BZ_ITAH(30); BZ_ITAH(31); BZ_ITAH(32); BZ_ITAH(33); BZ_ITAH(34);
|
||||
BZ_ITAH(35); BZ_ITAH(36); BZ_ITAH(37); BZ_ITAH(38); BZ_ITAH(39);
|
||||
BZ_ITAH(40); BZ_ITAH(41); BZ_ITAH(42); BZ_ITAH(43); BZ_ITAH(44);
|
||||
BZ_ITAH(45); BZ_ITAH(46); BZ_ITAH(47); BZ_ITAH(48); BZ_ITAH(49);
|
||||
|
||||
# undef BZ_ITAH
|
||||
|
||||
} else {
|
||||
/*--- slow version which correctly handles all situations ---*/
|
||||
for (i = gs; i <= ge; i++) {
|
||||
bsW ( s,
|
||||
s->len [s->selector[selCtr]] [mtfv[i]],
|
||||
s->code [s->selector[selCtr]] [mtfv[i]] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gs = ge+1;
|
||||
selCtr++;
|
||||
}
|
||||
AssertH( selCtr == nSelectors, 3007 );
|
||||
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf1( "codes %d\n", s->numZ-nBytes );
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
void BZ2_compressBlock ( EState* s, Bool is_last_block )
|
||||
{
|
||||
if (s->nblock > 0) {
|
||||
|
||||
BZ_FINALISE_CRC ( s->blockCRC );
|
||||
s->combinedCRC = (s->combinedCRC << 1) | (s->combinedCRC >> 31);
|
||||
s->combinedCRC ^= s->blockCRC;
|
||||
if (s->blockNo > 1) s->numZ = 0;
|
||||
|
||||
if (s->verbosity >= 2)
|
||||
VPrintf4( " block %d: crc = 0x%08x, "
|
||||
"combined CRC = 0x%08x, size = %d\n",
|
||||
s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
|
||||
|
||||
BZ2_blockSort ( s );
|
||||
}
|
||||
|
||||
s->zbits = (UChar*) (&((UChar*)s->arr2)[s->nblock]);
|
||||
|
||||
/*-- If this is the first block, create the stream header. --*/
|
||||
if (s->blockNo == 1) {
|
||||
BZ2_bsInitWrite ( s );
|
||||
bsPutUChar ( s, BZ_HDR_B );
|
||||
bsPutUChar ( s, BZ_HDR_Z );
|
||||
bsPutUChar ( s, BZ_HDR_h );
|
||||
bsPutUChar ( s, (UChar)(BZ_HDR_0 + s->blockSize100k) );
|
||||
}
|
||||
|
||||
if (s->nblock > 0) {
|
||||
|
||||
bsPutUChar ( s, 0x31 ); bsPutUChar ( s, 0x41 );
|
||||
bsPutUChar ( s, 0x59 ); bsPutUChar ( s, 0x26 );
|
||||
bsPutUChar ( s, 0x53 ); bsPutUChar ( s, 0x59 );
|
||||
|
||||
/*-- Now the block's CRC, so it is in a known place. --*/
|
||||
bsPutUInt32 ( s, s->blockCRC );
|
||||
|
||||
/*--
|
||||
Now a single bit indicating (non-)randomisation.
|
||||
As of version 0.9.5, we use a better sorting algorithm
|
||||
which makes randomisation unnecessary. So always set
|
||||
the randomised bit to 'no'. Of course, the decoder
|
||||
still needs to be able to handle randomised blocks
|
||||
so as to maintain backwards compatibility with
|
||||
older versions of bzip2.
|
||||
--*/
|
||||
bsW(s,1,0);
|
||||
|
||||
bsW ( s, 24, s->origPtr );
|
||||
generateMTFValues ( s );
|
||||
sendMTFValues ( s );
|
||||
}
|
||||
|
||||
|
||||
/*-- If this is the last block, add the stream trailer. --*/
|
||||
if (is_last_block) {
|
||||
|
||||
bsPutUChar ( s, 0x17 ); bsPutUChar ( s, 0x72 );
|
||||
bsPutUChar ( s, 0x45 ); bsPutUChar ( s, 0x38 );
|
||||
bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
|
||||
bsPutUInt32 ( s, s->combinedCRC );
|
||||
if (s->verbosity >= 2)
|
||||
VPrintf1( " final combined CRC = 0x%08x\n ", s->combinedCRC );
|
||||
bsFinishWrite ( s );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end compress.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
104
3rdparty/bzip2/crctable.c
vendored
104
3rdparty/bzip2/crctable.c
vendored
@@ -1,104 +0,0 @@
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Table for doing CRCs ---*/
|
||||
/*--- crctable.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------ */
|
||||
|
||||
|
||||
#include "bzlib_private.h"
|
||||
|
||||
/*--
|
||||
I think this is an implementation of the AUTODIN-II,
|
||||
Ethernet & FDDI 32-bit CRC standard. Vaguely derived
|
||||
from code by Rob Warnock, in Section 51 of the
|
||||
comp.compression FAQ.
|
||||
--*/
|
||||
|
||||
UInt32 BZ2_crc32Table[256] = {
|
||||
|
||||
/*-- Ugly, innit? --*/
|
||||
|
||||
0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
|
||||
0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
|
||||
0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
|
||||
0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
|
||||
0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
|
||||
0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
|
||||
0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
|
||||
0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
|
||||
0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
|
||||
0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
|
||||
0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
|
||||
0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
|
||||
0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
|
||||
0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
|
||||
0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
|
||||
0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
|
||||
0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
|
||||
0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
|
||||
0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
|
||||
0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
|
||||
0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
|
||||
0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
|
||||
0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
|
||||
0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
|
||||
0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
|
||||
0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
|
||||
0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
|
||||
0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
|
||||
0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
|
||||
0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
|
||||
0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
|
||||
0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
|
||||
0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
|
||||
0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
|
||||
0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
|
||||
0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
|
||||
0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
|
||||
0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
|
||||
0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
|
||||
0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
|
||||
0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
|
||||
0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
|
||||
0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
|
||||
0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
|
||||
0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
|
||||
0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
|
||||
0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
|
||||
0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
|
||||
0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
|
||||
0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
|
||||
0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
|
||||
0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
|
||||
0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
|
||||
0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
|
||||
0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
|
||||
0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
|
||||
0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
|
||||
0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
|
||||
0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
|
||||
0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
|
||||
0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
|
||||
0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
|
||||
0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
|
||||
0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
|
||||
};
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end crctable.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
646
3rdparty/bzip2/decompress.c
vendored
646
3rdparty/bzip2/decompress.c
vendored
@@ -1,646 +0,0 @@
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Decompression machinery ---*/
|
||||
/*--- decompress.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------ */
|
||||
|
||||
|
||||
#include "bzlib_private.h"
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
static
|
||||
void makeMaps_d ( DState* s )
|
||||
{
|
||||
Int32 i;
|
||||
s->nInUse = 0;
|
||||
for (i = 0; i < 256; i++)
|
||||
if (s->inUse[i]) {
|
||||
s->seqToUnseq[s->nInUse] = i;
|
||||
s->nInUse++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
#define RETURN(rrr) \
|
||||
{ retVal = rrr; goto save_state_and_return; };
|
||||
|
||||
#define GET_BITS(lll,vvv,nnn) \
|
||||
case lll: s->state = lll; \
|
||||
while (True) { \
|
||||
if (s->bsLive >= nnn) { \
|
||||
UInt32 v; \
|
||||
v = (s->bsBuff >> \
|
||||
(s->bsLive-nnn)) & ((1 << nnn)-1); \
|
||||
s->bsLive -= nnn; \
|
||||
vvv = v; \
|
||||
break; \
|
||||
} \
|
||||
if (s->strm->avail_in == 0) RETURN(BZ_OK); \
|
||||
s->bsBuff \
|
||||
= (s->bsBuff << 8) | \
|
||||
((UInt32) \
|
||||
(*((UChar*)(s->strm->next_in)))); \
|
||||
s->bsLive += 8; \
|
||||
s->strm->next_in++; \
|
||||
s->strm->avail_in--; \
|
||||
s->strm->total_in_lo32++; \
|
||||
if (s->strm->total_in_lo32 == 0) \
|
||||
s->strm->total_in_hi32++; \
|
||||
}
|
||||
|
||||
#define GET_UCHAR(lll,uuu) \
|
||||
GET_BITS(lll,uuu,8)
|
||||
|
||||
#define GET_BIT(lll,uuu) \
|
||||
GET_BITS(lll,uuu,1)
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
#define GET_MTF_VAL(label1,label2,lval) \
|
||||
{ \
|
||||
if (groupPos == 0) { \
|
||||
groupNo++; \
|
||||
if (groupNo >= nSelectors) \
|
||||
RETURN(BZ_DATA_ERROR); \
|
||||
groupPos = BZ_G_SIZE; \
|
||||
gSel = s->selector[groupNo]; \
|
||||
gMinlen = s->minLens[gSel]; \
|
||||
gLimit = &(s->limit[gSel][0]); \
|
||||
gPerm = &(s->perm[gSel][0]); \
|
||||
gBase = &(s->base[gSel][0]); \
|
||||
} \
|
||||
groupPos--; \
|
||||
zn = gMinlen; \
|
||||
GET_BITS(label1, zvec, zn); \
|
||||
while (1) { \
|
||||
if (zn > 20 /* the longest code */) \
|
||||
RETURN(BZ_DATA_ERROR); \
|
||||
if (zvec <= gLimit[zn]) break; \
|
||||
zn++; \
|
||||
GET_BIT(label2, zj); \
|
||||
zvec = (zvec << 1) | zj; \
|
||||
}; \
|
||||
if (zvec - gBase[zn] < 0 \
|
||||
|| zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE) \
|
||||
RETURN(BZ_DATA_ERROR); \
|
||||
lval = gPerm[zvec - gBase[zn]]; \
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
Int32 BZ2_decompress ( DState* s )
|
||||
{
|
||||
UChar uc;
|
||||
Int32 retVal;
|
||||
Int32 minLen, maxLen;
|
||||
bz_stream* strm = s->strm;
|
||||
|
||||
/* stuff that needs to be saved/restored */
|
||||
Int32 i;
|
||||
Int32 j;
|
||||
Int32 t;
|
||||
Int32 alphaSize;
|
||||
Int32 nGroups;
|
||||
Int32 nSelectors;
|
||||
Int32 EOB;
|
||||
Int32 groupNo;
|
||||
Int32 groupPos;
|
||||
Int32 nextSym;
|
||||
Int32 nblockMAX;
|
||||
Int32 nblock;
|
||||
Int32 es;
|
||||
Int32 N;
|
||||
Int32 curr;
|
||||
Int32 zt;
|
||||
Int32 zn;
|
||||
Int32 zvec;
|
||||
Int32 zj;
|
||||
Int32 gSel;
|
||||
Int32 gMinlen;
|
||||
Int32* gLimit;
|
||||
Int32* gBase;
|
||||
Int32* gPerm;
|
||||
|
||||
if (s->state == BZ_X_MAGIC_1) {
|
||||
/*initialise the save area*/
|
||||
s->save_i = 0;
|
||||
s->save_j = 0;
|
||||
s->save_t = 0;
|
||||
s->save_alphaSize = 0;
|
||||
s->save_nGroups = 0;
|
||||
s->save_nSelectors = 0;
|
||||
s->save_EOB = 0;
|
||||
s->save_groupNo = 0;
|
||||
s->save_groupPos = 0;
|
||||
s->save_nextSym = 0;
|
||||
s->save_nblockMAX = 0;
|
||||
s->save_nblock = 0;
|
||||
s->save_es = 0;
|
||||
s->save_N = 0;
|
||||
s->save_curr = 0;
|
||||
s->save_zt = 0;
|
||||
s->save_zn = 0;
|
||||
s->save_zvec = 0;
|
||||
s->save_zj = 0;
|
||||
s->save_gSel = 0;
|
||||
s->save_gMinlen = 0;
|
||||
s->save_gLimit = NULL;
|
||||
s->save_gBase = NULL;
|
||||
s->save_gPerm = NULL;
|
||||
}
|
||||
|
||||
/*restore from the save area*/
|
||||
i = s->save_i;
|
||||
j = s->save_j;
|
||||
t = s->save_t;
|
||||
alphaSize = s->save_alphaSize;
|
||||
nGroups = s->save_nGroups;
|
||||
nSelectors = s->save_nSelectors;
|
||||
EOB = s->save_EOB;
|
||||
groupNo = s->save_groupNo;
|
||||
groupPos = s->save_groupPos;
|
||||
nextSym = s->save_nextSym;
|
||||
nblockMAX = s->save_nblockMAX;
|
||||
nblock = s->save_nblock;
|
||||
es = s->save_es;
|
||||
N = s->save_N;
|
||||
curr = s->save_curr;
|
||||
zt = s->save_zt;
|
||||
zn = s->save_zn;
|
||||
zvec = s->save_zvec;
|
||||
zj = s->save_zj;
|
||||
gSel = s->save_gSel;
|
||||
gMinlen = s->save_gMinlen;
|
||||
gLimit = s->save_gLimit;
|
||||
gBase = s->save_gBase;
|
||||
gPerm = s->save_gPerm;
|
||||
|
||||
retVal = BZ_OK;
|
||||
|
||||
switch (s->state) {
|
||||
|
||||
GET_UCHAR(BZ_X_MAGIC_1, uc);
|
||||
if (uc != BZ_HDR_B) RETURN(BZ_DATA_ERROR_MAGIC);
|
||||
|
||||
GET_UCHAR(BZ_X_MAGIC_2, uc);
|
||||
if (uc != BZ_HDR_Z) RETURN(BZ_DATA_ERROR_MAGIC);
|
||||
|
||||
GET_UCHAR(BZ_X_MAGIC_3, uc)
|
||||
if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC);
|
||||
|
||||
GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
|
||||
if (s->blockSize100k < (BZ_HDR_0 + 1) ||
|
||||
s->blockSize100k > (BZ_HDR_0 + 9)) RETURN(BZ_DATA_ERROR_MAGIC);
|
||||
s->blockSize100k -= BZ_HDR_0;
|
||||
|
||||
if (s->smallDecompress) {
|
||||
s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
|
||||
s->ll4 = BZALLOC(
|
||||
((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar)
|
||||
);
|
||||
if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
|
||||
} else {
|
||||
s->tt = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
|
||||
if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
|
||||
}
|
||||
|
||||
GET_UCHAR(BZ_X_BLKHDR_1, uc);
|
||||
|
||||
if (uc == 0x17) goto endhdr_2;
|
||||
if (uc != 0x31) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_BLKHDR_2, uc);
|
||||
if (uc != 0x41) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_BLKHDR_3, uc);
|
||||
if (uc != 0x59) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_BLKHDR_4, uc);
|
||||
if (uc != 0x26) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_BLKHDR_5, uc);
|
||||
if (uc != 0x53) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_BLKHDR_6, uc);
|
||||
if (uc != 0x59) RETURN(BZ_DATA_ERROR);
|
||||
|
||||
s->currBlockNo++;
|
||||
if (s->verbosity >= 2)
|
||||
VPrintf1 ( "\n [%d: huff+mtf ", s->currBlockNo );
|
||||
|
||||
s->storedBlockCRC = 0;
|
||||
GET_UCHAR(BZ_X_BCRC_1, uc);
|
||||
s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
|
||||
GET_UCHAR(BZ_X_BCRC_2, uc);
|
||||
s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
|
||||
GET_UCHAR(BZ_X_BCRC_3, uc);
|
||||
s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
|
||||
GET_UCHAR(BZ_X_BCRC_4, uc);
|
||||
s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
|
||||
|
||||
GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
|
||||
|
||||
s->origPtr = 0;
|
||||
GET_UCHAR(BZ_X_ORIGPTR_1, uc);
|
||||
s->origPtr = (s->origPtr << 8) | ((Int32)uc);
|
||||
GET_UCHAR(BZ_X_ORIGPTR_2, uc);
|
||||
s->origPtr = (s->origPtr << 8) | ((Int32)uc);
|
||||
GET_UCHAR(BZ_X_ORIGPTR_3, uc);
|
||||
s->origPtr = (s->origPtr << 8) | ((Int32)uc);
|
||||
|
||||
if (s->origPtr < 0)
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
if (s->origPtr > 10 + 100000*s->blockSize100k)
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
|
||||
/*--- Receive the mapping table ---*/
|
||||
for (i = 0; i < 16; i++) {
|
||||
GET_BIT(BZ_X_MAPPING_1, uc);
|
||||
if (uc == 1)
|
||||
s->inUse16[i] = True; else
|
||||
s->inUse16[i] = False;
|
||||
}
|
||||
|
||||
for (i = 0; i < 256; i++) s->inUse[i] = False;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
if (s->inUse16[i])
|
||||
for (j = 0; j < 16; j++) {
|
||||
GET_BIT(BZ_X_MAPPING_2, uc);
|
||||
if (uc == 1) s->inUse[i * 16 + j] = True;
|
||||
}
|
||||
makeMaps_d ( s );
|
||||
if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
|
||||
alphaSize = s->nInUse+2;
|
||||
|
||||
/*--- Now the selectors ---*/
|
||||
GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
|
||||
if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
|
||||
GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
|
||||
if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
|
||||
for (i = 0; i < nSelectors; i++) {
|
||||
j = 0;
|
||||
while (True) {
|
||||
GET_BIT(BZ_X_SELECTOR_3, uc);
|
||||
if (uc == 0) break;
|
||||
j++;
|
||||
if (j >= nGroups) RETURN(BZ_DATA_ERROR);
|
||||
}
|
||||
s->selectorMtf[i] = j;
|
||||
}
|
||||
|
||||
/*--- Undo the MTF values for the selectors. ---*/
|
||||
{
|
||||
UChar pos[BZ_N_GROUPS], tmp, v;
|
||||
for (v = 0; v < nGroups; v++) pos[v] = v;
|
||||
|
||||
for (i = 0; i < nSelectors; i++) {
|
||||
v = s->selectorMtf[i];
|
||||
tmp = pos[v];
|
||||
while (v > 0) { pos[v] = pos[v-1]; v--; }
|
||||
pos[0] = tmp;
|
||||
s->selector[i] = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
/*--- Now the coding tables ---*/
|
||||
for (t = 0; t < nGroups; t++) {
|
||||
GET_BITS(BZ_X_CODING_1, curr, 5);
|
||||
for (i = 0; i < alphaSize; i++) {
|
||||
while (True) {
|
||||
if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
|
||||
GET_BIT(BZ_X_CODING_2, uc);
|
||||
if (uc == 0) break;
|
||||
GET_BIT(BZ_X_CODING_3, uc);
|
||||
if (uc == 0) curr++; else curr--;
|
||||
}
|
||||
s->len[t][i] = curr;
|
||||
}
|
||||
}
|
||||
|
||||
/*--- Create the Huffman decoding tables ---*/
|
||||
for (t = 0; t < nGroups; t++) {
|
||||
minLen = 32;
|
||||
maxLen = 0;
|
||||
for (i = 0; i < alphaSize; i++) {
|
||||
if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
|
||||
if (s->len[t][i] < minLen) minLen = s->len[t][i];
|
||||
}
|
||||
BZ2_hbCreateDecodeTables (
|
||||
&(s->limit[t][0]),
|
||||
&(s->base[t][0]),
|
||||
&(s->perm[t][0]),
|
||||
&(s->len[t][0]),
|
||||
minLen, maxLen, alphaSize
|
||||
);
|
||||
s->minLens[t] = minLen;
|
||||
}
|
||||
|
||||
/*--- Now the MTF values ---*/
|
||||
|
||||
EOB = s->nInUse+1;
|
||||
nblockMAX = 100000 * s->blockSize100k;
|
||||
groupNo = -1;
|
||||
groupPos = 0;
|
||||
|
||||
for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
|
||||
|
||||
/*-- MTF init --*/
|
||||
{
|
||||
Int32 ii, jj, kk;
|
||||
kk = MTFA_SIZE-1;
|
||||
for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
|
||||
for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
|
||||
s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
|
||||
kk--;
|
||||
}
|
||||
s->mtfbase[ii] = kk + 1;
|
||||
}
|
||||
}
|
||||
/*-- end MTF init --*/
|
||||
|
||||
nblock = 0;
|
||||
GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
|
||||
|
||||
while (True) {
|
||||
|
||||
if (nextSym == EOB) break;
|
||||
|
||||
if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
|
||||
|
||||
es = -1;
|
||||
N = 1;
|
||||
do {
|
||||
/* Check that N doesn't get too big, so that es doesn't
|
||||
go negative. The maximum value that can be
|
||||
RUNA/RUNB encoded is equal to the block size (post
|
||||
the initial RLE), viz, 900k, so bounding N at 2
|
||||
million should guard against overflow without
|
||||
rejecting any legitimate inputs. */
|
||||
if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
|
||||
if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
|
||||
if (nextSym == BZ_RUNB) es = es + (1+1) * N;
|
||||
N = N * 2;
|
||||
GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
|
||||
}
|
||||
while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
|
||||
|
||||
es++;
|
||||
uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
|
||||
s->unzftab[uc] += es;
|
||||
|
||||
if (s->smallDecompress)
|
||||
while (es > 0) {
|
||||
if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
|
||||
s->ll16[nblock] = (UInt16)uc;
|
||||
nblock++;
|
||||
es--;
|
||||
}
|
||||
else
|
||||
while (es > 0) {
|
||||
if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
|
||||
s->tt[nblock] = (UInt32)uc;
|
||||
nblock++;
|
||||
es--;
|
||||
};
|
||||
|
||||
continue;
|
||||
|
||||
} else {
|
||||
|
||||
if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
|
||||
|
||||
/*-- uc = MTF ( nextSym-1 ) --*/
|
||||
{
|
||||
Int32 ii, jj, kk, pp, lno, off;
|
||||
UInt32 nn;
|
||||
nn = (UInt32)(nextSym - 1);
|
||||
|
||||
if (nn < MTFL_SIZE) {
|
||||
/* avoid general-case expense */
|
||||
pp = s->mtfbase[0];
|
||||
uc = s->mtfa[pp+nn];
|
||||
while (nn > 3) {
|
||||
Int32 z = pp+nn;
|
||||
s->mtfa[(z) ] = s->mtfa[(z)-1];
|
||||
s->mtfa[(z)-1] = s->mtfa[(z)-2];
|
||||
s->mtfa[(z)-2] = s->mtfa[(z)-3];
|
||||
s->mtfa[(z)-3] = s->mtfa[(z)-4];
|
||||
nn -= 4;
|
||||
}
|
||||
while (nn > 0) {
|
||||
s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--;
|
||||
};
|
||||
s->mtfa[pp] = uc;
|
||||
} else {
|
||||
/* general case */
|
||||
lno = nn / MTFL_SIZE;
|
||||
off = nn % MTFL_SIZE;
|
||||
pp = s->mtfbase[lno] + off;
|
||||
uc = s->mtfa[pp];
|
||||
while (pp > s->mtfbase[lno]) {
|
||||
s->mtfa[pp] = s->mtfa[pp-1]; pp--;
|
||||
};
|
||||
s->mtfbase[lno]++;
|
||||
while (lno > 0) {
|
||||
s->mtfbase[lno]--;
|
||||
s->mtfa[s->mtfbase[lno]]
|
||||
= s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
|
||||
lno--;
|
||||
}
|
||||
s->mtfbase[0]--;
|
||||
s->mtfa[s->mtfbase[0]] = uc;
|
||||
if (s->mtfbase[0] == 0) {
|
||||
kk = MTFA_SIZE-1;
|
||||
for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
|
||||
for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
|
||||
s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
|
||||
kk--;
|
||||
}
|
||||
s->mtfbase[ii] = kk + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*-- end uc = MTF ( nextSym-1 ) --*/
|
||||
|
||||
s->unzftab[s->seqToUnseq[uc]]++;
|
||||
if (s->smallDecompress)
|
||||
s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
|
||||
s->tt[nblock] = (UInt32)(s->seqToUnseq[uc]);
|
||||
nblock++;
|
||||
|
||||
GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
/* Now we know what nblock is, we can do a better sanity
|
||||
check on s->origPtr.
|
||||
*/
|
||||
if (s->origPtr < 0 || s->origPtr >= nblock)
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
|
||||
/*-- Set up cftab to facilitate generation of T^(-1) --*/
|
||||
/* Check: unzftab entries in range. */
|
||||
for (i = 0; i <= 255; i++) {
|
||||
if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
}
|
||||
/* Actually generate cftab. */
|
||||
s->cftab[0] = 0;
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
|
||||
/* Check: cftab entries in range. */
|
||||
for (i = 0; i <= 256; i++) {
|
||||
if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
|
||||
/* s->cftab[i] can legitimately be == nblock */
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
}
|
||||
}
|
||||
/* Check: cftab entries non-descending. */
|
||||
for (i = 1; i <= 256; i++) {
|
||||
if (s->cftab[i-1] > s->cftab[i]) {
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
s->state_out_len = 0;
|
||||
s->state_out_ch = 0;
|
||||
BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
|
||||
s->state = BZ_X_OUTPUT;
|
||||
if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
|
||||
|
||||
if (s->smallDecompress) {
|
||||
|
||||
/*-- Make a copy of cftab, used in generation of T --*/
|
||||
for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
|
||||
|
||||
/*-- compute the T vector --*/
|
||||
for (i = 0; i < nblock; i++) {
|
||||
uc = (UChar)(s->ll16[i]);
|
||||
SET_LL(i, s->cftabCopy[uc]);
|
||||
s->cftabCopy[uc]++;
|
||||
}
|
||||
|
||||
/*-- Compute T^(-1) by pointer reversal on T --*/
|
||||
i = s->origPtr;
|
||||
j = GET_LL(i);
|
||||
do {
|
||||
Int32 tmp = GET_LL(j);
|
||||
SET_LL(j, i);
|
||||
i = j;
|
||||
j = tmp;
|
||||
}
|
||||
while (i != s->origPtr);
|
||||
|
||||
s->tPos = s->origPtr;
|
||||
s->nblock_used = 0;
|
||||
if (s->blockRandomised) {
|
||||
BZ_RAND_INIT_MASK;
|
||||
BZ_GET_SMALL(s->k0); s->nblock_used++;
|
||||
BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
|
||||
} else {
|
||||
BZ_GET_SMALL(s->k0); s->nblock_used++;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
/*-- compute the T^(-1) vector --*/
|
||||
for (i = 0; i < nblock; i++) {
|
||||
uc = (UChar)(s->tt[i] & 0xff);
|
||||
s->tt[s->cftab[uc]] |= (i << 8);
|
||||
s->cftab[uc]++;
|
||||
}
|
||||
|
||||
s->tPos = s->tt[s->origPtr] >> 8;
|
||||
s->nblock_used = 0;
|
||||
if (s->blockRandomised) {
|
||||
BZ_RAND_INIT_MASK;
|
||||
BZ_GET_FAST(s->k0); s->nblock_used++;
|
||||
BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
|
||||
} else {
|
||||
BZ_GET_FAST(s->k0); s->nblock_used++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
RETURN(BZ_OK);
|
||||
|
||||
|
||||
|
||||
endhdr_2:
|
||||
|
||||
GET_UCHAR(BZ_X_ENDHDR_2, uc);
|
||||
if (uc != 0x72) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_ENDHDR_3, uc);
|
||||
if (uc != 0x45) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_ENDHDR_4, uc);
|
||||
if (uc != 0x38) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_ENDHDR_5, uc);
|
||||
if (uc != 0x50) RETURN(BZ_DATA_ERROR);
|
||||
GET_UCHAR(BZ_X_ENDHDR_6, uc);
|
||||
if (uc != 0x90) RETURN(BZ_DATA_ERROR);
|
||||
|
||||
s->storedCombinedCRC = 0;
|
||||
GET_UCHAR(BZ_X_CCRC_1, uc);
|
||||
s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
|
||||
GET_UCHAR(BZ_X_CCRC_2, uc);
|
||||
s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
|
||||
GET_UCHAR(BZ_X_CCRC_3, uc);
|
||||
s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
|
||||
GET_UCHAR(BZ_X_CCRC_4, uc);
|
||||
s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
|
||||
|
||||
s->state = BZ_X_IDLE;
|
||||
RETURN(BZ_STREAM_END);
|
||||
|
||||
default: AssertH ( False, 4001 );
|
||||
}
|
||||
|
||||
AssertH ( False, 4002 );
|
||||
|
||||
save_state_and_return:
|
||||
|
||||
s->save_i = i;
|
||||
s->save_j = j;
|
||||
s->save_t = t;
|
||||
s->save_alphaSize = alphaSize;
|
||||
s->save_nGroups = nGroups;
|
||||
s->save_nSelectors = nSelectors;
|
||||
s->save_EOB = EOB;
|
||||
s->save_groupNo = groupNo;
|
||||
s->save_groupPos = groupPos;
|
||||
s->save_nextSym = nextSym;
|
||||
s->save_nblockMAX = nblockMAX;
|
||||
s->save_nblock = nblock;
|
||||
s->save_es = es;
|
||||
s->save_N = N;
|
||||
s->save_curr = curr;
|
||||
s->save_zt = zt;
|
||||
s->save_zn = zn;
|
||||
s->save_zvec = zvec;
|
||||
s->save_zj = zj;
|
||||
s->save_gSel = gSel;
|
||||
s->save_gMinlen = gMinlen;
|
||||
s->save_gLimit = gLimit;
|
||||
s->save_gBase = gBase;
|
||||
s->save_gPerm = gPerm;
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end decompress.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
205
3rdparty/bzip2/huffman.c
vendored
205
3rdparty/bzip2/huffman.c
vendored
@@ -1,205 +0,0 @@
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Huffman coding low-level stuff ---*/
|
||||
/*--- huffman.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------ */
|
||||
|
||||
|
||||
#include "bzlib_private.h"
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
#define WEIGHTOF(zz0) ((zz0) & 0xffffff00)
|
||||
#define DEPTHOF(zz1) ((zz1) & 0x000000ff)
|
||||
#define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3))
|
||||
|
||||
#define ADDWEIGHTS(zw1,zw2) \
|
||||
(WEIGHTOF(zw1)+WEIGHTOF(zw2)) | \
|
||||
(1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2)))
|
||||
|
||||
#define UPHEAP(z) \
|
||||
{ \
|
||||
Int32 zz, tmp; \
|
||||
zz = z; tmp = heap[zz]; \
|
||||
while (weight[tmp] < weight[heap[zz >> 1]]) { \
|
||||
heap[zz] = heap[zz >> 1]; \
|
||||
zz >>= 1; \
|
||||
} \
|
||||
heap[zz] = tmp; \
|
||||
}
|
||||
|
||||
#define DOWNHEAP(z) \
|
||||
{ \
|
||||
Int32 zz, yy, tmp; \
|
||||
zz = z; tmp = heap[zz]; \
|
||||
while (True) { \
|
||||
yy = zz << 1; \
|
||||
if (yy > nHeap) break; \
|
||||
if (yy < nHeap && \
|
||||
weight[heap[yy+1]] < weight[heap[yy]]) \
|
||||
yy++; \
|
||||
if (weight[tmp] < weight[heap[yy]]) break; \
|
||||
heap[zz] = heap[yy]; \
|
||||
zz = yy; \
|
||||
} \
|
||||
heap[zz] = tmp; \
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
void BZ2_hbMakeCodeLengths ( UChar *len,
|
||||
Int32 *freq,
|
||||
Int32 alphaSize,
|
||||
Int32 maxLen )
|
||||
{
|
||||
/*--
|
||||
Nodes and heap entries run from 1. Entry 0
|
||||
for both the heap and nodes is a sentinel.
|
||||
--*/
|
||||
Int32 nNodes, nHeap, n1, n2, i, j, k;
|
||||
Bool tooLong;
|
||||
|
||||
Int32 heap [ BZ_MAX_ALPHA_SIZE + 2 ];
|
||||
Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ];
|
||||
Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ];
|
||||
|
||||
for (i = 0; i < alphaSize; i++)
|
||||
weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8;
|
||||
|
||||
while (True) {
|
||||
|
||||
nNodes = alphaSize;
|
||||
nHeap = 0;
|
||||
|
||||
heap[0] = 0;
|
||||
weight[0] = 0;
|
||||
parent[0] = -2;
|
||||
|
||||
for (i = 1; i <= alphaSize; i++) {
|
||||
parent[i] = -1;
|
||||
nHeap++;
|
||||
heap[nHeap] = i;
|
||||
UPHEAP(nHeap);
|
||||
}
|
||||
|
||||
AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 );
|
||||
|
||||
while (nHeap > 1) {
|
||||
n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
|
||||
n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
|
||||
nNodes++;
|
||||
parent[n1] = parent[n2] = nNodes;
|
||||
weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]);
|
||||
parent[nNodes] = -1;
|
||||
nHeap++;
|
||||
heap[nHeap] = nNodes;
|
||||
UPHEAP(nHeap);
|
||||
}
|
||||
|
||||
AssertH( nNodes < (BZ_MAX_ALPHA_SIZE * 2), 2002 );
|
||||
|
||||
tooLong = False;
|
||||
for (i = 1; i <= alphaSize; i++) {
|
||||
j = 0;
|
||||
k = i;
|
||||
while (parent[k] >= 0) { k = parent[k]; j++; }
|
||||
len[i-1] = j;
|
||||
if (j > maxLen) tooLong = True;
|
||||
}
|
||||
|
||||
if (! tooLong) break;
|
||||
|
||||
/* 17 Oct 04: keep-going condition for the following loop used
|
||||
to be 'i < alphaSize', which missed the last element,
|
||||
theoretically leading to the possibility of the compressor
|
||||
looping. However, this count-scaling step is only needed if
|
||||
one of the generated Huffman code words is longer than
|
||||
maxLen, which up to and including version 1.0.2 was 20 bits,
|
||||
which is extremely unlikely. In version 1.0.3 maxLen was
|
||||
changed to 17 bits, which has minimal effect on compression
|
||||
ratio, but does mean this scaling step is used from time to
|
||||
time, enough to verify that it works.
|
||||
|
||||
This means that bzip2-1.0.3 and later will only produce
|
||||
Huffman codes with a maximum length of 17 bits. However, in
|
||||
order to preserve backwards compatibility with bitstreams
|
||||
produced by versions pre-1.0.3, the decompressor must still
|
||||
handle lengths of up to 20. */
|
||||
|
||||
for (i = 1; i <= alphaSize; i++) {
|
||||
j = weight[i] >> 8;
|
||||
j = 1 + (j / 2);
|
||||
weight[i] = j << 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
void BZ2_hbAssignCodes ( Int32 *code,
|
||||
UChar *length,
|
||||
Int32 minLen,
|
||||
Int32 maxLen,
|
||||
Int32 alphaSize )
|
||||
{
|
||||
Int32 n, vec, i;
|
||||
|
||||
vec = 0;
|
||||
for (n = minLen; n <= maxLen; n++) {
|
||||
for (i = 0; i < alphaSize; i++)
|
||||
if (length[i] == n) { code[i] = vec; vec++; };
|
||||
vec <<= 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
void BZ2_hbCreateDecodeTables ( Int32 *limit,
|
||||
Int32 *base,
|
||||
Int32 *perm,
|
||||
UChar *length,
|
||||
Int32 minLen,
|
||||
Int32 maxLen,
|
||||
Int32 alphaSize )
|
||||
{
|
||||
Int32 pp, i, j, vec;
|
||||
|
||||
pp = 0;
|
||||
for (i = minLen; i <= maxLen; i++)
|
||||
for (j = 0; j < alphaSize; j++)
|
||||
if (length[j] == i) { perm[pp] = j; pp++; };
|
||||
|
||||
for (i = 0; i < BZ_MAX_CODE_LEN; i++) base[i] = 0;
|
||||
for (i = 0; i < alphaSize; i++) base[length[i]+1]++;
|
||||
|
||||
for (i = 1; i < BZ_MAX_CODE_LEN; i++) base[i] += base[i-1];
|
||||
|
||||
for (i = 0; i < BZ_MAX_CODE_LEN; i++) limit[i] = 0;
|
||||
vec = 0;
|
||||
|
||||
for (i = minLen; i <= maxLen; i++) {
|
||||
vec += (base[i+1] - base[i]);
|
||||
limit[i] = vec-1;
|
||||
vec <<= 1;
|
||||
}
|
||||
for (i = minLen + 1; i <= maxLen; i++)
|
||||
base[i] = ((limit[i-1] + 1) << 1) - base[i];
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end huffman.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
84
3rdparty/bzip2/randtable.c
vendored
84
3rdparty/bzip2/randtable.c
vendored
@@ -1,84 +0,0 @@
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Table for randomising repetitive blocks ---*/
|
||||
/*--- randtable.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
This file is part of bzip2/libbzip2, a program and library for
|
||||
lossless, block-sorting data compression.
|
||||
|
||||
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||
Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
||||
|
||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||
README file.
|
||||
|
||||
This program is released under the terms of the license contained
|
||||
in the file LICENSE.
|
||||
------------------------------------------------------------------ */
|
||||
|
||||
|
||||
#include "bzlib_private.h"
|
||||
|
||||
|
||||
/*---------------------------------------------*/
|
||||
Int32 BZ2_rNums[512] = {
|
||||
619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
|
||||
985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
|
||||
733, 859, 335, 708, 621, 574, 73, 654, 730, 472,
|
||||
419, 436, 278, 496, 867, 210, 399, 680, 480, 51,
|
||||
878, 465, 811, 169, 869, 675, 611, 697, 867, 561,
|
||||
862, 687, 507, 283, 482, 129, 807, 591, 733, 623,
|
||||
150, 238, 59, 379, 684, 877, 625, 169, 643, 105,
|
||||
170, 607, 520, 932, 727, 476, 693, 425, 174, 647,
|
||||
73, 122, 335, 530, 442, 853, 695, 249, 445, 515,
|
||||
909, 545, 703, 919, 874, 474, 882, 500, 594, 612,
|
||||
641, 801, 220, 162, 819, 984, 589, 513, 495, 799,
|
||||
161, 604, 958, 533, 221, 400, 386, 867, 600, 782,
|
||||
382, 596, 414, 171, 516, 375, 682, 485, 911, 276,
|
||||
98, 553, 163, 354, 666, 933, 424, 341, 533, 870,
|
||||
227, 730, 475, 186, 263, 647, 537, 686, 600, 224,
|
||||
469, 68, 770, 919, 190, 373, 294, 822, 808, 206,
|
||||
184, 943, 795, 384, 383, 461, 404, 758, 839, 887,
|
||||
715, 67, 618, 276, 204, 918, 873, 777, 604, 560,
|
||||
951, 160, 578, 722, 79, 804, 96, 409, 713, 940,
|
||||
652, 934, 970, 447, 318, 353, 859, 672, 112, 785,
|
||||
645, 863, 803, 350, 139, 93, 354, 99, 820, 908,
|
||||
609, 772, 154, 274, 580, 184, 79, 626, 630, 742,
|
||||
653, 282, 762, 623, 680, 81, 927, 626, 789, 125,
|
||||
411, 521, 938, 300, 821, 78, 343, 175, 128, 250,
|
||||
170, 774, 972, 275, 999, 639, 495, 78, 352, 126,
|
||||
857, 956, 358, 619, 580, 124, 737, 594, 701, 612,
|
||||
669, 112, 134, 694, 363, 992, 809, 743, 168, 974,
|
||||
944, 375, 748, 52, 600, 747, 642, 182, 862, 81,
|
||||
344, 805, 988, 739, 511, 655, 814, 334, 249, 515,
|
||||
897, 955, 664, 981, 649, 113, 974, 459, 893, 228,
|
||||
433, 837, 553, 268, 926, 240, 102, 654, 459, 51,
|
||||
686, 754, 806, 760, 493, 403, 415, 394, 687, 700,
|
||||
946, 670, 656, 610, 738, 392, 760, 799, 887, 653,
|
||||
978, 321, 576, 617, 626, 502, 894, 679, 243, 440,
|
||||
680, 879, 194, 572, 640, 724, 926, 56, 204, 700,
|
||||
707, 151, 457, 449, 797, 195, 791, 558, 945, 679,
|
||||
297, 59, 87, 824, 713, 663, 412, 693, 342, 606,
|
||||
134, 108, 571, 364, 631, 212, 174, 643, 304, 329,
|
||||
343, 97, 430, 751, 497, 314, 983, 374, 822, 928,
|
||||
140, 206, 73, 263, 980, 736, 876, 478, 430, 305,
|
||||
170, 514, 364, 692, 829, 82, 855, 953, 676, 246,
|
||||
369, 970, 294, 750, 807, 827, 150, 790, 288, 923,
|
||||
804, 378, 215, 828, 592, 281, 565, 555, 710, 82,
|
||||
896, 831, 547, 261, 524, 462, 293, 465, 502, 56,
|
||||
661, 821, 976, 991, 658, 869, 905, 758, 745, 193,
|
||||
768, 550, 608, 933, 378, 286, 215, 979, 792, 961,
|
||||
61, 688, 793, 644, 986, 403, 106, 366, 905, 644,
|
||||
372, 567, 466, 434, 645, 210, 389, 550, 919, 135,
|
||||
780, 773, 635, 389, 707, 100, 626, 958, 165, 504,
|
||||
920, 176, 193, 713, 857, 265, 203, 50, 668, 108,
|
||||
645, 990, 626, 197, 510, 357, 358, 850, 858, 364,
|
||||
936, 638
|
||||
};
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end randtable.c ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
21
3rdparty/cpuinfo/.gitignore
vendored
Normal file
21
3rdparty/cpuinfo/.gitignore
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
# Ninja files
|
||||
build.ninja
|
||||
|
||||
# Build objects and artifacts
|
||||
deps/
|
||||
build/
|
||||
bin/
|
||||
lib/
|
||||
libs/
|
||||
obj/
|
||||
*.pyc
|
||||
*.pyo
|
||||
|
||||
# System files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
223
3rdparty/cpuinfo/CMakeLists.txt
vendored
Normal file
223
3rdparty/cpuinfo/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,223 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR)
|
||||
|
||||
# ---[ Setup project
|
||||
PROJECT(
|
||||
cpuinfo
|
||||
LANGUAGES C CXX
|
||||
)
|
||||
|
||||
# ---[ Options.
|
||||
SET(CPUINFO_LIBRARY_TYPE "default" CACHE STRING "Type of cpuinfo library (shared, static, or default) to build")
|
||||
SET_PROPERTY(CACHE CPUINFO_LIBRARY_TYPE PROPERTY STRINGS default static shared)
|
||||
SET(CPUINFO_RUNTIME_TYPE "default" CACHE STRING "Type of runtime library (shared, static, or default) to use")
|
||||
SET_PROPERTY(CACHE CPUINFO_RUNTIME_TYPE PROPERTY STRINGS default static shared)
|
||||
SET(CPUINFO_LOG_LEVEL "default" CACHE STRING "Minimum logging level (info with lower severity will be ignored)")
|
||||
SET_PROPERTY(CACHE CPUINFO_LOG_LEVEL PROPERTY STRINGS default debug info warning error fatal none)
|
||||
|
||||
MACRO(CPUINFO_TARGET_ENABLE_C99 target)
|
||||
SET_TARGET_PROPERTIES(${target} PROPERTIES
|
||||
C_STANDARD 99
|
||||
C_EXTENSIONS NO)
|
||||
ENDMACRO()
|
||||
|
||||
MACRO(CPUINFO_TARGET_ENABLE_CXX11 target)
|
||||
SET_TARGET_PROPERTIES(${target} PROPERTIES
|
||||
CXX_STANDARD 11
|
||||
CXX_EXTENSIONS NO)
|
||||
ENDMACRO()
|
||||
|
||||
MACRO(CPUINFO_TARGET_RUNTIME_LIBRARY target)
|
||||
IF(MSVC AND NOT CPUINFO_RUNTIME_TYPE STREQUAL "default")
|
||||
IF(CPUINFO_RUNTIME_TYPE STREQUAL "shared")
|
||||
TARGET_COMPILE_OPTIONS(${target} PRIVATE
|
||||
"/MD$<$<CONFIG:Debug>:d>")
|
||||
ELSEIF(CPUINFO_RUNTIME_TYPE STREQUAL "static")
|
||||
TARGET_COMPILE_OPTIONS(${target} PRIVATE
|
||||
"/MT$<$<CONFIG:Debug>:d>")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
# -- [ Determine target processor
|
||||
SET(CPUINFO_TARGET_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}")
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_OSX_ARCHITECTURES MATCHES "^(x86_64|arm64)$")
|
||||
SET(CPUINFO_TARGET_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}")
|
||||
ENDIF()
|
||||
|
||||
# ---[ Build flags
|
||||
SET(CPUINFO_SUPPORTED_PLATFORM TRUE)
|
||||
IF(NOT CMAKE_SYSTEM_PROCESSOR)
|
||||
IF(NOT IOS)
|
||||
MESSAGE(WARNING
|
||||
"Target processor architecture is not specified. "
|
||||
"cpuinfo will compile, but cpuinfo_initialize() will always fail.")
|
||||
SET(CPUINFO_SUPPORTED_PLATFORM FALSE)
|
||||
ENDIF()
|
||||
ELSEIF(NOT CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86(_64)?|armv[5-8].*|aarch64|arm64)$")
|
||||
MESSAGE(WARNING
|
||||
"Target processor architecture \"${CPUINFO_TARGET_PROCESSOR}\" is not supported in cpuinfo. "
|
||||
"cpuinfo will compile, but cpuinfo_initialize() will always fail.")
|
||||
SET(CPUINFO_SUPPORTED_PLATFORM FALSE)
|
||||
ENDIF()
|
||||
|
||||
IF(NOT CMAKE_SYSTEM_NAME)
|
||||
MESSAGE(WARNING
|
||||
"Target operating system is not specified. "
|
||||
"cpuinfo will compile, but cpuinfo_initialize() will always fail.")
|
||||
SET(CPUINFO_SUPPORTED_PLATFORM FALSE)
|
||||
ELSEIF(NOT CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS|Darwin|Linux|Android)$")
|
||||
IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14" AND NOT CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
||||
MESSAGE(WARNING
|
||||
"Target operating system \"${CMAKE_SYSTEM_NAME}\" is not supported in cpuinfo. "
|
||||
"cpuinfo will compile, but cpuinfo_initialize() will always fail.")
|
||||
SET(CPUINFO_SUPPORTED_PLATFORM FALSE)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# ---[ cpuinfo library
|
||||
SET(CPUINFO_SRCS
|
||||
src/init.c
|
||||
src/api.c
|
||||
src/cache.c)
|
||||
|
||||
IF(CPUINFO_SUPPORTED_PLATFORM)
|
||||
IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten" AND (CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86(_64)?)$" OR IOS_ARCH MATCHES "^(i386|x86_64)$"))
|
||||
LIST(APPEND CPUINFO_SRCS
|
||||
src/x86/init.c
|
||||
src/x86/info.c
|
||||
src/x86/vendor.c
|
||||
src/x86/uarch.c
|
||||
src/x86/name.c
|
||||
src/x86/topology.c
|
||||
src/x86/isa.c
|
||||
src/x86/cache/init.c
|
||||
src/x86/cache/descriptor.c
|
||||
src/x86/cache/deterministic.c)
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
LIST(APPEND CPUINFO_SRCS
|
||||
src/x86/linux/init.c
|
||||
src/x86/linux/cpuinfo.c)
|
||||
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
||||
LIST(APPEND CPUINFO_SRCS src/x86/mach/init.c)
|
||||
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$")
|
||||
LIST(APPEND CPUINFO_SRCS src/x86/windows/init.c)
|
||||
ENDIF()
|
||||
ELSEIF(CPUINFO_TARGET_PROCESSOR MATCHES "^(armv[5-8].*|aarch64|arm64)$" OR IOS_ARCH MATCHES "^(armv7.*|arm64.*)$")
|
||||
LIST(APPEND CPUINFO_SRCS
|
||||
src/arm/uarch.c
|
||||
src/arm/cache.c)
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
LIST(APPEND CPUINFO_SRCS
|
||||
src/arm/linux/init.c
|
||||
src/arm/linux/cpuinfo.c
|
||||
src/arm/linux/clusters.c
|
||||
src/arm/linux/chipset.c
|
||||
src/arm/linux/midr.c
|
||||
src/arm/linux/hwcap.c)
|
||||
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv[5-8]")
|
||||
LIST(APPEND CPUINFO_SRCS src/arm/linux/aarch32-isa.c)
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Android" AND ANDROID_ABI STREQUAL "armeabi")
|
||||
SET_SOURCE_FILES_PROPERTIES(src/arm/linux/aarch32-isa.c PROPERTIES COMPILE_FLAGS -marm)
|
||||
ENDIF()
|
||||
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)$")
|
||||
LIST(APPEND CPUINFO_SRCS src/arm/linux/aarch64-isa.c)
|
||||
ENDIF()
|
||||
ELSEIF(IOS OR (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CPUINFO_TARGET_PROCESSOR STREQUAL "arm64"))
|
||||
LIST(APPEND CPUINFO_SRCS src/arm/mach/init.c)
|
||||
ENDIF()
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
LIST(APPEND CPUINFO_SRCS
|
||||
src/arm/android/properties.c)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
|
||||
LIST(APPEND CPUINFO_SRCS
|
||||
src/emscripten/init.c)
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
LIST(APPEND CPUINFO_SRCS
|
||||
src/linux/smallfile.c
|
||||
src/linux/multiline.c
|
||||
src/linux/cpulist.c
|
||||
src/linux/processors.c)
|
||||
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
||||
LIST(APPEND CPUINFO_SRCS src/mach/topology.c)
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
SET(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
SET(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
||||
FIND_PACKAGE(Threads REQUIRED)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(CPUINFO_LIBRARY_TYPE STREQUAL "default")
|
||||
ADD_LIBRARY(cpuinfo ${CPUINFO_SRCS})
|
||||
ELSEIF(CPUINFO_LIBRARY_TYPE STREQUAL "shared")
|
||||
ADD_LIBRARY(cpuinfo SHARED ${CPUINFO_SRCS})
|
||||
ELSEIF(CPUINFO_LIBRARY_TYPE STREQUAL "static")
|
||||
ADD_LIBRARY(cpuinfo STATIC ${CPUINFO_SRCS})
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unsupported library type ${CPUINFO_LIBRARY_TYPE}")
|
||||
ENDIF()
|
||||
ADD_LIBRARY(cpuinfo_internals STATIC ${CPUINFO_SRCS})
|
||||
CPUINFO_TARGET_ENABLE_C99(cpuinfo)
|
||||
CPUINFO_TARGET_ENABLE_C99(cpuinfo_internals)
|
||||
CPUINFO_TARGET_RUNTIME_LIBRARY(cpuinfo)
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$")
|
||||
# Target Windows 7+ API
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE _WIN32_WINNT=0x0601)
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo_internals PRIVATE _WIN32_WINNT=0x0601)
|
||||
ENDIF()
|
||||
SET_TARGET_PROPERTIES(cpuinfo PROPERTIES PUBLIC_HEADER include/cpuinfo.h)
|
||||
TARGET_INCLUDE_DIRECTORIES(cpuinfo BEFORE PUBLIC include)
|
||||
TARGET_INCLUDE_DIRECTORIES(cpuinfo BEFORE PRIVATE src)
|
||||
TARGET_INCLUDE_DIRECTORIES(cpuinfo_internals BEFORE PUBLIC include src)
|
||||
IF(CPUINFO_LOG_LEVEL STREQUAL "default")
|
||||
# default logging level: error (subject to change)
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE CPUINFO_LOG_LEVEL=2)
|
||||
ELSEIF(CPUINFO_LOG_LEVEL STREQUAL "debug")
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE CPUINFO_LOG_LEVEL=5)
|
||||
ELSEIF(CPUINFO_LOG_LEVEL STREQUAL "info")
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE CPUINFO_LOG_LEVEL=4)
|
||||
ELSEIF(CPUINFO_LOG_LEVEL STREQUAL "warning")
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE CPUINFO_LOG_LEVEL=3)
|
||||
ELSEIF(CPUINFO_LOG_LEVEL STREQUAL "error")
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE CPUINFO_LOG_LEVEL=2)
|
||||
ELSEIF(CPUINFO_LOG_LEVEL STREQUAL "fatal")
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE CPUINFO_LOG_LEVEL=1)
|
||||
ELSEIF(CPUINFO_LOG_LEVEL STREQUAL "none")
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE CPUINFO_LOG_LEVEL=0)
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unsupported logging level ${CPUINFO_LOG_LEVEL}")
|
||||
ENDIF()
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo_internals PRIVATE CPUINFO_LOG_LEVEL=0)
|
||||
|
||||
IF(CPUINFO_SUPPORTED_PLATFORM)
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo INTERFACE CPUINFO_SUPPORTED_PLATFORM=1)
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
TARGET_LINK_LIBRARIES(cpuinfo PUBLIC ${CMAKE_THREAD_LIBS_INIT})
|
||||
TARGET_LINK_LIBRARIES(cpuinfo_internals PUBLIC ${CMAKE_THREAD_LIBS_INIT})
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE _GNU_SOURCE=1)
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo_internals PRIVATE _GNU_SOURCE=1)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
TARGET_COMPILE_DEFINITIONS(cpuinfo INTERFACE CPUINFO_SUPPORTED_PLATFORM=0)
|
||||
ENDIF()
|
||||
|
||||
# ---[ cpuinfo dependencies: clog
|
||||
IF(NOT DEFINED CLOG_SOURCE_DIR)
|
||||
SET(CLOG_SOURCE_DIR "${PROJECT_SOURCE_DIR}/deps/clog")
|
||||
ENDIF()
|
||||
IF(NOT TARGET clog)
|
||||
SET(CLOG_BUILD_TESTS OFF CACHE BOOL "")
|
||||
SET(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
|
||||
ADD_SUBDIRECTORY(
|
||||
"${CLOG_SOURCE_DIR}")
|
||||
# We build static version of clog but a dynamic library may indirectly depend on it
|
||||
SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
ENDIF()
|
||||
TARGET_LINK_LIBRARIES(cpuinfo PRIVATE clog)
|
||||
TARGET_LINK_LIBRARIES(cpuinfo_internals PRIVATE clog)
|
||||
27
3rdparty/cpuinfo/LICENSE
vendored
Normal file
27
3rdparty/cpuinfo/LICENSE
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
Copyright (c) 2019 Google LLC
|
||||
Copyright (c) 2017-2018 Facebook Inc.
|
||||
Copyright (C) 2012-2017 Georgia Institute of Technology
|
||||
Copyright (C) 2010-2012 Marat Dukhan
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
283
3rdparty/cpuinfo/README.md
vendored
Normal file
283
3rdparty/cpuinfo/README.md
vendored
Normal file
@@ -0,0 +1,283 @@
|
||||
# CPU INFOrmation library
|
||||
|
||||
[](https://github.com/pytorch/cpuinfo/blob/master/LICENSE)
|
||||
[](https://travis-ci.org/pytorch/cpuinfo)
|
||||
[](https://ci.appveyor.com/project/MaratDukhan/cpuinfo/branch/master)
|
||||
|
||||
cpuinfo is a library to detect essential for performance optimization information about host CPU.
|
||||
|
||||
## Features
|
||||
|
||||
- **Cross-platform** availability:
|
||||
- Linux, Windows, macOS, Android, and iOS operating systems
|
||||
- x86, x86-64, ARM, and ARM64 architectures
|
||||
- Modern **C/C++ interface**
|
||||
- Thread-safe
|
||||
- No memory allocation after initialization
|
||||
- No exceptions thrown
|
||||
- Detection of **supported instruction sets**, up to AVX512 (x86) and ARMv8.3 extensions
|
||||
- Detection of SoC and core information:
|
||||
- **Processor (SoC) name**
|
||||
- Vendor and **microarchitecture** for each CPU core
|
||||
- ID (**MIDR** on ARM, **CPUID** leaf 1 EAX value on x86) for each CPU core
|
||||
- Detection of **cache information**:
|
||||
- Cache type (instruction/data/unified), size and line size
|
||||
- Cache associativity
|
||||
- Cores and logical processors (hyper-threads) sharing the cache
|
||||
- Detection of **topology information** (relative between logical processors, cores, and processor packages)
|
||||
- Well-tested **production-quality** code:
|
||||
- 60+ mock tests based on data from real devices
|
||||
- Includes work-arounds for common bugs in hardware and OS kernels
|
||||
- Supports systems with heterogenous cores, such as **big.LITTLE** and Max.Med.Min
|
||||
- Permissive **open-source** license (Simplified BSD)
|
||||
|
||||
## Examples
|
||||
|
||||
Log processor name:
|
||||
|
||||
```c
|
||||
cpuinfo_initialize();
|
||||
printf("Running on %s CPU\n", cpuinfo_get_package(0)->name);
|
||||
```
|
||||
|
||||
Detect if target is a 32-bit or 64-bit ARM system:
|
||||
|
||||
```c
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
/* 32-bit ARM-specific code here */
|
||||
#endif
|
||||
```
|
||||
|
||||
Check if the host CPU support ARM NEON
|
||||
|
||||
```c
|
||||
cpuinfo_initialize();
|
||||
if (cpuinfo_has_arm_neon()) {
|
||||
neon_implementation(arguments);
|
||||
}
|
||||
```
|
||||
|
||||
Check if the host CPU supports x86 AVX
|
||||
|
||||
```c
|
||||
cpuinfo_initialize();
|
||||
if (cpuinfo_has_x86_avx()) {
|
||||
avx_implementation(arguments);
|
||||
}
|
||||
```
|
||||
|
||||
Check if the thread runs on a Cortex-A53 core
|
||||
|
||||
```c
|
||||
cpuinfo_initialize();
|
||||
switch (cpuinfo_get_current_core()->uarch) {
|
||||
case cpuinfo_uarch_cortex_a53:
|
||||
cortex_a53_implementation(arguments);
|
||||
break;
|
||||
default:
|
||||
generic_implementation(arguments);
|
||||
break;
|
||||
}
|
||||
```
|
||||
|
||||
Get the size of level 1 data cache on the fastest core in the processor (e.g. big core in big.LITTLE ARM systems):
|
||||
|
||||
```c
|
||||
cpuinfo_initialize();
|
||||
const size_t l1_size = cpuinfo_get_processor(0)->cache.l1d->size;
|
||||
```
|
||||
|
||||
Pin thread to cores sharing L2 cache with the current core (Linux or Android)
|
||||
|
||||
```c
|
||||
cpuinfo_initialize();
|
||||
cpu_set_t cpu_set;
|
||||
CPU_ZERO(&cpu_set);
|
||||
const struct cpuinfo_cache* current_l2 = cpuinfo_get_current_processor()->cache.l2;
|
||||
for (uint32_t i = 0; i < current_l2->processor_count; i++) {
|
||||
CPU_SET(cpuinfo_get_processor(current_l2->processor_start + i)->linux_id, &cpu_set);
|
||||
}
|
||||
pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpu_set);
|
||||
```
|
||||
|
||||
## Use via pkg-config
|
||||
|
||||
If you would like to provide your project's build environment with the necessary compiler and linker flags in a portable manner, the library by default when built enables `CPUINFO_BUILD_PKG_CONFIG` and will generate a [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) manifest (_libcpuinfo.pc_). Here are several examples of how to use it:
|
||||
|
||||
### Command Line
|
||||
|
||||
If you used your distro's package manager to install the library, you can verify that it is available to your build environment like so:
|
||||
|
||||
```console
|
||||
$ pkg-config --cflags --libs libcpuinfo
|
||||
-I/usr/include/x86_64-linux-gnu/ -L/lib/x86_64-linux-gnu/ -lcpuinfo
|
||||
```
|
||||
|
||||
If you have installed the library from source into a non-standard prefix, pkg-config may need help finding it:
|
||||
|
||||
```console
|
||||
$ PKG_CONFIG_PATH="/home/me/projects/cpuinfo/prefix/lib/pkgconfig/:$PKG_CONFIG_PATH" pkg-config --cflags --libs libcpuinfo
|
||||
-I/home/me/projects/cpuinfo/prefix/include -L/home/me/projects/cpuinfo/prefix/lib -lcpuinfo
|
||||
```
|
||||
|
||||
### GNU Autotools
|
||||
|
||||
To [use](https://autotools.io/pkgconfig/pkg_check_modules.html) with the GNU Autotools include the following snippet in your project's `configure.ac`:
|
||||
|
||||
```makefile
|
||||
# CPU INFOrmation library...
|
||||
PKG_CHECK_MODULES(
|
||||
[libcpuinfo], [libcpuinfo], [],
|
||||
[AC_MSG_ERROR([libcpuinfo missing...])])
|
||||
YOURPROJECT_CXXFLAGS="$YOURPROJECT_CXXFLAGS $libcpuinfo_CFLAGS"
|
||||
YOURPROJECT_LIBS="$YOURPROJECT_LIBS $libcpuinfo_LIBS"
|
||||
```
|
||||
|
||||
### Meson
|
||||
|
||||
To use with Meson you just need to add `dependency('libcpuinfo')` as a dependency for your executable.
|
||||
|
||||
```meson
|
||||
project(
|
||||
'MyCpuInfoProject',
|
||||
'cpp',
|
||||
meson_version: '>=0.55.0'
|
||||
)
|
||||
|
||||
executable(
|
||||
'MyCpuInfoExecutable',
|
||||
sources: 'main.cpp',
|
||||
dependencies: dependency('libcpuinfo')
|
||||
)
|
||||
```
|
||||
|
||||
### CMake
|
||||
|
||||
To use with CMake use the [FindPkgConfig](https://cmake.org/cmake/help/latest/module/FindPkgConfig.html) module. Here is an example:
|
||||
|
||||
```cmake
|
||||
cmake_minimum_required(VERSION 3.6)
|
||||
project("MyCpuInfoProject")
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(CpuInfo REQUIRED IMPORTED_TARGET libcpuinfo)
|
||||
|
||||
add_executable(${PROJECT_NAME} main.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} PkgConfig::CpuInfo)
|
||||
```
|
||||
|
||||
### Makefile
|
||||
|
||||
To use within a vanilla makefile, you can call pkg-config directly to supply compiler and linker flags using shell substitution.
|
||||
|
||||
```makefile
|
||||
CFLAGS=-g3 -Wall -Wextra -Werror ...
|
||||
LDFLAGS=-lfoo ...
|
||||
...
|
||||
CFLAGS+= $(pkg-config --cflags libcpuinfo)
|
||||
LDFLAGS+= $(pkg-config --libs libcpuinfo)
|
||||
```
|
||||
|
||||
## Exposed information
|
||||
- [x] Processor (SoC) name
|
||||
- [x] Microarchitecture
|
||||
- [x] Usable instruction sets
|
||||
- [ ] CPU frequency
|
||||
- [x] Cache
|
||||
- [x] Size
|
||||
- [x] Associativity
|
||||
- [x] Line size
|
||||
- [x] Number of partitions
|
||||
- [x] Flags (unified, inclusive, complex hash function)
|
||||
- [x] Topology (logical processors that share this cache level)
|
||||
- [ ] TLB
|
||||
- [ ] Number of entries
|
||||
- [ ] Associativity
|
||||
- [ ] Covered page types (instruction, data)
|
||||
- [ ] Covered page sizes
|
||||
- [x] Topology information
|
||||
- [x] Logical processors
|
||||
- [x] Cores
|
||||
- [x] Packages (sockets)
|
||||
|
||||
## Supported environments:
|
||||
- [x] Android
|
||||
- [x] x86 ABI
|
||||
- [x] x86_64 ABI
|
||||
- [x] armeabi ABI
|
||||
- [x] armeabiv7-a ABI
|
||||
- [x] arm64-v8a ABI
|
||||
- [ ] ~~mips ABI~~
|
||||
- [ ] ~~mips64 ABI~~
|
||||
- [x] Linux
|
||||
- [x] x86
|
||||
- [x] x86-64
|
||||
- [x] 32-bit ARM (ARMv5T and later)
|
||||
- [x] ARM64
|
||||
- [ ] PowerPC64
|
||||
- [x] iOS
|
||||
- [x] x86 (iPhone simulator)
|
||||
- [x] x86-64 (iPhone simulator)
|
||||
- [x] ARMv7
|
||||
- [x] ARM64
|
||||
- [x] OS X
|
||||
- [x] x86
|
||||
- [x] x86-64
|
||||
- [x] Windows
|
||||
- [x] x86
|
||||
- [x] x86-64
|
||||
|
||||
## Methods
|
||||
|
||||
- Processor (SoC) name detection
|
||||
- [x] Using CPUID leaves 0x80000002–0x80000004 on x86/x86-64
|
||||
- [x] Using `/proc/cpuinfo` on ARM
|
||||
- [x] Using `ro.chipname`, `ro.board.platform`, `ro.product.board`, `ro.mediatek.platform`, `ro.arch` properties (Android)
|
||||
- [ ] Using kernel log (`dmesg`) on ARM Linux
|
||||
- Vendor and microarchitecture detection
|
||||
- [x] Intel-designed x86/x86-64 cores (up to Sunny Cove, Goldmont Plus, and Knights Mill)
|
||||
- [x] AMD-designed x86/x86-64 cores (up to Puma/Jaguar and Zen 2)
|
||||
- [ ] VIA-designed x86/x86-64 cores
|
||||
- [ ] Other x86 cores (DM&P, RDC, Transmeta, Cyrix, Rise)
|
||||
- [x] ARM-designed ARM cores (up to Cortex-A55, Cortex-A77, and Neoverse E1/N1)
|
||||
- [x] Qualcomm-designed ARM cores (Scorpion, Krait, and Kryo)
|
||||
- [x] Nvidia-designed ARM cores (Denver and Carmel)
|
||||
- [x] Samsung-designed ARM cores (Exynos)
|
||||
- [x] Intel-designed ARM cores (XScale up to 3rd-gen)
|
||||
- [x] Apple-designed ARM cores (up to Lightning and Thunder)
|
||||
- [x] Cavium-designed ARM cores (ThunderX)
|
||||
- [x] AppliedMicro-designed ARM cores (X-Gene)
|
||||
- Instruction set detection
|
||||
- [x] Using CPUID (x86/x86-64)
|
||||
- [x] Using `/proc/cpuinfo` on 32-bit ARM EABI (Linux)
|
||||
- [x] Using microarchitecture heuristics on (32-bit ARM)
|
||||
- [x] Using `FPSID` and `WCID` registers (32-bit ARM)
|
||||
- [x] Using `getauxval` (Linux/ARM)
|
||||
- [x] Using `/proc/self/auxv` (Android/ARM)
|
||||
- [ ] Using instruction probing on ARM (Linux)
|
||||
- [ ] Using CPUID registers on ARM64 (Linux)
|
||||
- Cache detection
|
||||
- [x] Using CPUID leaf 0x00000002 (x86/x86-64)
|
||||
- [x] Using CPUID leaf 0x00000004 (non-AMD x86/x86-64)
|
||||
- [ ] Using CPUID leaves 0x80000005-0x80000006 (AMD x86/x86-64)
|
||||
- [x] Using CPUID leaf 0x8000001D (AMD x86/x86-64)
|
||||
- [x] Using `/proc/cpuinfo` (Linux/pre-ARMv7)
|
||||
- [x] Using microarchitecture heuristics (ARM)
|
||||
- [x] Using chipset name (ARM)
|
||||
- [x] Using `sysctlbyname` (Mach)
|
||||
- [x] Using sysfs `typology` directories (ARM/Linux)
|
||||
- [ ] Using sysfs `cache` directories (Linux)
|
||||
- TLB detection
|
||||
- [x] Using CPUID leaf 0x00000002 (x86/x86-64)
|
||||
- [ ] Using CPUID leaves 0x80000005-0x80000006 and 0x80000019 (AMD x86/x86-64)
|
||||
- [x] Using microarchitecture heuristics (ARM)
|
||||
- Topology detection
|
||||
- [x] Using CPUID leaf 0x00000001 on x86/x86-64 (legacy APIC ID)
|
||||
- [x] Using CPUID leaf 0x0000000B on x86/x86-64 (Intel APIC ID)
|
||||
- [ ] Using CPUID leaf 0x8000001E on x86/x86-64 (AMD APIC ID)
|
||||
- [x] Using `/proc/cpuinfo` (Linux)
|
||||
- [x] Using `host_info` (Mach)
|
||||
- [x] Using `GetLogicalProcessorInformationEx` (Windows)
|
||||
- [x] Using sysfs (Linux)
|
||||
- [x] Using chipset name (ARM/Linux)
|
||||
|
||||
70
3rdparty/cpuinfo/cpuinfo.vcxproj
vendored
Normal file
70
3rdparty/cpuinfo/cpuinfo.vcxproj
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(SolutionDir)common\vsprops\BaseProjectConfig.props" />
|
||||
<Import Project="$(SolutionDir)common\vsprops\WinSDK.props" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7E183337-A7E9-460C-9D3D-568BC9F9BCC1}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset Condition="!$(Configuration.Contains(Clang))">$(DefaultPlatformToolset)</PlatformToolset>
|
||||
<PlatformToolset Condition="$(Configuration.Contains(Clang))">ClangCL</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
|
||||
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\DefaultProjectRootDir.props" />
|
||||
<Import Project="..\3rdparty.props" />
|
||||
<Import Condition="$(Configuration.Contains(Debug))" Project="..\..\common\vsprops\CodeGen_Debug.props" />
|
||||
<Import Condition="$(Configuration.Contains(Devel))" Project="..\..\common\vsprops\CodeGen_Devel.props" />
|
||||
<Import Condition="$(Configuration.Contains(Release))" Project="..\..\common\vsprops\CodeGen_Release.props" />
|
||||
<Import Condition="!$(Configuration.Contains(Release))" Project="..\..\common\vsprops\IncrementalLinking.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="deps\clog\src\clog.c" />
|
||||
<ClCompile Include="src\api.c" />
|
||||
<ClCompile Include="src\cache.c" />
|
||||
<ClCompile Include="src\init.c" />
|
||||
<ClCompile Include="src\x86\cache\descriptor.c" />
|
||||
<ClCompile Include="src\x86\cache\deterministic.c" />
|
||||
<ClCompile Include="src\x86\cache\init.c" />
|
||||
<ClCompile Include="src\x86\info.c" />
|
||||
<ClCompile Include="src\x86\init.c" />
|
||||
<ClCompile Include="src\x86\isa.c" />
|
||||
<ClCompile Include="src\x86\name.c" />
|
||||
<ClCompile Include="src\x86\topology.c" />
|
||||
<ClCompile Include="src\x86\uarch.c" />
|
||||
<ClCompile Include="src\x86\vendor.c" />
|
||||
<ClCompile Include="src\x86\windows\init.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="deps\clog\include\clog.h" />
|
||||
<ClInclude Include="include\cpuinfo.h" />
|
||||
<ClInclude Include="src\cpuinfo\common.h" />
|
||||
<ClInclude Include="src\cpuinfo\internal-api.h" />
|
||||
<ClInclude Include="src\cpuinfo\log.h" />
|
||||
<ClInclude Include="src\cpuinfo\utils.h" />
|
||||
<ClInclude Include="src\x86\api.h" />
|
||||
<ClInclude Include="src\x86\cpuid.h" />
|
||||
<ClInclude Include="src\x86\windows\api.h" />
|
||||
</ItemGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)src;$(ProjectDir)deps\clog\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
88
3rdparty/cpuinfo/cpuinfo.vcxproj.filters
vendored
Normal file
88
3rdparty/cpuinfo/cpuinfo.vcxproj.filters
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="x86">
|
||||
<UniqueIdentifier>{8fc9f543-ff04-48fb-ae1a-7c575a8aed13}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="x86\windows">
|
||||
<UniqueIdentifier>{0b540baa-aafb-4e51-8cbf-b7e7c00d9a4d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="x86\descriptor">
|
||||
<UniqueIdentifier>{53ef3c40-8e03-46d1-aeb3-6446c40469da}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="cpuinfo">
|
||||
<UniqueIdentifier>{26002d26-399a-41bb-93cb-42fb9be21c1f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="clog">
|
||||
<UniqueIdentifier>{7f0aba4c-ca06-4a7b-aed1-4f1e6976e839}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\x86\isa.c">
|
||||
<Filter>x86</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\name.c">
|
||||
<Filter>x86</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\topology.c">
|
||||
<Filter>x86</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\uarch.c">
|
||||
<Filter>x86</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\vendor.c">
|
||||
<Filter>x86</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\info.c">
|
||||
<Filter>x86</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\init.c">
|
||||
<Filter>x86</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\windows\init.c">
|
||||
<Filter>x86\windows</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\cache\deterministic.c">
|
||||
<Filter>x86\descriptor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\cache\init.c">
|
||||
<Filter>x86\descriptor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\x86\cache\descriptor.c">
|
||||
<Filter>x86\descriptor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\api.c" />
|
||||
<ClCompile Include="src\cache.c" />
|
||||
<ClCompile Include="src\init.c" />
|
||||
<ClCompile Include="deps\clog\src\clog.c">
|
||||
<Filter>clog</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\x86\api.h">
|
||||
<Filter>x86</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\x86\cpuid.h">
|
||||
<Filter>x86</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\x86\windows\api.h">
|
||||
<Filter>x86\windows</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\cpuinfo\internal-api.h">
|
||||
<Filter>cpuinfo</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\cpuinfo\log.h">
|
||||
<Filter>cpuinfo</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\cpuinfo\utils.h">
|
||||
<Filter>cpuinfo</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\cpuinfo\common.h">
|
||||
<Filter>cpuinfo</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\cpuinfo.h" />
|
||||
<ClInclude Include="deps\clog\include\clog.h">
|
||||
<Filter>clog</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
19
3rdparty/cpuinfo/deps/clog/.gitignore
vendored
Normal file
19
3rdparty/cpuinfo/deps/clog/.gitignore
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# Ninja files
|
||||
build.ninja
|
||||
|
||||
# Build objects and artifacts
|
||||
deps/
|
||||
build/
|
||||
bin/
|
||||
lib/
|
||||
*.pyc
|
||||
*.pyo
|
||||
|
||||
# System files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
42
3rdparty/cpuinfo/deps/clog/CMakeLists.txt
vendored
Normal file
42
3rdparty/cpuinfo/deps/clog/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR)
|
||||
|
||||
# ---[ Project and semantic versioning.
|
||||
PROJECT(clog C CXX)
|
||||
|
||||
# ---[ Options.
|
||||
SET(CLOG_RUNTIME_TYPE "default" CACHE STRING "Type of runtime library (shared, static, or default) to use")
|
||||
SET_PROPERTY(CACHE CLOG_RUNTIME_TYPE PROPERTY STRINGS default static shared)
|
||||
IF(ANDROID)
|
||||
OPTION(CLOG_LOG_TO_STDIO "Log errors, warnings, and information to stdout/stderr" OFF)
|
||||
ELSE()
|
||||
OPTION(CLOG_LOG_TO_STDIO "Log errors, warnings, and information to stdout/stderr" ON)
|
||||
ENDIF()
|
||||
|
||||
MACRO(CLOG_TARGET_RUNTIME_LIBRARY target)
|
||||
IF(MSVC AND NOT CLOG_RUNTIME_TYPE STREQUAL "default")
|
||||
IF(CLOG_RUNTIME_TYPE STREQUAL "shared")
|
||||
TARGET_COMPILE_OPTIONS(${target} PRIVATE
|
||||
"/MD$<$<CONFIG:Debug>:d>")
|
||||
ELSEIF(CLOG_RUNTIME_TYPE STREQUAL "static")
|
||||
TARGET_COMPILE_OPTIONS(${target} PRIVATE
|
||||
"/MT$<$<CONFIG:Debug>:d>")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
# ---[ clog library
|
||||
ADD_LIBRARY(clog STATIC src/clog.c)
|
||||
SET_TARGET_PROPERTIES(clog PROPERTIES
|
||||
C_STANDARD 99
|
||||
C_EXTENSIONS NO)
|
||||
CLOG_TARGET_RUNTIME_LIBRARY(clog)
|
||||
SET_TARGET_PROPERTIES(clog PROPERTIES PUBLIC_HEADER include/clog.h)
|
||||
TARGET_INCLUDE_DIRECTORIES(clog BEFORE PUBLIC include)
|
||||
IF(CLOG_LOG_TO_STDIO)
|
||||
TARGET_COMPILE_DEFINITIONS(clog PRIVATE CLOG_LOG_TO_STDIO=1)
|
||||
ELSE()
|
||||
TARGET_COMPILE_DEFINITIONS(clog PRIVATE CLOG_LOG_TO_STDIO=0)
|
||||
ENDIF()
|
||||
IF(ANDROID AND NOT CLOG_LOG_TO_STDIO)
|
||||
TARGET_LINK_LIBRARIES(clog PRIVATE log)
|
||||
ENDIF()
|
||||
26
3rdparty/cpuinfo/deps/clog/LICENSE
vendored
Normal file
26
3rdparty/cpuinfo/deps/clog/LICENSE
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
Copyright (C) 2018 Marat Dukhan
|
||||
Copyright (c) 2017-2018 Facebook Inc.
|
||||
Copyright (c) 2017 Georgia Institute of Technology
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
57
3rdparty/cpuinfo/deps/clog/README.md
vendored
Normal file
57
3rdparty/cpuinfo/deps/clog/README.md
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
# clog: C-style (a-la printf) logging library
|
||||
|
||||
[](https://github.com/pytorch/cpuinfo/blob/master/deps/clog/LICENSE)
|
||||
|
||||
C-style library for logging errors, warnings, information notes, and debug information.
|
||||
|
||||
## Features
|
||||
|
||||
- printf-style interface for formatting variadic parameters.
|
||||
- Separate functions for logging errors, warnings, information notes, and debug information.
|
||||
- Independent logging settings for different modules.
|
||||
- Logging to logcat on Android and stderr/stdout on other platforms.
|
||||
- Compatible with C99 and C++.
|
||||
- Covered with unit tests.
|
||||
|
||||
## Example
|
||||
|
||||
```c
|
||||
#include <clog.h>
|
||||
|
||||
#ifndef MYMODULE_LOG_LEVEL
|
||||
#define MYMODULE_LOG_LEVEL CLOG_DEBUG
|
||||
#endif
|
||||
|
||||
CLOG_DEFINE_LOG_DEBUG(mymodule_, "My Module", MYMODULE_LOG_LEVEL);
|
||||
CLOG_DEFINE_LOG_INFO(mymodule_, "My Module", MYMODULE_LOG_LEVEL);
|
||||
CLOG_DEFINE_LOG_WARNING(mymodule_, "My Module", MYMODULE_LOG_LEVEL);
|
||||
CLOG_DEFINE_LOG_ERROR(mymodule_, "My Module", MYMODULE_LOG_LEVEL);
|
||||
|
||||
...
|
||||
|
||||
void some_function(...) {
|
||||
int status = ...
|
||||
if (status != 0) {
|
||||
mymodule_log_error(
|
||||
"something really bad happened: "
|
||||
"operation failed with status %d", status);
|
||||
}
|
||||
|
||||
uint32_t expected_zero = ...
|
||||
if (expected_zero != 0) {
|
||||
mymodule_log_warning(
|
||||
"something suspicious happened (var = %"PRIu32"), "
|
||||
"fall back to generic implementation", expected_zero);
|
||||
}
|
||||
|
||||
void* usually_non_null = ...
|
||||
if (usually_non_null == NULL) {
|
||||
mymodule_log_info(
|
||||
"something unusual, but common, happened: "
|
||||
"enabling work-around");
|
||||
}
|
||||
|
||||
float a = ...
|
||||
mymodule_log_debug("computed a = %.7f", a);
|
||||
}
|
||||
```
|
||||
100
3rdparty/cpuinfo/deps/clog/include/clog.h
vendored
Normal file
100
3rdparty/cpuinfo/deps/clog/include/clog.h
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#define CLOG_NONE 0
|
||||
#define CLOG_FATAL 1
|
||||
#define CLOG_ERROR 2
|
||||
#define CLOG_WARNING 3
|
||||
#define CLOG_INFO 4
|
||||
#define CLOG_DEBUG 5
|
||||
|
||||
#ifndef CLOG_VISIBILITY
|
||||
#if defined(__ELF__)
|
||||
#define CLOG_VISIBILITY __attribute__((__visibility__("internal")))
|
||||
#elif defined(__MACH__)
|
||||
#define CLOG_VISIBILITY __attribute__((__visibility__("hidden")))
|
||||
#else
|
||||
#define CLOG_VISIBILITY
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef CLOG_ARGUMENTS_FORMAT
|
||||
#if defined(__GNUC__)
|
||||
#define CLOG_ARGUMENTS_FORMAT __attribute__((__format__(__printf__, 1, 2)))
|
||||
#else
|
||||
#define CLOG_ARGUMENTS_FORMAT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
CLOG_VISIBILITY void clog_vlog_debug(const char* module, const char* format, va_list args);
|
||||
CLOG_VISIBILITY void clog_vlog_info(const char* module, const char* format, va_list args);
|
||||
CLOG_VISIBILITY void clog_vlog_warning(const char* module, const char* format, va_list args);
|
||||
CLOG_VISIBILITY void clog_vlog_error(const char* module, const char* format, va_list args);
|
||||
CLOG_VISIBILITY void clog_vlog_fatal(const char* module, const char* format, va_list args);
|
||||
|
||||
#define CLOG_DEFINE_LOG_DEBUG(log_debug_function_name, module, level) \
|
||||
CLOG_ARGUMENTS_FORMAT \
|
||||
inline static void log_debug_function_name(const char* format, ...) { \
|
||||
if (level >= CLOG_DEBUG) { \
|
||||
va_list args; \
|
||||
va_start(args, format); \
|
||||
clog_vlog_debug(module, format, args); \
|
||||
va_end(args); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define CLOG_DEFINE_LOG_INFO(log_info_function_name, module, level) \
|
||||
CLOG_ARGUMENTS_FORMAT \
|
||||
inline static void log_info_function_name(const char* format, ...) { \
|
||||
if (level >= CLOG_INFO) { \
|
||||
va_list args; \
|
||||
va_start(args, format); \
|
||||
clog_vlog_info(module, format, args); \
|
||||
va_end(args); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define CLOG_DEFINE_LOG_WARNING(log_warning_function_name, module, level) \
|
||||
CLOG_ARGUMENTS_FORMAT \
|
||||
inline static void log_warning_function_name(const char* format, ...) { \
|
||||
if (level >= CLOG_WARNING) { \
|
||||
va_list args; \
|
||||
va_start(args, format); \
|
||||
clog_vlog_warning(module, format, args); \
|
||||
va_end(args); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define CLOG_DEFINE_LOG_ERROR(log_error_function_name, module, level) \
|
||||
CLOG_ARGUMENTS_FORMAT \
|
||||
inline static void log_error_function_name(const char* format, ...) { \
|
||||
if (level >= CLOG_ERROR) { \
|
||||
va_list args; \
|
||||
va_start(args, format); \
|
||||
clog_vlog_error(module, format, args); \
|
||||
va_end(args); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define CLOG_DEFINE_LOG_FATAL(log_fatal_function_name, module, level) \
|
||||
CLOG_ARGUMENTS_FORMAT \
|
||||
inline static void log_fatal_function_name(const char* format, ...) { \
|
||||
if (level >= CLOG_FATAL) { \
|
||||
va_list args; \
|
||||
va_start(args, format); \
|
||||
clog_vlog_fatal(module, format, args); \
|
||||
va_end(args); \
|
||||
} \
|
||||
abort(); \
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
423
3rdparty/cpuinfo/deps/clog/src/clog.c
vendored
Normal file
423
3rdparty/cpuinfo/deps/clog/src/clog.c
vendored
Normal file
@@ -0,0 +1,423 @@
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef __ANDROID__
|
||||
#include <android/log.h>
|
||||
#endif
|
||||
|
||||
#ifndef CLOG_LOG_TO_STDIO
|
||||
#ifdef __ANDROID__
|
||||
#define CLOG_LOG_TO_STDIO 0
|
||||
#else
|
||||
#define CLOG_LOG_TO_STDIO 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <clog.h>
|
||||
|
||||
|
||||
/* Messages up to this size are formatted entirely on-stack, and don't allocate heap memory */
|
||||
#define CLOG_STACK_BUFFER_SIZE 1024
|
||||
|
||||
#define CLOG_FATAL_PREFIX "Fatal error: "
|
||||
#define CLOG_FATAL_PREFIX_LENGTH 13
|
||||
#define CLOG_FATAL_PREFIX_FORMAT "Fatal error in %s: "
|
||||
#define CLOG_ERROR_PREFIX "Error: "
|
||||
#define CLOG_ERROR_PREFIX_LENGTH 7
|
||||
#define CLOG_ERROR_PREFIX_FORMAT "Error in %s: "
|
||||
#define CLOG_WARNING_PREFIX "Warning: "
|
||||
#define CLOG_WARNING_PREFIX_LENGTH 9
|
||||
#define CLOG_WARNING_PREFIX_FORMAT "Warning in %s: "
|
||||
#define CLOG_INFO_PREFIX "Note: "
|
||||
#define CLOG_INFO_PREFIX_LENGTH 6
|
||||
#define CLOG_INFO_PREFIX_FORMAT "Note (%s): "
|
||||
#define CLOG_DEBUG_PREFIX "Debug: "
|
||||
#define CLOG_DEBUG_PREFIX_LENGTH 7
|
||||
#define CLOG_DEBUG_PREFIX_FORMAT "Debug (%s): "
|
||||
#define CLOG_SUFFIX_LENGTH 1
|
||||
|
||||
void clog_vlog_fatal(const char* module, const char* format, va_list args) {
|
||||
#if defined(__ANDROID__) && !CLOG_LOG_TO_STDIO
|
||||
__android_log_vprint(ANDROID_LOG_FATAL, module, format, args);
|
||||
#else
|
||||
char stack_buffer[CLOG_STACK_BUFFER_SIZE];
|
||||
char* heap_buffer = NULL;
|
||||
char* out_buffer = &stack_buffer[0];
|
||||
|
||||
/* The first call to vsnprintf will clobber args, thus need a copy in case a second vsnprintf call is needed */
|
||||
va_list args_copy;
|
||||
va_copy(args_copy, args);
|
||||
|
||||
int prefix_chars = CLOG_FATAL_PREFIX_LENGTH;
|
||||
if (module == NULL) {
|
||||
memcpy(stack_buffer, CLOG_FATAL_PREFIX, CLOG_FATAL_PREFIX_LENGTH);
|
||||
} else {
|
||||
prefix_chars = snprintf(stack_buffer, CLOG_STACK_BUFFER_SIZE, CLOG_FATAL_PREFIX_FORMAT, module);
|
||||
if (prefix_chars < 0) {
|
||||
/* Format error in prefix (possible if prefix is modified): skip prefix and continue as if nothing happened. */
|
||||
prefix_chars = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int format_chars;
|
||||
if (prefix_chars + CLOG_SUFFIX_LENGTH >= CLOG_STACK_BUFFER_SIZE) {
|
||||
/*
|
||||
* Prefix + suffix alone would overflow the on-stack buffer, thus need to use on-heap buffer.
|
||||
* Do not even try to format the string into on-stack buffer.
|
||||
*/
|
||||
format_chars = vsnprintf(NULL, 0, format, args);
|
||||
} else {
|
||||
format_chars =
|
||||
vsnprintf(
|
||||
&stack_buffer[prefix_chars],
|
||||
CLOG_STACK_BUFFER_SIZE - prefix_chars - CLOG_SUFFIX_LENGTH,
|
||||
format,
|
||||
args);
|
||||
}
|
||||
if (format_chars < 0) {
|
||||
/* Format error in the message: silently ignore this particular message. */
|
||||
goto cleanup;
|
||||
}
|
||||
if (prefix_chars + format_chars + CLOG_SUFFIX_LENGTH > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Allocate a buffer on heap, and vsnprintf to this buffer */
|
||||
heap_buffer = malloc(prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
if (heap_buffer == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (prefix_chars > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Prefix didn't fit into on-stack buffer, re-format it again to on-heap buffer */
|
||||
snprintf(heap_buffer, prefix_chars + 1 /* for '\0'-terminator */, CLOG_FATAL_PREFIX_FORMAT, module);
|
||||
} else {
|
||||
/* Copy pre-formatted prefix from on-stack buffer to on-heap buffer */
|
||||
memcpy(heap_buffer, stack_buffer, prefix_chars);
|
||||
}
|
||||
vsnprintf(heap_buffer + prefix_chars, format_chars + CLOG_SUFFIX_LENGTH, format, args_copy);
|
||||
out_buffer = heap_buffer;
|
||||
}
|
||||
out_buffer[prefix_chars + format_chars] = '\n';
|
||||
#ifdef _WIN32
|
||||
DWORD bytes_written;
|
||||
WriteFile(
|
||||
GetStdHandle(STD_ERROR_HANDLE),
|
||||
out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH,
|
||||
&bytes_written, NULL);
|
||||
#else
|
||||
write(STDERR_FILENO, out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
#endif
|
||||
|
||||
cleanup:
|
||||
free(heap_buffer);
|
||||
va_end(args_copy);
|
||||
#endif
|
||||
}
|
||||
|
||||
void clog_vlog_error(const char* module, const char* format, va_list args) {
|
||||
#if defined(__ANDROID__) && !CLOG_LOG_TO_STDIO
|
||||
__android_log_vprint(ANDROID_LOG_ERROR, module, format, args);
|
||||
#else
|
||||
char stack_buffer[CLOG_STACK_BUFFER_SIZE];
|
||||
char* heap_buffer = NULL;
|
||||
char* out_buffer = &stack_buffer[0];
|
||||
|
||||
/* The first call to vsnprintf will clobber args, thus need a copy in case a second vsnprintf call is needed */
|
||||
va_list args_copy;
|
||||
va_copy(args_copy, args);
|
||||
|
||||
int prefix_chars = CLOG_ERROR_PREFIX_LENGTH;
|
||||
if (module == NULL) {
|
||||
memcpy(stack_buffer, CLOG_ERROR_PREFIX, CLOG_ERROR_PREFIX_LENGTH);
|
||||
} else {
|
||||
prefix_chars = snprintf(stack_buffer, CLOG_STACK_BUFFER_SIZE, CLOG_ERROR_PREFIX_FORMAT, module);
|
||||
if (prefix_chars < 0) {
|
||||
/* Format error in prefix (possible if prefix is modified): skip prefix and continue as if nothing happened. */
|
||||
prefix_chars = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int format_chars;
|
||||
if (prefix_chars + CLOG_SUFFIX_LENGTH >= CLOG_STACK_BUFFER_SIZE) {
|
||||
/*
|
||||
* Prefix + suffix alone would overflow the on-stack buffer, thus need to use on-heap buffer.
|
||||
* Do not even try to format the string into on-stack buffer.
|
||||
*/
|
||||
format_chars = vsnprintf(NULL, 0, format, args);
|
||||
} else {
|
||||
format_chars =
|
||||
vsnprintf(
|
||||
&stack_buffer[prefix_chars],
|
||||
CLOG_STACK_BUFFER_SIZE - prefix_chars - CLOG_SUFFIX_LENGTH,
|
||||
format,
|
||||
args);
|
||||
}
|
||||
if (format_chars < 0) {
|
||||
/* Format error in the message: silently ignore this particular message. */
|
||||
goto cleanup;
|
||||
}
|
||||
if (prefix_chars + format_chars + CLOG_SUFFIX_LENGTH > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Allocate a buffer on heap, and vsnprintf to this buffer */
|
||||
heap_buffer = malloc(prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
if (heap_buffer == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (prefix_chars > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Prefix didn't fit into on-stack buffer, re-format it again to on-heap buffer */
|
||||
snprintf(heap_buffer, prefix_chars + 1 /* for '\0'-terminator */, CLOG_ERROR_PREFIX_FORMAT, module);
|
||||
} else {
|
||||
/* Copy pre-formatted prefix from on-stack buffer to on-heap buffer */
|
||||
memcpy(heap_buffer, stack_buffer, prefix_chars);
|
||||
}
|
||||
vsnprintf(heap_buffer + prefix_chars, format_chars + CLOG_SUFFIX_LENGTH, format, args_copy);
|
||||
out_buffer = heap_buffer;
|
||||
}
|
||||
out_buffer[prefix_chars + format_chars] = '\n';
|
||||
#ifdef _WIN32
|
||||
DWORD bytes_written;
|
||||
WriteFile(
|
||||
GetStdHandle(STD_ERROR_HANDLE),
|
||||
out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH,
|
||||
&bytes_written, NULL);
|
||||
#else
|
||||
write(STDERR_FILENO, out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
#endif
|
||||
|
||||
cleanup:
|
||||
free(heap_buffer);
|
||||
va_end(args_copy);
|
||||
#endif
|
||||
}
|
||||
|
||||
void clog_vlog_warning(const char* module, const char* format, va_list args) {
|
||||
#if defined(__ANDROID__) && !CLOG_LOG_TO_STDIO
|
||||
__android_log_vprint(ANDROID_LOG_WARN, module, format, args);
|
||||
#else
|
||||
char stack_buffer[CLOG_STACK_BUFFER_SIZE];
|
||||
char* heap_buffer = NULL;
|
||||
char* out_buffer = &stack_buffer[0];
|
||||
|
||||
/* The first call to vsnprintf will clobber args, thus need a copy in case a second vsnprintf call is needed */
|
||||
va_list args_copy;
|
||||
va_copy(args_copy, args);
|
||||
|
||||
int prefix_chars = CLOG_WARNING_PREFIX_LENGTH;
|
||||
if (module == NULL) {
|
||||
memcpy(stack_buffer, CLOG_WARNING_PREFIX, CLOG_WARNING_PREFIX_LENGTH);
|
||||
} else {
|
||||
prefix_chars = snprintf(stack_buffer, CLOG_STACK_BUFFER_SIZE, CLOG_WARNING_PREFIX_FORMAT, module);
|
||||
if (prefix_chars < 0) {
|
||||
/* Format error in prefix (possible if prefix is modified): skip prefix and continue as if nothing happened. */
|
||||
prefix_chars = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int format_chars;
|
||||
if (prefix_chars + CLOG_SUFFIX_LENGTH >= CLOG_STACK_BUFFER_SIZE) {
|
||||
/*
|
||||
* Prefix + suffix alone would overflow the on-stack buffer, thus need to use on-heap buffer.
|
||||
* Do not even try to format the string into on-stack buffer.
|
||||
*/
|
||||
format_chars = vsnprintf(NULL, 0, format, args);
|
||||
} else {
|
||||
format_chars =
|
||||
vsnprintf(
|
||||
&stack_buffer[prefix_chars],
|
||||
CLOG_STACK_BUFFER_SIZE - prefix_chars - CLOG_SUFFIX_LENGTH,
|
||||
format,
|
||||
args);
|
||||
}
|
||||
if (format_chars < 0) {
|
||||
/* Format error in the message: silently ignore this particular message. */
|
||||
goto cleanup;
|
||||
}
|
||||
if (prefix_chars + format_chars + CLOG_SUFFIX_LENGTH > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Allocate a buffer on heap, and vsnprintf to this buffer */
|
||||
heap_buffer = malloc(prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
if (heap_buffer == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (prefix_chars > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Prefix didn't fit into on-stack buffer, re-format it again to on-heap buffer */
|
||||
snprintf(heap_buffer, prefix_chars + 1 /* for '\0'-terminator */, CLOG_WARNING_PREFIX_FORMAT, module);
|
||||
} else {
|
||||
/* Copy pre-formatted prefix from on-stack buffer to on-heap buffer */
|
||||
memcpy(heap_buffer, stack_buffer, prefix_chars);
|
||||
}
|
||||
vsnprintf(heap_buffer + prefix_chars, format_chars + CLOG_SUFFIX_LENGTH, format, args_copy);
|
||||
out_buffer = heap_buffer;
|
||||
}
|
||||
out_buffer[prefix_chars + format_chars] = '\n';
|
||||
#ifdef _WIN32
|
||||
DWORD bytes_written;
|
||||
WriteFile(
|
||||
GetStdHandle(STD_ERROR_HANDLE),
|
||||
out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH,
|
||||
&bytes_written, NULL);
|
||||
#else
|
||||
write(STDERR_FILENO, out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
#endif
|
||||
|
||||
cleanup:
|
||||
free(heap_buffer);
|
||||
va_end(args_copy);
|
||||
#endif
|
||||
}
|
||||
|
||||
void clog_vlog_info(const char* module, const char* format, va_list args) {
|
||||
#if defined(__ANDROID__) && !CLOG_LOG_TO_STDIO
|
||||
__android_log_vprint(ANDROID_LOG_INFO, module, format, args);
|
||||
#else
|
||||
char stack_buffer[CLOG_STACK_BUFFER_SIZE];
|
||||
char* heap_buffer = NULL;
|
||||
char* out_buffer = &stack_buffer[0];
|
||||
|
||||
/* The first call to vsnprintf will clobber args, thus need a copy in case a second vsnprintf call is needed */
|
||||
va_list args_copy;
|
||||
va_copy(args_copy, args);
|
||||
|
||||
int prefix_chars = CLOG_INFO_PREFIX_LENGTH;
|
||||
if (module == NULL) {
|
||||
memcpy(stack_buffer, CLOG_INFO_PREFIX, CLOG_INFO_PREFIX_LENGTH);
|
||||
} else {
|
||||
prefix_chars = snprintf(stack_buffer, CLOG_STACK_BUFFER_SIZE, CLOG_INFO_PREFIX_FORMAT, module);
|
||||
if (prefix_chars < 0) {
|
||||
/* Format error in prefix (possible if prefix is modified): skip prefix and continue as if nothing happened. */
|
||||
prefix_chars = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int format_chars;
|
||||
if (prefix_chars + CLOG_SUFFIX_LENGTH >= CLOG_STACK_BUFFER_SIZE) {
|
||||
/*
|
||||
* Prefix + suffix alone would overflow the on-stack buffer, thus need to use on-heap buffer.
|
||||
* Do not even try to format the string into on-stack buffer.
|
||||
*/
|
||||
format_chars = vsnprintf(NULL, 0, format, args);
|
||||
} else {
|
||||
format_chars =
|
||||
vsnprintf(
|
||||
&stack_buffer[prefix_chars],
|
||||
CLOG_STACK_BUFFER_SIZE - prefix_chars - CLOG_SUFFIX_LENGTH,
|
||||
format,
|
||||
args);
|
||||
}
|
||||
if (format_chars < 0) {
|
||||
/* Format error in the message: silently ignore this particular message. */
|
||||
goto cleanup;
|
||||
}
|
||||
if (prefix_chars + format_chars + CLOG_SUFFIX_LENGTH > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Allocate a buffer on heap, and vsnprintf to this buffer */
|
||||
heap_buffer = malloc(prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
if (heap_buffer == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (prefix_chars > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Prefix didn't fit into on-stack buffer, re-format it again to on-heap buffer */
|
||||
snprintf(heap_buffer, prefix_chars + 1 /* for '\0'-terminator */, CLOG_INFO_PREFIX_FORMAT, module);
|
||||
} else {
|
||||
/* Copy pre-formatted prefix from on-stack buffer to on-heap buffer */
|
||||
memcpy(heap_buffer, stack_buffer, prefix_chars);
|
||||
}
|
||||
vsnprintf(heap_buffer + prefix_chars, format_chars + CLOG_SUFFIX_LENGTH, format, args_copy);
|
||||
out_buffer = heap_buffer;
|
||||
}
|
||||
out_buffer[prefix_chars + format_chars] = '\n';
|
||||
#ifdef _WIN32
|
||||
DWORD bytes_written;
|
||||
WriteFile(
|
||||
GetStdHandle(STD_OUTPUT_HANDLE),
|
||||
out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH,
|
||||
&bytes_written, NULL);
|
||||
#else
|
||||
write(STDOUT_FILENO, out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
#endif
|
||||
|
||||
cleanup:
|
||||
free(heap_buffer);
|
||||
va_end(args_copy);
|
||||
#endif
|
||||
}
|
||||
|
||||
void clog_vlog_debug(const char* module, const char* format, va_list args) {
|
||||
#if defined(__ANDROID__) && !CLOG_LOG_TO_STDIO
|
||||
__android_log_vprint(ANDROID_LOG_DEBUG, module, format, args);
|
||||
#else
|
||||
char stack_buffer[CLOG_STACK_BUFFER_SIZE];
|
||||
char* heap_buffer = NULL;
|
||||
char* out_buffer = &stack_buffer[0];
|
||||
|
||||
/* The first call to vsnprintf will clobber args, thus need a copy in case a second vsnprintf call is needed */
|
||||
va_list args_copy;
|
||||
va_copy(args_copy, args);
|
||||
|
||||
int prefix_chars = CLOG_DEBUG_PREFIX_LENGTH;
|
||||
if (module == NULL) {
|
||||
memcpy(stack_buffer, CLOG_DEBUG_PREFIX, CLOG_DEBUG_PREFIX_LENGTH);
|
||||
} else {
|
||||
prefix_chars = snprintf(stack_buffer, CLOG_STACK_BUFFER_SIZE, CLOG_DEBUG_PREFIX_FORMAT, module);
|
||||
if (prefix_chars < 0) {
|
||||
/* Format error in prefix (possible if prefix is modified): skip prefix and continue as if nothing happened. */
|
||||
prefix_chars = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int format_chars;
|
||||
if (prefix_chars + CLOG_SUFFIX_LENGTH >= CLOG_STACK_BUFFER_SIZE) {
|
||||
/*
|
||||
* Prefix + suffix alone would overflow the on-stack buffer, thus need to use on-heap buffer.
|
||||
* Do not even try to format the string into on-stack buffer.
|
||||
*/
|
||||
format_chars = vsnprintf(NULL, 0, format, args);
|
||||
} else {
|
||||
format_chars =
|
||||
vsnprintf(
|
||||
&stack_buffer[prefix_chars],
|
||||
CLOG_STACK_BUFFER_SIZE - prefix_chars - CLOG_SUFFIX_LENGTH,
|
||||
format,
|
||||
args);
|
||||
}
|
||||
if (format_chars < 0) {
|
||||
/* Format error in the message: silently ignore this particular message. */
|
||||
goto cleanup;
|
||||
}
|
||||
if (prefix_chars + format_chars + CLOG_SUFFIX_LENGTH > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Allocate a buffer on heap, and vsnprintf to this buffer */
|
||||
heap_buffer = malloc(prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
if (heap_buffer == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (prefix_chars > CLOG_STACK_BUFFER_SIZE) {
|
||||
/* Prefix didn't fit into on-stack buffer, re-format it again to on-heap buffer */
|
||||
snprintf(heap_buffer, prefix_chars + 1 /* for '\0'-terminator */, CLOG_DEBUG_PREFIX_FORMAT, module);
|
||||
} else {
|
||||
/* Copy pre-formatted prefix from on-stack buffer to on-heap buffer */
|
||||
memcpy(heap_buffer, stack_buffer, prefix_chars);
|
||||
}
|
||||
vsnprintf(heap_buffer + prefix_chars, format_chars + CLOG_SUFFIX_LENGTH, format, args_copy);
|
||||
out_buffer = heap_buffer;
|
||||
}
|
||||
out_buffer[prefix_chars + format_chars] = '\n';
|
||||
#ifdef _WIN32
|
||||
DWORD bytes_written;
|
||||
WriteFile(
|
||||
GetStdHandle(STD_OUTPUT_HANDLE),
|
||||
out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH,
|
||||
&bytes_written, NULL);
|
||||
#else
|
||||
write(STDOUT_FILENO, out_buffer, prefix_chars + format_chars + CLOG_SUFFIX_LENGTH);
|
||||
#endif
|
||||
|
||||
cleanup:
|
||||
free(heap_buffer);
|
||||
va_end(args_copy);
|
||||
#endif
|
||||
}
|
||||
78
3rdparty/cpuinfo/include/cpuinfo-mock.h
vendored
Normal file
78
3rdparty/cpuinfo/include/cpuinfo-mock.h
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
#pragma once
|
||||
#ifndef CPUINFO_MOCK_H
|
||||
#define CPUINFO_MOCK_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <cpuinfo.h>
|
||||
#if defined(__linux__)
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#if !defined(CPUINFO_MOCK) || !(CPUINFO_MOCK)
|
||||
#error This header is intended only for test use
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#if CPUINFO_ARCH_ARM
|
||||
void CPUINFO_ABI cpuinfo_set_fpsid(uint32_t fpsid);
|
||||
void CPUINFO_ABI cpuinfo_set_wcid(uint32_t wcid);
|
||||
#endif /* CPUINFO_ARCH_ARM */
|
||||
|
||||
#if CPUINFO_ARCH_X86 || CPUINFO_ARCH_X86_64
|
||||
struct cpuinfo_mock_cpuid {
|
||||
uint32_t input_eax;
|
||||
uint32_t input_ecx;
|
||||
uint32_t eax;
|
||||
uint32_t ebx;
|
||||
uint32_t ecx;
|
||||
uint32_t edx;
|
||||
};
|
||||
|
||||
void CPUINFO_ABI cpuinfo_mock_set_cpuid(struct cpuinfo_mock_cpuid* dump, size_t entries);
|
||||
void CPUINFO_ABI cpuinfo_mock_get_cpuid(uint32_t eax, uint32_t regs[4]);
|
||||
void CPUINFO_ABI cpuinfo_mock_get_cpuidex(uint32_t eax, uint32_t ecx, uint32_t regs[4]);
|
||||
#endif /* CPUINFO_ARCH_X86 || CPUINFO_ARCH_X86_64 */
|
||||
|
||||
struct cpuinfo_mock_file {
|
||||
const char* path;
|
||||
size_t size;
|
||||
const char* content;
|
||||
size_t offset;
|
||||
};
|
||||
|
||||
struct cpuinfo_mock_property {
|
||||
const char* key;
|
||||
const char* value;
|
||||
};
|
||||
|
||||
#if defined(__linux__)
|
||||
void CPUINFO_ABI cpuinfo_mock_filesystem(struct cpuinfo_mock_file* files);
|
||||
int CPUINFO_ABI cpuinfo_mock_open(const char* path, int oflag);
|
||||
int CPUINFO_ABI cpuinfo_mock_close(int fd);
|
||||
ssize_t CPUINFO_ABI cpuinfo_mock_read(int fd, void* buffer, size_t capacity);
|
||||
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
void CPUINFO_ABI cpuinfo_set_hwcap(uint32_t hwcap);
|
||||
#endif
|
||||
#if CPUINFO_ARCH_ARM
|
||||
void CPUINFO_ABI cpuinfo_set_hwcap2(uint32_t hwcap2);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__ANDROID__)
|
||||
void CPUINFO_ABI cpuinfo_mock_android_properties(struct cpuinfo_mock_property* properties);
|
||||
void CPUINFO_ABI cpuinfo_mock_gl_renderer(const char* renderer);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* CPUINFO_MOCK_H */
|
||||
1872
3rdparty/cpuinfo/include/cpuinfo.h
vendored
Normal file
1872
3rdparty/cpuinfo/include/cpuinfo.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
410
3rdparty/cpuinfo/src/api.c
vendored
Normal file
410
3rdparty/cpuinfo/src/api.c
vendored
Normal file
@@ -0,0 +1,410 @@
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <cpuinfo.h>
|
||||
#include <cpuinfo/internal-api.h>
|
||||
#include <cpuinfo/log.h>
|
||||
|
||||
#ifdef __linux__
|
||||
#include <linux/api.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#include <sys/syscall.h>
|
||||
#if !defined(__NR_getcpu)
|
||||
#include <asm-generic/unistd.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
bool cpuinfo_is_initialized = false;
|
||||
|
||||
struct cpuinfo_processor* cpuinfo_processors = NULL;
|
||||
struct cpuinfo_core* cpuinfo_cores = NULL;
|
||||
struct cpuinfo_cluster* cpuinfo_clusters = NULL;
|
||||
struct cpuinfo_package* cpuinfo_packages = NULL;
|
||||
struct cpuinfo_cache* cpuinfo_cache[cpuinfo_cache_level_max] = { NULL };
|
||||
|
||||
uint32_t cpuinfo_processors_count = 0;
|
||||
uint32_t cpuinfo_cores_count = 0;
|
||||
uint32_t cpuinfo_clusters_count = 0;
|
||||
uint32_t cpuinfo_packages_count = 0;
|
||||
uint32_t cpuinfo_cache_count[cpuinfo_cache_level_max] = { 0 };
|
||||
uint32_t cpuinfo_max_cache_size = 0;
|
||||
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
struct cpuinfo_uarch_info* cpuinfo_uarchs = NULL;
|
||||
uint32_t cpuinfo_uarchs_count = 0;
|
||||
#else
|
||||
struct cpuinfo_uarch_info cpuinfo_global_uarch = { cpuinfo_uarch_unknown };
|
||||
#endif
|
||||
|
||||
#ifdef __linux__
|
||||
uint32_t cpuinfo_linux_cpu_max = 0;
|
||||
const struct cpuinfo_processor** cpuinfo_linux_cpu_to_processor_map = NULL;
|
||||
const struct cpuinfo_core** cpuinfo_linux_cpu_to_core_map = NULL;
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
const uint32_t* cpuinfo_linux_cpu_to_uarch_index_map = NULL;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
const struct cpuinfo_processor* cpuinfo_get_processors(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "processors");
|
||||
}
|
||||
return cpuinfo_processors;
|
||||
}
|
||||
|
||||
const struct cpuinfo_core* cpuinfo_get_cores(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "core");
|
||||
}
|
||||
return cpuinfo_cores;
|
||||
}
|
||||
|
||||
const struct cpuinfo_cluster* cpuinfo_get_clusters(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "clusters");
|
||||
}
|
||||
return cpuinfo_clusters;
|
||||
}
|
||||
|
||||
const struct cpuinfo_package* cpuinfo_get_packages(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "packages");
|
||||
}
|
||||
return cpuinfo_packages;
|
||||
}
|
||||
|
||||
const struct cpuinfo_uarch_info* cpuinfo_get_uarchs() {
|
||||
if (!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "uarchs");
|
||||
}
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
return cpuinfo_uarchs;
|
||||
#else
|
||||
return &cpuinfo_global_uarch;
|
||||
#endif
|
||||
}
|
||||
|
||||
const struct cpuinfo_processor* cpuinfo_get_processor(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "processor");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_processors_count) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_processors[index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_core* cpuinfo_get_core(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "core");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_cores_count) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_cores[index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cluster* cpuinfo_get_cluster(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "cluster");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_clusters_count) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_clusters[index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_package* cpuinfo_get_package(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "package");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_packages_count) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_packages[index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_uarch_info* cpuinfo_get_uarch(uint32_t index) {
|
||||
if (!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "uarch");
|
||||
}
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_uarchs_count) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_uarchs[index];
|
||||
#else
|
||||
if CPUINFO_UNLIKELY(index != 0) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_global_uarch;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint32_t cpuinfo_get_processors_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "processors_count");
|
||||
}
|
||||
return cpuinfo_processors_count;
|
||||
}
|
||||
|
||||
uint32_t cpuinfo_get_cores_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "cores_count");
|
||||
}
|
||||
return cpuinfo_cores_count;
|
||||
}
|
||||
|
||||
uint32_t cpuinfo_get_clusters_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "clusters_count");
|
||||
}
|
||||
return cpuinfo_clusters_count;
|
||||
}
|
||||
|
||||
uint32_t cpuinfo_get_packages_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "packages_count");
|
||||
}
|
||||
return cpuinfo_packages_count;
|
||||
}
|
||||
|
||||
uint32_t cpuinfo_get_uarchs_count(void) {
|
||||
if (!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "uarchs_count");
|
||||
}
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
return cpuinfo_uarchs_count;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l1i_caches(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l1i_caches");
|
||||
}
|
||||
return cpuinfo_cache[cpuinfo_cache_level_1i];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l1d_caches(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l1d_caches");
|
||||
}
|
||||
return cpuinfo_cache[cpuinfo_cache_level_1d];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l2_caches(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l2_caches");
|
||||
}
|
||||
return cpuinfo_cache[cpuinfo_cache_level_2];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l3_caches(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l3_caches");
|
||||
}
|
||||
return cpuinfo_cache[cpuinfo_cache_level_3];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l4_caches(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l4_caches");
|
||||
}
|
||||
return cpuinfo_cache[cpuinfo_cache_level_4];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l1i_cache(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l1i_cache");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_cache_count[cpuinfo_cache_level_1i]) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_cache[cpuinfo_cache_level_1i][index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l1d_cache(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l1d_cache");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_cache_count[cpuinfo_cache_level_1d]) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_cache[cpuinfo_cache_level_1d][index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l2_cache(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l2_cache");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_cache_count[cpuinfo_cache_level_2]) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_cache[cpuinfo_cache_level_2][index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l3_cache(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l3_cache");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_cache_count[cpuinfo_cache_level_3]) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_cache[cpuinfo_cache_level_3][index];
|
||||
}
|
||||
|
||||
const struct cpuinfo_cache* CPUINFO_ABI cpuinfo_get_l4_cache(uint32_t index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l4_cache");
|
||||
}
|
||||
if CPUINFO_UNLIKELY(index >= cpuinfo_cache_count[cpuinfo_cache_level_4]) {
|
||||
return NULL;
|
||||
}
|
||||
return &cpuinfo_cache[cpuinfo_cache_level_4][index];
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_l1i_caches_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l1i_caches_count");
|
||||
}
|
||||
return cpuinfo_cache_count[cpuinfo_cache_level_1i];
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_l1d_caches_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l1d_caches_count");
|
||||
}
|
||||
return cpuinfo_cache_count[cpuinfo_cache_level_1d];
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_l2_caches_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l2_caches_count");
|
||||
}
|
||||
return cpuinfo_cache_count[cpuinfo_cache_level_2];
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_l3_caches_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l3_caches_count");
|
||||
}
|
||||
return cpuinfo_cache_count[cpuinfo_cache_level_3];
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_l4_caches_count(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "l4_caches_count");
|
||||
}
|
||||
return cpuinfo_cache_count[cpuinfo_cache_level_4];
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_max_cache_size(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "max_cache_size");
|
||||
}
|
||||
return cpuinfo_max_cache_size;
|
||||
}
|
||||
|
||||
const struct cpuinfo_processor* CPUINFO_ABI cpuinfo_get_current_processor(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "current_processor");
|
||||
}
|
||||
#ifdef __linux__
|
||||
/* Initializing this variable silences a MemorySanitizer error. */
|
||||
unsigned cpu = 0;
|
||||
if CPUINFO_UNLIKELY(syscall(__NR_getcpu, &cpu, NULL, NULL) != 0) {
|
||||
return 0;
|
||||
}
|
||||
if CPUINFO_UNLIKELY((uint32_t) cpu >= cpuinfo_linux_cpu_max) {
|
||||
return 0;
|
||||
}
|
||||
return cpuinfo_linux_cpu_to_processor_map[cpu];
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
const struct cpuinfo_core* CPUINFO_ABI cpuinfo_get_current_core(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "current_core");
|
||||
}
|
||||
#ifdef __linux__
|
||||
/* Initializing this variable silences a MemorySanitizer error. */
|
||||
unsigned cpu = 0;
|
||||
if CPUINFO_UNLIKELY(syscall(__NR_getcpu, &cpu, NULL, NULL) != 0) {
|
||||
return 0;
|
||||
}
|
||||
if CPUINFO_UNLIKELY((uint32_t) cpu >= cpuinfo_linux_cpu_max) {
|
||||
return 0;
|
||||
}
|
||||
return cpuinfo_linux_cpu_to_core_map[cpu];
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_current_uarch_index(void) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "current_uarch_index");
|
||||
}
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
#ifdef __linux__
|
||||
if (cpuinfo_linux_cpu_to_uarch_index_map == NULL) {
|
||||
/* Special case: avoid syscall on systems with only a single type of cores */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* General case */
|
||||
/* Initializing this variable silences a MemorySanitizer error. */
|
||||
unsigned cpu = 0;
|
||||
if CPUINFO_UNLIKELY(syscall(__NR_getcpu, &cpu, NULL, NULL) != 0) {
|
||||
return 0;
|
||||
}
|
||||
if CPUINFO_UNLIKELY((uint32_t) cpu >= cpuinfo_linux_cpu_max) {
|
||||
return 0;
|
||||
}
|
||||
return cpuinfo_linux_cpu_to_uarch_index_map[cpu];
|
||||
#else
|
||||
/* Fallback: pretend to be on the big core. */
|
||||
return 0;
|
||||
#endif
|
||||
#else
|
||||
/* Only ARM/ARM64 processors may include cores of different types in the same package. */
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint32_t CPUINFO_ABI cpuinfo_get_current_uarch_index_with_default(uint32_t default_uarch_index) {
|
||||
if CPUINFO_UNLIKELY(!cpuinfo_is_initialized) {
|
||||
cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "current_uarch_index_with_default");
|
||||
}
|
||||
#if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64
|
||||
#ifdef __linux__
|
||||
if (cpuinfo_linux_cpu_to_uarch_index_map == NULL) {
|
||||
/* Special case: avoid syscall on systems with only a single type of cores */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* General case */
|
||||
/* Initializing this variable silences a MemorySanitizer error. */
|
||||
unsigned cpu = 0;
|
||||
if CPUINFO_UNLIKELY(syscall(__NR_getcpu, &cpu, NULL, NULL) != 0) {
|
||||
return default_uarch_index;
|
||||
}
|
||||
if CPUINFO_UNLIKELY((uint32_t) cpu >= cpuinfo_linux_cpu_max) {
|
||||
return default_uarch_index;
|
||||
}
|
||||
return cpuinfo_linux_cpu_to_uarch_index_map[cpu];
|
||||
#else
|
||||
/* Fallback: no API to query current core, use default uarch index. */
|
||||
return default_uarch_index;
|
||||
#endif
|
||||
#else
|
||||
/* Only ARM/ARM64 processors may include cores of different types in the same package. */
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
20
3rdparty/cpuinfo/src/arm/android/api.h
vendored
Normal file
20
3rdparty/cpuinfo/src/arm/android/api.h
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include <cpuinfo.h>
|
||||
#include <cpuinfo/common.h>
|
||||
#include <arm/api.h>
|
||||
#include <arm/linux/api.h>
|
||||
|
||||
enum cpuinfo_android_chipset_property {
|
||||
cpuinfo_android_chipset_property_proc_cpuinfo_hardware = 0,
|
||||
cpuinfo_android_chipset_property_ro_product_board,
|
||||
cpuinfo_android_chipset_property_ro_board_platform,
|
||||
cpuinfo_android_chipset_property_ro_mediatek_platform,
|
||||
cpuinfo_android_chipset_property_ro_arch,
|
||||
cpuinfo_android_chipset_property_ro_chipname,
|
||||
cpuinfo_android_chipset_property_ro_hardware_chipname,
|
||||
cpuinfo_android_chipset_property_max,
|
||||
};
|
||||
|
||||
CPUINFO_INTERNAL void cpuinfo_arm_android_parse_properties(
|
||||
struct cpuinfo_android_properties properties[restrict static 1]);
|
||||
67
3rdparty/cpuinfo/src/arm/android/properties.c
vendored
Normal file
67
3rdparty/cpuinfo/src/arm/android/properties.c
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <sys/system_properties.h>
|
||||
|
||||
#include <linux/api.h>
|
||||
#include <arm/android/api.h>
|
||||
#include <arm/linux/api.h>
|
||||
#include <cpuinfo/log.h>
|
||||
|
||||
#if CPUINFO_MOCK
|
||||
#include <cpuinfo-mock.h>
|
||||
|
||||
static struct cpuinfo_mock_property* cpuinfo_mock_properties = NULL;
|
||||
|
||||
void CPUINFO_ABI cpuinfo_mock_android_properties(struct cpuinfo_mock_property* properties) {
|
||||
cpuinfo_log_info("Android properties mocking enabled");
|
||||
cpuinfo_mock_properties = properties;
|
||||
}
|
||||
|
||||
static int cpuinfo_android_property_get(const char* key, char* value) {
|
||||
if (cpuinfo_mock_properties != NULL) {
|
||||
for (const struct cpuinfo_mock_property* prop = cpuinfo_mock_properties; prop->key != NULL; prop++) {
|
||||
if (strncmp(key, prop->key, CPUINFO_BUILD_PROP_NAME_MAX) == 0) {
|
||||
strncpy(value, prop->value, CPUINFO_BUILD_PROP_VALUE_MAX);
|
||||
return (int) strnlen(prop->value, CPUINFO_BUILD_PROP_VALUE_MAX);
|
||||
}
|
||||
}
|
||||
}
|
||||
*value = '\0';
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
static inline int cpuinfo_android_property_get(const char* key, char* value) {
|
||||
return __system_property_get(key, value);
|
||||
}
|
||||
#endif
|
||||
|
||||
void cpuinfo_arm_android_parse_properties(struct cpuinfo_android_properties properties[restrict static 1]) {
|
||||
const int ro_product_board_length =
|
||||
cpuinfo_android_property_get("ro.product.board", properties->ro_product_board);
|
||||
cpuinfo_log_debug("read ro.product.board = \"%.*s\"", ro_product_board_length, properties->ro_product_board);
|
||||
|
||||
const int ro_board_platform_length =
|
||||
cpuinfo_android_property_get("ro.board.platform", properties->ro_board_platform);
|
||||
cpuinfo_log_debug("read ro.board.platform = \"%.*s\"", ro_board_platform_length, properties->ro_board_platform);
|
||||
|
||||
const int ro_mediatek_platform_length =
|
||||
cpuinfo_android_property_get("ro.mediatek.platform", properties->ro_mediatek_platform);
|
||||
cpuinfo_log_debug("read ro.mediatek.platform = \"%.*s\"",
|
||||
ro_mediatek_platform_length, properties->ro_mediatek_platform);
|
||||
|
||||
const int ro_arch_length =
|
||||
cpuinfo_android_property_get("ro.arch", properties->ro_arch);
|
||||
cpuinfo_log_debug("read ro.arch = \"%.*s\"", ro_arch_length, properties->ro_arch);
|
||||
|
||||
const int ro_chipname_length =
|
||||
cpuinfo_android_property_get("ro.chipname", properties->ro_chipname);
|
||||
cpuinfo_log_debug("read ro.chipname = \"%.*s\"", ro_chipname_length, properties->ro_chipname);
|
||||
|
||||
const int ro_hardware_chipname_length =
|
||||
cpuinfo_android_property_get("ro.hardware.chipname", properties->ro_hardware_chipname);
|
||||
cpuinfo_log_debug("read ro.hardware.chipname = \"%.*s\"", ro_hardware_chipname_length, properties->ro_hardware_chipname);
|
||||
}
|
||||
122
3rdparty/cpuinfo/src/arm/api.h
vendored
Normal file
122
3rdparty/cpuinfo/src/arm/api.h
vendored
Normal file
@@ -0,0 +1,122 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <cpuinfo.h>
|
||||
#include <cpuinfo/common.h>
|
||||
|
||||
enum cpuinfo_arm_chipset_vendor {
|
||||
cpuinfo_arm_chipset_vendor_unknown = 0,
|
||||
cpuinfo_arm_chipset_vendor_qualcomm,
|
||||
cpuinfo_arm_chipset_vendor_mediatek,
|
||||
cpuinfo_arm_chipset_vendor_samsung,
|
||||
cpuinfo_arm_chipset_vendor_hisilicon,
|
||||
cpuinfo_arm_chipset_vendor_actions,
|
||||
cpuinfo_arm_chipset_vendor_allwinner,
|
||||
cpuinfo_arm_chipset_vendor_amlogic,
|
||||
cpuinfo_arm_chipset_vendor_broadcom,
|
||||
cpuinfo_arm_chipset_vendor_lg,
|
||||
cpuinfo_arm_chipset_vendor_leadcore,
|
||||
cpuinfo_arm_chipset_vendor_marvell,
|
||||
cpuinfo_arm_chipset_vendor_mstar,
|
||||
cpuinfo_arm_chipset_vendor_novathor,
|
||||
cpuinfo_arm_chipset_vendor_nvidia,
|
||||
cpuinfo_arm_chipset_vendor_pinecone,
|
||||
cpuinfo_arm_chipset_vendor_renesas,
|
||||
cpuinfo_arm_chipset_vendor_rockchip,
|
||||
cpuinfo_arm_chipset_vendor_spreadtrum,
|
||||
cpuinfo_arm_chipset_vendor_telechips,
|
||||
cpuinfo_arm_chipset_vendor_texas_instruments,
|
||||
cpuinfo_arm_chipset_vendor_wondermedia,
|
||||
cpuinfo_arm_chipset_vendor_max,
|
||||
};
|
||||
|
||||
enum cpuinfo_arm_chipset_series {
|
||||
cpuinfo_arm_chipset_series_unknown = 0,
|
||||
cpuinfo_arm_chipset_series_qualcomm_qsd,
|
||||
cpuinfo_arm_chipset_series_qualcomm_msm,
|
||||
cpuinfo_arm_chipset_series_qualcomm_apq,
|
||||
cpuinfo_arm_chipset_series_qualcomm_snapdragon,
|
||||
cpuinfo_arm_chipset_series_mediatek_mt,
|
||||
cpuinfo_arm_chipset_series_samsung_exynos,
|
||||
cpuinfo_arm_chipset_series_hisilicon_k3v,
|
||||
cpuinfo_arm_chipset_series_hisilicon_hi,
|
||||
cpuinfo_arm_chipset_series_hisilicon_kirin,
|
||||
cpuinfo_arm_chipset_series_actions_atm,
|
||||
cpuinfo_arm_chipset_series_allwinner_a,
|
||||
cpuinfo_arm_chipset_series_amlogic_aml,
|
||||
cpuinfo_arm_chipset_series_amlogic_s,
|
||||
cpuinfo_arm_chipset_series_broadcom_bcm,
|
||||
cpuinfo_arm_chipset_series_lg_nuclun,
|
||||
cpuinfo_arm_chipset_series_leadcore_lc,
|
||||
cpuinfo_arm_chipset_series_marvell_pxa,
|
||||
cpuinfo_arm_chipset_series_mstar_6a,
|
||||
cpuinfo_arm_chipset_series_novathor_u,
|
||||
cpuinfo_arm_chipset_series_nvidia_tegra_t,
|
||||
cpuinfo_arm_chipset_series_nvidia_tegra_ap,
|
||||
cpuinfo_arm_chipset_series_nvidia_tegra_sl,
|
||||
cpuinfo_arm_chipset_series_pinecone_surge_s,
|
||||
cpuinfo_arm_chipset_series_renesas_mp,
|
||||
cpuinfo_arm_chipset_series_rockchip_rk,
|
||||
cpuinfo_arm_chipset_series_spreadtrum_sc,
|
||||
cpuinfo_arm_chipset_series_telechips_tcc,
|
||||
cpuinfo_arm_chipset_series_texas_instruments_omap,
|
||||
cpuinfo_arm_chipset_series_wondermedia_wm,
|
||||
cpuinfo_arm_chipset_series_max,
|
||||
};
|
||||
|
||||
#define CPUINFO_ARM_CHIPSET_SUFFIX_MAX 8
|
||||
|
||||
struct cpuinfo_arm_chipset {
|
||||
enum cpuinfo_arm_chipset_vendor vendor;
|
||||
enum cpuinfo_arm_chipset_series series;
|
||||
uint32_t model;
|
||||
char suffix[CPUINFO_ARM_CHIPSET_SUFFIX_MAX];
|
||||
};
|
||||
|
||||
#define CPUINFO_ARM_CHIPSET_NAME_MAX CPUINFO_PACKAGE_NAME_MAX
|
||||
|
||||
#ifndef __cplusplus
|
||||
CPUINFO_INTERNAL void cpuinfo_arm_chipset_to_string(
|
||||
const struct cpuinfo_arm_chipset chipset[restrict static 1],
|
||||
char name[restrict static CPUINFO_ARM_CHIPSET_NAME_MAX]);
|
||||
|
||||
CPUINFO_INTERNAL void cpuinfo_arm_fixup_chipset(
|
||||
struct cpuinfo_arm_chipset chipset[restrict static 1], uint32_t cores, uint32_t max_cpu_freq_max);
|
||||
|
||||
CPUINFO_INTERNAL void cpuinfo_arm_decode_vendor_uarch(
|
||||
uint32_t midr,
|
||||
#if CPUINFO_ARCH_ARM
|
||||
bool has_vfpv4,
|
||||
#endif
|
||||
enum cpuinfo_vendor vendor[restrict static 1],
|
||||
enum cpuinfo_uarch uarch[restrict static 1]);
|
||||
|
||||
CPUINFO_INTERNAL void cpuinfo_arm_decode_cache(
|
||||
enum cpuinfo_uarch uarch,
|
||||
uint32_t cluster_cores,
|
||||
uint32_t midr,
|
||||
const struct cpuinfo_arm_chipset chipset[restrict static 1],
|
||||
uint32_t cluster_id,
|
||||
uint32_t arch_version,
|
||||
struct cpuinfo_cache l1i[restrict static 1],
|
||||
struct cpuinfo_cache l1d[restrict static 1],
|
||||
struct cpuinfo_cache l2[restrict static 1],
|
||||
struct cpuinfo_cache l3[restrict static 1]);
|
||||
|
||||
CPUINFO_INTERNAL uint32_t cpuinfo_arm_compute_max_cache_size(
|
||||
const struct cpuinfo_processor processor[restrict static 1]);
|
||||
#else /* defined(__cplusplus) */
|
||||
CPUINFO_INTERNAL void cpuinfo_arm_decode_cache(
|
||||
enum cpuinfo_uarch uarch,
|
||||
uint32_t cluster_cores,
|
||||
uint32_t midr,
|
||||
const struct cpuinfo_arm_chipset chipset[1],
|
||||
uint32_t cluster_id,
|
||||
uint32_t arch_version,
|
||||
struct cpuinfo_cache l1i[1],
|
||||
struct cpuinfo_cache l1d[1],
|
||||
struct cpuinfo_cache l2[1],
|
||||
struct cpuinfo_cache l3[1]);
|
||||
#endif
|
||||
1676
3rdparty/cpuinfo/src/arm/cache.c
vendored
Normal file
1676
3rdparty/cpuinfo/src/arm/cache.c
vendored
Normal file
File diff suppressed because it is too large
Load Diff
267
3rdparty/cpuinfo/src/arm/linux/aarch32-isa.c
vendored
Normal file
267
3rdparty/cpuinfo/src/arm/linux/aarch32-isa.c
vendored
Normal file
@@ -0,0 +1,267 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#if CPUINFO_MOCK
|
||||
#include <cpuinfo-mock.h>
|
||||
#endif
|
||||
#include <arm/linux/api.h>
|
||||
#include <arm/linux/cp.h>
|
||||
#include <arm/midr.h>
|
||||
#include <cpuinfo/log.h>
|
||||
|
||||
|
||||
#if CPUINFO_MOCK
|
||||
uint32_t cpuinfo_arm_fpsid = 0;
|
||||
uint32_t cpuinfo_arm_mvfr0 = 0;
|
||||
uint32_t cpuinfo_arm_wcid = 0;
|
||||
|
||||
void cpuinfo_set_fpsid(uint32_t fpsid) {
|
||||
cpuinfo_arm_fpsid = fpsid;
|
||||
}
|
||||
|
||||
void cpuinfo_set_wcid(uint32_t wcid) {
|
||||
cpuinfo_arm_wcid = wcid;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void cpuinfo_arm_linux_decode_isa_from_proc_cpuinfo(
|
||||
uint32_t features,
|
||||
uint32_t features2,
|
||||
uint32_t midr,
|
||||
uint32_t architecture_version,
|
||||
uint32_t architecture_flags,
|
||||
const struct cpuinfo_arm_chipset chipset[restrict static 1],
|
||||
struct cpuinfo_arm_isa isa[restrict static 1])
|
||||
{
|
||||
if (architecture_version >= 8) {
|
||||
/*
|
||||
* ARMv7 code running on ARMv8: IDIV, VFP, NEON are always supported,
|
||||
* but may be not reported in /proc/cpuinfo features.
|
||||
*/
|
||||
isa->armv5e = true;
|
||||
isa->armv6 = true;
|
||||
isa->armv6k = true;
|
||||
isa->armv7 = true;
|
||||
isa->armv7mp = true;
|
||||
isa->armv8 = true;
|
||||
isa->thumb = true;
|
||||
isa->thumb2 = true;
|
||||
isa->idiv = true;
|
||||
isa->vfpv3 = true;
|
||||
isa->d32 = true;
|
||||
isa->fp16 = true;
|
||||
isa->fma = true;
|
||||
isa->neon = true;
|
||||
|
||||
/*
|
||||
* NEON FP16 compute extension and VQRDMLAH/VQRDMLSH instructions are not indicated in /proc/cpuinfo.
|
||||
* Use a MIDR-based heuristic to whitelist processors known to support it:
|
||||
* - Processors with Cortex-A55 cores
|
||||
* - Processors with Cortex-A65 cores
|
||||
* - Processors with Cortex-A75 cores
|
||||
* - Processors with Cortex-A76 cores
|
||||
* - Processors with Cortex-A77 cores
|
||||
* - Processors with Exynos M4 cores
|
||||
* - Processors with Exynos M5 cores
|
||||
* - Neoverse N1 cores
|
||||
*/
|
||||
if (chipset->series == cpuinfo_arm_chipset_series_samsung_exynos && chipset->model == 9810) {
|
||||
/* Only little cores of Exynos 9810 support FP16 & RDM */
|
||||
cpuinfo_log_warning("FP16 arithmetics and RDM disabled: only little cores in Exynos 9810 support these extensions");
|
||||
} else {
|
||||
switch (midr & (CPUINFO_ARM_MIDR_IMPLEMENTER_MASK | CPUINFO_ARM_MIDR_PART_MASK)) {
|
||||
case UINT32_C(0x4100D050): /* Cortex-A55 */
|
||||
case UINT32_C(0x4100D060): /* Cortex-A65 */
|
||||
case UINT32_C(0x4100D0B0): /* Cortex-A76 */
|
||||
case UINT32_C(0x4100D0C0): /* Neoverse N1 */
|
||||
case UINT32_C(0x4100D0D0): /* Cortex-A77 */
|
||||
case UINT32_C(0x4100D0E0): /* Cortex-A76AE */
|
||||
case UINT32_C(0x4800D400): /* Cortex-A76 (HiSilicon) */
|
||||
case UINT32_C(0x51008020): /* Kryo 385 Gold (Cortex-A75) */
|
||||
case UINT32_C(0x51008030): /* Kryo 385 Silver (Cortex-A55) */
|
||||
case UINT32_C(0x51008040): /* Kryo 485 Gold (Cortex-A76) */
|
||||
case UINT32_C(0x51008050): /* Kryo 485 Silver (Cortex-A55) */
|
||||
case UINT32_C(0x53000030): /* Exynos M4 */
|
||||
case UINT32_C(0x53000040): /* Exynos M5 */
|
||||
isa->fp16arith = true;
|
||||
isa->rdm = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* NEON VDOT instructions are not indicated in /proc/cpuinfo.
|
||||
* Use a MIDR-based heuristic to whitelist processors known to support it.
|
||||
*/
|
||||
switch (midr & (CPUINFO_ARM_MIDR_IMPLEMENTER_MASK | CPUINFO_ARM_MIDR_PART_MASK)) {
|
||||
case UINT32_C(0x4100D0B0): /* Cortex-A76 */
|
||||
case UINT32_C(0x4100D0D0): /* Cortex-A77 */
|
||||
case UINT32_C(0x4100D0E0): /* Cortex-A76AE */
|
||||
case UINT32_C(0x4800D400): /* Cortex-A76 (HiSilicon) */
|
||||
case UINT32_C(0x51008040): /* Kryo 485 Gold (Cortex-A76) */
|
||||
case UINT32_C(0x51008050): /* Kryo 485 Silver (Cortex-A55) */
|
||||
case UINT32_C(0x53000030): /* Exynos-M4 */
|
||||
case UINT32_C(0x53000040): /* Exynos-M5 */
|
||||
isa->dot = true;
|
||||
break;
|
||||
case UINT32_C(0x4100D050): /* Cortex A55: revision 1 or later only */
|
||||
isa->dot = !!(midr_get_variant(midr) >= 1);
|
||||
break;
|
||||
case UINT32_C(0x4100D0A0): /* Cortex A75: revision 2 or later only */
|
||||
isa->dot = !!(midr_get_variant(midr) >= 2);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
/* ARMv7 or lower: use feature flags to detect optional features */
|
||||
|
||||
/*
|
||||
* ARM11 (ARM 1136/1156/1176/11 MPCore) processors can report v7 architecture
|
||||
* even though they support only ARMv6 instruction set.
|
||||
*/
|
||||
if (architecture_version == 7 && midr_is_arm11(midr)) {
|
||||
cpuinfo_log_warning("kernel-reported architecture ARMv7 ignored due to mismatch with processor microarchitecture (ARM11)");
|
||||
architecture_version = 6;
|
||||
}
|
||||
|
||||
if (architecture_version < 7) {
|
||||
const uint32_t armv7_features_mask = CPUINFO_ARM_LINUX_FEATURE_VFPV3 | CPUINFO_ARM_LINUX_FEATURE_VFPV3D16 | CPUINFO_ARM_LINUX_FEATURE_VFPD32 |
|
||||
CPUINFO_ARM_LINUX_FEATURE_VFPV4 | CPUINFO_ARM_LINUX_FEATURE_NEON | CPUINFO_ARM_LINUX_FEATURE_IDIVT | CPUINFO_ARM_LINUX_FEATURE_IDIVA;
|
||||
if (features & armv7_features_mask) {
|
||||
architecture_version = 7;
|
||||
}
|
||||
}
|
||||
if ((architecture_version >= 6) || (features & CPUINFO_ARM_LINUX_FEATURE_EDSP) || (architecture_flags & CPUINFO_ARM_LINUX_ARCH_E)) {
|
||||
isa->armv5e = true;
|
||||
}
|
||||
if (architecture_version >= 6) {
|
||||
isa->armv6 = true;
|
||||
}
|
||||
if (architecture_version >= 7) {
|
||||
isa->armv6k = true;
|
||||
isa->armv7 = true;
|
||||
|
||||
/*
|
||||
* ARMv7 MP extension (PLDW instruction) is not indicated in /proc/cpuinfo.
|
||||
* Use heuristic list of supporting processors:
|
||||
* - Processors supporting UDIV/SDIV instructions ("idiva" + "idivt" features in /proc/cpuinfo)
|
||||
* - Cortex-A5
|
||||
* - Cortex-A9
|
||||
* - Dual-Core Scorpion
|
||||
* - Krait (supports UDIV/SDIV, but kernels may not report it in /proc/cpuinfo)
|
||||
*
|
||||
* TODO: check single-core Qualcomm Scorpion.
|
||||
*/
|
||||
switch (midr & (CPUINFO_ARM_MIDR_IMPLEMENTER_MASK | CPUINFO_ARM_MIDR_PART_MASK)) {
|
||||
case UINT32_C(0x4100C050): /* Cortex-A5 */
|
||||
case UINT32_C(0x4100C090): /* Cortex-A9 */
|
||||
case UINT32_C(0x510002D0): /* Scorpion (dual-core) */
|
||||
case UINT32_C(0x510004D0): /* Krait (dual-core) */
|
||||
case UINT32_C(0x510006F0): /* Krait (quad-core) */
|
||||
isa->armv7mp = true;
|
||||
break;
|
||||
default:
|
||||
/* In practice IDIV instruction implies ARMv7+MP ISA */
|
||||
isa->armv7mp = (features & CPUINFO_ARM_LINUX_FEATURE_IDIV) == CPUINFO_ARM_LINUX_FEATURE_IDIV;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (features & CPUINFO_ARM_LINUX_FEATURE_IWMMXT) {
|
||||
const uint32_t wcid = read_wcid();
|
||||
cpuinfo_log_debug("WCID = 0x%08"PRIx32, wcid);
|
||||
const uint32_t coprocessor_type = (wcid >> 8) & UINT32_C(0xFF);
|
||||
if (coprocessor_type >= 0x10) {
|
||||
isa->wmmx = true;
|
||||
if (coprocessor_type >= 0x20) {
|
||||
isa->wmmx2 = true;
|
||||
}
|
||||
} else {
|
||||
cpuinfo_log_warning("WMMX ISA disabled: OS reported iwmmxt feature, "
|
||||
"but WCID coprocessor type 0x%"PRIx32" indicates no WMMX support",
|
||||
coprocessor_type);
|
||||
}
|
||||
}
|
||||
|
||||
if ((features & CPUINFO_ARM_LINUX_FEATURE_THUMB) || (architecture_flags & CPUINFO_ARM_LINUX_ARCH_T)) {
|
||||
isa->thumb = true;
|
||||
|
||||
/*
|
||||
* There is no separate feature flag for Thumb 2.
|
||||
* All ARMv7 processors and ARM 1156 support Thumb 2.
|
||||
*/
|
||||
if (architecture_version >= 7 || midr_is_arm1156(midr)) {
|
||||
isa->thumb2 = true;
|
||||
}
|
||||
}
|
||||
if (features & CPUINFO_ARM_LINUX_FEATURE_THUMBEE) {
|
||||
isa->thumbee = true;
|
||||
}
|
||||
if ((features & CPUINFO_ARM_LINUX_FEATURE_JAVA) || (architecture_flags & CPUINFO_ARM_LINUX_ARCH_J)) {
|
||||
isa->jazelle = true;
|
||||
}
|
||||
|
||||
/* Qualcomm Krait may have buggy kernel configuration that doesn't report IDIV */
|
||||
if ((features & CPUINFO_ARM_LINUX_FEATURE_IDIV) == CPUINFO_ARM_LINUX_FEATURE_IDIV || midr_is_krait(midr)) {
|
||||
isa->idiv = true;
|
||||
}
|
||||
|
||||
const uint32_t vfp_mask = \
|
||||
CPUINFO_ARM_LINUX_FEATURE_VFP | CPUINFO_ARM_LINUX_FEATURE_VFPV3 | CPUINFO_ARM_LINUX_FEATURE_VFPV3D16 | \
|
||||
CPUINFO_ARM_LINUX_FEATURE_VFPD32 | CPUINFO_ARM_LINUX_FEATURE_VFPV4 | CPUINFO_ARM_LINUX_FEATURE_NEON;
|
||||
if (features & vfp_mask) {
|
||||
const uint32_t vfpv3_mask = CPUINFO_ARM_LINUX_FEATURE_VFPV3 | CPUINFO_ARM_LINUX_FEATURE_VFPV3D16 | \
|
||||
CPUINFO_ARM_LINUX_FEATURE_VFPD32 | CPUINFO_ARM_LINUX_FEATURE_VFPV4 | CPUINFO_ARM_LINUX_FEATURE_NEON;
|
||||
if ((architecture_version >= 7) || (features & vfpv3_mask)) {
|
||||
isa->vfpv3 = true;
|
||||
|
||||
const uint32_t d32_mask = CPUINFO_ARM_LINUX_FEATURE_VFPD32 | CPUINFO_ARM_LINUX_FEATURE_NEON;
|
||||
if (features & d32_mask) {
|
||||
isa->d32 = true;
|
||||
}
|
||||
} else {
|
||||
#if defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_8A__) || defined(__ARM_ARCH) && (__ARM_ARCH >= 7)
|
||||
isa->vfpv3 = true;
|
||||
#else
|
||||
const uint32_t fpsid = read_fpsid();
|
||||
cpuinfo_log_debug("FPSID = 0x%08"PRIx32, fpsid);
|
||||
const uint32_t subarchitecture = (fpsid >> 16) & UINT32_C(0x7F);
|
||||
if (subarchitecture >= 0x01) {
|
||||
isa->vfpv2 = true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
if (features & CPUINFO_ARM_LINUX_FEATURE_NEON) {
|
||||
isa->neon = true;
|
||||
}
|
||||
|
||||
/*
|
||||
* There is no separate feature flag for FP16 support.
|
||||
* VFPv4 implies VFPv3-FP16 support (and in practice, NEON-HP as well).
|
||||
* Additionally, ARM Cortex-A9 and Qualcomm Scorpion support FP16.
|
||||
*/
|
||||
if ((features & CPUINFO_ARM_LINUX_FEATURE_VFPV4) || midr_is_cortex_a9(midr) || midr_is_scorpion(midr)) {
|
||||
isa->fp16 = true;
|
||||
}
|
||||
|
||||
if (features & CPUINFO_ARM_LINUX_FEATURE_VFPV4) {
|
||||
isa->fma = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (features2 & CPUINFO_ARM_LINUX_FEATURE2_AES) {
|
||||
isa->aes = true;
|
||||
}
|
||||
if (features2 & CPUINFO_ARM_LINUX_FEATURE2_PMULL) {
|
||||
isa->pmull = true;
|
||||
}
|
||||
if (features2 & CPUINFO_ARM_LINUX_FEATURE2_SHA1) {
|
||||
isa->sha1 = true;
|
||||
}
|
||||
if (features2 & CPUINFO_ARM_LINUX_FEATURE2_SHA2) {
|
||||
isa->sha2 = true;
|
||||
}
|
||||
if (features2 & CPUINFO_ARM_LINUX_FEATURE2_CRC32) {
|
||||
isa->crc32 = true;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user