mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-09-05 06:00:59 +02:00
Compare commits
1641 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
24b5e7a8b2 | ||
![]() |
b1c0c2843f | ||
![]() |
d621dc9e9c | ||
![]() |
58c6938b73 | ||
![]() |
9b5cad1649 | ||
![]() |
535636aeae | ||
![]() |
ebd87cb468 | ||
![]() |
858451e5b7 | ||
![]() |
815e6e7e7e | ||
![]() |
805d7ed5df | ||
![]() |
7c73dd7de7 | ||
![]() |
ab1842a2da | ||
![]() |
5ec44fb920 | ||
![]() |
676d99db96 | ||
![]() |
68afb49287 | ||
![]() |
3f73edae00 | ||
![]() |
5a74efa8c7 | ||
![]() |
060a09a1c5 | ||
![]() |
6089180ecb | ||
![]() |
f9d53419e9 | ||
![]() |
6f79698b35 | ||
![]() |
eee82cb078 | ||
![]() |
b4a6da3e63 | ||
![]() |
e7b6e5a208 | ||
![]() |
476ffa2fd2 | ||
![]() |
5e17dbed34 | ||
![]() |
956063dbc1 | ||
![]() |
30f54566ad | ||
![]() |
516d047394 | ||
![]() |
52dd947090 | ||
![]() |
a95e013b97 | ||
![]() |
973dc9c06d | ||
![]() |
2a1f586ba6 | ||
![]() |
0e88d5e404 | ||
![]() |
949c771b03 | ||
![]() |
083f359f5c | ||
![]() |
012be85287 | ||
![]() |
1ce516e50b | ||
![]() |
778dc8b03e | ||
![]() |
76281ff388 | ||
![]() |
a98e99992b | ||
![]() |
b08672d469 | ||
![]() |
55eca66f39 | ||
![]() |
80b6d1c834 | ||
![]() |
97fd830175 | ||
![]() |
7cad78e236 | ||
![]() |
794248ee62 | ||
![]() |
2d87923e91 | ||
![]() |
aa1f22251f | ||
![]() |
ecb8d9e3a0 | ||
![]() |
89f6717f0b | ||
![]() |
338d8defdb | ||
![]() |
06d58b9e84 | ||
![]() |
22a62fcc2c | ||
![]() |
27c3a8dc0e | ||
![]() |
232389d4f1 | ||
![]() |
64faab2e92 | ||
![]() |
719304b113 | ||
![]() |
dd3f730d74 | ||
![]() |
781a4e667d | ||
![]() |
88f8ddd70c | ||
![]() |
4695953567 | ||
![]() |
0390b1ad57 | ||
![]() |
2b2c804500 | ||
![]() |
1f59c69cd1 | ||
![]() |
3445e155e9 | ||
![]() |
fcb23c2dbf | ||
![]() |
bdc49ad80a | ||
![]() |
6b500986c4 | ||
![]() |
3988c5e25e | ||
![]() |
386d31ab69 | ||
![]() |
79d7a448e9 | ||
![]() |
9965ab37f6 | ||
![]() |
8261c1ddf4 | ||
![]() |
0d78b1ce93 | ||
![]() |
1dff2abff7 | ||
![]() |
e4bde97744 | ||
![]() |
88bbd87ddd | ||
![]() |
bf8ca5da88 | ||
![]() |
5b242b6b2d | ||
![]() |
fd3dc29a5c | ||
![]() |
53602ec6bb | ||
![]() |
0d4517f15a | ||
![]() |
060c348ea0 | ||
![]() |
4d6cb08189 | ||
![]() |
033bef3c6c | ||
![]() |
befba39afc | ||
![]() |
4bbaf28ffc | ||
![]() |
14f1e37f85 | ||
![]() |
e6736d1baa | ||
![]() |
2e8f5d897d | ||
![]() |
9ea3f45dbd | ||
![]() |
b9ae2499ef | ||
![]() |
553a3ea31f | ||
![]() |
864e44aef8 | ||
![]() |
00dbcf2c6e | ||
![]() |
22ee8b07c8 | ||
![]() |
a3d52c75b7 | ||
![]() |
19b55c9049 | ||
![]() |
128b1031b0 | ||
![]() |
8710d7e989 | ||
![]() |
e0512e0944 | ||
![]() |
7fac34f7bb | ||
![]() |
b952a592a4 | ||
![]() |
28c59ab4c6 | ||
![]() |
bb06211088 | ||
![]() |
7ee918fc8f | ||
![]() |
48fbd8cd20 | ||
![]() |
8d16abd980 | ||
![]() |
b557259f88 | ||
![]() |
a21cf9f7b8 | ||
![]() |
8c29a7b493 | ||
![]() |
12b88efa6f | ||
![]() |
f6ebcb2008 | ||
![]() |
3df804c128 | ||
![]() |
18ab3b16bc | ||
![]() |
6d253c160d | ||
![]() |
28bcbd3f35 | ||
![]() |
f4be0ada85 | ||
![]() |
494447b731 | ||
![]() |
6e58a53f44 | ||
![]() |
3987d82f41 | ||
![]() |
9c1002f94d | ||
![]() |
17aa824c92 | ||
![]() |
cd737fb545 | ||
![]() |
25fa7a119d | ||
![]() |
3aa8d04b74 | ||
![]() |
e0f68a4356 | ||
![]() |
3cdfde14d6 | ||
![]() |
d179facf90 | ||
![]() |
3168d7c343 | ||
![]() |
47b837e14a | ||
![]() |
be4a5a9087 | ||
![]() |
fc08f4f61b | ||
![]() |
71f0fa7eb3 | ||
![]() |
7d801bbe45 | ||
![]() |
03676c9bf5 | ||
![]() |
aa0675ffd7 | ||
![]() |
5c764d9a81 | ||
![]() |
683010b02d | ||
![]() |
117276c413 | ||
![]() |
49aa0fc15d | ||
![]() |
a8bd931766 | ||
![]() |
6bed9b266f | ||
![]() |
e336667b4a | ||
![]() |
b996a23714 | ||
![]() |
08cf9a56c0 | ||
![]() |
02f42604bd | ||
![]() |
cd5ee4dfe9 | ||
![]() |
3d77d11e28 | ||
![]() |
2e6f761458 | ||
![]() |
49e4dd619f | ||
![]() |
50cb424c34 | ||
![]() |
c033292aea | ||
![]() |
d51dd2d0e9 | ||
![]() |
cdb2d4757d | ||
![]() |
bc026e3fb5 | ||
![]() |
24b9b7e276 | ||
![]() |
32722fa31d | ||
![]() |
8768b5b1d6 | ||
![]() |
6c9da69abf | ||
![]() |
6b57738e4a | ||
![]() |
1c2c8e085a | ||
![]() |
fe1a29ca69 | ||
![]() |
ad73c032e7 | ||
![]() |
892f6e3fd3 | ||
![]() |
cabc3d5aa1 | ||
![]() |
7698b3cd48 | ||
![]() |
dad85cab9d | ||
![]() |
b1a4d91a53 | ||
![]() |
8be64594f2 | ||
![]() |
24ebd51287 | ||
![]() |
8bce684cda | ||
![]() |
9bb81e20ff | ||
![]() |
13dfc96c9c | ||
![]() |
167efb4fa0 | ||
![]() |
28dc42d8d3 | ||
![]() |
a3757456fe | ||
![]() |
7fee368be3 | ||
![]() |
221e8d5364 | ||
![]() |
f89e75af75 | ||
![]() |
c491dd5213 | ||
![]() |
6f3cccd6e1 | ||
![]() |
05e7b33977 | ||
![]() |
5d17b24e53 | ||
![]() |
585042c02b | ||
![]() |
cbf62de55d | ||
![]() |
3cdd3c8370 | ||
![]() |
5e50f27ed1 | ||
![]() |
1e4f59d3ae | ||
![]() |
d742a030aa | ||
![]() |
3006926231 | ||
![]() |
13f5ab4f44 | ||
![]() |
56f215e5c3 | ||
![]() |
0ccdbf364c | ||
![]() |
b7734d97c0 | ||
![]() |
3a65e2dd7f | ||
![]() |
ce81bc9edf | ||
![]() |
5fbf8bf89c | ||
![]() |
7f559ec80a | ||
![]() |
58e2964856 | ||
![]() |
aa5dd60865 | ||
![]() |
91940e84b1 | ||
![]() |
6364c8e5ab | ||
![]() |
f56928de85 | ||
![]() |
6694c996b9 | ||
![]() |
ed73d7bdb4 | ||
![]() |
88bd956d66 | ||
![]() |
004e8e61a0 | ||
![]() |
1a803826f1 | ||
![]() |
ac0fc79c76 | ||
![]() |
8f4c021fa2 | ||
![]() |
1ce28f454b | ||
![]() |
f376690822 | ||
![]() |
234ff044f4 | ||
![]() |
36481c30b3 | ||
![]() |
d4f03d0d04 | ||
![]() |
ebcbd04484 | ||
![]() |
2661a17c7e | ||
![]() |
814bb27bf0 | ||
![]() |
563fe5bbbe | ||
![]() |
2bed293f48 | ||
![]() |
b16cec1a1a | ||
![]() |
98f52b6bb0 | ||
![]() |
a895ce150f | ||
![]() |
418331e99f | ||
![]() |
b4cf6e7381 | ||
![]() |
dfbe1db9da | ||
![]() |
eeb9d553f8 | ||
![]() |
134af9d811 | ||
![]() |
35e480fc4d | ||
![]() |
6cadd4b2ca | ||
![]() |
6534506e82 | ||
![]() |
46d980b46a | ||
![]() |
c4c6a65410 | ||
![]() |
e54aca7006 | ||
![]() |
bb5f966b99 | ||
![]() |
67b245e07d | ||
![]() |
1a825d24fa | ||
![]() |
6a6bed2759 | ||
![]() |
5592c2eed4 | ||
![]() |
39db1177bf | ||
![]() |
4116912cde | ||
![]() |
d67a69a9cf | ||
![]() |
5777291497 | ||
![]() |
88a1ba9e30 | ||
![]() |
c36b713c47 | ||
![]() |
6006d6b678 | ||
![]() |
02d4ae838c | ||
![]() |
4c1d9edb35 | ||
![]() |
c136acf023 | ||
![]() |
b2861565aa | ||
![]() |
ed234bf749 | ||
![]() |
d3c4b2b2b1 | ||
![]() |
ebc003e205 | ||
![]() |
fcec7735dc | ||
![]() |
123d7c89a4 | ||
![]() |
6102f0bd06 | ||
![]() |
6fe99777e4 | ||
![]() |
2648a732db | ||
![]() |
8973b279cf | ||
![]() |
02230fecbf | ||
![]() |
dfc0b35360 | ||
![]() |
0d671a2e19 | ||
![]() |
07e1d7870a | ||
![]() |
d5d7171f6d | ||
![]() |
a133b16699 | ||
![]() |
d87b698d0f | ||
![]() |
c43697c16c | ||
![]() |
4b3d7c2f42 | ||
![]() |
92f99bc2ee | ||
![]() |
b4538b5363 | ||
![]() |
94fc463801 | ||
![]() |
c840a7ae15 | ||
![]() |
01950eb7ac | ||
![]() |
0798d5b26e | ||
![]() |
e80257a924 | ||
![]() |
13687a6e3e | ||
![]() |
e123f650a9 | ||
![]() |
d5c5b87f0d | ||
![]() |
55c3c241cf | ||
![]() |
9264a9a7ef | ||
![]() |
091de040ed | ||
![]() |
40cae03b0d | ||
![]() |
3cf4f7c5a0 | ||
![]() |
7484e06c58 | ||
![]() |
1ede098e90 | ||
![]() |
cef07fb1b3 | ||
![]() |
ad2e5369b9 | ||
![]() |
b94c2a1203 | ||
![]() |
0739a3e88b | ||
![]() |
f595f8a6a5 | ||
![]() |
1892013216 | ||
![]() |
79a6dabd08 | ||
![]() |
93cb84a7bb | ||
![]() |
efad25970e | ||
![]() |
bf09397285 | ||
![]() |
8d272e53a4 | ||
![]() |
dbb594bdb3 | ||
![]() |
bfdcf49110 | ||
![]() |
b56eb28575 | ||
![]() |
8549e3db6a | ||
![]() |
2ce91b823c | ||
![]() |
a66cf7924c | ||
![]() |
eb6ee17d2d | ||
![]() |
0e34ed43f4 | ||
![]() |
af17f196c6 | ||
![]() |
055f1fa61e | ||
![]() |
66eb6067b1 | ||
![]() |
b4b0e13b4d | ||
![]() |
eea3e57bcf | ||
![]() |
38d25d7458 | ||
![]() |
8aab3db129 | ||
![]() |
124e8b6079 | ||
![]() |
2498c5776f | ||
![]() |
d0188462d9 | ||
![]() |
c9060b4a5c | ||
![]() |
8c14787398 | ||
![]() |
be96f4d7fb | ||
![]() |
30d92a6399 | ||
![]() |
1c5b90f409 | ||
![]() |
3e6956767e | ||
![]() |
b0c96f9baf | ||
![]() |
a63216054d | ||
![]() |
595ed48d54 | ||
![]() |
51ca982aa1 | ||
![]() |
0cc44c82c9 | ||
![]() |
a77b49dcb8 | ||
![]() |
67fac85e96 | ||
![]() |
91d50c849d | ||
![]() |
16872af889 | ||
![]() |
663f076c7b | ||
![]() |
2a5e733b6f | ||
![]() |
68349ed914 | ||
![]() |
1cfa861d4c | ||
![]() |
c0ca05f6dd | ||
![]() |
c2aa79dc88 | ||
![]() |
783b819e67 | ||
![]() |
a6be583efa | ||
![]() |
8a96a95de2 | ||
![]() |
f5f6052c56 | ||
![]() |
08b1a8a41e | ||
![]() |
81af404b7f | ||
![]() |
73063f5002 | ||
![]() |
c9eabf9e13 | ||
![]() |
3fc9299b84 | ||
![]() |
11defb7aa4 | ||
![]() |
6a905f9311 | ||
![]() |
91df56313b | ||
![]() |
cd28248611 | ||
![]() |
748a652f04 | ||
![]() |
f54f6b5aa9 | ||
![]() |
ff76343336 | ||
![]() |
2bbd33b332 | ||
![]() |
152511689b | ||
![]() |
a26267d16d | ||
![]() |
fa5963a2f5 | ||
![]() |
4b4583bdbe | ||
![]() |
93331cb0cd | ||
![]() |
960b9cfd19 | ||
![]() |
129d19ba7f | ||
![]() |
3e255af03a | ||
![]() |
b81438ea96 | ||
![]() |
fdd2db930f | ||
![]() |
4595cc488e | ||
![]() |
7e68aa0a21 | ||
![]() |
c511ce303f | ||
![]() |
6cc3910a10 | ||
![]() |
7101911d9b | ||
![]() |
319944a11a | ||
![]() |
a757a2aeb8 | ||
![]() |
179277817d | ||
![]() |
a0f9c5fc46 | ||
![]() |
879ae853fe | ||
![]() |
8b98f4a782 | ||
![]() |
a2813b6739 | ||
![]() |
6cd5cd7b94 | ||
![]() |
292f787c04 | ||
![]() |
695c9cb976 | ||
![]() |
1d636de81e | ||
![]() |
a2a7d97b3b | ||
![]() |
fc85fbeef0 | ||
![]() |
16c97cd7c5 | ||
![]() |
2ea43433e2 | ||
![]() |
a78c8e3a4f | ||
![]() |
cb009f3050 | ||
![]() |
7acbb87c2b | ||
![]() |
4e9b4f6d6a | ||
![]() |
f5e5d47fac | ||
![]() |
d83d2ba260 | ||
![]() |
c59ecc857d | ||
![]() |
29b6c9b7dc | ||
![]() |
80dba56aca | ||
![]() |
01c71740cd | ||
![]() |
2b0843037e | ||
![]() |
5b0610a74f | ||
![]() |
c0daf75475 | ||
![]() |
6f7dcb30d9 | ||
![]() |
fa98b5b4b6 | ||
![]() |
af223d44f4 | ||
![]() |
8269bc2bc2 | ||
![]() |
1329cdecce | ||
![]() |
cad3805737 | ||
![]() |
f7d2cd2228 | ||
![]() |
532cba1422 | ||
![]() |
a091035846 | ||
![]() |
d0a78bf56e | ||
![]() |
b32cd9421c | ||
![]() |
ed72564e31 | ||
![]() |
73b8774ab1 | ||
![]() |
5fd779d91f | ||
![]() |
6f587466a1 | ||
![]() |
0fdd8040ce | ||
![]() |
8022a5f79c | ||
![]() |
9640209f78 | ||
![]() |
f8c8c32b42 | ||
![]() |
c8530d022f | ||
![]() |
8a6c345bcc | ||
![]() |
67a17cfdbc | ||
![]() |
de6681e295 | ||
![]() |
f0177eb936 | ||
![]() |
f9c9339761 | ||
![]() |
0f96b5605a | ||
![]() |
27424d5c09 | ||
![]() |
d79533c65a | ||
![]() |
2e5dcceda0 | ||
![]() |
3b638e6715 | ||
![]() |
a37f9d1ecd | ||
![]() |
a040fc3347 | ||
![]() |
294a5aca8f | ||
![]() |
8bf4f7b97c | ||
![]() |
72481d5a04 | ||
![]() |
9dfc437477 | ||
![]() |
91cd123137 | ||
![]() |
54dab1eebb | ||
![]() |
915218878a | ||
![]() |
49562271be | ||
![]() |
59181a052f | ||
![]() |
0d2580f1f0 | ||
![]() |
a1909a9427 | ||
![]() |
966987625c | ||
![]() |
e2d0437a9c | ||
![]() |
82b5c42567 | ||
![]() |
672e7dd373 | ||
![]() |
daabb88e00 | ||
![]() |
7641af690e | ||
![]() |
cdc899a3f3 | ||
![]() |
fc7cda78a9 | ||
![]() |
b1e556d713 | ||
![]() |
03f5de9d7e | ||
![]() |
9338148f5f | ||
![]() |
a735badbd0 | ||
![]() |
d48290e387 | ||
![]() |
62e785babf | ||
![]() |
0d95d58f8b | ||
![]() |
b8c12c9ccd | ||
![]() |
6043ad8688 | ||
![]() |
83f149e70e | ||
![]() |
a7f687fdf8 | ||
![]() |
7dfeee862d | ||
![]() |
53eadd218d | ||
![]() |
20d44d9c44 | ||
![]() |
802ece6d7c | ||
![]() |
9bfa0bb567 | ||
![]() |
f2a28ee472 | ||
![]() |
87d4e07ffd | ||
![]() |
d75bb90a5d | ||
![]() |
7caa4b2165 | ||
![]() |
79d5e23673 | ||
![]() |
80079f1fae | ||
![]() |
195dc90d27 | ||
![]() |
25c1b78f3c | ||
![]() |
44f2f9aa53 | ||
![]() |
ff59b6179d | ||
![]() |
4c9a28a28e | ||
![]() |
4e1c7363cc | ||
![]() |
86e280f636 | ||
![]() |
17ae6ffa85 | ||
![]() |
8684c9960d | ||
![]() |
5aa79b7272 | ||
![]() |
1be14d04a0 | ||
![]() |
75a71441d9 | ||
![]() |
f4b1f761f3 | ||
![]() |
7dddd05462 | ||
![]() |
93f6cf4e8c | ||
![]() |
bf822593ee | ||
![]() |
3c07cecdb8 | ||
![]() |
db305dcf21 | ||
![]() |
4db8c3da11 | ||
![]() |
a8e9990603 | ||
![]() |
7d424c0bbc | ||
![]() |
7bd9b5a1ad | ||
![]() |
bb99ccb030 | ||
![]() |
d71ad00643 | ||
![]() |
495266271f | ||
![]() |
f64b773007 | ||
![]() |
d5c1be5a0f | ||
![]() |
b217cc640c | ||
![]() |
6e08e29425 | ||
![]() |
f0391747e6 | ||
![]() |
84ca485e51 | ||
![]() |
8c182e51e7 | ||
![]() |
8353e868d5 | ||
![]() |
1f75402704 | ||
![]() |
473553bd5a | ||
![]() |
9394b84440 | ||
![]() |
66541b8926 | ||
![]() |
799fdea9fc | ||
![]() |
143641c75a | ||
![]() |
79d9c71f98 | ||
![]() |
b16ff281f8 | ||
![]() |
2a0bc6062b | ||
![]() |
0b8adabab7 | ||
![]() |
a4b62ff61b | ||
![]() |
384df14e6d | ||
![]() |
0566716802 | ||
![]() |
f716c3bfb5 | ||
![]() |
c2371584a0 | ||
![]() |
2bfd0cc6c7 | ||
![]() |
379b337444 | ||
![]() |
4c0f0036b5 | ||
![]() |
4a2f2729f1 | ||
![]() |
2a53253e72 | ||
![]() |
a683902b2c | ||
![]() |
5db5dd552a | ||
![]() |
4bb4926c9b | ||
![]() |
e4c0ecf86b | ||
![]() |
6e38649ec6 | ||
![]() |
bbdf5d1d4b | ||
![]() |
1e46091009 | ||
![]() |
e9373fc130 | ||
![]() |
9ce6a7ebb8 | ||
![]() |
f91405801f | ||
![]() |
f05edc9296 | ||
![]() |
f9004b90c5 | ||
![]() |
c831675026 | ||
![]() |
5fb06596a9 | ||
![]() |
8ba1f84f47 | ||
![]() |
9eb7bf895c | ||
![]() |
7c1f208253 | ||
![]() |
f7dd496cdd | ||
![]() |
d6305514ff | ||
![]() |
707fd36afa | ||
![]() |
c34e3dfc72 | ||
![]() |
fcd2e1f60c | ||
![]() |
1a77513e6d | ||
![]() |
2d27ce46bc | ||
![]() |
70171f9790 | ||
![]() |
7161894f40 | ||
![]() |
37ea16df9d | ||
![]() |
f624a3037c | ||
![]() |
73df6c9325 | ||
![]() |
4da20e21c6 | ||
![]() |
47c3c1ec9f | ||
![]() |
f1ba61c7ba | ||
![]() |
eefb618ec9 | ||
![]() |
14218aeb0a | ||
![]() |
3aafe12c91 | ||
![]() |
0d62f5cd35 | ||
![]() |
2f45319b4e | ||
![]() |
77ae0b9795 | ||
![]() |
6a8f672ca1 | ||
![]() |
a31a380cb8 | ||
![]() |
6e81d49b33 | ||
![]() |
b596f4e990 | ||
![]() |
df6362d450 | ||
![]() |
342a616a7f | ||
![]() |
68c96e987b | ||
![]() |
33443e63a9 | ||
![]() |
294ad93e30 | ||
![]() |
77d2fadfb6 | ||
![]() |
3202b0a3dd | ||
![]() |
4ef1ff4fba | ||
![]() |
0033268c11 | ||
![]() |
56b7216efe | ||
![]() |
f8eb7bae89 | ||
![]() |
b61bbbfe37 | ||
![]() |
67b062b3c6 | ||
![]() |
568107e178 | ||
![]() |
fe2b3603e7 | ||
![]() |
cba45fe9de | ||
![]() |
fe19b7b601 | ||
![]() |
a13acda972 | ||
![]() |
4fe02e15f9 | ||
![]() |
b45c5408d1 | ||
![]() |
d2fce92438 | ||
![]() |
885b5cd2f9 | ||
![]() |
63423eb6f8 | ||
![]() |
2291258bb8 | ||
![]() |
e6d7247ed9 | ||
![]() |
c6aec19ed8 | ||
![]() |
f93a29bec2 | ||
![]() |
ec90588c72 | ||
![]() |
fcd263c61a | ||
![]() |
77f643dc51 | ||
![]() |
5d9d0f78b5 | ||
![]() |
d88be8ef16 | ||
![]() |
b8f0414b9a | ||
![]() |
85500e8c8f | ||
![]() |
3c6e2cf030 | ||
![]() |
da4fd6794c | ||
![]() |
430e8d4c9b | ||
![]() |
3f78a026c7 | ||
![]() |
a38104a165 | ||
![]() |
1391e42579 | ||
![]() |
e5635fb27f | ||
![]() |
0bc856a747 | ||
![]() |
bba388b4fa | ||
![]() |
465fab45c1 | ||
![]() |
d5d18cf694 | ||
![]() |
31c6c50ac6 | ||
![]() |
c7703f8313 | ||
![]() |
5b593bba19 | ||
![]() |
b91c515afe | ||
![]() |
f0c108b5c9 | ||
![]() |
6723e3296a | ||
![]() |
bf19c1a0be | ||
![]() |
266870df8e | ||
![]() |
e7fd707698 | ||
![]() |
55f8a32020 | ||
![]() |
84a0356608 | ||
![]() |
33a9f58509 | ||
![]() |
5de06bfa37 | ||
![]() |
260e2f372e | ||
![]() |
036f300210 | ||
![]() |
2df32fbfa0 | ||
![]() |
8da89f54bd | ||
![]() |
d4669bbc8e | ||
![]() |
ef22ca1732 | ||
![]() |
c64f378f16 | ||
![]() |
237d2f2ea3 | ||
![]() |
a1fac159d7 | ||
![]() |
c4e3d6243c | ||
![]() |
cdea825a0b | ||
![]() |
61f8c4ef0d | ||
![]() |
dd97ede84d | ||
![]() |
7116c355df | ||
![]() |
02de69892c | ||
![]() |
d6e9cf5d54 | ||
![]() |
66b564f385 | ||
![]() |
db8d3bb4d6 | ||
![]() |
6ae50ad6e3 | ||
![]() |
534f135261 | ||
![]() |
3f9ebfe9e9 | ||
![]() |
13e99d8d5f | ||
![]() |
9ae349c622 | ||
![]() |
4b822a41af | ||
![]() |
6e2e5c7dbe | ||
![]() |
f349456bc5 | ||
![]() |
0f3bf99d58 | ||
![]() |
5c2bb18772 | ||
![]() |
e6b192a75c | ||
![]() |
9cabd6372d | ||
![]() |
4643104b8a | ||
![]() |
0ec4e86f14 | ||
![]() |
fa84cd18f4 | ||
![]() |
2e9b7b1ae6 | ||
![]() |
595b114216 | ||
![]() |
26e089b9a2 | ||
![]() |
97e2f7f16f | ||
![]() |
7f753fe76b | ||
![]() |
82295b1f4d | ||
![]() |
a677b85706 | ||
![]() |
5f92c3926b | ||
![]() |
b977fd3c9d | ||
![]() |
0eaa0d288c | ||
![]() |
ecf3d64293 | ||
![]() |
5e785d3db2 | ||
![]() |
c4117c68cc | ||
![]() |
bd4c282d77 | ||
![]() |
0f8389e787 | ||
![]() |
488252eca2 | ||
![]() |
933eb839d9 | ||
![]() |
0163a53f4a | ||
![]() |
a11ec69796 | ||
![]() |
6288d95d1e | ||
![]() |
4232e407f4 | ||
![]() |
d84d5fe055 | ||
![]() |
4394b3bac7 | ||
![]() |
82a423db7d | ||
![]() |
116f65994b | ||
![]() |
5de7258478 | ||
![]() |
1a7c5ea517 | ||
![]() |
20f5caa8f6 | ||
![]() |
6769f3e33e | ||
![]() |
738864c53c | ||
![]() |
3693e942b7 | ||
![]() |
942bb46088 | ||
![]() |
265fb6ee88 | ||
![]() |
3cc77d5d63 | ||
![]() |
835f2f4a79 | ||
![]() |
e61b66c38a | ||
![]() |
dba9816009 | ||
![]() |
af4ec9b7e9 | ||
![]() |
03a7391049 | ||
![]() |
369e07d1c9 | ||
![]() |
41ceb8624f | ||
![]() |
3f120caeef | ||
![]() |
9fe93bb984 | ||
![]() |
014097e51a | ||
![]() |
ba34c94533 | ||
![]() |
0024592c23 | ||
![]() |
bff326fb24 | ||
![]() |
eb6831a4c2 | ||
![]() |
a077baa9c3 | ||
![]() |
fbcd7acfd3 | ||
![]() |
e07d0e9438 | ||
![]() |
95b346c3ca | ||
![]() |
d57944fc2b | ||
![]() |
c4db88a314 | ||
![]() |
381d8f85e7 | ||
![]() |
d7dd4106ea | ||
![]() |
d6c8b378d4 | ||
![]() |
992b7f5f8e | ||
![]() |
fba9ebd9bc | ||
![]() |
59bcebbf3d | ||
![]() |
bf0cc7bea8 | ||
![]() |
31ace3b767 | ||
![]() |
7c4e511eb0 | ||
![]() |
ddbd2ef05d | ||
![]() |
b963eb447b | ||
![]() |
97fb9bc85b | ||
![]() |
3b1a037499 | ||
![]() |
517dd4dbb8 | ||
![]() |
9b6af55525 | ||
![]() |
2363227974 | ||
![]() |
8eaa122c27 | ||
![]() |
94b36dc97e | ||
![]() |
3f23397596 | ||
![]() |
11df748a3b | ||
![]() |
c490d880a3 | ||
![]() |
a3300bf4b1 | ||
![]() |
ba56498d10 | ||
![]() |
48f8364f65 | ||
![]() |
b4dae2b77d | ||
![]() |
95224aff7d | ||
![]() |
91a803d463 | ||
![]() |
9d8df28c1d | ||
![]() |
cb017cbf5e | ||
![]() |
ffc7942857 | ||
![]() |
6a15e40b6e | ||
![]() |
51a31ce006 | ||
![]() |
7a39172771 | ||
![]() |
5cd62c235d | ||
![]() |
0761ac126b | ||
![]() |
f28203c7a1 | ||
![]() |
185a7cc210 | ||
![]() |
1a64cd0997 | ||
![]() |
62dc1077eb | ||
![]() |
307e021606 | ||
![]() |
52682115fb | ||
![]() |
769185d68b | ||
![]() |
328ead0e17 | ||
![]() |
3e2172bd52 | ||
![]() |
8979c14fb6 | ||
![]() |
9f66882898 | ||
![]() |
6023ed3a0c | ||
![]() |
cdb3454283 | ||
![]() |
250cf666d3 | ||
![]() |
9bd618f545 | ||
![]() |
0f9dbe0a9c | ||
![]() |
862c39be37 | ||
![]() |
3b2441b87f | ||
![]() |
f54b0e47a0 | ||
![]() |
17254e090e | ||
![]() |
ab791ae90c | ||
![]() |
323a0dce43 | ||
![]() |
fedae8552a | ||
![]() |
6d9ab582b2 | ||
![]() |
319248eb52 | ||
![]() |
c76ebf98de | ||
![]() |
78a7ecb946 | ||
![]() |
67d8a99477 | ||
![]() |
332b61fe41 | ||
![]() |
2f751650e2 | ||
![]() |
99ba17bd66 | ||
![]() |
db6a6f3f64 | ||
![]() |
b67ff2fb11 | ||
![]() |
369de87e5d | ||
![]() |
8c43554de6 | ||
![]() |
5e8a382c19 | ||
![]() |
899156172d | ||
![]() |
727e2b958d | ||
![]() |
252e8122bf | ||
![]() |
c79958a29b | ||
![]() |
f51d7c9d4b | ||
![]() |
ad32940da8 | ||
![]() |
6da92274ae | ||
![]() |
cf7324b466 | ||
![]() |
f6a07692f9 | ||
![]() |
dabbd2b028 | ||
![]() |
2246ef3e6b | ||
![]() |
1c087b77cb | ||
![]() |
b34f18525e | ||
![]() |
62ff0a9df9 | ||
![]() |
8c4059766e | ||
![]() |
21acc56d57 | ||
![]() |
c52cec7e51 | ||
![]() |
05f0592b34 | ||
![]() |
9dcf51c3a1 | ||
![]() |
df9b45a656 | ||
![]() |
760ea4316c | ||
![]() |
be1eedf808 | ||
![]() |
61637d3382 | ||
![]() |
8074b722f0 | ||
![]() |
fe550f3866 | ||
![]() |
5c77c9248c | ||
![]() |
035271091f | ||
![]() |
13e3aa9b00 | ||
![]() |
89f6b8a380 | ||
![]() |
56bb9992b0 | ||
![]() |
2e66339137 | ||
![]() |
fee5190def | ||
![]() |
024fc49586 | ||
![]() |
d1697f7437 | ||
![]() |
6f5e83db04 | ||
![]() |
ba54d02871 | ||
![]() |
ce3ca58fee | ||
![]() |
47d7320096 | ||
![]() |
e6895ec115 | ||
![]() |
135da7ab34 | ||
![]() |
f9810e548b | ||
![]() |
7708961484 | ||
![]() |
2a3fbdaf5c | ||
![]() |
30111dbf4d | ||
![]() |
e154f8e959 | ||
![]() |
7b32bbaae7 | ||
![]() |
4b8cc94a25 | ||
![]() |
819ba73b17 | ||
![]() |
7cc76a9d46 | ||
![]() |
f8df637783 | ||
![]() |
0febc29f1a | ||
![]() |
af327524ed | ||
![]() |
cf8f08f9d0 | ||
![]() |
5bff05963c | ||
![]() |
c02d52ad56 | ||
![]() |
a636c79487 | ||
![]() |
6b6b121ff0 | ||
![]() |
1d9cb20a41 | ||
![]() |
ee4207b3f0 | ||
![]() |
fdf665d637 | ||
![]() |
00ed0a5f91 | ||
![]() |
b010f388d1 | ||
![]() |
05b2ed7532 | ||
![]() |
96ca84798f | ||
![]() |
e4ff9c0ee4 | ||
![]() |
e6a1bd91bc | ||
![]() |
5b6e40df26 | ||
![]() |
aae2fbfc99 | ||
![]() |
0fe08c222f | ||
![]() |
cb927a24ca | ||
![]() |
8821797f01 | ||
![]() |
bbcdb8b574 | ||
![]() |
a6571d504a | ||
![]() |
f586edd33d | ||
![]() |
c8a1d51753 | ||
![]() |
07343d5e33 | ||
![]() |
fa8c676b37 | ||
![]() |
be352d9548 | ||
![]() |
8f4e99b2e5 | ||
![]() |
d7ee08621a | ||
![]() |
01aeebf9bf | ||
![]() |
a28e4befed | ||
![]() |
ba0a137b9c | ||
![]() |
cb2f340d55 | ||
![]() |
ed6fdb6d78 | ||
![]() |
954f80872d | ||
![]() |
e7149d6659 | ||
![]() |
26e69ffde9 | ||
![]() |
ecd8fa3437 | ||
![]() |
c71825f80e | ||
![]() |
fdd443120f | ||
![]() |
bdfa0447ec | ||
![]() |
a6f9cb85ab | ||
![]() |
3da4afd259 | ||
![]() |
8fcc65bf58 | ||
![]() |
8f9ff88c29 | ||
![]() |
a8970be543 | ||
![]() |
1bfa188d18 | ||
![]() |
105c92ee08 | ||
![]() |
f4ea0d3f64 | ||
![]() |
006533cdea | ||
![]() |
6bc606c926 | ||
![]() |
d35c783ec6 | ||
![]() |
75d0e4ff65 | ||
![]() |
47e21a054c | ||
![]() |
795946b1ca | ||
![]() |
12425693ba | ||
![]() |
49c29d057d | ||
![]() |
44d114f3ee | ||
![]() |
be5a886f8f | ||
![]() |
689be10891 | ||
![]() |
35ccca8b74 | ||
![]() |
8991037ecd | ||
![]() |
c843a2655b | ||
![]() |
2418d7cd91 | ||
![]() |
d7df1f26ba | ||
![]() |
89afda0694 | ||
![]() |
62a9a6b0d8 | ||
![]() |
926d7ffcc8 | ||
![]() |
4fdcb10c3e | ||
![]() |
ec32200507 | ||
![]() |
68217548f3 | ||
![]() |
7c0e9d941d | ||
![]() |
3e21bb429d | ||
![]() |
ca07fe2fef | ||
![]() |
305882489c | ||
![]() |
d454d21409 | ||
![]() |
7a79e91ecd | ||
![]() |
1623ef2a96 | ||
![]() |
a045314f02 | ||
![]() |
7886965e34 | ||
![]() |
d175915c55 | ||
![]() |
824120b8d8 | ||
![]() |
6e70e3521a | ||
![]() |
01b2d463f7 | ||
![]() |
91fabf0461 | ||
![]() |
facb432f91 | ||
![]() |
d60abc914c | ||
![]() |
031a0b6660 | ||
![]() |
a62777487d | ||
![]() |
7fb84d304b | ||
![]() |
6047e3ce12 | ||
![]() |
d9cf99baf6 | ||
![]() |
6d0f0b2a84 | ||
![]() |
29c95808ac | ||
![]() |
b5966c3290 | ||
![]() |
ae785ffb52 | ||
![]() |
57eae5595e | ||
![]() |
bea3790a74 | ||
![]() |
680c111278 | ||
![]() |
364545fe57 | ||
![]() |
928caf92ed | ||
![]() |
6c927047c4 | ||
![]() |
5642a81f24 | ||
![]() |
a9c79db580 | ||
![]() |
9748595960 | ||
![]() |
22d22145d2 | ||
![]() |
1ffb335915 | ||
![]() |
3dba370486 | ||
![]() |
43a2c5694e | ||
![]() |
9b13eacdf1 | ||
![]() |
f83b2c09e8 | ||
![]() |
e23bc0d1a5 | ||
![]() |
7d4891e243 | ||
![]() |
a214bdff4d | ||
![]() |
6143f97b45 | ||
![]() |
f76174422d | ||
![]() |
fb5c464221 | ||
![]() |
2bbfe0d8a8 | ||
![]() |
4f94ec9b0b | ||
![]() |
334461b421 | ||
![]() |
eeb13bdb4c | ||
![]() |
d2d5f6f919 | ||
![]() |
4abcfd1e28 | ||
![]() |
ba2b751b4d | ||
![]() |
ef5e74a200 | ||
![]() |
d53d71b874 | ||
![]() |
2d5d9363d8 | ||
![]() |
c62a19cfbd | ||
![]() |
bc40c8a682 | ||
![]() |
5f13820899 | ||
![]() |
52512b7c12 | ||
![]() |
de28919b41 | ||
![]() |
d6575035a5 | ||
![]() |
9e05693ca1 | ||
![]() |
c0b4981765 | ||
![]() |
95c18905d7 | ||
![]() |
cc2206d56c | ||
![]() |
2de47aae12 | ||
![]() |
4de9ba54bc | ||
![]() |
852ed80881 | ||
![]() |
f44961ff9b | ||
![]() |
ed7efe6289 | ||
![]() |
5a955c0d14 | ||
![]() |
ae840f66c5 | ||
![]() |
e09765dd34 | ||
![]() |
2f1e59324f | ||
![]() |
f1387ef879 | ||
![]() |
dbe8d115b1 | ||
![]() |
24d0ebd8fb | ||
![]() |
70cad1901a | ||
![]() |
494f9deb9b | ||
![]() |
770f3a47b1 | ||
![]() |
a4e13ecce9 | ||
![]() |
d3129c5d33 | ||
![]() |
a907ca490e | ||
![]() |
3227aa0533 | ||
![]() |
4620fa60f5 | ||
![]() |
e1617b4798 | ||
![]() |
9f3f07eec6 | ||
![]() |
10ccdf88e2 | ||
![]() |
7a9166f362 | ||
![]() |
db4bc75cd9 | ||
![]() |
dd25c9651a | ||
![]() |
3595b1f677 | ||
![]() |
5fc59cb6fa | ||
![]() |
ff12c04a61 | ||
![]() |
b8c83c53b1 | ||
![]() |
f8e417818f | ||
![]() |
4029ddb165 | ||
![]() |
cdc2330c0e | ||
![]() |
479a6b9f68 | ||
![]() |
9f6736c2cc | ||
![]() |
46dc8e9240 | ||
![]() |
d13be6c721 | ||
![]() |
70f9671bdf | ||
![]() |
8c79fb65ae | ||
![]() |
4ababca893 | ||
![]() |
2358f82ee5 | ||
![]() |
48378b751e | ||
![]() |
9fe18f71c1 | ||
![]() |
e733690e69 | ||
![]() |
9ecf073aff | ||
![]() |
49c982b4b7 | ||
![]() |
4bb6f2c089 | ||
![]() |
e731726c56 | ||
![]() |
90c0235fc4 | ||
![]() |
716f16b137 | ||
![]() |
6a6d9c7e05 | ||
![]() |
e7cb2b1cbf | ||
![]() |
6671bd50f1 | ||
![]() |
be66450ecd | ||
![]() |
1634395378 | ||
![]() |
c974997d05 | ||
![]() |
923db0e641 | ||
![]() |
995652e748 | ||
![]() |
effc8a8f30 | ||
![]() |
960324a95b | ||
![]() |
2a78b4da8c | ||
![]() |
0b098eb38d | ||
![]() |
59309b5dd2 | ||
![]() |
c6946fd2c1 | ||
![]() |
b20a9dc88d | ||
![]() |
98ddfacdf1 | ||
![]() |
58d8d9ab9b | ||
![]() |
746a996cb9 | ||
![]() |
513fe7894e | ||
![]() |
4d648fdcd8 | ||
![]() |
e61169e61a | ||
![]() |
23e410b18a | ||
![]() |
8b4c999888 | ||
![]() |
3cb5733ec0 | ||
![]() |
60116cf11e | ||
![]() |
1d856b2761 | ||
![]() |
3c2c16283c | ||
![]() |
7e383864c7 | ||
![]() |
964d89e34b | ||
![]() |
935e2ef7ed | ||
![]() |
f9d0f65ba0 | ||
![]() |
ab250d21bc | ||
![]() |
3771188701 | ||
![]() |
cec8dcbc7a | ||
![]() |
ef36794336 | ||
![]() |
5af344b9d9 | ||
![]() |
e702d3dc70 | ||
![]() |
b5d939b71b | ||
![]() |
c53a836a3c | ||
![]() |
9f1dcef6b1 | ||
![]() |
953dd5a34f | ||
![]() |
0f7cb315ef | ||
![]() |
562549fbac | ||
![]() |
c3133defb6 | ||
![]() |
b9bca8e5c3 | ||
![]() |
ec81cc393b | ||
![]() |
67945ef727 | ||
![]() |
43b63b1100 | ||
![]() |
c828037784 | ||
![]() |
7c72640da1 | ||
![]() |
cefae77aa2 | ||
![]() |
021d746931 | ||
![]() |
d258f59022 | ||
![]() |
28f11ac429 | ||
![]() |
b8a273705e | ||
![]() |
efe4140208 | ||
![]() |
d43f001a36 | ||
![]() |
3edf0b4d92 | ||
![]() |
29016f3e2b | ||
![]() |
7787c449ca | ||
![]() |
f422094b9f | ||
![]() |
5f819ea1d3 | ||
![]() |
8cb978dc15 | ||
![]() |
0cf064422a | ||
![]() |
dd2076f8d8 | ||
![]() |
ba7aa979a5 | ||
![]() |
02ea9f9db6 | ||
![]() |
f9d1e423ba | ||
![]() |
13ee68c910 | ||
![]() |
8876d9e6d5 | ||
![]() |
4daade9218 | ||
![]() |
267fcd1ff6 | ||
![]() |
84a26e5d18 | ||
![]() |
a79d6895ed | ||
![]() |
3184e8947d | ||
![]() |
55d2867841 | ||
![]() |
28e6a40fc6 | ||
![]() |
48e0675ec9 | ||
![]() |
556a8975bd | ||
![]() |
b515627446 | ||
![]() |
b8b7dfedd1 | ||
![]() |
ed12665f16 | ||
![]() |
a33af83ee4 | ||
![]() |
a006648398 | ||
![]() |
89106a13c6 | ||
![]() |
4ce000b9f5 | ||
![]() |
ea62c64add | ||
![]() |
63ae3b730a | ||
![]() |
d72f52bbea | ||
![]() |
05968b7031 | ||
![]() |
6978f878eb | ||
![]() |
7f9921fc60 | ||
![]() |
4f20bdcf39 | ||
![]() |
403115019b | ||
![]() |
a7490404ba | ||
![]() |
d8c793f23f | ||
![]() |
2f5a69b2fb | ||
![]() |
a6eb15d274 | ||
![]() |
534da223f7 | ||
![]() |
968a666acd | ||
![]() |
f183282b64 | ||
![]() |
a202d82339 | ||
![]() |
4f4aff329f | ||
![]() |
a5990f3eea | ||
![]() |
f13caadded | ||
![]() |
e392652754 | ||
![]() |
d1e6eae2a9 | ||
![]() |
6863f7b24c | ||
![]() |
ae5cf58878 | ||
![]() |
1502e7ed64 | ||
![]() |
69d0f41c4b | ||
![]() |
66f99d208f | ||
![]() |
292a5c9d83 | ||
![]() |
8fbe442925 | ||
![]() |
78c7d54aba | ||
![]() |
bab80e7cca | ||
![]() |
ad1d22eba5 | ||
![]() |
44f81f09b4 | ||
![]() |
bd1be768f1 | ||
![]() |
9515b9cc94 | ||
![]() |
d0045f15bd | ||
![]() |
53557c8988 | ||
![]() |
83a2e13efb | ||
![]() |
918fafc611 | ||
![]() |
5337e73f34 | ||
![]() |
8e40b2062e | ||
![]() |
89631a6190 | ||
![]() |
5fb5002e9a | ||
![]() |
52e287a8c9 | ||
![]() |
0cc5974b11 | ||
![]() |
45ea872f2e | ||
![]() |
df76c0d6d7 | ||
![]() |
163c4b7583 | ||
![]() |
96fbaef1ec | ||
![]() |
84c56130d2 | ||
![]() |
122c722993 | ||
![]() |
bcc3fb6d9e | ||
![]() |
ef6957c177 | ||
![]() |
1a21379e3c | ||
![]() |
3186e31b57 | ||
![]() |
db11011a5c | ||
![]() |
c3cd3edad2 | ||
![]() |
3a01a25242 | ||
![]() |
1f43a6f0b2 | ||
![]() |
291bcf94b0 | ||
![]() |
2a7836c961 | ||
![]() |
6400ab8d18 | ||
![]() |
4fadfa5c22 | ||
![]() |
6d97d8bf71 | ||
![]() |
feadfad266 | ||
![]() |
ecfdb0c0fe | ||
![]() |
caa4d22d16 | ||
![]() |
5121034bb8 | ||
![]() |
c6384da755 | ||
![]() |
81c07721cb | ||
![]() |
5c003f3ecb | ||
![]() |
efdbdc6016 | ||
![]() |
6d6381f596 | ||
![]() |
d72039f3ef | ||
![]() |
6e08e760fc | ||
![]() |
d6478991d0 | ||
![]() |
4cb7c88ca9 | ||
![]() |
a6a73b51b5 | ||
![]() |
9ce381b801 | ||
![]() |
17f2ca6913 | ||
![]() |
74c8dcfd57 | ||
![]() |
f36af30531 | ||
![]() |
7899a3c125 | ||
![]() |
a1c4f325ca | ||
![]() |
bd85e8d259 | ||
![]() |
8b265fe4b6 | ||
![]() |
e706397861 | ||
![]() |
dee230b4d6 | ||
![]() |
5b268e6508 | ||
![]() |
28f2ed00d9 | ||
![]() |
db0a03a43c | ||
![]() |
9c71093564 | ||
![]() |
06f62e38f7 | ||
![]() |
fe89676a9e | ||
![]() |
9d47c62337 | ||
![]() |
9378001e35 | ||
![]() |
98959e2820 | ||
![]() |
8ec389f167 | ||
![]() |
07672da098 | ||
![]() |
292714e64a | ||
![]() |
c8d298bc9e | ||
![]() |
b39a898269 | ||
![]() |
dceb7bed94 | ||
![]() |
d6912d07cd | ||
![]() |
c6cb74bff8 | ||
![]() |
82329825c3 | ||
![]() |
e602aab7f4 | ||
![]() |
5512ec30f1 | ||
![]() |
d5d17b96c2 | ||
![]() |
b761f0daea | ||
![]() |
aeb5f5671d | ||
![]() |
76d729e9c0 | ||
![]() |
54eb069f06 | ||
![]() |
edd077f4bf | ||
![]() |
1a4cce275d | ||
![]() |
74a021346d | ||
![]() |
a5d9971a06 | ||
![]() |
f7960ac0e8 | ||
![]() |
5ce78b135d | ||
![]() |
1640ce613c | ||
![]() |
481ae5b11d | ||
![]() |
1c76070520 | ||
![]() |
41dd68f092 | ||
![]() |
fa123699d3 | ||
![]() |
221887d682 | ||
![]() |
2e11498943 | ||
![]() |
c7433dfc5e | ||
![]() |
8604ba0f1c | ||
![]() |
539e57225b | ||
![]() |
2a267ff15a | ||
![]() |
d636594c97 | ||
![]() |
311b48224f | ||
![]() |
74f0673dad | ||
![]() |
3ede21c356 | ||
![]() |
afbc0406f0 | ||
![]() |
3cf7228f46 | ||
![]() |
3517aca39a | ||
![]() |
ffd389befc | ||
![]() |
bc4551b5b0 | ||
![]() |
4569752903 | ||
![]() |
8498c785a6 | ||
![]() |
c0854473e9 | ||
![]() |
c583119b20 | ||
![]() |
720d1688f1 | ||
![]() |
315a8ea368 | ||
![]() |
b49858a408 | ||
![]() |
2a18d306b8 | ||
![]() |
f07ca0748f | ||
![]() |
fc50f103a6 | ||
![]() |
1eaf180cda | ||
![]() |
e527a4fe5e | ||
![]() |
73cf03c2bf | ||
![]() |
a0f730e3d7 | ||
![]() |
f33b6740fc | ||
![]() |
d26d50092d | ||
![]() |
df13af8c6d | ||
![]() |
b4b1a39937 | ||
![]() |
3003b841d5 | ||
![]() |
9b28107016 | ||
![]() |
f431aaff9d | ||
![]() |
8c0e50f596 | ||
![]() |
fec9e8a4f2 | ||
![]() |
823b731896 | ||
![]() |
c2b5864927 | ||
![]() |
46e1696316 | ||
![]() |
0ebe16e169 | ||
![]() |
9b3b2d0c87 | ||
![]() |
7567752710 | ||
![]() |
8e61b72678 | ||
![]() |
709daab1fe | ||
![]() |
dd901f498b | ||
![]() |
eb5818a5a2 | ||
![]() |
6610577a3e | ||
![]() |
5ac04cb012 | ||
![]() |
50660c093d | ||
![]() |
8197805208 | ||
![]() |
a45a289c0c | ||
![]() |
3c47ae9fe4 | ||
![]() |
a0177ca210 | ||
![]() |
413144a8b2 | ||
![]() |
5d5d90c100 | ||
![]() |
c752b6aa68 | ||
![]() |
74b41c1a43 | ||
![]() |
ca8e3d5df4 | ||
![]() |
a326314a61 | ||
![]() |
134369d990 | ||
![]() |
4e8e99c157 | ||
![]() |
19687067b7 | ||
![]() |
93bf4ceb32 | ||
![]() |
3bc945fdce | ||
![]() |
935d0a3944 | ||
![]() |
b540ac89a3 | ||
![]() |
81678272a2 | ||
![]() |
ce0184e73b | ||
![]() |
c5de8b2cb0 | ||
![]() |
1f78bc11ec | ||
![]() |
013b71b92f | ||
![]() |
d4d03cab1c | ||
![]() |
b8d2f7e660 | ||
![]() |
a8feeb4c3e | ||
![]() |
c0e7c8304b | ||
![]() |
3eb19ceaf9 | ||
![]() |
a5ac3b5dbc | ||
![]() |
960bc0eabd | ||
![]() |
56b205264c | ||
![]() |
fa7dc1c439 | ||
![]() |
51bb7631f4 | ||
![]() |
0dffe87551 | ||
![]() |
92285bed44 | ||
![]() |
1784afe5f7 | ||
![]() |
06853b89b0 | ||
![]() |
3c9ceb32a5 | ||
![]() |
0934803ae1 | ||
![]() |
328b0d8afc | ||
![]() |
994b0dfea2 | ||
![]() |
a386934288 | ||
![]() |
05c79891d1 | ||
![]() |
0bef29a5f6 | ||
![]() |
c8c8ad47c3 | ||
![]() |
7ddaa80e46 | ||
![]() |
3ffac19f25 | ||
![]() |
a2d09f0a03 | ||
![]() |
6e1d10ec6b | ||
![]() |
1a570c342d | ||
![]() |
f688b2b152 | ||
![]() |
3229566573 | ||
![]() |
85c8b657c0 | ||
![]() |
e20645f0d1 | ||
![]() |
a4cbd3f81b | ||
![]() |
3919348602 | ||
![]() |
69c58b584f | ||
![]() |
87d1f95551 | ||
![]() |
7ef7ba13f0 | ||
![]() |
5e220bbfbc | ||
![]() |
a92c3b6995 | ||
![]() |
332c226f5e | ||
![]() |
4335a62219 | ||
![]() |
9acea17d2f | ||
![]() |
5b6061c7e6 | ||
![]() |
11f666a793 | ||
![]() |
371b9286b1 | ||
![]() |
d452a548b8 | ||
![]() |
84d74052c1 | ||
![]() |
0fb2b803b8 | ||
![]() |
302d1b735f | ||
![]() |
3e56b0c35d | ||
![]() |
0e9fe888b7 | ||
![]() |
424abf1edc | ||
![]() |
82ff580faa | ||
![]() |
add5a50581 | ||
![]() |
e0a8a327ea | ||
![]() |
979088de60 | ||
![]() |
f8b3c65d7d | ||
![]() |
9c008b07ee | ||
![]() |
2786103abd | ||
![]() |
7562d0219a | ||
![]() |
89ad34cef4 | ||
![]() |
1a59ab50dc | ||
![]() |
a326c6814c | ||
![]() |
7eb117a26e | ||
![]() |
0edd743c83 | ||
![]() |
98b66e3c5a | ||
![]() |
3dc40a8f34 | ||
![]() |
5bc9523cbf | ||
![]() |
6b7e7d769d | ||
![]() |
8c258405f2 | ||
![]() |
544e26c147 | ||
![]() |
f788702147 | ||
![]() |
3f1e2c4003 | ||
![]() |
c54b7faf7c | ||
![]() |
69414cb4d6 | ||
![]() |
01393e0145 | ||
![]() |
aeb5bda600 | ||
![]() |
573faa9025 | ||
![]() |
74300ac718 | ||
![]() |
c040d26c79 | ||
![]() |
8209077b8a | ||
![]() |
1af660c8cb | ||
![]() |
8f5405a939 | ||
![]() |
44fbf9c174 | ||
![]() |
3873bcb714 | ||
![]() |
42f1194a8d | ||
![]() |
ed7e9bc9f0 | ||
![]() |
4a0b59121e | ||
![]() |
422aebf3ac | ||
![]() |
f0c3fa84fc | ||
![]() |
1e4a3818ed | ||
![]() |
a576a0f5d5 | ||
![]() |
63a1db0907 | ||
![]() |
74f1bc582b | ||
![]() |
0e4c368952 | ||
![]() |
771fa9879a | ||
![]() |
677af55f70 | ||
![]() |
5dee394004 | ||
![]() |
24f060f7cb | ||
![]() |
a5eabe8d0c | ||
![]() |
5f548ac9a1 | ||
![]() |
dec1225c07 | ||
![]() |
fff931b512 | ||
![]() |
09530ad834 | ||
![]() |
490630b7cc | ||
![]() |
6b3244ead3 | ||
![]() |
314ee2281c | ||
![]() |
3d3555d373 | ||
![]() |
242d67fa8d | ||
![]() |
e9dd5fffa6 | ||
![]() |
9e907ea219 | ||
![]() |
761561a28d | ||
![]() |
1948fb5786 | ||
![]() |
e33049d288 | ||
![]() |
9c0e409ff2 | ||
![]() |
f19a1b6abc | ||
![]() |
bbbd1c6f5e | ||
![]() |
838e29f482 | ||
![]() |
a274063ab2 | ||
![]() |
a30a641c3e | ||
![]() |
ca2061acef | ||
![]() |
5ad3639dd5 | ||
![]() |
15c712dc8f | ||
![]() |
5be9b6e584 | ||
![]() |
1f4211e25a | ||
![]() |
f4e357f65d | ||
![]() |
286aa8a67c | ||
![]() |
a72c35b9fa | ||
![]() |
f7c184d36a | ||
![]() |
d0c3781456 | ||
![]() |
050be06e52 | ||
![]() |
97d489c247 | ||
![]() |
1576cde592 | ||
![]() |
33b7a4bae0 | ||
![]() |
d6871c3f15 | ||
![]() |
eb7d02b51d | ||
![]() |
1062f0a46b | ||
![]() |
c2649a36c6 | ||
![]() |
efc1932c0d | ||
![]() |
d5c2f2ec78 | ||
![]() |
8366bb8975 | ||
![]() |
ba7647531b | ||
![]() |
8c01e7e1ce | ||
![]() |
87adfd464a | ||
![]() |
a3e5fcf490 | ||
![]() |
5bec8b99bb | ||
![]() |
1086297f13 | ||
![]() |
2acc1e9a3d | ||
![]() |
5543a090c0 | ||
![]() |
436625f83c | ||
![]() |
b6a54f7244 | ||
![]() |
b0c6a9d7f9 | ||
![]() |
56568fd73f | ||
![]() |
e7bcedb4f4 | ||
![]() |
1135ef6622 | ||
![]() |
fc7b0a04a1 | ||
![]() |
a5d700e9e8 | ||
![]() |
c629d37a00 | ||
![]() |
45bed001ee | ||
![]() |
524974deec | ||
![]() |
c35d47f83c | ||
![]() |
86d298cd46 | ||
![]() |
1c98609ada | ||
![]() |
6fdfc90bb2 | ||
![]() |
ae61b7973c | ||
![]() |
3c73975513 | ||
![]() |
bfd47a70ed | ||
![]() |
7fc716006f | ||
![]() |
369cf2a8b7 | ||
![]() |
b55a9bcacb | ||
![]() |
f55002c9a2 | ||
![]() |
6582160a12 | ||
![]() |
bb0e828928 | ||
![]() |
0eb6cb8e5f | ||
![]() |
28f14bd68f | ||
![]() |
2ee15de4a9 | ||
![]() |
fd9386589f | ||
![]() |
d0d18847c5 | ||
![]() |
32b45f6e6d | ||
![]() |
2ddbd09031 | ||
![]() |
2ece55abc7 | ||
![]() |
1ef380586d | ||
![]() |
0713b8931d | ||
![]() |
e0c26e44c0 | ||
![]() |
ae645a2ce4 | ||
![]() |
602f87545e | ||
![]() |
05ae593583 | ||
![]() |
33b5c59e5d | ||
![]() |
9a5283eb0a | ||
![]() |
5c93e64c68 | ||
![]() |
c1bcccb16a | ||
![]() |
ea7b39b960 | ||
![]() |
c1b66cc082 | ||
![]() |
0be627430d | ||
![]() |
dba6d6f1b5 | ||
![]() |
cca4013dcf | ||
![]() |
8f891403bc | ||
![]() |
d2269f65f6 | ||
![]() |
a592e199e7 | ||
![]() |
b55fe077b6 | ||
![]() |
2e913bfea6 | ||
![]() |
316292d518 | ||
![]() |
4f20541339 | ||
![]() |
d38558ffd7 | ||
![]() |
1a2d99df50 | ||
![]() |
a9250d170d | ||
![]() |
7708215b60 | ||
![]() |
735354efd3 | ||
![]() |
93d13ad2ac | ||
![]() |
7f43373a12 | ||
![]() |
b2e53523bf | ||
![]() |
5ab3f69910 | ||
![]() |
de137a2567 | ||
![]() |
04b673686a | ||
![]() |
95c6ec97c4 | ||
![]() |
5ab1e9361d | ||
![]() |
8d39282af5 | ||
![]() |
aa61b08d11 | ||
![]() |
f7a64c5eae | ||
![]() |
adb7d17eff | ||
![]() |
0e8bbe5e3e | ||
![]() |
4cd14b7c0e | ||
![]() |
0c5c1538dc | ||
![]() |
30ace6fa95 | ||
![]() |
556d154bed | ||
![]() |
22021d6622 | ||
![]() |
a7763cbeca | ||
![]() |
67a3ee39b5 | ||
![]() |
b1fd2f18e1 | ||
![]() |
e857b082fb | ||
![]() |
75ee552f49 | ||
![]() |
0edf27fa0c | ||
![]() |
0571a211bd | ||
![]() |
8f2add7527 | ||
![]() |
4d3c64acee | ||
![]() |
a81585b5e2 | ||
![]() |
998e76fecc | ||
![]() |
ee505261c1 | ||
![]() |
a32d8b7650 | ||
![]() |
fa32ec8991 | ||
![]() |
6ef29ff431 | ||
![]() |
0d28bb13c7 | ||
![]() |
5ae48a0380 | ||
![]() |
3f562e118f | ||
![]() |
399333226b | ||
![]() |
8576747373 | ||
![]() |
7cb031cc03 | ||
![]() |
631302e68e | ||
![]() |
c69ff41fc2 | ||
![]() |
76d67b7eae | ||
![]() |
2689cc4974 | ||
![]() |
402d75a801 | ||
![]() |
37d820a13e | ||
![]() |
5b89f331c5 | ||
![]() |
5f5758bc22 | ||
![]() |
f8909e875b | ||
![]() |
afe2fbdc3f | ||
![]() |
84e5741204 | ||
![]() |
872aba660c | ||
![]() |
4be4857a19 | ||
![]() |
3621235cd0 | ||
![]() |
4824f12efb | ||
![]() |
4cc62876ae | ||
![]() |
3a92374011 | ||
![]() |
5dc52afd1e | ||
![]() |
81c539e739 | ||
![]() |
94c0082e38 | ||
![]() |
9dcc1f44f5 | ||
![]() |
67be9ed2cb | ||
![]() |
f89c4b52b6 | ||
![]() |
3675b33a2a | ||
![]() |
3f7a3bcc04 | ||
![]() |
c0ba5cffcd | ||
![]() |
056125db82 | ||
![]() |
bff588e665 | ||
![]() |
5dde9ae45e | ||
![]() |
f51c0141c5 | ||
![]() |
933c4a6cb1 | ||
![]() |
4bcedab513 | ||
![]() |
04011cdae2 | ||
![]() |
985971a563 | ||
![]() |
3bc95ecd7c | ||
![]() |
65bffef4b1 | ||
![]() |
59ffb9e5f0 | ||
![]() |
2d07198863 | ||
![]() |
e7f1c6dd08 | ||
![]() |
d439f989bf | ||
![]() |
074554965d | ||
![]() |
331009a321 | ||
![]() |
7e1a6a1bb2 | ||
![]() |
23809ddef6 | ||
![]() |
bcd879653f | ||
![]() |
affd2736c3 | ||
![]() |
0b793ea58a | ||
![]() |
e9b92256a2 | ||
![]() |
18a8891f0d | ||
![]() |
3c028685df | ||
![]() |
3d82781a75 | ||
![]() |
127ce7175a | ||
![]() |
79433827e8 | ||
![]() |
fddffbe82b | ||
![]() |
6a622aa0d0 | ||
![]() |
a0a6d737fc | ||
![]() |
752afa7b79 | ||
![]() |
35d0577e80 | ||
![]() |
d05801901a | ||
![]() |
6ee691550f | ||
![]() |
519a899fa1 | ||
![]() |
e346b93325 | ||
![]() |
6f4337c555 | ||
![]() |
cb59a5a9a2 | ||
![]() |
55f8339a0a | ||
![]() |
7e24024f51 | ||
![]() |
a0a361d2b5 | ||
![]() |
5ae85e67f6 | ||
![]() |
2e0a2f61f4 | ||
![]() |
d7ad55f49e | ||
![]() |
09448e980b | ||
![]() |
2452afbf3c | ||
![]() |
e04d66bdd8 | ||
![]() |
c18812a36a | ||
![]() |
bd435f76ab | ||
![]() |
2524693cfd | ||
![]() |
fb4f321d82 | ||
![]() |
c7bcdb9c0c | ||
![]() |
dfba62e143 | ||
![]() |
53ed550a5e | ||
![]() |
e0743b2fb0 | ||
![]() |
26be3be5c7 | ||
![]() |
dfc864b1d3 | ||
![]() |
02aa12a29e | ||
![]() |
1b9cab7f12 | ||
![]() |
f73ec57241 | ||
![]() |
928d3421b4 | ||
![]() |
e5cf3b85f3 | ||
![]() |
601a62e5b3 | ||
![]() |
b7e34100ed | ||
![]() |
b2d72ef751 | ||
![]() |
cf0ff19cac | ||
![]() |
c11547ebfa | ||
![]() |
852c25123c |
22
.gitattributes
vendored
Normal file
22
.gitattributes
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Explicitly declare text files you want to always be normalized and converted
|
||||
# to native line endings on checkout.
|
||||
*.cpp text
|
||||
*.h text
|
||||
*.txt text
|
||||
*.md text
|
||||
*.cmake text
|
||||
*.svg text
|
||||
*.dot text
|
||||
*.yml text
|
||||
*.in text
|
||||
*.sh text
|
||||
*.autopkg text
|
||||
Dockerfile text
|
||||
|
||||
# Denote all files that are truly binary and should not be modified.
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.json binary
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -2,6 +2,8 @@
|
||||
!/bin/data
|
||||
!/bin/encodings
|
||||
!/bin/jsonchecker
|
||||
!/bin/types
|
||||
!/bin/unittestschema
|
||||
/build
|
||||
/doc/html
|
||||
/doc/doxygen_*.db
|
||||
@ -19,4 +21,9 @@ Testing
|
||||
/googletest
|
||||
install_manifest.txt
|
||||
Doxyfile
|
||||
Doxyfile.zh-cn
|
||||
DartConfiguration.tcl
|
||||
*.nupkg
|
||||
|
||||
# Files created by OS
|
||||
*.DS_Store
|
||||
|
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,3 +1,3 @@
|
||||
[submodule "thirdparty/gtest"]
|
||||
path = thirdparty/gtest
|
||||
url = https://chromium.googlesource.com/external/googletest.git
|
||||
url = https://github.com/google/googletest.git
|
||||
|
183
.travis.yml
183
.travis.yml
@ -1,44 +1,167 @@
|
||||
sudo: required
|
||||
dist: xenial
|
||||
|
||||
language: cpp
|
||||
cache:
|
||||
- ccache
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- cmake
|
||||
- valgrind
|
||||
- clang-8
|
||||
env:
|
||||
matrix:
|
||||
- CONF=debug ARCH=x86_64
|
||||
- CONF=release ARCH=x86_64
|
||||
- CONF=debug ARCH=x86
|
||||
- CONF=release ARCH=x86
|
||||
global:
|
||||
- USE_CCACHE=1
|
||||
- CCACHE_SLOPPINESS=pch_defines,time_macros
|
||||
- CCACHE_COMPRESS=1
|
||||
- CCACHE_MAXSIZE=100M
|
||||
- ARCH_FLAGS_x86='-m32' # #266: don't use SSE on 32-bit
|
||||
- ARCH_FLAGS_x86_64='-msse4.2' # use SSE4.2 on 64-bit
|
||||
- GITHUB_REPO='miloyip/rapidjson'
|
||||
- ARCH_FLAGS_aarch64='-march=armv8-a'
|
||||
- GITHUB_REPO='Tencent/rapidjson'
|
||||
- secure: "HrsaCb+N66EG1HR+LWH1u51SjaJyRwJEDzqJGYMB7LJ/bfqb9mWKF1fLvZGk46W5t7TVaXRDD5KHFx9DPWvKn4gRUVkwTHEy262ah5ORh8M6n/6VVVajeV/AYt2C0sswdkDBDO4Xq+xy5gdw3G8s1A4Inbm73pUh+6vx+7ltBbk="
|
||||
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq cmake doxygen valgrind
|
||||
- if [ "$ARCH" = "x86" ]; then sudo apt-get install -qq g++-multilib libc6-dbg:i386; fi
|
||||
matrix:
|
||||
include:
|
||||
# gcc
|
||||
- env: CONF=release ARCH=x86 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=OFF
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
- env: CONF=release ARCH=x86_64 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=OFF
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
- env: CONF=release ARCH=x86_64 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=ON
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86 CXX11=OFF CXX17=OFF CXX20=OFF MEMBERSMAP=OFF
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86_64 CXX11=OFF CXX17=OFF CXX20=OFF MEMBERSMAP=OFF
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86 CXX11=OFF CXX17=ON CXX20=OFF MEMBERSMAP=ON CXX_FLAGS='-D_GLIBCXX_DEBUG'
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86_64 CXX11=OFF CXX17=ON CXX20=OFF MEMBERSMAP=ON CXX_FLAGS='-D_GLIBCXX_DEBUG'
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
- env: CONF=release ARCH=aarch64 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=OFF
|
||||
compiler: gcc
|
||||
arch: arm64
|
||||
- env: CONF=release ARCH=aarch64 CXX11=OFF CXX17=OFF CXX20=OFF MEMBERSMAP=OFF
|
||||
compiler: gcc
|
||||
arch: arm64
|
||||
- env: CONF=release ARCH=aarch64 CXX11=OFF CXX17=ON CXX20=OFF MEMBERSMAP=ON
|
||||
compiler: gcc
|
||||
arch: arm64
|
||||
# clang
|
||||
- env: CONF=release ARCH=x86 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=ON CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: amd64
|
||||
- env: CONF=release ARCH=x86_64 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=ON CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: amd64
|
||||
- env: CONF=release ARCH=x86_64 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=OFF CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86 CXX11=OFF CXX17=OFF CXX20=OFF MEMBERSMAP=ON CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86_64 CXX11=OFF CXX17=OFF CXX20=OFF MEMBERSMAP=ON CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86 CXX11=OFF CXX17=ON CXX20=OFF MEMBERSMAP=OFF CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=x86_64 CXX11=OFF CXX17=ON CXX20=OFF MEMBERSMAP=OFF CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: amd64
|
||||
- env: CONF=debug ARCH=aarch64 CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=ON CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: arm64
|
||||
- env: CONF=debug ARCH=aarch64 CXX11=OFF CXX17=OFF CXX20=OFF MEMBERSMAP=ON CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: arm64
|
||||
- env: CONF=debug ARCH=aarch64 CXX11=OFF CXX17=ON CXX20=OFF MEMBERSMAP=OFF CCACHE_CPP2=yes
|
||||
compiler: clang
|
||||
arch: arm64
|
||||
# coverage report
|
||||
- env: CONF=debug ARCH=x86 GCOV_FLAGS='--coverage' CXX_FLAGS='-O0' CXX11=OFF CXX17=OFF CXX20=OFF
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
cache:
|
||||
- ccache
|
||||
- pip
|
||||
after_success:
|
||||
- pip install --user cpp-coveralls
|
||||
- coveralls -r .. --gcov-options '\-lp' -e thirdparty -e example -e test -e build/CMakeFiles -e include/rapidjson/msinttypes -e include/rapidjson/internal/meta.h -e include/rapidjson/error/en.h
|
||||
- env: CONF=debug ARCH=x86_64 GCOV_FLAGS='--coverage' CXX_FLAGS='-O0' CXX11=ON CXX17=OFF CXX20=OFF MEMBERSMAP=ON
|
||||
compiler: gcc
|
||||
arch: amd64
|
||||
cache:
|
||||
- ccache
|
||||
- pip
|
||||
after_success:
|
||||
- pip install --user cpp-coveralls
|
||||
- coveralls -r .. --gcov-options '\-lp' -e thirdparty -e example -e test -e build/CMakeFiles -e include/rapidjson/msinttypes -e include/rapidjson/internal/meta.h -e include/rapidjson/error/en.h
|
||||
- env: CONF=debug ARCH=aarch64 GCOV_FLAGS='--coverage' CXX_FLAGS='-O0' CXX11=OFF CXX17=ON CXX20=OFF
|
||||
compiler: gcc
|
||||
arch: arm64
|
||||
cache:
|
||||
- ccache
|
||||
- pip
|
||||
after_success:
|
||||
- pip install --user cpp-coveralls
|
||||
- coveralls -r .. --gcov-options '\-lp' -e thirdparty -e example -e test -e build/CMakeFiles -e include/rapidjson/msinttypes -e include/rapidjson/internal/meta.h -e include/rapidjson/error/en.h
|
||||
- script: # Documentation task
|
||||
- cd build
|
||||
- cmake .. -DRAPIDJSON_HAS_STDSTRING=ON -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
- make travis_doc
|
||||
cache: false
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- doxygen
|
||||
|
||||
install: true
|
||||
before_install:
|
||||
- if [ "x86_64" = "$(arch)" ]; then sudo apt-get install -y g++-multilib libc6-dbg:i386 --allow-unauthenticated; fi
|
||||
|
||||
before_script:
|
||||
# hack to avoid Valgrind bug (https://bugs.kde.org/show_bug.cgi?id=326469),
|
||||
# exposed by merging PR#163 (using -march=native)
|
||||
- sed -i "s/-march=native//" CMakeLists.txt
|
||||
- mkdir build
|
||||
- >
|
||||
eval "ARCH_FLAGS=\${ARCH_FLAGS_${ARCH}}" ;
|
||||
(cd build && cmake
|
||||
-DRAPIDJSON_HAS_STDSTRING=ON
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_BUILD_TYPE=$CONF
|
||||
-DCMAKE_CXX_FLAGS="$ARCH_FLAGS" ..)
|
||||
# travis provides clang-7 for amd64 and clang-3.8 for arm64
|
||||
# here use clang-8 to all architectures as clang-7 is not available for arm64
|
||||
- if [ -f /usr/bin/clang++-8 ]; then
|
||||
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-8 1000;
|
||||
sudo update-alternatives --config clang++;
|
||||
export PATH=/usr/bin:$PATH;
|
||||
fi
|
||||
- if [ "$CXX" = "clang++" ]; then export CCACHE_CPP2=yes; fi
|
||||
- ccache -s
|
||||
# hack to avoid Valgrind bug (https://bugs.kde.org/show_bug.cgi?id=326469),
|
||||
# exposed by merging PR#163 (using -march=native)
|
||||
# TODO: Since this bug is already fixed. Remove this when valgrind can be upgraded.
|
||||
- sed -i "s/-march=native//" CMakeLists.txt
|
||||
- mkdir build
|
||||
|
||||
script:
|
||||
- if [ "$CXX" = "clang++" ]; then export CXXFLAGS="-stdlib=libc++ ${CXXFLAGS}"; fi
|
||||
- >
|
||||
eval "ARCH_FLAGS=\${ARCH_FLAGS_${ARCH}}" ;
|
||||
(cd build && cmake
|
||||
-DRAPIDJSON_HAS_STDSTRING=ON
|
||||
-DRAPIDJSON_USE_MEMBERSMAP=$MEMBERSMAP
|
||||
-DRAPIDJSON_BUILD_CXX11=$CXX11
|
||||
-DRAPIDJSON_BUILD_CXX17=$CXX17
|
||||
-DRAPIDJSON_BUILD_CXX20=$CXX20
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_BUILD_TYPE=$CONF
|
||||
-DCMAKE_CXX_FLAGS="$ARCH_FLAGS $GCOV_FLAGS $CXX_FLAGS"
|
||||
-DCMAKE_EXE_LINKER_FLAGS=$GCOV_FLAGS
|
||||
..)
|
||||
- cd build
|
||||
- make tests
|
||||
- make examples
|
||||
- ctest -V `[ "$CONF" = "release" ] || echo "-E perftest"`
|
||||
- make travis_doc
|
||||
- make tests -j 2
|
||||
- make examples -j 2
|
||||
- ctest -j 2 -V `[ "$CONF" = "release" ] || echo "-E perftest"`
|
||||
|
158
CHANGELOG.md
Normal file
158
CHANGELOG.md
Normal file
@ -0,0 +1,158 @@
|
||||
# Change Log
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## 1.1.0 - 2016-08-25
|
||||
|
||||
### Added
|
||||
* Add GenericDocument ctor overload to specify JSON type (#369)
|
||||
* Add FAQ (#372, #373, #374, #376)
|
||||
* Add forward declaration header `fwd.h`
|
||||
* Add @PlatformIO Library Registry manifest file (#400)
|
||||
* Implement assignment operator for BigInteger (#404)
|
||||
* Add comments support (#443)
|
||||
* Adding coapp definition (#460)
|
||||
* documenttest.cpp: EXPECT_THROW when checking empty allocator (470)
|
||||
* GenericDocument: add implicit conversion to ParseResult (#480)
|
||||
* Use <wchar.h> with C++ linkage on Windows ARM (#485)
|
||||
* Detect little endian for Microsoft ARM targets
|
||||
* Check Nan/Inf when writing a double (#510)
|
||||
* Add JSON Schema Implementation (#522)
|
||||
* Add iostream wrapper (#530)
|
||||
* Add Jsonx example for converting JSON into JSONx (a XML format) (#531)
|
||||
* Add optional unresolvedTokenIndex parameter to Pointer::Get() (#532)
|
||||
* Add encoding validation option for Writer/PrettyWriter (#534)
|
||||
* Add Writer::SetMaxDecimalPlaces() (#536)
|
||||
* Support {0, } and {0, m} in Regex (#539)
|
||||
* Add Value::Get/SetFloat(), Value::IsLossLessFloat/Double() (#540)
|
||||
* Add stream position check to reader unit tests (#541)
|
||||
* Add Templated accessors and range-based for (#542)
|
||||
* Add (Pretty)Writer::RawValue() (#543)
|
||||
* Add Document::Parse(std::string), Document::Parse(const char*, size_t length) and related APIs. (#553)
|
||||
* Add move constructor for GenericSchemaDocument (#554)
|
||||
* Add VS2010 and VS2015 to AppVeyor CI (#555)
|
||||
* Add parse-by-parts example (#556, #562)
|
||||
* Support parse number as string (#564, #589)
|
||||
* Add kFormatSingleLineArray for PrettyWriter (#577)
|
||||
* Added optional support for trailing commas (#584)
|
||||
* Added filterkey and filterkeydom examples (#615)
|
||||
* Added npm docs (#639)
|
||||
* Allow options for writing and parsing NaN/Infinity (#641)
|
||||
* Add std::string overload to PrettyWriter::Key() when RAPIDJSON_HAS_STDSTRING is defined (#698)
|
||||
|
||||
### Fixed
|
||||
* Fix gcc/clang/vc warnings (#350, #394, #397, #444, #447, #473, #515, #582, #589, #595, #667)
|
||||
* Fix documentation (#482, #511, #550, #557, #614, #635, #660)
|
||||
* Fix emscripten alignment issue (#535)
|
||||
* Fix missing allocator to uses of AddMember in document (#365)
|
||||
* CMake will no longer complain that the minimum CMake version is not specified (#501)
|
||||
* Make it usable with old VC8 (VS2005) (#383)
|
||||
* Prohibit C++11 move from Document to Value (#391)
|
||||
* Try to fix incorrect 64-bit alignment (#419)
|
||||
* Check return of fwrite to avoid warn_unused_result build failures (#421)
|
||||
* Fix UB in GenericDocument::ParseStream (#426)
|
||||
* Keep Document value unchanged on parse error (#439)
|
||||
* Add missing return statement (#450)
|
||||
* Fix Document::Parse(const Ch*) for transcoding (#478)
|
||||
* encodings.h: fix typo in preprocessor condition (#495)
|
||||
* Custom Microsoft headers are necessary only for Visual Studio 2012 and lower (#559)
|
||||
* Fix memory leak for invalid regex (26e69ffde95ba4773ab06db6457b78f308716f4b)
|
||||
* Fix a bug in schema minimum/maximum keywords for 64-bit integer (e7149d665941068ccf8c565e77495521331cf390)
|
||||
* Fix a crash bug in regex (#605)
|
||||
* Fix schema "required" keyword cannot handle duplicated keys (#609)
|
||||
* Fix cmake CMP0054 warning (#612)
|
||||
* Added missing include guards in istreamwrapper.h and ostreamwrapper.h (#634)
|
||||
* Fix undefined behaviour (#646)
|
||||
* Fix buffer overrun using PutN (#673)
|
||||
* Fix rapidjson::value::Get<std::string>() may returns wrong data (#681)
|
||||
* Add Flush() for all value types (#689)
|
||||
* Handle malloc() fail in PoolAllocator (#691)
|
||||
* Fix builds on x32 platform. #703
|
||||
|
||||
### Changed
|
||||
* Clarify problematic JSON license (#392)
|
||||
* Move Travis to container based infrastructure (#504, #558)
|
||||
* Make whitespace array more compact (#513)
|
||||
* Optimize Writer::WriteString() with SIMD (#544)
|
||||
* x86-64 48-bit pointer optimization for GenericValue (#546)
|
||||
* Define RAPIDJSON_HAS_CXX11_RVALUE_REFS directly in clang (#617)
|
||||
* Make GenericSchemaDocument constructor explicit (#674)
|
||||
* Optimize FindMember when use std::string (#690)
|
||||
|
||||
## [1.0.2] - 2015-05-14
|
||||
|
||||
### Added
|
||||
* Add Value::XXXMember(...) overloads for std::string (#335)
|
||||
|
||||
### Fixed
|
||||
* Include rapidjson.h for all internal/error headers.
|
||||
* Parsing some numbers incorrectly in full-precision mode (`kFullPrecisionParseFlag`) (#342)
|
||||
* Fix some numbers parsed incorrectly (#336)
|
||||
* Fix alignment of 64bit platforms (#328)
|
||||
* Fix MemoryPoolAllocator::Clear() to clear user-buffer (0691502573f1afd3341073dd24b12c3db20fbde4)
|
||||
|
||||
### Changed
|
||||
* CMakeLists for include as a thirdparty in projects (#334, #337)
|
||||
* Change Document::ParseStream() to use stack allocator for Reader (ffbe38614732af8e0b3abdc8b50071f386a4a685)
|
||||
|
||||
## [1.0.1] - 2015-04-25
|
||||
|
||||
### Added
|
||||
* Changelog following [Keep a CHANGELOG](https://github.com/olivierlacan/keep-a-changelog) suggestions.
|
||||
|
||||
### Fixed
|
||||
* Parsing of some numbers (e.g. "1e-00011111111111") causing assertion (#314).
|
||||
* Visual C++ 32-bit compilation error in `diyfp.h` (#317).
|
||||
|
||||
## [1.0.0] - 2015-04-22
|
||||
|
||||
### Added
|
||||
* 100% [Coverall](https://coveralls.io/r/Tencent/rapidjson?branch=master) coverage.
|
||||
* Version macros (#311)
|
||||
|
||||
### Fixed
|
||||
* A bug in trimming long number sequence (4824f12efbf01af72b8cb6fc96fae7b097b73015).
|
||||
* Double quote in unicode escape (#288).
|
||||
* Negative zero roundtrip (double only) (#289).
|
||||
* Standardize behavior of `memcpy()` and `malloc()` (0c5c1538dcfc7f160e5a4aa208ddf092c787be5a, #305, 0e8bbe5e3ef375e7f052f556878be0bd79e9062d).
|
||||
|
||||
### Removed
|
||||
* Remove an invalid `Document::ParseInsitu()` API (e7f1c6dd08b522cfcf9aed58a333bd9a0c0ccbeb).
|
||||
|
||||
## 1.0-beta - 2015-04-8
|
||||
|
||||
### Added
|
||||
* RFC 7159 (#101)
|
||||
* Optional Iterative Parser (#76)
|
||||
* Deep-copy values (#20)
|
||||
* Error code and message (#27)
|
||||
* ASCII Encoding (#70)
|
||||
* `kParseStopWhenDoneFlag` (#83)
|
||||
* `kParseFullPrecisionFlag` (881c91d696f06b7f302af6d04ec14dd08db66ceb)
|
||||
* Add `Key()` to handler concept (#134)
|
||||
* C++11 compatibility and support (#128)
|
||||
* Optimized number-to-string and vice versa conversions (#137, #80)
|
||||
* Short-String Optimization (#131)
|
||||
* Local stream optimization by traits (#32)
|
||||
* Travis & Appveyor Continuous Integration, with Valgrind verification (#24, #242)
|
||||
* Redo all documentation (English, Simplified Chinese)
|
||||
|
||||
### Changed
|
||||
* Copyright ownership transferred to THL A29 Limited (a Tencent company).
|
||||
* Migrating from Premake to CMAKE (#192)
|
||||
* Resolve all warning reports
|
||||
|
||||
### Removed
|
||||
* Remove other JSON libraries for performance comparison (#180)
|
||||
|
||||
## 0.11 - 2012-11-16
|
||||
|
||||
## 0.1 - 2011-11-18
|
||||
|
||||
[Unreleased]: https://github.com/Tencent/rapidjson/compare/v1.1.0...HEAD
|
||||
[1.1.0]: https://github.com/Tencent/rapidjson/compare/v1.0.2...v1.1.0
|
||||
[1.0.2]: https://github.com/Tencent/rapidjson/compare/v1.0.1...v1.0.2
|
||||
[1.0.1]: https://github.com/Tencent/rapidjson/compare/v1.0.0...v1.0.1
|
||||
[1.0.0]: https://github.com/Tencent/rapidjson/compare/v1.0-beta...v1.0.0
|
195
CMakeLists.txt
195
CMakeLists.txt
@ -1,15 +1,18 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules)
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
|
||||
|
||||
PROJECT(RapidJSON CXX)
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
|
||||
|
||||
set(LIB_MAJOR_VERSION "0")
|
||||
set(LIB_MINOR_VERSION "12")
|
||||
set(LIB_MAJOR_VERSION "1")
|
||||
set(LIB_MINOR_VERSION "1")
|
||||
set(LIB_PATCH_VERSION "0")
|
||||
set(LIB_VERSION_STRING "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}.${LIB_PATCH_VERSION}")
|
||||
|
||||
PROJECT(RapidJSON VERSION "${LIB_VERSION_STRING}" LANGUAGES CXX)
|
||||
|
||||
# compile in release with debug info mode by default
|
||||
SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Build Type")
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
endif()
|
||||
|
||||
# Build all binaries in a separate directory
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
@ -17,18 +20,127 @@ SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
option(RAPIDJSON_BUILD_DOC "Build rapidjson documentation." ON)
|
||||
option(RAPIDJSON_BUILD_EXAMPLES "Build rapidjson examples." ON)
|
||||
option(RAPIDJSON_BUILD_TESTS "Build rapidjson perftests and unittests." ON)
|
||||
option(RAPIDJSON_BUILD_THIRDPARTY_GTEST
|
||||
"Use gtest installation in `thirdparty/gtest` by default if available" OFF)
|
||||
|
||||
option(RAPIDJSON_BUILD_CXX11 "Build rapidjson with C++11" ON)
|
||||
option(RAPIDJSON_BUILD_CXX17 "Build rapidjson with C++17" OFF)
|
||||
option(RAPIDJSON_BUILD_CXX20 "Build rapidjson with C++20" OFF)
|
||||
if(RAPIDJSON_BUILD_CXX11)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
||||
endif()
|
||||
|
||||
option(RAPIDJSON_BUILD_ASAN "Build rapidjson with address sanitizer (gcc/clang)" OFF)
|
||||
option(RAPIDJSON_BUILD_UBSAN "Build rapidjson with undefined behavior sanitizer (gcc/clang)" OFF)
|
||||
|
||||
option(RAPIDJSON_ENABLE_INSTRUMENTATION_OPT "Build rapidjson with -march or -mcpu options" ON)
|
||||
|
||||
option(RAPIDJSON_HAS_STDSTRING "" OFF)
|
||||
if(RAPIDJSON_HAS_STDSTRING)
|
||||
add_definitions(-DRAPIDJSON_HAS_STDSTRING)
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra")
|
||||
option(RAPIDJSON_USE_MEMBERSMAP "" OFF)
|
||||
if(RAPIDJSON_USE_MEMBERSMAP)
|
||||
add_definitions(-DRAPIDJSON_USE_MEMBERSMAP=1)
|
||||
endif()
|
||||
|
||||
find_program(CCACHE_FOUND ccache)
|
||||
if(CCACHE_FOUND)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
|
||||
endif()
|
||||
endif(CCACHE_FOUND)
|
||||
|
||||
find_program(VALGRIND_FOUND valgrind)
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
if(RAPIDJSON_ENABLE_INSTRUMENTATION_OPT AND NOT CMAKE_CROSSCOMPILING)
|
||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
|
||||
else()
|
||||
#FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
||||
endif()
|
||||
endif()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
|
||||
set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wsign-conversion)
|
||||
if (RAPIDJSON_BUILD_CXX11 AND CMAKE_VERSION VERSION_LESS 3.1)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7.0")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
endif()
|
||||
elseif (RAPIDJSON_BUILD_CXX17 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||
elseif (RAPIDJSON_BUILD_CXX20 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.0")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
|
||||
endif()
|
||||
if (RAPIDJSON_BUILD_ASAN)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8.0")
|
||||
message(FATAL_ERROR "GCC < 4.8 doesn't support the address sanitizer")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
|
||||
endif()
|
||||
endif()
|
||||
if (RAPIDJSON_BUILD_UBSAN)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9.0")
|
||||
message(FATAL_ERROR "GCC < 4.9 doesn't support the undefined behavior sanitizer")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined")
|
||||
endif()
|
||||
endif()
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra")
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
|
||||
else()
|
||||
#FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
||||
endif()
|
||||
endif()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-missing-field-initializers")
|
||||
set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wimplicit-fallthrough)
|
||||
if (RAPIDJSON_BUILD_CXX11 AND CMAKE_VERSION VERSION_LESS 3.1)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
elseif (RAPIDJSON_BUILD_CXX17 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.0")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||
elseif (RAPIDJSON_BUILD_CXX20 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
|
||||
endif()
|
||||
if (RAPIDJSON_BUILD_ASAN)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
|
||||
endif()
|
||||
if (RAPIDJSON_BUILD_UBSAN)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined-trap -fsanitize-undefined-trap-on-error")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined")
|
||||
endif()
|
||||
endif()
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS=1)
|
||||
add_definitions(-DNOMINMAX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
|
||||
# CMake >= 3.10 should handle the above CMAKE_CXX_STANDARD fine, otherwise use /std:c++XX with MSVC >= 19.10
|
||||
if (RAPIDJSON_BUILD_CXX11 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.10")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++11")
|
||||
elseif (RAPIDJSON_BUILD_CXX17 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.14")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
|
||||
elseif (RAPIDJSON_BUILD_CXX20 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.29")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++20")
|
||||
endif()
|
||||
# Always compile with /WX
|
||||
if(CMAKE_CXX_FLAGS MATCHES "/WX-")
|
||||
string(REGEX REPLACE "/WX-" "/WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
|
||||
endif()
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "XL")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qarch=auto")
|
||||
endif()
|
||||
|
||||
#add extra search paths for libraries and includes
|
||||
@ -41,9 +153,9 @@ IF(UNIX OR CYGWIN)
|
||||
ELSEIF(WIN32)
|
||||
SET(_CMAKE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/cmake")
|
||||
ENDIF()
|
||||
SET(CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" CACHE PATH "The directory cmake fiels are installed in")
|
||||
SET(CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" CACHE PATH "The directory cmake files are installed in")
|
||||
|
||||
include_directories(${CMAKE_SOURCE_DIR}/include)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
||||
if(RAPIDJSON_BUILD_DOC)
|
||||
add_subdirectory(doc)
|
||||
@ -80,6 +192,11 @@ install(FILES readme.md
|
||||
DESTINATION "${DOC_INSTALL_DIR}"
|
||||
COMPONENT doc)
|
||||
|
||||
# Add an interface target to export it
|
||||
add_library(RapidJSON INTERFACE)
|
||||
|
||||
target_include_directories(RapidJSON INTERFACE $<INSTALL_INTERFACE:include>)
|
||||
|
||||
install(DIRECTORY include/rapidjson
|
||||
DESTINATION "${INCLUDE_INSTALL_DIR}"
|
||||
COMPONENT dev)
|
||||
@ -96,17 +213,45 @@ install(DIRECTORY example/
|
||||
# Provide config and version files to be used by other applications
|
||||
# ===============================
|
||||
|
||||
export(PACKAGE ${PROJECT_NAME})
|
||||
################################################################################
|
||||
# Export package for use from the build tree
|
||||
EXPORT( PACKAGE ${PROJECT_NAME} )
|
||||
|
||||
# cmake-modules
|
||||
CONFIGURE_FILE(${PROJECT_NAME}Config.cmake.in
|
||||
${PROJECT_NAME}Config.cmake
|
||||
@ONLY)
|
||||
CONFIGURE_FILE(${PROJECT_NAME}ConfigVersion.cmake.in
|
||||
${PROJECT_NAME}ConfigVersion.cmake
|
||||
@ONLY)
|
||||
INSTALL(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||
DESTINATION "${CMAKE_INSTALL_DIR}"
|
||||
COMPONENT dev)
|
||||
# Create the RapidJSONConfig.cmake file for other cmake projects.
|
||||
# ... for the build tree
|
||||
SET( CONFIG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
SET( CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_SOURCE_DIR}/include" )
|
||||
|
||||
INCLUDE(CMakePackageConfigHelpers)
|
||||
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @ONLY )
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake @ONLY)
|
||||
|
||||
# ... for the install tree
|
||||
SET( CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} )
|
||||
FILE( RELATIVE_PATH REL_INCLUDE_DIR
|
||||
"${CMAKECONFIG_INSTALL_DIR}"
|
||||
"${CMAKE_INSTALL_PREFIX}/include" )
|
||||
|
||||
SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
|
||||
SET( CONFIG_SOURCE_DIR )
|
||||
SET( CONFIG_DIR )
|
||||
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake @ONLY )
|
||||
|
||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake"
|
||||
DESTINATION ${CMAKECONFIG_INSTALL_DIR} )
|
||||
|
||||
# Install files
|
||||
IF(CMAKE_INSTALL_DIR)
|
||||
INSTALL(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||
DESTINATION "${CMAKE_INSTALL_DIR}"
|
||||
COMPONENT dev)
|
||||
|
||||
INSTALL(TARGETS RapidJSON EXPORT RapidJSON-targets)
|
||||
INSTALL(EXPORT RapidJSON-targets DESTINATION ${CMAKE_INSTALL_DIR})
|
||||
ENDIF()
|
||||
|
@ -1,22 +1,30 @@
|
||||
|
||||
SET(GTEST_SEARCH_PATH
|
||||
"${GTEST_SOURCE_DIR}"
|
||||
"${CMAKE_SOURCE_DIR}/thirdparty/gtest")
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../thirdparty/gtest/googletest")
|
||||
|
||||
IF(UNIX)
|
||||
LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest")
|
||||
IF(RAPIDJSON_BUILD_THIRDPARTY_GTEST)
|
||||
LIST(APPEND GTEST_SEARCH_PATH "/usr/src/gtest")
|
||||
ELSE()
|
||||
LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(GTEST_SOURCE_DIR
|
||||
NAMES CMakeLists.txt src/gtest_main.cc
|
||||
PATHS ${GTEST_SEARCH_PATH})
|
||||
|
||||
|
||||
# Debian installs gtest include directory in /usr/include, thus need to look
|
||||
# for include directory separately from source directory.
|
||||
FIND_PATH(GTEST_INCLUDE_DIR
|
||||
NAMES gtest/gtest.h
|
||||
PATH_SUFFIXES include
|
||||
HINTS ${GTEST_SOURCE_DIR}
|
||||
PATHS ${GTEST_SEARCH_PATH})
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GTestSrc DEFAULT_MSG
|
||||
GTEST_SOURCE_DIR
|
||||
GTEST_INCLUDE_DIR)
|
||||
|
@ -3,5 +3,5 @@ includedir=@INCLUDE_INSTALL_DIR@
|
||||
Name: @PROJECT_NAME@
|
||||
Description: A fast JSON parser/generator for C++ with both SAX/DOM style API
|
||||
Version: @LIB_VERSION_STRING@
|
||||
URL: https://github.com/miloyip/rapidjson
|
||||
URL: https://github.com/Tencent/rapidjson
|
||||
Cflags: -I${includedir}
|
||||
|
@ -1,3 +1,23 @@
|
||||
get_filename_component(RAPIDJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
set(RAPIDJSON_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@")
|
||||
message(STATUS "RapidJSON found. Headers: ${RAPIDJSON_INCLUDE_DIRS}")
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include ("${CMAKE_CURRENT_LIST_DIR}/RapidJSON-targets.cmake")
|
||||
|
||||
################################################################################
|
||||
# RapidJSON source dir
|
||||
set( RapidJSON_SOURCE_DIR "@CONFIG_SOURCE_DIR@")
|
||||
|
||||
################################################################################
|
||||
# RapidJSON build dir
|
||||
set( RapidJSON_DIR "@CONFIG_DIR@")
|
||||
|
||||
################################################################################
|
||||
# Compute paths
|
||||
get_filename_component(RapidJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
|
||||
get_target_property(RapidJSON_INCLUDE_DIR RapidJSON INTERFACE_INCLUDE_DIRECTORIES)
|
||||
|
||||
set( RapidJSON_INCLUDE_DIRS ${RapidJSON_INCLUDE_DIR} )
|
||||
|
||||
if(NOT TARGET rapidjson)
|
||||
add_library(rapidjson ALIAS RapidJSON)
|
||||
endif()
|
||||
|
99
appveyor.yml
99
appveyor.yml
@ -1,4 +1,4 @@
|
||||
version: 0.12.{build}
|
||||
version: 1.1.0.{build}
|
||||
|
||||
configuration:
|
||||
- Debug
|
||||
@ -6,18 +6,105 @@ configuration:
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
- VS_VERSION: 11
|
||||
# - VS_VERSION: 9 2008
|
||||
# VS_PLATFORM: win32
|
||||
# - VS_VERSION: 9 2008
|
||||
# VS_PLATFORM: x64
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
VS_VERSION: 10 2010
|
||||
VS_PLATFORM: win32
|
||||
- VS_VERSION: 11
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
VS_VERSION: 10 2010
|
||||
VS_PLATFORM: x64
|
||||
- VS_VERSION: 12
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
VS_VERSION: 11 2012
|
||||
VS_PLATFORM: win32
|
||||
- VS_VERSION: 12
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
VS_VERSION: 11 2012
|
||||
VS_PLATFORM: x64
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
VS_VERSION: 12 2013
|
||||
VS_PLATFORM: win32
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
VS_VERSION: 12 2013
|
||||
VS_PLATFORM: x64
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
VS_VERSION: 14 2015
|
||||
VS_PLATFORM: win32
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
VS_VERSION: 14 2015
|
||||
VS_PLATFORM: x64
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
VS_VERSION: 15 2017
|
||||
VS_PLATFORM: win32
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
VS_VERSION: 15 2017
|
||||
VS_PLATFORM: x64
|
||||
CXX11: OFF
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
VS_VERSION: 15 2017
|
||||
VS_PLATFORM: x64
|
||||
CXX11: ON
|
||||
CXX17: OFF
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
VS_VERSION: 15 2017
|
||||
VS_PLATFORM: x64
|
||||
CXX11: OFF
|
||||
CXX17: ON
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||
VS_VERSION: 16 2019
|
||||
VS_PLATFORM: x64
|
||||
CXX11: OFF
|
||||
CXX17: ON
|
||||
CXX20: OFF
|
||||
MEMBERSMAP: ON
|
||||
|
||||
before_build:
|
||||
- git submodule update --init --recursive
|
||||
- cmake -H. -BBuild/VS -G "Visual Studio %VS_VERSION%" -DCMAKE_GENERATOR_PLATFORM=%VS_PLATFORM% -DBUILD_SHARED_LIBS=true -Wno-dev
|
||||
- cmake -H. -BBuild/VS -G "Visual Studio %VS_VERSION%" -DCMAKE_GENERATOR_PLATFORM=%VS_PLATFORM% -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=true -DRAPIDJSON_BUILD_CXX11=%CXX11% -DRAPIDJSON_BUILD_CXX17=%CXX17% -DRAPIDJSON_BUILD_CXX20=%CXX20% -DRAPIDJSON_USE_MEMBERSMAP=%MEMBERSMAP% -Wno-dev
|
||||
|
||||
build:
|
||||
project: Build\VS\RapidJSON.sln
|
||||
|
1
bin/data/abcde.txt
Normal file
1
bin/data/abcde.txt
Normal file
@ -0,0 +1 @@
|
||||
abcde
|
150
bin/draft-04/schema
Normal file
150
bin/draft-04/schema
Normal file
@ -0,0 +1,150 @@
|
||||
{
|
||||
"id": "http://json-schema.org/draft-04/schema#",
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"description": "Core schema meta-schema",
|
||||
"definitions": {
|
||||
"schemaArray": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": { "$ref": "#" }
|
||||
},
|
||||
"positiveInteger": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"positiveIntegerDefault0": {
|
||||
"allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ]
|
||||
},
|
||||
"simpleTypes": {
|
||||
"enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ]
|
||||
},
|
||||
"stringArray": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"minItems": 1,
|
||||
"uniqueItems": true
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"format": "uri"
|
||||
},
|
||||
"$schema": {
|
||||
"type": "string",
|
||||
"format": "uri"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"default": {},
|
||||
"multipleOf": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"exclusiveMinimum": true
|
||||
},
|
||||
"maximum": {
|
||||
"type": "number"
|
||||
},
|
||||
"exclusiveMaximum": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"minimum": {
|
||||
"type": "number"
|
||||
},
|
||||
"exclusiveMinimum": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"maxLength": { "$ref": "#/definitions/positiveInteger" },
|
||||
"minLength": { "$ref": "#/definitions/positiveIntegerDefault0" },
|
||||
"pattern": {
|
||||
"type": "string",
|
||||
"format": "regex"
|
||||
},
|
||||
"additionalItems": {
|
||||
"anyOf": [
|
||||
{ "type": "boolean" },
|
||||
{ "$ref": "#" }
|
||||
],
|
||||
"default": {}
|
||||
},
|
||||
"items": {
|
||||
"anyOf": [
|
||||
{ "$ref": "#" },
|
||||
{ "$ref": "#/definitions/schemaArray" }
|
||||
],
|
||||
"default": {}
|
||||
},
|
||||
"maxItems": { "$ref": "#/definitions/positiveInteger" },
|
||||
"minItems": { "$ref": "#/definitions/positiveIntegerDefault0" },
|
||||
"uniqueItems": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"maxProperties": { "$ref": "#/definitions/positiveInteger" },
|
||||
"minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" },
|
||||
"required": { "$ref": "#/definitions/stringArray" },
|
||||
"additionalProperties": {
|
||||
"anyOf": [
|
||||
{ "type": "boolean" },
|
||||
{ "$ref": "#" }
|
||||
],
|
||||
"default": {}
|
||||
},
|
||||
"definitions": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "$ref": "#" },
|
||||
"default": {}
|
||||
},
|
||||
"properties": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "$ref": "#" },
|
||||
"default": {}
|
||||
},
|
||||
"patternProperties": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "$ref": "#" },
|
||||
"default": {}
|
||||
},
|
||||
"dependencies": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"anyOf": [
|
||||
{ "$ref": "#" },
|
||||
{ "$ref": "#/definitions/stringArray" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"enum": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"uniqueItems": true
|
||||
},
|
||||
"type": {
|
||||
"anyOf": [
|
||||
{ "$ref": "#/definitions/simpleTypes" },
|
||||
{
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/simpleTypes" },
|
||||
"minItems": 1,
|
||||
"uniqueItems": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"allOf": { "$ref": "#/definitions/schemaArray" },
|
||||
"anyOf": { "$ref": "#/definitions/schemaArray" },
|
||||
"oneOf": { "$ref": "#/definitions/schemaArray" },
|
||||
"not": { "$ref": "#" }
|
||||
},
|
||||
"dependencies": {
|
||||
"exclusiveMaximum": [ "maximum" ],
|
||||
"exclusiveMinimum": [ "minimum" ]
|
||||
},
|
||||
"default": {}
|
||||
}
|
1
bin/jsonschema/.gitignore
vendored
Normal file
1
bin/jsonschema/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
TODO
|
4
bin/jsonschema/.travis.yml
Normal file
4
bin/jsonschema/.travis.yml
Normal file
@ -0,0 +1,4 @@
|
||||
language: python
|
||||
python: "2.7"
|
||||
install: pip install jsonschema
|
||||
script: bin/jsonschema_suite check
|
19
bin/jsonschema/LICENSE
Normal file
19
bin/jsonschema/LICENSE
Normal file
@ -0,0 +1,19 @@
|
||||
Copyright (c) 2012 Julian Berman
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
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 Software.
|
||||
|
||||
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 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
148
bin/jsonschema/README.md
Normal file
148
bin/jsonschema/README.md
Normal file
@ -0,0 +1,148 @@
|
||||
JSON Schema Test Suite [](https://travis-ci.org/json-schema/JSON-Schema-Test-Suite)
|
||||
======================
|
||||
|
||||
This repository contains a set of JSON objects that implementors of JSON Schema
|
||||
validation libraries can use to test their validators.
|
||||
|
||||
It is meant to be language agnostic and should require only a JSON parser.
|
||||
|
||||
The conversion of the JSON objects into tests within your test framework of
|
||||
choice is still the job of the validator implementor.
|
||||
|
||||
Structure of a Test
|
||||
-------------------
|
||||
|
||||
If you're going to use this suite, you need to know how tests are laid out. The
|
||||
tests are contained in the `tests` directory at the root of this repository.
|
||||
|
||||
Inside that directory is a subdirectory for each draft or version of the
|
||||
schema. We'll use `draft3` as an example.
|
||||
|
||||
If you look inside the draft directory, there are a number of `.json` files,
|
||||
which logically group a set of test cases together. Often the grouping is by
|
||||
property under test, but not always, especially within optional test files
|
||||
(discussed below).
|
||||
|
||||
Inside each `.json` file is a single array containing objects. It's easiest to
|
||||
illustrate the structure of these with an example:
|
||||
|
||||
```json
|
||||
{
|
||||
"description": "the description of the test case",
|
||||
"schema": {"the schema that should" : "be validated against"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a specific test of a valid instance",
|
||||
"data": "the instance",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "another specific test this time, invalid",
|
||||
"data": 15,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
So a description, a schema, and some tests, where tests is an array containing
|
||||
one or more objects with descriptions, data, and a boolean indicating whether
|
||||
they should be valid or invalid.
|
||||
|
||||
Coverage
|
||||
--------
|
||||
|
||||
Draft 3 and 4 should have full coverage. If you see anything missing or think
|
||||
there is a useful test missing, please send a pull request or open an issue.
|
||||
|
||||
Who Uses the Test Suite
|
||||
-----------------------
|
||||
|
||||
This suite is being used by:
|
||||
|
||||
### Coffeescript ###
|
||||
|
||||
* [jsck](https://github.com/pandastrike/jsck)
|
||||
|
||||
### Dart ###
|
||||
|
||||
* [json_schema](https://github.com/patefacio/json_schema)
|
||||
|
||||
### Erlang ###
|
||||
|
||||
* [jesse](https://github.com/klarna/jesse)
|
||||
|
||||
### Go ###
|
||||
|
||||
* [gojsonschema](https://github.com/sigu-399/gojsonschema)
|
||||
* [validate-json](https://github.com/cesanta/validate-json)
|
||||
|
||||
### Haskell ###
|
||||
|
||||
* [aeson-schema](https://github.com/timjb/aeson-schema)
|
||||
* [hjsonschema](https://github.com/seagreen/hjsonschema)
|
||||
|
||||
### Java ###
|
||||
|
||||
* [json-schema-validator](https://github.com/fge/json-schema-validator)
|
||||
|
||||
### JavaScript ###
|
||||
|
||||
* [json-schema-benchmark](https://github.com/Muscula/json-schema-benchmark)
|
||||
* [direct-schema](https://github.com/IreneKnapp/direct-schema)
|
||||
* [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid)
|
||||
* [jassi](https://github.com/iclanzan/jassi)
|
||||
* [JaySchema](https://github.com/natesilva/jayschema)
|
||||
* [json-schema-valid](https://github.com/ericgj/json-schema-valid)
|
||||
* [Jsonary](https://github.com/jsonary-js/jsonary)
|
||||
* [jsonschema](https://github.com/tdegrunt/jsonschema)
|
||||
* [request-validator](https://github.com/bugventure/request-validator)
|
||||
* [skeemas](https://github.com/Prestaul/skeemas)
|
||||
* [tv4](https://github.com/geraintluff/tv4)
|
||||
* [z-schema](https://github.com/zaggino/z-schema)
|
||||
* [jsen](https://github.com/bugventure/jsen)
|
||||
* [ajv](https://github.com/epoberezkin/ajv)
|
||||
|
||||
### Node.js ###
|
||||
|
||||
The JSON Schema Test Suite is also available as an
|
||||
[npm](https://www.npmjs.com/package/json-schema-test-suite) package.
|
||||
Node-specific support is maintained on the [node branch](https://github.com/json-schema/JSON-Schema-Test-Suite/tree/node).
|
||||
See [NODE-README.md](https://github.com/json-schema/JSON-Schema-Test-Suite/blob/node/NODE-README.md)
|
||||
for more information.
|
||||
|
||||
### .NET ###
|
||||
|
||||
* [Newtonsoft.Json.Schema](https://github.com/JamesNK/Newtonsoft.Json.Schema)
|
||||
|
||||
### PHP ###
|
||||
|
||||
* [json-schema](https://github.com/justinrainbow/json-schema)
|
||||
|
||||
### Python ###
|
||||
|
||||
* [jsonschema](https://github.com/Julian/jsonschema)
|
||||
|
||||
### Ruby ###
|
||||
|
||||
* [json-schema](https://github.com/hoxworth/json-schema)
|
||||
|
||||
### Rust ###
|
||||
|
||||
* [valico](https://github.com/rustless/valico)
|
||||
|
||||
### Swift ###
|
||||
|
||||
* [JSONSchema](https://github.com/kylef/JSONSchema.swift)
|
||||
|
||||
If you use it as well, please fork and send a pull request adding yourself to
|
||||
the list :).
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
If you see something missing or incorrect, a pull request is most welcome!
|
||||
|
||||
There are some sanity checks in place for testing the test suite. You can run
|
||||
them with `bin/jsonschema_suite check` or `tox`. They will be run automatically by
|
||||
[Travis CI](https://travis-ci.org/) as well.
|
283
bin/jsonschema/bin/jsonschema_suite
Executable file
283
bin/jsonschema/bin/jsonschema_suite
Executable file
@ -0,0 +1,283 @@
|
||||
#! /usr/bin/env python
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import textwrap
|
||||
|
||||
try:
|
||||
import argparse
|
||||
except ImportError:
|
||||
print(textwrap.dedent("""
|
||||
The argparse library could not be imported. jsonschema_suite requires
|
||||
either Python 2.7 or for you to install argparse. You can do so by
|
||||
running `pip install argparse`, `easy_install argparse` or by
|
||||
downloading argparse and running `python2.6 setup.py install`.
|
||||
|
||||
See https://pypi.python.org/pypi/argparse for details.
|
||||
""".strip("\n")))
|
||||
sys.exit(1)
|
||||
|
||||
import errno
|
||||
import fnmatch
|
||||
import json
|
||||
import os
|
||||
import random
|
||||
import shutil
|
||||
import unittest
|
||||
import warnings
|
||||
|
||||
if getattr(unittest, "skipIf", None) is None:
|
||||
unittest.skipIf = lambda cond, msg : lambda fn : fn
|
||||
|
||||
try:
|
||||
import jsonschema
|
||||
except ImportError:
|
||||
jsonschema = None
|
||||
else:
|
||||
validators = getattr(
|
||||
jsonschema.validators, "validators", jsonschema.validators
|
||||
)
|
||||
|
||||
|
||||
ROOT_DIR = os.path.join(
|
||||
os.path.dirname(__file__), os.pardir).rstrip("__pycache__")
|
||||
SUITE_ROOT_DIR = os.path.join(ROOT_DIR, "tests")
|
||||
|
||||
REMOTES = {
|
||||
"integer.json": {"type": "integer"},
|
||||
"subSchemas.json": {
|
||||
"integer": {"type": "integer"},
|
||||
"refToInteger": {"$ref": "#/integer"},
|
||||
},
|
||||
"folder/folderInteger.json": {"type": "integer"}
|
||||
}
|
||||
REMOTES_DIR = os.path.join(ROOT_DIR, "remotes")
|
||||
|
||||
TESTSUITE_SCHEMA = {
|
||||
"$schema": "http://json-schema.org/draft-03/schema#",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"description": {"type": "string", "required": True},
|
||||
"schema": {"required": True},
|
||||
"tests": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"description": {"type": "string", "required": True},
|
||||
"data": {"required": True},
|
||||
"valid": {"type": "boolean", "required": True}
|
||||
},
|
||||
"additionalProperties": False
|
||||
},
|
||||
"minItems": 1
|
||||
}
|
||||
},
|
||||
"additionalProperties": False,
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def files(paths):
|
||||
for path in paths:
|
||||
with open(path) as test_file:
|
||||
yield json.load(test_file)
|
||||
|
||||
|
||||
def groups(paths):
|
||||
for test_file in files(paths):
|
||||
for group in test_file:
|
||||
yield group
|
||||
|
||||
|
||||
def cases(paths):
|
||||
for test_group in groups(paths):
|
||||
for test in test_group["tests"]:
|
||||
test["schema"] = test_group["schema"]
|
||||
yield test
|
||||
|
||||
|
||||
def collect(root_dir):
|
||||
for root, dirs, files in os.walk(root_dir):
|
||||
for filename in fnmatch.filter(files, "*.json"):
|
||||
yield os.path.join(root, filename)
|
||||
|
||||
|
||||
class SanityTests(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
print("Looking for tests in %s" % SUITE_ROOT_DIR)
|
||||
cls.test_files = list(collect(SUITE_ROOT_DIR))
|
||||
print("Found %s test files" % len(cls.test_files))
|
||||
assert cls.test_files, "Didn't find the test files!"
|
||||
|
||||
def test_all_files_are_valid_json(self):
|
||||
for path in self.test_files:
|
||||
with open(path) as test_file:
|
||||
try:
|
||||
json.load(test_file)
|
||||
except ValueError as error:
|
||||
self.fail("%s contains invalid JSON (%s)" % (path, error))
|
||||
|
||||
def test_all_descriptions_have_reasonable_length(self):
|
||||
for case in cases(self.test_files):
|
||||
descript = case["description"]
|
||||
self.assertLess(
|
||||
len(descript),
|
||||
60,
|
||||
"%r is too long! (keep it to less than 60 chars)" % (descript,)
|
||||
)
|
||||
|
||||
def test_all_descriptions_are_unique(self):
|
||||
for group in groups(self.test_files):
|
||||
descriptions = set(test["description"] for test in group["tests"])
|
||||
self.assertEqual(
|
||||
len(descriptions),
|
||||
len(group["tests"]),
|
||||
"%r contains a duplicate description" % (group,)
|
||||
)
|
||||
|
||||
@unittest.skipIf(jsonschema is None, "Validation library not present!")
|
||||
def test_all_schemas_are_valid(self):
|
||||
for schema in os.listdir(SUITE_ROOT_DIR):
|
||||
schema_validator = validators.get(schema)
|
||||
if schema_validator is not None:
|
||||
test_files = collect(os.path.join(SUITE_ROOT_DIR, schema))
|
||||
for case in cases(test_files):
|
||||
try:
|
||||
schema_validator.check_schema(case["schema"])
|
||||
except jsonschema.SchemaError as error:
|
||||
self.fail("%s contains an invalid schema (%s)" %
|
||||
(case, error))
|
||||
else:
|
||||
warnings.warn("No schema validator for %s" % schema)
|
||||
|
||||
@unittest.skipIf(jsonschema is None, "Validation library not present!")
|
||||
def test_suites_are_valid(self):
|
||||
validator = jsonschema.Draft3Validator(TESTSUITE_SCHEMA)
|
||||
for tests in files(self.test_files):
|
||||
try:
|
||||
validator.validate(tests)
|
||||
except jsonschema.ValidationError as error:
|
||||
self.fail(str(error))
|
||||
|
||||
def test_remote_schemas_are_updated(self):
|
||||
for url, schema in REMOTES.items():
|
||||
filepath = os.path.join(REMOTES_DIR, url)
|
||||
with open(filepath) as schema_file:
|
||||
self.assertEqual(json.load(schema_file), schema)
|
||||
|
||||
|
||||
def main(arguments):
|
||||
if arguments.command == "check":
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(SanityTests)
|
||||
result = unittest.TextTestRunner(verbosity=2).run(suite)
|
||||
sys.exit(not result.wasSuccessful())
|
||||
elif arguments.command == "flatten":
|
||||
selected_cases = [case for case in cases(collect(arguments.version))]
|
||||
|
||||
if arguments.randomize:
|
||||
random.shuffle(selected_cases)
|
||||
|
||||
json.dump(selected_cases, sys.stdout, indent=4, sort_keys=True)
|
||||
elif arguments.command == "remotes":
|
||||
json.dump(REMOTES, sys.stdout, indent=4, sort_keys=True)
|
||||
elif arguments.command == "dump_remotes":
|
||||
if arguments.update:
|
||||
shutil.rmtree(arguments.out_dir, ignore_errors=True)
|
||||
|
||||
try:
|
||||
os.makedirs(arguments.out_dir)
|
||||
except OSError as e:
|
||||
if e.errno == errno.EEXIST:
|
||||
print("%s already exists. Aborting." % arguments.out_dir)
|
||||
sys.exit(1)
|
||||
raise
|
||||
|
||||
for url, schema in REMOTES.items():
|
||||
filepath = os.path.join(arguments.out_dir, url)
|
||||
|
||||
try:
|
||||
os.makedirs(os.path.dirname(filepath))
|
||||
except OSError as e:
|
||||
if e.errno != errno.EEXIST:
|
||||
raise
|
||||
|
||||
with open(filepath, "wb") as out_file:
|
||||
json.dump(schema, out_file, indent=4, sort_keys=True)
|
||||
elif arguments.command == "serve":
|
||||
try:
|
||||
from flask import Flask, jsonify
|
||||
except ImportError:
|
||||
print(textwrap.dedent("""
|
||||
The Flask library is required to serve the remote schemas.
|
||||
|
||||
You can install it by running `pip install Flask`.
|
||||
|
||||
Alternatively, see the `jsonschema_suite remotes` or
|
||||
`jsonschema_suite dump_remotes` commands to create static files
|
||||
that can be served with your own web server.
|
||||
""".strip("\n")))
|
||||
sys.exit(1)
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.route("/<path:path>")
|
||||
def serve_path(path):
|
||||
if path in REMOTES:
|
||||
return jsonify(REMOTES[path])
|
||||
return "Document does not exist.", 404
|
||||
|
||||
app.run(port=1234)
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description="JSON Schema Test Suite utilities",
|
||||
)
|
||||
subparsers = parser.add_subparsers(help="utility commands", dest="command")
|
||||
|
||||
check = subparsers.add_parser("check", help="Sanity check the test suite.")
|
||||
|
||||
flatten = subparsers.add_parser(
|
||||
"flatten",
|
||||
help="Output a flattened file containing a selected version's test cases."
|
||||
)
|
||||
flatten.add_argument(
|
||||
"--randomize",
|
||||
action="store_true",
|
||||
help="Randomize the order of the outputted cases.",
|
||||
)
|
||||
flatten.add_argument(
|
||||
"version", help="The directory containing the version to output",
|
||||
)
|
||||
|
||||
remotes = subparsers.add_parser(
|
||||
"remotes",
|
||||
help="Output the expected URLs and their associated schemas for remote "
|
||||
"ref tests as a JSON object."
|
||||
)
|
||||
|
||||
dump_remotes = subparsers.add_parser(
|
||||
"dump_remotes", help="Dump the remote ref schemas into a file tree",
|
||||
)
|
||||
dump_remotes.add_argument(
|
||||
"--update",
|
||||
action="store_true",
|
||||
help="Update the remotes in an existing directory.",
|
||||
)
|
||||
dump_remotes.add_argument(
|
||||
"--out-dir",
|
||||
default=REMOTES_DIR,
|
||||
type=os.path.abspath,
|
||||
help="The output directory to create as the root of the file tree",
|
||||
)
|
||||
|
||||
serve = subparsers.add_parser(
|
||||
"serve",
|
||||
help="Start a webserver to serve schemas used by remote ref tests."
|
||||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(parser.parse_args())
|
3
bin/jsonschema/remotes/folder/folderInteger.json
Normal file
3
bin/jsonschema/remotes/folder/folderInteger.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "integer"
|
||||
}
|
3
bin/jsonschema/remotes/integer.json
Normal file
3
bin/jsonschema/remotes/integer.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "integer"
|
||||
}
|
8
bin/jsonschema/remotes/subSchemas.json
Normal file
8
bin/jsonschema/remotes/subSchemas.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"integer": {
|
||||
"type": "integer"
|
||||
},
|
||||
"refToInteger": {
|
||||
"$ref": "#/integer"
|
||||
}
|
||||
}
|
82
bin/jsonschema/tests/draft3/additionalItems.json
Normal file
82
bin/jsonschema/tests/draft3/additionalItems.json
Normal file
@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"description": "additionalItems as schema",
|
||||
"schema": {
|
||||
"items": [],
|
||||
"additionalItems": {"type": "integer"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "additional items match schema",
|
||||
"data": [ 1, 2, 3, 4 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additional items do not match schema",
|
||||
"data": [ 1, 2, 3, "foo" ],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "items is schema, no additionalItems",
|
||||
"schema": {
|
||||
"items": {},
|
||||
"additionalItems": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "all items match schema",
|
||||
"data": [ 1, 2, 3, 4, 5 ],
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "array of items with no additionalItems",
|
||||
"schema": {
|
||||
"items": [{}, {}, {}],
|
||||
"additionalItems": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "no additional items present",
|
||||
"data": [ 1, 2, 3 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additional items are not permitted",
|
||||
"data": [ 1, 2, 3, 4 ],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "additionalItems as false without items",
|
||||
"schema": {"additionalItems": false},
|
||||
"tests": [
|
||||
{
|
||||
"description":
|
||||
"items defaults to empty schema so everything is valid",
|
||||
"data": [ 1, 2, 3, 4, 5 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": {"foo" : "bar"},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "additionalItems are allowed by default",
|
||||
"schema": {"items": []},
|
||||
"tests": [
|
||||
{
|
||||
"description": "only the first items are validated",
|
||||
"data": [1, "foo", false],
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
88
bin/jsonschema/tests/draft3/additionalProperties.json
Normal file
88
bin/jsonschema/tests/draft3/additionalProperties.json
Normal file
@ -0,0 +1,88 @@
|
||||
[
|
||||
{
|
||||
"description":
|
||||
"additionalProperties being false does not allow other properties",
|
||||
"schema": {
|
||||
"properties": {"foo": {}, "bar": {}},
|
||||
"patternProperties": { "^v": {} },
|
||||
"additionalProperties": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "no additional properties is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional property is invalid",
|
||||
"data": {"foo" : 1, "bar" : 2, "quux" : "boom"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": [1, 2, 3],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "patternProperties are not additional properties",
|
||||
"data": {"foo":1, "vroom": 2},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":
|
||||
"additionalProperties allows a schema which should validate",
|
||||
"schema": {
|
||||
"properties": {"foo": {}, "bar": {}},
|
||||
"additionalProperties": {"type": "boolean"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "no additional properties is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional valid property is valid",
|
||||
"data": {"foo" : 1, "bar" : 2, "quux" : true},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional invalid property is invalid",
|
||||
"data": {"foo" : 1, "bar" : 2, "quux" : 12},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":
|
||||
"additionalProperties can exist by itself",
|
||||
"schema": {
|
||||
"additionalProperties": {"type": "boolean"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an additional valid property is valid",
|
||||
"data": {"foo" : true},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional invalid property is invalid",
|
||||
"data": {"foo" : 1},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "additionalProperties are allowed by default",
|
||||
"schema": {"properties": {"foo": {}, "bar": {}}},
|
||||
"tests": [
|
||||
{
|
||||
"description": "additional properties are allowed",
|
||||
"data": {"foo": 1, "bar": 2, "quux": true},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
49
bin/jsonschema/tests/draft3/default.json
Normal file
49
bin/jsonschema/tests/draft3/default.json
Normal file
@ -0,0 +1,49 @@
|
||||
[
|
||||
{
|
||||
"description": "invalid type for default",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {
|
||||
"type": "integer",
|
||||
"default": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid when property is specified",
|
||||
"data": {"foo": 13},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "still valid when the invalid default is used",
|
||||
"data": {},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "invalid string value for default",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"bar": {
|
||||
"type": "string",
|
||||
"minLength": 4,
|
||||
"default": "bad"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid when property is specified",
|
||||
"data": {"bar": "good"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "still valid when the invalid default is used",
|
||||
"data": {},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
108
bin/jsonschema/tests/draft3/dependencies.json
Normal file
108
bin/jsonschema/tests/draft3/dependencies.json
Normal file
@ -0,0 +1,108 @@
|
||||
[
|
||||
{
|
||||
"description": "dependencies",
|
||||
"schema": {
|
||||
"dependencies": {"bar": "foo"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "neither",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "nondependant",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "with dependency",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing dependency",
|
||||
"data": {"bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple dependencies",
|
||||
"schema": {
|
||||
"dependencies": {"quux": ["foo", "bar"]}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "neither",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "nondependants",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "with dependencies",
|
||||
"data": {"foo": 1, "bar": 2, "quux": 3},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing dependency",
|
||||
"data": {"foo": 1, "quux": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "missing other dependency",
|
||||
"data": {"bar": 1, "quux": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "missing both dependencies",
|
||||
"data": {"quux": 1},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple dependencies subschema",
|
||||
"schema": {
|
||||
"dependencies": {
|
||||
"bar": {
|
||||
"properties": {
|
||||
"foo": {"type": "integer"},
|
||||
"bar": {"type": "integer"}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "wrong type",
|
||||
"data": {"foo": "quux", "bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "wrong type other",
|
||||
"data": {"foo": 2, "bar": "quux"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "wrong type both",
|
||||
"data": {"foo": "quux", "bar": "quux"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
80
bin/jsonschema/tests/draft3/disallow.json
Normal file
80
bin/jsonschema/tests/draft3/disallow.json
Normal file
@ -0,0 +1,80 @@
|
||||
[
|
||||
{
|
||||
"description": "disallow",
|
||||
"schema": {
|
||||
"disallow": "integer"
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "allowed",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "disallowed",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple disallow",
|
||||
"schema": {
|
||||
"disallow": ["integer", "boolean"]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "other mismatch",
|
||||
"data": true,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple disallow subschema",
|
||||
"schema": {
|
||||
"disallow":
|
||||
["string",
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"foo": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "other match",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "other mismatch",
|
||||
"data": {"foo": "bar"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
60
bin/jsonschema/tests/draft3/divisibleBy.json
Normal file
60
bin/jsonschema/tests/draft3/divisibleBy.json
Normal file
@ -0,0 +1,60 @@
|
||||
[
|
||||
{
|
||||
"description": "by int",
|
||||
"schema": {"divisibleBy": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "int by int",
|
||||
"data": 10,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "int by int fail",
|
||||
"data": 7,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-numbers",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "by number",
|
||||
"schema": {"divisibleBy": 1.5},
|
||||
"tests": [
|
||||
{
|
||||
"description": "zero is divisible by anything (except 0)",
|
||||
"data": 0,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "4.5 is divisible by 1.5",
|
||||
"data": 4.5,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "35 is not divisible by 1.5",
|
||||
"data": 35,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "by small number",
|
||||
"schema": {"divisibleBy": 0.0001},
|
||||
"tests": [
|
||||
{
|
||||
"description": "0.0075 is divisible by 0.0001",
|
||||
"data": 0.0075,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "0.00751 is not divisible by 0.0001",
|
||||
"data": 0.00751,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
71
bin/jsonschema/tests/draft3/enum.json
Normal file
71
bin/jsonschema/tests/draft3/enum.json
Normal file
@ -0,0 +1,71 @@
|
||||
[
|
||||
{
|
||||
"description": "simple enum validation",
|
||||
"schema": {"enum": [1, 2, 3]},
|
||||
"tests": [
|
||||
{
|
||||
"description": "one of the enum is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "something else is invalid",
|
||||
"data": 4,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "heterogeneous enum validation",
|
||||
"schema": {"enum": [6, "foo", [], true, {"foo": 12}]},
|
||||
"tests": [
|
||||
{
|
||||
"description": "one of the enum is valid",
|
||||
"data": [],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "something else is invalid",
|
||||
"data": null,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "objects are deep compared",
|
||||
"data": {"foo": false},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "enums in properties",
|
||||
"schema": {
|
||||
"type":"object",
|
||||
"properties": {
|
||||
"foo": {"enum":["foo"]},
|
||||
"bar": {"enum":["bar"], "required":true}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "both properties are valid",
|
||||
"data": {"foo":"foo", "bar":"bar"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing optional property is valid",
|
||||
"data": {"bar":"bar"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing required property is invalid",
|
||||
"data": {"foo":"foo"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "missing all properties is invalid",
|
||||
"data": {},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
94
bin/jsonschema/tests/draft3/extends.json
Normal file
94
bin/jsonschema/tests/draft3/extends.json
Normal file
@ -0,0 +1,94 @@
|
||||
[
|
||||
{
|
||||
"description": "extends",
|
||||
"schema": {
|
||||
"properties": {"bar": {"type": "integer", "required": true}},
|
||||
"extends": {
|
||||
"properties": {
|
||||
"foo": {"type": "string", "required": true}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "extends",
|
||||
"data": {"foo": "baz", "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch extends",
|
||||
"data": {"foo": "baz"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "mismatch extended",
|
||||
"data": {"bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "wrong type",
|
||||
"data": {"foo": "baz", "bar": "quux"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple extends",
|
||||
"schema": {
|
||||
"properties": {"bar": {"type": "integer", "required": true}},
|
||||
"extends" : [
|
||||
{
|
||||
"properties": {
|
||||
"foo": {"type": "string", "required": true}
|
||||
}
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"baz": {"type": "null", "required": true}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": {"foo": "quux", "bar": 2, "baz": null},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch first extends",
|
||||
"data": {"bar": 2, "baz": null},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "mismatch second extends",
|
||||
"data": {"foo": "quux", "bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "mismatch both",
|
||||
"data": {"bar": 2},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "extends simple types",
|
||||
"schema": {
|
||||
"minimum": 20,
|
||||
"extends": {"maximum": 30}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": 25,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch extends",
|
||||
"data": 35,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
46
bin/jsonschema/tests/draft3/items.json
Normal file
46
bin/jsonschema/tests/draft3/items.json
Normal file
@ -0,0 +1,46 @@
|
||||
[
|
||||
{
|
||||
"description": "a schema given for items",
|
||||
"schema": {
|
||||
"items": {"type": "integer"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid items",
|
||||
"data": [ 1, 2, 3 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "wrong type of items",
|
||||
"data": [1, "x"],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": {"foo" : "bar"},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "an array of schemas for items",
|
||||
"schema": {
|
||||
"items": [
|
||||
{"type": "integer"},
|
||||
{"type": "string"}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "correct types",
|
||||
"data": [ 1, "foo" ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "wrong types",
|
||||
"data": [ "foo", 1 ],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
28
bin/jsonschema/tests/draft3/maxItems.json
Normal file
28
bin/jsonschema/tests/draft3/maxItems.json
Normal file
@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"description": "maxItems validation",
|
||||
"schema": {"maxItems": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "shorter is valid",
|
||||
"data": [1],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too long is invalid",
|
||||
"data": [1, 2, 3],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": "foobar",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
33
bin/jsonschema/tests/draft3/maxLength.json
Normal file
33
bin/jsonschema/tests/draft3/maxLength.json
Normal file
@ -0,0 +1,33 @@
|
||||
[
|
||||
{
|
||||
"description": "maxLength validation",
|
||||
"schema": {"maxLength": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "shorter is valid",
|
||||
"data": "f",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": "fo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too long is invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-strings",
|
||||
"data": 10,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "two supplementary Unicode code points is long enough",
|
||||
"data": "\uD83D\uDCA9\uD83D\uDCA9",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
42
bin/jsonschema/tests/draft3/maximum.json
Normal file
42
bin/jsonschema/tests/draft3/maximum.json
Normal file
@ -0,0 +1,42 @@
|
||||
[
|
||||
{
|
||||
"description": "maximum validation",
|
||||
"schema": {"maximum": 3.0},
|
||||
"tests": [
|
||||
{
|
||||
"description": "below the maximum is valid",
|
||||
"data": 2.6,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "above the maximum is invalid",
|
||||
"data": 3.5,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-numbers",
|
||||
"data": "x",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "exclusiveMaximum validation",
|
||||
"schema": {
|
||||
"maximum": 3.0,
|
||||
"exclusiveMaximum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "below the maximum is still valid",
|
||||
"data": 2.2,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "boundary point is invalid",
|
||||
"data": 3.0,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
28
bin/jsonschema/tests/draft3/minItems.json
Normal file
28
bin/jsonschema/tests/draft3/minItems.json
Normal file
@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"description": "minItems validation",
|
||||
"schema": {"minItems": 1},
|
||||
"tests": [
|
||||
{
|
||||
"description": "longer is valid",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": [1],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too short is invalid",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": "",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
33
bin/jsonschema/tests/draft3/minLength.json
Normal file
33
bin/jsonschema/tests/draft3/minLength.json
Normal file
@ -0,0 +1,33 @@
|
||||
[
|
||||
{
|
||||
"description": "minLength validation",
|
||||
"schema": {"minLength": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "longer is valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": "fo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too short is invalid",
|
||||
"data": "f",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-strings",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "one supplementary Unicode code point is not long enough",
|
||||
"data": "\uD83D\uDCA9",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
42
bin/jsonschema/tests/draft3/minimum.json
Normal file
42
bin/jsonschema/tests/draft3/minimum.json
Normal file
@ -0,0 +1,42 @@
|
||||
[
|
||||
{
|
||||
"description": "minimum validation",
|
||||
"schema": {"minimum": 1.1},
|
||||
"tests": [
|
||||
{
|
||||
"description": "above the minimum is valid",
|
||||
"data": 2.6,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "below the minimum is invalid",
|
||||
"data": 0.6,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-numbers",
|
||||
"data": "x",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "exclusiveMinimum validation",
|
||||
"schema": {
|
||||
"minimum": 1.1,
|
||||
"exclusiveMinimum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "above the minimum is still valid",
|
||||
"data": 1.2,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "boundary point is invalid",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
107
bin/jsonschema/tests/draft3/optional/bignum.json
Normal file
107
bin/jsonschema/tests/draft3/optional/bignum.json
Normal file
@ -0,0 +1,107 @@
|
||||
[
|
||||
{
|
||||
"description": "integer",
|
||||
"schema": {"type": "integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a bignum is an integer",
|
||||
"data": 12345678910111213141516171819202122232425262728293031,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "number",
|
||||
"schema": {"type": "number"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a bignum is a number",
|
||||
"data": 98249283749234923498293171823948729348710298301928331,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "integer",
|
||||
"schema": {"type": "integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a negative bignum is an integer",
|
||||
"data": -12345678910111213141516171819202122232425262728293031,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "number",
|
||||
"schema": {"type": "number"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a negative bignum is a number",
|
||||
"data": -98249283749234923498293171823948729348710298301928331,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "string",
|
||||
"schema": {"type": "string"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a bignum is not a string",
|
||||
"data": 98249283749234923498293171823948729348710298301928331,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "integer comparison",
|
||||
"schema": {"maximum": 18446744073709551615},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for high numbers",
|
||||
"data": 18446744073709551600,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "float comparison with high precision",
|
||||
"schema": {
|
||||
"maximum": 972783798187987123879878123.18878137,
|
||||
"exclusiveMaximum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for high numbers",
|
||||
"data": 972783798187987123879878123.188781371,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "integer comparison",
|
||||
"schema": {"minimum": -18446744073709551615},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for very negative numbers",
|
||||
"data": -18446744073709551600,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "float comparison with high precision on negative numbers",
|
||||
"schema": {
|
||||
"minimum": -972783798187987123879878123.18878137,
|
||||
"exclusiveMinimum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for very negative numbers",
|
||||
"data": -972783798187987123879878123.188781371,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
222
bin/jsonschema/tests/draft3/optional/format.json
Normal file
222
bin/jsonschema/tests/draft3/optional/format.json
Normal file
@ -0,0 +1,222 @@
|
||||
[
|
||||
{
|
||||
"description": "validation of regular expressions",
|
||||
"schema": {"format": "regex"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid regular expression",
|
||||
"data": "([abc])+\\s+$",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a regular expression with unclosed parens is invalid",
|
||||
"data": "^(abc]",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of date-time strings",
|
||||
"schema": {"format": "date-time"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid date-time string",
|
||||
"data": "1963-06-19T08:30:06.283185Z",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid date-time string",
|
||||
"data": "06/19/1963 08:30:06 PST",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "only RFC3339 not all of ISO 8601 are valid",
|
||||
"data": "2013-350T01:01:01",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of date strings",
|
||||
"schema": {"format": "date"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid date string",
|
||||
"data": "1963-06-19",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid date string",
|
||||
"data": "06/19/1963",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of time strings",
|
||||
"schema": {"format": "time"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid time string",
|
||||
"data": "08:30:06",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid time string",
|
||||
"data": "8:30 AM",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of URIs",
|
||||
"schema": {"format": "uri"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid URI",
|
||||
"data": "http://foo.bar/?baz=qux#quux",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a valid protocol-relative URI",
|
||||
"data": "//foo.bar/?baz=qux#quux",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid URI",
|
||||
"data": "\\\\WINDOWS\\fileshare",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an invalid URI though valid URI reference",
|
||||
"data": "abc",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of e-mail addresses",
|
||||
"schema": {"format": "email"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid e-mail address",
|
||||
"data": "joe.bloggs@example.com",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid e-mail address",
|
||||
"data": "2962",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of IP addresses",
|
||||
"schema": {"format": "ip-address"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid IP address",
|
||||
"data": "192.168.0.1",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an IP address with too many components",
|
||||
"data": "127.0.0.0.1",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IP address with out-of-range values",
|
||||
"data": "256.256.256.256",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of IPv6 addresses",
|
||||
"schema": {"format": "ipv6"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid IPv6 address",
|
||||
"data": "::1",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an IPv6 address with out-of-range values",
|
||||
"data": "12345::",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IPv6 address with too many components",
|
||||
"data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IPv6 address containing illegal characters",
|
||||
"data": "::laptop",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of host names",
|
||||
"schema": {"format": "host-name"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid host name",
|
||||
"data": "www.example.com",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a host name starting with an illegal character",
|
||||
"data": "-a-host-name-that-starts-with--",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a host name containing illegal characters",
|
||||
"data": "not_a_valid_host_name",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a host name with a component too long",
|
||||
"data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of CSS colors",
|
||||
"schema": {"format": "color"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid CSS color name",
|
||||
"data": "fuchsia",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a valid six-digit CSS color code",
|
||||
"data": "#CC8899",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a valid three-digit CSS color code",
|
||||
"data": "#C89",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid CSS color code",
|
||||
"data": "#00332520",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an invalid CSS color name",
|
||||
"data": "puce",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a CSS color name containing invalid characters",
|
||||
"data": "light_grayish_red-violet",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
18
bin/jsonschema/tests/draft3/optional/jsregex.json
Normal file
18
bin/jsonschema/tests/draft3/optional/jsregex.json
Normal file
@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"description": "ECMA 262 regex dialect recognition",
|
||||
"schema": { "format": "regex" },
|
||||
"tests": [
|
||||
{
|
||||
"description": "[^] is a valid regex",
|
||||
"data": "[^]",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "ECMA 262 has no support for lookbehind",
|
||||
"data": "(?<=foo)bar",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,15 @@
|
||||
[
|
||||
{
|
||||
"description": "some languages do not distinguish between different types of numeric value",
|
||||
"schema": {
|
||||
"type": "integer"
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a float is not an integer even without fractional part",
|
||||
"data": 1.0,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
34
bin/jsonschema/tests/draft3/pattern.json
Normal file
34
bin/jsonschema/tests/draft3/pattern.json
Normal file
@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"description": "pattern validation",
|
||||
"schema": {"pattern": "^a*$"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a matching pattern is valid",
|
||||
"data": "aaa",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a non-matching pattern is invalid",
|
||||
"data": "abc",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-strings",
|
||||
"data": true,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "pattern is not anchored",
|
||||
"schema": {"pattern": "a+"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "matches a substring",
|
||||
"data": "xxaayy",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
110
bin/jsonschema/tests/draft3/patternProperties.json
Normal file
110
bin/jsonschema/tests/draft3/patternProperties.json
Normal file
@ -0,0 +1,110 @@
|
||||
[
|
||||
{
|
||||
"description":
|
||||
"patternProperties validates properties matching a regex",
|
||||
"schema": {
|
||||
"patternProperties": {
|
||||
"f.*o": {"type": "integer"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a single valid match is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "multiple valid matches is valid",
|
||||
"data": {"foo": 1, "foooooo" : 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a single invalid match is invalid",
|
||||
"data": {"foo": "bar", "fooooo": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "multiple invalid matches is invalid",
|
||||
"data": {"foo": "bar", "foooooo" : "baz"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": 12,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple simultaneous patternProperties are validated",
|
||||
"schema": {
|
||||
"patternProperties": {
|
||||
"a*": {"type": "integer"},
|
||||
"aaa*": {"maximum": 20}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a single valid match is valid",
|
||||
"data": {"a": 21},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a simultaneous match is valid",
|
||||
"data": {"aaaa": 18},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "multiple matches is valid",
|
||||
"data": {"a": 21, "aaaa": 18},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid due to one is invalid",
|
||||
"data": {"a": "bar"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an invalid due to the other is invalid",
|
||||
"data": {"aaaa": 31},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an invalid due to both is invalid",
|
||||
"data": {"aaa": "foo", "aaaa": 31},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "regexes are not anchored by default and are case sensitive",
|
||||
"schema": {
|
||||
"patternProperties": {
|
||||
"[0-9]{2,}": { "type": "boolean" },
|
||||
"X_": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "non recognized members are ignored",
|
||||
"data": { "answer 1": "42" },
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "recognized members are accounted for",
|
||||
"data": { "a31b": null },
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "regexes are case sensitive",
|
||||
"data": { "a_x_3": 3 },
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "regexes are case sensitive, 2",
|
||||
"data": { "a_X_3": 3 },
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
92
bin/jsonschema/tests/draft3/properties.json
Normal file
92
bin/jsonschema/tests/draft3/properties.json
Normal file
@ -0,0 +1,92 @@
|
||||
[
|
||||
{
|
||||
"description": "object properties validation",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"type": "integer"},
|
||||
"bar": {"type": "string"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "both properties present and valid is valid",
|
||||
"data": {"foo": 1, "bar": "baz"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "one property invalid is invalid",
|
||||
"data": {"foo": 1, "bar": {}},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "both properties invalid is invalid",
|
||||
"data": {"foo": [], "bar": {}},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "doesn't invalidate other properties",
|
||||
"data": {"quux": []},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": [],
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":
|
||||
"properties, patternProperties, additionalProperties interaction",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"type": "array", "maxItems": 3},
|
||||
"bar": {"type": "array"}
|
||||
},
|
||||
"patternProperties": {"f.o": {"minItems": 2}},
|
||||
"additionalProperties": {"type": "integer"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "property validates property",
|
||||
"data": {"foo": [1, 2]},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "property invalidates property",
|
||||
"data": {"foo": [1, 2, 3, 4]},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "patternProperty invalidates property",
|
||||
"data": {"foo": []},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "patternProperty validates nonproperty",
|
||||
"data": {"fxo": [1, 2]},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "patternProperty invalidates nonproperty",
|
||||
"data": {"fxo": []},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "additionalProperty ignores property",
|
||||
"data": {"bar": []},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additionalProperty validates others",
|
||||
"data": {"quux": 3},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additionalProperty invalidates others",
|
||||
"data": {"quux": "foo"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
159
bin/jsonschema/tests/draft3/ref.json
Normal file
159
bin/jsonschema/tests/draft3/ref.json
Normal file
@ -0,0 +1,159 @@
|
||||
[
|
||||
{
|
||||
"description": "root pointer ref",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"$ref": "#"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match",
|
||||
"data": {"foo": false},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "recursive match",
|
||||
"data": {"foo": {"foo": false}},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": {"bar": false},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "recursive mismatch",
|
||||
"data": {"foo": {"bar": false}},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "relative pointer ref to object",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"type": "integer"},
|
||||
"bar": {"$ref": "#/properties/foo"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match",
|
||||
"data": {"bar": 3},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": {"bar": true},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "relative pointer ref to array",
|
||||
"schema": {
|
||||
"items": [
|
||||
{"type": "integer"},
|
||||
{"$ref": "#/items/0"}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match array",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch array",
|
||||
"data": [1, "foo"],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "escaped pointer ref",
|
||||
"schema": {
|
||||
"tilda~field": {"type": "integer"},
|
||||
"slash/field": {"type": "integer"},
|
||||
"percent%field": {"type": "integer"},
|
||||
"properties": {
|
||||
"tilda": {"$ref": "#/tilda~0field"},
|
||||
"slash": {"$ref": "#/slash~1field"},
|
||||
"percent": {"$ref": "#/percent%25field"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "slash invalid",
|
||||
"data": {"slash": "aoeu"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "tilda invalid",
|
||||
"data": {"tilda": "aoeu"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "percent invalid",
|
||||
"data": {"percent": "aoeu"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "slash valid",
|
||||
"data": {"slash": 123},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "tilda valid",
|
||||
"data": {"tilda": 123},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "percent valid",
|
||||
"data": {"percent": 123},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "nested refs",
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"a": {"type": "integer"},
|
||||
"b": {"$ref": "#/definitions/a"},
|
||||
"c": {"$ref": "#/definitions/b"}
|
||||
},
|
||||
"$ref": "#/definitions/c"
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "nested ref valid",
|
||||
"data": 5,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "nested ref invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "remote ref, containing refs itself",
|
||||
"schema": {"$ref": "http://json-schema.org/draft-03/schema#"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "remote ref valid",
|
||||
"data": {"items": {"type": "integer"}},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "remote ref invalid",
|
||||
"data": {"items": {"type": 1}},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
74
bin/jsonschema/tests/draft3/refRemote.json
Normal file
74
bin/jsonschema/tests/draft3/refRemote.json
Normal file
@ -0,0 +1,74 @@
|
||||
[
|
||||
{
|
||||
"description": "remote ref",
|
||||
"schema": {"$ref": "http://localhost:1234/integer.json"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "remote ref valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "remote ref invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "fragment within remote ref",
|
||||
"schema": {"$ref": "http://localhost:1234/subSchemas.json#/integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "remote fragment valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "remote fragment invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ref within remote ref",
|
||||
"schema": {
|
||||
"$ref": "http://localhost:1234/subSchemas.json#/refToInteger"
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "ref within ref valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "ref within ref invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "change resolution scope",
|
||||
"schema": {
|
||||
"id": "http://localhost:1234/",
|
||||
"items": {
|
||||
"id": "folder/",
|
||||
"items": {"$ref": "folderInteger.json"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "changed scope ref valid",
|
||||
"data": [[1]],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "changed scope ref invalid",
|
||||
"data": [["a"]],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
53
bin/jsonschema/tests/draft3/required.json
Normal file
53
bin/jsonschema/tests/draft3/required.json
Normal file
@ -0,0 +1,53 @@
|
||||
[
|
||||
{
|
||||
"description": "required validation",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"required" : true},
|
||||
"bar": {}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "present required property is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-present required property is invalid",
|
||||
"data": {"bar": 1},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "required default validation",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "not required by default",
|
||||
"data": {},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "required explicitly false validation",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"required": false}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "not required if required is false",
|
||||
"data": {},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
474
bin/jsonschema/tests/draft3/type.json
Normal file
474
bin/jsonschema/tests/draft3/type.json
Normal file
@ -0,0 +1,474 @@
|
||||
[
|
||||
{
|
||||
"description": "integer type matches integers",
|
||||
"schema": {"type": "integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is an integer",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a float is not an integer",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not an integer",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not an integer",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not an integer",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not an integer",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not an integer",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "number type matches numbers",
|
||||
"schema": {"type": "number"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is a number",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a float is a number",
|
||||
"data": 1.1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a string is not a number",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not a number",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not a number",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not a number",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not a number",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "string type matches strings",
|
||||
"schema": {"type": "string"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "1 is not a string",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not a string",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is a string",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an object is not a string",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not a string",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not a string",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not a string",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "object type matches objects",
|
||||
"schema": {"type": "object"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not an object",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not an object",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not an object",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is an object",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an array is not an object",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not an object",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not an object",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "array type matches arrays",
|
||||
"schema": {"type": "array"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not an array",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not an array",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not an array",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not an array",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is an array",
|
||||
"data": [],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not an array",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not an array",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "boolean type matches booleans",
|
||||
"schema": {"type": "boolean"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not a boolean",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not a boolean",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not a boolean",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not a boolean",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not a boolean",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is a boolean",
|
||||
"data": true,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "null is not a boolean",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "null type matches only the null object",
|
||||
"schema": {"type": "null"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not null",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not null",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not null",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not null",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not null",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not null",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is null",
|
||||
"data": null,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "any type matches any type",
|
||||
"schema": {"type": "any"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "any type includes integers",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "any type includes float",
|
||||
"data": 1.1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "any type includes string",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "any type includes object",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "any type includes array",
|
||||
"data": [],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "any type includes boolean",
|
||||
"data": true,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "any type includes null",
|
||||
"data": null,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple types can be specified in an array",
|
||||
"schema": {"type": ["integer", "string"]},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a string is valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a float is invalid",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is invalid",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is invalid",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is invalid",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is invalid",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "types can include schemas",
|
||||
"schema": {
|
||||
"type": [
|
||||
"array",
|
||||
{"type": "object"}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is invalid",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is invalid",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is valid",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an array is valid",
|
||||
"data": [],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a boolean is invalid",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is invalid",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":
|
||||
"when types includes a schema it should fully validate the schema",
|
||||
"schema": {
|
||||
"type": [
|
||||
"integer",
|
||||
{
|
||||
"properties": {
|
||||
"foo": {"type": "null"}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an object is valid only if it is fully valid",
|
||||
"data": {"foo": null},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an object is invalid otherwise",
|
||||
"data": {"foo": "bar"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "types from separate schemas are merged",
|
||||
"schema": {
|
||||
"type": [
|
||||
{"type": ["string"]},
|
||||
{"type": ["array", "null"]}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is invalid",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an array is valid",
|
||||
"data": [1, 2, 3],
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
79
bin/jsonschema/tests/draft3/uniqueItems.json
Normal file
79
bin/jsonschema/tests/draft3/uniqueItems.json
Normal file
@ -0,0 +1,79 @@
|
||||
[
|
||||
{
|
||||
"description": "uniqueItems validation",
|
||||
"schema": {"uniqueItems": true},
|
||||
"tests": [
|
||||
{
|
||||
"description": "unique array of integers is valid",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of integers is invalid",
|
||||
"data": [1, 1],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "numbers are unique if mathematically unequal",
|
||||
"data": [1.0, 1.00, 1],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "unique array of objects is valid",
|
||||
"data": [{"foo": "bar"}, {"foo": "baz"}],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of objects is invalid",
|
||||
"data": [{"foo": "bar"}, {"foo": "bar"}],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "unique array of nested objects is valid",
|
||||
"data": [
|
||||
{"foo": {"bar" : {"baz" : true}}},
|
||||
{"foo": {"bar" : {"baz" : false}}}
|
||||
],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of nested objects is invalid",
|
||||
"data": [
|
||||
{"foo": {"bar" : {"baz" : true}}},
|
||||
{"foo": {"bar" : {"baz" : true}}}
|
||||
],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "unique array of arrays is valid",
|
||||
"data": [["foo"], ["bar"]],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of arrays is invalid",
|
||||
"data": [["foo"], ["foo"]],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "1 and true are unique",
|
||||
"data": [1, true],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "0 and false are unique",
|
||||
"data": [0, false],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "unique heterogeneous types are valid",
|
||||
"data": [{}, [1], true, null, 1],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique heterogeneous types are invalid",
|
||||
"data": [{}, [1], true, null, {}, 1],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
82
bin/jsonschema/tests/draft4/additionalItems.json
Normal file
82
bin/jsonschema/tests/draft4/additionalItems.json
Normal file
@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"description": "additionalItems as schema",
|
||||
"schema": {
|
||||
"items": [{}],
|
||||
"additionalItems": {"type": "integer"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "additional items match schema",
|
||||
"data": [ null, 2, 3, 4 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additional items do not match schema",
|
||||
"data": [ null, 2, 3, "foo" ],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "items is schema, no additionalItems",
|
||||
"schema": {
|
||||
"items": {},
|
||||
"additionalItems": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "all items match schema",
|
||||
"data": [ 1, 2, 3, 4, 5 ],
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "array of items with no additionalItems",
|
||||
"schema": {
|
||||
"items": [{}, {}, {}],
|
||||
"additionalItems": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "no additional items present",
|
||||
"data": [ 1, 2, 3 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additional items are not permitted",
|
||||
"data": [ 1, 2, 3, 4 ],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "additionalItems as false without items",
|
||||
"schema": {"additionalItems": false},
|
||||
"tests": [
|
||||
{
|
||||
"description":
|
||||
"items defaults to empty schema so everything is valid",
|
||||
"data": [ 1, 2, 3, 4, 5 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": {"foo" : "bar"},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "additionalItems are allowed by default",
|
||||
"schema": {"items": [{"type": "integer"}]},
|
||||
"tests": [
|
||||
{
|
||||
"description": "only the first item is validated",
|
||||
"data": [1, "foo", false],
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
88
bin/jsonschema/tests/draft4/additionalProperties.json
Normal file
88
bin/jsonschema/tests/draft4/additionalProperties.json
Normal file
@ -0,0 +1,88 @@
|
||||
[
|
||||
{
|
||||
"description":
|
||||
"additionalProperties being false does not allow other properties",
|
||||
"schema": {
|
||||
"properties": {"foo": {}, "bar": {}},
|
||||
"patternProperties": { "^v": {} },
|
||||
"additionalProperties": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "no additional properties is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional property is invalid",
|
||||
"data": {"foo" : 1, "bar" : 2, "quux" : "boom"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": [1, 2, 3],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "patternProperties are not additional properties",
|
||||
"data": {"foo":1, "vroom": 2},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":
|
||||
"additionalProperties allows a schema which should validate",
|
||||
"schema": {
|
||||
"properties": {"foo": {}, "bar": {}},
|
||||
"additionalProperties": {"type": "boolean"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "no additional properties is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional valid property is valid",
|
||||
"data": {"foo" : 1, "bar" : 2, "quux" : true},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional invalid property is invalid",
|
||||
"data": {"foo" : 1, "bar" : 2, "quux" : 12},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":
|
||||
"additionalProperties can exist by itself",
|
||||
"schema": {
|
||||
"additionalProperties": {"type": "boolean"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an additional valid property is valid",
|
||||
"data": {"foo" : true},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an additional invalid property is invalid",
|
||||
"data": {"foo" : 1},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "additionalProperties are allowed by default",
|
||||
"schema": {"properties": {"foo": {}, "bar": {}}},
|
||||
"tests": [
|
||||
{
|
||||
"description": "additional properties are allowed",
|
||||
"data": {"foo": 1, "bar": 2, "quux": true},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
112
bin/jsonschema/tests/draft4/allOf.json
Normal file
112
bin/jsonschema/tests/draft4/allOf.json
Normal file
@ -0,0 +1,112 @@
|
||||
[
|
||||
{
|
||||
"description": "allOf",
|
||||
"schema": {
|
||||
"allOf": [
|
||||
{
|
||||
"properties": {
|
||||
"bar": {"type": "integer"}
|
||||
},
|
||||
"required": ["bar"]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"foo": {"type": "string"}
|
||||
},
|
||||
"required": ["foo"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "allOf",
|
||||
"data": {"foo": "baz", "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch second",
|
||||
"data": {"foo": "baz"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "mismatch first",
|
||||
"data": {"bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "wrong type",
|
||||
"data": {"foo": "baz", "bar": "quux"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "allOf with base schema",
|
||||
"schema": {
|
||||
"properties": {"bar": {"type": "integer"}},
|
||||
"required": ["bar"],
|
||||
"allOf" : [
|
||||
{
|
||||
"properties": {
|
||||
"foo": {"type": "string"}
|
||||
},
|
||||
"required": ["foo"]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"baz": {"type": "null"}
|
||||
},
|
||||
"required": ["baz"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": {"foo": "quux", "bar": 2, "baz": null},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch base schema",
|
||||
"data": {"foo": "quux", "baz": null},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "mismatch first allOf",
|
||||
"data": {"bar": 2, "baz": null},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "mismatch second allOf",
|
||||
"data": {"foo": "quux", "bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "mismatch both",
|
||||
"data": {"bar": 2},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "allOf simple types",
|
||||
"schema": {
|
||||
"allOf": [
|
||||
{"maximum": 30},
|
||||
{"minimum": 20}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": 25,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch one",
|
||||
"data": 35,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
68
bin/jsonschema/tests/draft4/anyOf.json
Normal file
68
bin/jsonschema/tests/draft4/anyOf.json
Normal file
@ -0,0 +1,68 @@
|
||||
[
|
||||
{
|
||||
"description": "anyOf",
|
||||
"schema": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "integer"
|
||||
},
|
||||
{
|
||||
"minimum": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "first anyOf valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "second anyOf valid",
|
||||
"data": 2.5,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "both anyOf valid",
|
||||
"data": 3,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "neither anyOf valid",
|
||||
"data": 1.5,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "anyOf with base schema",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"anyOf" : [
|
||||
{
|
||||
"maxLength": 2
|
||||
},
|
||||
{
|
||||
"minLength": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "mismatch base schema",
|
||||
"data": 3,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "one anyOf valid",
|
||||
"data": "foobar",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "both anyOf invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
49
bin/jsonschema/tests/draft4/default.json
Normal file
49
bin/jsonschema/tests/draft4/default.json
Normal file
@ -0,0 +1,49 @@
|
||||
[
|
||||
{
|
||||
"description": "invalid type for default",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {
|
||||
"type": "integer",
|
||||
"default": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid when property is specified",
|
||||
"data": {"foo": 13},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "still valid when the invalid default is used",
|
||||
"data": {},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "invalid string value for default",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"bar": {
|
||||
"type": "string",
|
||||
"minLength": 4,
|
||||
"default": "bad"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid when property is specified",
|
||||
"data": {"bar": "good"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "still valid when the invalid default is used",
|
||||
"data": {},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
32
bin/jsonschema/tests/draft4/definitions.json
Normal file
32
bin/jsonschema/tests/draft4/definitions.json
Normal file
@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"description": "valid definition",
|
||||
"schema": {"$ref": "http://json-schema.org/draft-04/schema#"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid definition schema",
|
||||
"data": {
|
||||
"definitions": {
|
||||
"foo": {"type": "integer"}
|
||||
}
|
||||
},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "invalid definition",
|
||||
"schema": {"$ref": "http://json-schema.org/draft-04/schema#"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "invalid definition schema",
|
||||
"data": {
|
||||
"definitions": {
|
||||
"foo": {"type": 1}
|
||||
}
|
||||
},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
113
bin/jsonschema/tests/draft4/dependencies.json
Normal file
113
bin/jsonschema/tests/draft4/dependencies.json
Normal file
@ -0,0 +1,113 @@
|
||||
[
|
||||
{
|
||||
"description": "dependencies",
|
||||
"schema": {
|
||||
"dependencies": {"bar": ["foo"]}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "neither",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "nondependant",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "with dependency",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing dependency",
|
||||
"data": {"bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple dependencies",
|
||||
"schema": {
|
||||
"dependencies": {"quux": ["foo", "bar"]}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "neither",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "nondependants",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "with dependencies",
|
||||
"data": {"foo": 1, "bar": 2, "quux": 3},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing dependency",
|
||||
"data": {"foo": 1, "quux": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "missing other dependency",
|
||||
"data": {"bar": 1, "quux": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "missing both dependencies",
|
||||
"data": {"quux": 1},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple dependencies subschema",
|
||||
"schema": {
|
||||
"dependencies": {
|
||||
"bar": {
|
||||
"properties": {
|
||||
"foo": {"type": "integer"},
|
||||
"bar": {"type": "integer"}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "no dependency",
|
||||
"data": {"foo": "quux"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "wrong type",
|
||||
"data": {"foo": "quux", "bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "wrong type other",
|
||||
"data": {"foo": 2, "bar": "quux"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "wrong type both",
|
||||
"data": {"foo": "quux", "bar": "quux"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
72
bin/jsonschema/tests/draft4/enum.json
Normal file
72
bin/jsonschema/tests/draft4/enum.json
Normal file
@ -0,0 +1,72 @@
|
||||
[
|
||||
{
|
||||
"description": "simple enum validation",
|
||||
"schema": {"enum": [1, 2, 3]},
|
||||
"tests": [
|
||||
{
|
||||
"description": "one of the enum is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "something else is invalid",
|
||||
"data": 4,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "heterogeneous enum validation",
|
||||
"schema": {"enum": [6, "foo", [], true, {"foo": 12}]},
|
||||
"tests": [
|
||||
{
|
||||
"description": "one of the enum is valid",
|
||||
"data": [],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "something else is invalid",
|
||||
"data": null,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "objects are deep compared",
|
||||
"data": {"foo": false},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "enums in properties",
|
||||
"schema": {
|
||||
"type":"object",
|
||||
"properties": {
|
||||
"foo": {"enum":["foo"]},
|
||||
"bar": {"enum":["bar"]}
|
||||
},
|
||||
"required": ["bar"]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "both properties are valid",
|
||||
"data": {"foo":"foo", "bar":"bar"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing optional property is valid",
|
||||
"data": {"bar":"bar"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "missing required property is invalid",
|
||||
"data": {"foo":"foo"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "missing all properties is invalid",
|
||||
"data": {},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
46
bin/jsonschema/tests/draft4/items.json
Normal file
46
bin/jsonschema/tests/draft4/items.json
Normal file
@ -0,0 +1,46 @@
|
||||
[
|
||||
{
|
||||
"description": "a schema given for items",
|
||||
"schema": {
|
||||
"items": {"type": "integer"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid items",
|
||||
"data": [ 1, 2, 3 ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "wrong type of items",
|
||||
"data": [1, "x"],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": {"foo" : "bar"},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "an array of schemas for items",
|
||||
"schema": {
|
||||
"items": [
|
||||
{"type": "integer"},
|
||||
{"type": "string"}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "correct types",
|
||||
"data": [ 1, "foo" ],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "wrong types",
|
||||
"data": [ "foo", 1 ],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
28
bin/jsonschema/tests/draft4/maxItems.json
Normal file
28
bin/jsonschema/tests/draft4/maxItems.json
Normal file
@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"description": "maxItems validation",
|
||||
"schema": {"maxItems": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "shorter is valid",
|
||||
"data": [1],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too long is invalid",
|
||||
"data": [1, 2, 3],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": "foobar",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
33
bin/jsonschema/tests/draft4/maxLength.json
Normal file
33
bin/jsonschema/tests/draft4/maxLength.json
Normal file
@ -0,0 +1,33 @@
|
||||
[
|
||||
{
|
||||
"description": "maxLength validation",
|
||||
"schema": {"maxLength": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "shorter is valid",
|
||||
"data": "f",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": "fo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too long is invalid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-strings",
|
||||
"data": 100,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "two supplementary Unicode code points is long enough",
|
||||
"data": "\uD83D\uDCA9\uD83D\uDCA9",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
28
bin/jsonschema/tests/draft4/maxProperties.json
Normal file
28
bin/jsonschema/tests/draft4/maxProperties.json
Normal file
@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"description": "maxProperties validation",
|
||||
"schema": {"maxProperties": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "shorter is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too long is invalid",
|
||||
"data": {"foo": 1, "bar": 2, "baz": 3},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": "foobar",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
42
bin/jsonschema/tests/draft4/maximum.json
Normal file
42
bin/jsonschema/tests/draft4/maximum.json
Normal file
@ -0,0 +1,42 @@
|
||||
[
|
||||
{
|
||||
"description": "maximum validation",
|
||||
"schema": {"maximum": 3.0},
|
||||
"tests": [
|
||||
{
|
||||
"description": "below the maximum is valid",
|
||||
"data": 2.6,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "above the maximum is invalid",
|
||||
"data": 3.5,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-numbers",
|
||||
"data": "x",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "exclusiveMaximum validation",
|
||||
"schema": {
|
||||
"maximum": 3.0,
|
||||
"exclusiveMaximum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "below the maximum is still valid",
|
||||
"data": 2.2,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "boundary point is invalid",
|
||||
"data": 3.0,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
28
bin/jsonschema/tests/draft4/minItems.json
Normal file
28
bin/jsonschema/tests/draft4/minItems.json
Normal file
@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"description": "minItems validation",
|
||||
"schema": {"minItems": 1},
|
||||
"tests": [
|
||||
{
|
||||
"description": "longer is valid",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": [1],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too short is invalid",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-arrays",
|
||||
"data": "",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
33
bin/jsonschema/tests/draft4/minLength.json
Normal file
33
bin/jsonschema/tests/draft4/minLength.json
Normal file
@ -0,0 +1,33 @@
|
||||
[
|
||||
{
|
||||
"description": "minLength validation",
|
||||
"schema": {"minLength": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "longer is valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": "fo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too short is invalid",
|
||||
"data": "f",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-strings",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "one supplementary Unicode code point is not long enough",
|
||||
"data": "\uD83D\uDCA9",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
28
bin/jsonschema/tests/draft4/minProperties.json
Normal file
28
bin/jsonschema/tests/draft4/minProperties.json
Normal file
@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"description": "minProperties validation",
|
||||
"schema": {"minProperties": 1},
|
||||
"tests": [
|
||||
{
|
||||
"description": "longer is valid",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "exact length is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "too short is invalid",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": "",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
42
bin/jsonschema/tests/draft4/minimum.json
Normal file
42
bin/jsonschema/tests/draft4/minimum.json
Normal file
@ -0,0 +1,42 @@
|
||||
[
|
||||
{
|
||||
"description": "minimum validation",
|
||||
"schema": {"minimum": 1.1},
|
||||
"tests": [
|
||||
{
|
||||
"description": "above the minimum is valid",
|
||||
"data": 2.6,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "below the minimum is invalid",
|
||||
"data": 0.6,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-numbers",
|
||||
"data": "x",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "exclusiveMinimum validation",
|
||||
"schema": {
|
||||
"minimum": 1.1,
|
||||
"exclusiveMinimum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "above the minimum is still valid",
|
||||
"data": 1.2,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "boundary point is invalid",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
60
bin/jsonschema/tests/draft4/multipleOf.json
Normal file
60
bin/jsonschema/tests/draft4/multipleOf.json
Normal file
@ -0,0 +1,60 @@
|
||||
[
|
||||
{
|
||||
"description": "by int",
|
||||
"schema": {"multipleOf": 2},
|
||||
"tests": [
|
||||
{
|
||||
"description": "int by int",
|
||||
"data": 10,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "int by int fail",
|
||||
"data": 7,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-numbers",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "by number",
|
||||
"schema": {"multipleOf": 1.5},
|
||||
"tests": [
|
||||
{
|
||||
"description": "zero is multiple of anything",
|
||||
"data": 0,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "4.5 is multiple of 1.5",
|
||||
"data": 4.5,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "35 is not multiple of 1.5",
|
||||
"data": 35,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "by small number",
|
||||
"schema": {"multipleOf": 0.0001},
|
||||
"tests": [
|
||||
{
|
||||
"description": "0.0075 is multiple of 0.0001",
|
||||
"data": 0.0075,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "0.00751 is not multiple of 0.0001",
|
||||
"data": 0.00751,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
96
bin/jsonschema/tests/draft4/not.json
Normal file
96
bin/jsonschema/tests/draft4/not.json
Normal file
@ -0,0 +1,96 @@
|
||||
[
|
||||
{
|
||||
"description": "not",
|
||||
"schema": {
|
||||
"not": {"type": "integer"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "allowed",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "disallowed",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "not multiple types",
|
||||
"schema": {
|
||||
"not": {"type": ["integer", "boolean"]}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "other mismatch",
|
||||
"data": true,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "not more complex schema",
|
||||
"schema": {
|
||||
"not": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"foo": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "other match",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": {"foo": "bar"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "forbidden property",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {
|
||||
"not": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "property present",
|
||||
"data": {"foo": 1, "bar": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "property absent",
|
||||
"data": {"bar": 1, "baz": 2},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
]
|
68
bin/jsonschema/tests/draft4/oneOf.json
Normal file
68
bin/jsonschema/tests/draft4/oneOf.json
Normal file
@ -0,0 +1,68 @@
|
||||
[
|
||||
{
|
||||
"description": "oneOf",
|
||||
"schema": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "integer"
|
||||
},
|
||||
{
|
||||
"minimum": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "first oneOf valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "second oneOf valid",
|
||||
"data": 2.5,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "both oneOf valid",
|
||||
"data": 3,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "neither oneOf valid",
|
||||
"data": 1.5,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "oneOf with base schema",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"oneOf" : [
|
||||
{
|
||||
"minLength": 2
|
||||
},
|
||||
{
|
||||
"maxLength": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "mismatch base schema",
|
||||
"data": 3,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "one oneOf valid",
|
||||
"data": "foobar",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "both oneOf valid",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
107
bin/jsonschema/tests/draft4/optional/bignum.json
Normal file
107
bin/jsonschema/tests/draft4/optional/bignum.json
Normal file
@ -0,0 +1,107 @@
|
||||
[
|
||||
{
|
||||
"description": "integer",
|
||||
"schema": {"type": "integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a bignum is an integer",
|
||||
"data": 12345678910111213141516171819202122232425262728293031,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "number",
|
||||
"schema": {"type": "number"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a bignum is a number",
|
||||
"data": 98249283749234923498293171823948729348710298301928331,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "integer",
|
||||
"schema": {"type": "integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a negative bignum is an integer",
|
||||
"data": -12345678910111213141516171819202122232425262728293031,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "number",
|
||||
"schema": {"type": "number"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a negative bignum is a number",
|
||||
"data": -98249283749234923498293171823948729348710298301928331,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "string",
|
||||
"schema": {"type": "string"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a bignum is not a string",
|
||||
"data": 98249283749234923498293171823948729348710298301928331,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "integer comparison",
|
||||
"schema": {"maximum": 18446744073709551615},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for high numbers",
|
||||
"data": 18446744073709551600,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "float comparison with high precision",
|
||||
"schema": {
|
||||
"maximum": 972783798187987123879878123.18878137,
|
||||
"exclusiveMaximum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for high numbers",
|
||||
"data": 972783798187987123879878123.188781371,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "integer comparison",
|
||||
"schema": {"minimum": -18446744073709551615},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for very negative numbers",
|
||||
"data": -18446744073709551600,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "float comparison with high precision on negative numbers",
|
||||
"schema": {
|
||||
"minimum": -972783798187987123879878123.18878137,
|
||||
"exclusiveMinimum": true
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "comparison works for very negative numbers",
|
||||
"data": -972783798187987123879878123.188781371,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
148
bin/jsonschema/tests/draft4/optional/format.json
Normal file
148
bin/jsonschema/tests/draft4/optional/format.json
Normal file
@ -0,0 +1,148 @@
|
||||
[
|
||||
{
|
||||
"description": "validation of date-time strings",
|
||||
"schema": {"format": "date-time"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid date-time string",
|
||||
"data": "1963-06-19T08:30:06.283185Z",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid date-time string",
|
||||
"data": "06/19/1963 08:30:06 PST",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "only RFC3339 not all of ISO 8601 are valid",
|
||||
"data": "2013-350T01:01:01",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of URIs",
|
||||
"schema": {"format": "uri"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid URI",
|
||||
"data": "http://foo.bar/?baz=qux#quux",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a valid protocol-relative URI",
|
||||
"data": "//foo.bar/?baz=qux#quux",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid URI",
|
||||
"data": "\\\\WINDOWS\\fileshare",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an invalid URI though valid URI reference",
|
||||
"data": "abc",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of e-mail addresses",
|
||||
"schema": {"format": "email"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid e-mail address",
|
||||
"data": "joe.bloggs@example.com",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid e-mail address",
|
||||
"data": "2962",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of IP addresses",
|
||||
"schema": {"format": "ipv4"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid IP address",
|
||||
"data": "192.168.0.1",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an IP address with too many components",
|
||||
"data": "127.0.0.0.1",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IP address with out-of-range values",
|
||||
"data": "256.256.256.256",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IP address without 4 components",
|
||||
"data": "127.0",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IP address as an integer",
|
||||
"data": "0x7f000001",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of IPv6 addresses",
|
||||
"schema": {"format": "ipv6"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid IPv6 address",
|
||||
"data": "::1",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an IPv6 address with out-of-range values",
|
||||
"data": "12345::",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IPv6 address with too many components",
|
||||
"data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an IPv6 address containing illegal characters",
|
||||
"data": "::laptop",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "validation of host names",
|
||||
"schema": {"format": "hostname"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a valid host name",
|
||||
"data": "www.example.com",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a host name starting with an illegal character",
|
||||
"data": "-a-host-name-that-starts-with--",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a host name containing illegal characters",
|
||||
"data": "not_a_valid_host_name",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a host name with a component too long",
|
||||
"data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,15 @@
|
||||
[
|
||||
{
|
||||
"description": "some languages do not distinguish between different types of numeric value",
|
||||
"schema": {
|
||||
"type": "integer"
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a float is not an integer even without fractional part",
|
||||
"data": 1.0,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
34
bin/jsonschema/tests/draft4/pattern.json
Normal file
34
bin/jsonschema/tests/draft4/pattern.json
Normal file
@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"description": "pattern validation",
|
||||
"schema": {"pattern": "^a*$"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a matching pattern is valid",
|
||||
"data": "aaa",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a non-matching pattern is invalid",
|
||||
"data": "abc",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-strings",
|
||||
"data": true,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "pattern is not anchored",
|
||||
"schema": {"pattern": "a+"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "matches a substring",
|
||||
"data": "xxaayy",
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
110
bin/jsonschema/tests/draft4/patternProperties.json
Normal file
110
bin/jsonschema/tests/draft4/patternProperties.json
Normal file
@ -0,0 +1,110 @@
|
||||
[
|
||||
{
|
||||
"description":
|
||||
"patternProperties validates properties matching a regex",
|
||||
"schema": {
|
||||
"patternProperties": {
|
||||
"f.*o": {"type": "integer"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a single valid match is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "multiple valid matches is valid",
|
||||
"data": {"foo": 1, "foooooo" : 2},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a single invalid match is invalid",
|
||||
"data": {"foo": "bar", "fooooo": 2},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "multiple invalid matches is invalid",
|
||||
"data": {"foo": "bar", "foooooo" : "baz"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": 12,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple simultaneous patternProperties are validated",
|
||||
"schema": {
|
||||
"patternProperties": {
|
||||
"a*": {"type": "integer"},
|
||||
"aaa*": {"maximum": 20}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "a single valid match is valid",
|
||||
"data": {"a": 21},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a simultaneous match is valid",
|
||||
"data": {"aaaa": 18},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "multiple matches is valid",
|
||||
"data": {"a": 21, "aaaa": 18},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an invalid due to one is invalid",
|
||||
"data": {"a": "bar"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an invalid due to the other is invalid",
|
||||
"data": {"aaaa": 31},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an invalid due to both is invalid",
|
||||
"data": {"aaa": "foo", "aaaa": 31},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "regexes are not anchored by default and are case sensitive",
|
||||
"schema": {
|
||||
"patternProperties": {
|
||||
"[0-9]{2,}": { "type": "boolean" },
|
||||
"X_": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "non recognized members are ignored",
|
||||
"data": { "answer 1": "42" },
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "recognized members are accounted for",
|
||||
"data": { "a31b": null },
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "regexes are case sensitive",
|
||||
"data": { "a_x_3": 3 },
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "regexes are case sensitive, 2",
|
||||
"data": { "a_X_3": 3 },
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
92
bin/jsonschema/tests/draft4/properties.json
Normal file
92
bin/jsonschema/tests/draft4/properties.json
Normal file
@ -0,0 +1,92 @@
|
||||
[
|
||||
{
|
||||
"description": "object properties validation",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"type": "integer"},
|
||||
"bar": {"type": "string"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "both properties present and valid is valid",
|
||||
"data": {"foo": 1, "bar": "baz"},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "one property invalid is invalid",
|
||||
"data": {"foo": 1, "bar": {}},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "both properties invalid is invalid",
|
||||
"data": {"foo": [], "bar": {}},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "doesn't invalidate other properties",
|
||||
"data": {"quux": []},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "ignores non-objects",
|
||||
"data": [],
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":
|
||||
"properties, patternProperties, additionalProperties interaction",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"type": "array", "maxItems": 3},
|
||||
"bar": {"type": "array"}
|
||||
},
|
||||
"patternProperties": {"f.o": {"minItems": 2}},
|
||||
"additionalProperties": {"type": "integer"}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "property validates property",
|
||||
"data": {"foo": [1, 2]},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "property invalidates property",
|
||||
"data": {"foo": [1, 2, 3, 4]},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "patternProperty invalidates property",
|
||||
"data": {"foo": []},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "patternProperty validates nonproperty",
|
||||
"data": {"fxo": [1, 2]},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "patternProperty invalidates nonproperty",
|
||||
"data": {"fxo": []},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "additionalProperty ignores property",
|
||||
"data": {"bar": []},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additionalProperty validates others",
|
||||
"data": {"quux": 3},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "additionalProperty invalidates others",
|
||||
"data": {"quux": "foo"},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
159
bin/jsonschema/tests/draft4/ref.json
Normal file
159
bin/jsonschema/tests/draft4/ref.json
Normal file
@ -0,0 +1,159 @@
|
||||
[
|
||||
{
|
||||
"description": "root pointer ref",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"$ref": "#"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match",
|
||||
"data": {"foo": false},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "recursive match",
|
||||
"data": {"foo": {"foo": false}},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": {"bar": false},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "recursive mismatch",
|
||||
"data": {"foo": {"bar": false}},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "relative pointer ref to object",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {"type": "integer"},
|
||||
"bar": {"$ref": "#/properties/foo"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match",
|
||||
"data": {"bar": 3},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch",
|
||||
"data": {"bar": true},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "relative pointer ref to array",
|
||||
"schema": {
|
||||
"items": [
|
||||
{"type": "integer"},
|
||||
{"$ref": "#/items/0"}
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "match array",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "mismatch array",
|
||||
"data": [1, "foo"],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "escaped pointer ref",
|
||||
"schema": {
|
||||
"tilda~field": {"type": "integer"},
|
||||
"slash/field": {"type": "integer"},
|
||||
"percent%field": {"type": "integer"},
|
||||
"properties": {
|
||||
"tilda": {"$ref": "#/tilda~0field"},
|
||||
"slash": {"$ref": "#/slash~1field"},
|
||||
"percent": {"$ref": "#/percent%25field"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "slash invalid",
|
||||
"data": {"slash": "aoeu"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "tilda invalid",
|
||||
"data": {"tilda": "aoeu"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "percent invalid",
|
||||
"data": {"percent": "aoeu"},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "slash valid",
|
||||
"data": {"slash": 123},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "tilda valid",
|
||||
"data": {"tilda": 123},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "percent valid",
|
||||
"data": {"percent": 123},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "nested refs",
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"a": {"type": "integer"},
|
||||
"b": {"$ref": "#/definitions/a"},
|
||||
"c": {"$ref": "#/definitions/b"}
|
||||
},
|
||||
"$ref": "#/definitions/c"
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "nested ref valid",
|
||||
"data": 5,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "nested ref invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "remote ref, containing refs itself",
|
||||
"schema": {"$ref": "http://json-schema.org/draft-04/schema#"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "remote ref valid",
|
||||
"data": {"minLength": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "remote ref invalid",
|
||||
"data": {"minLength": -1},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
74
bin/jsonschema/tests/draft4/refRemote.json
Normal file
74
bin/jsonschema/tests/draft4/refRemote.json
Normal file
@ -0,0 +1,74 @@
|
||||
[
|
||||
{
|
||||
"description": "remote ref",
|
||||
"schema": {"$ref": "http://localhost:1234/integer.json"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "remote ref valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "remote ref invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "fragment within remote ref",
|
||||
"schema": {"$ref": "http://localhost:1234/subSchemas.json#/integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "remote fragment valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "remote fragment invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ref within remote ref",
|
||||
"schema": {
|
||||
"$ref": "http://localhost:1234/subSchemas.json#/refToInteger"
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "ref within ref valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "ref within ref invalid",
|
||||
"data": "a",
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "change resolution scope",
|
||||
"schema": {
|
||||
"id": "http://localhost:1234/",
|
||||
"items": {
|
||||
"id": "folder/",
|
||||
"items": {"$ref": "folderInteger.json"}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "changed scope ref valid",
|
||||
"data": [[1]],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "changed scope ref invalid",
|
||||
"data": [["a"]],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
39
bin/jsonschema/tests/draft4/required.json
Normal file
39
bin/jsonschema/tests/draft4/required.json
Normal file
@ -0,0 +1,39 @@
|
||||
[
|
||||
{
|
||||
"description": "required validation",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {},
|
||||
"bar": {}
|
||||
},
|
||||
"required": ["foo"]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "present required property is valid",
|
||||
"data": {"foo": 1},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-present required property is invalid",
|
||||
"data": {"bar": 1},
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "required default validation",
|
||||
"schema": {
|
||||
"properties": {
|
||||
"foo": {}
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"description": "not required by default",
|
||||
"data": {},
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
330
bin/jsonschema/tests/draft4/type.json
Normal file
330
bin/jsonschema/tests/draft4/type.json
Normal file
@ -0,0 +1,330 @@
|
||||
[
|
||||
{
|
||||
"description": "integer type matches integers",
|
||||
"schema": {"type": "integer"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is an integer",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a float is not an integer",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not an integer",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not an integer",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not an integer",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not an integer",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not an integer",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "number type matches numbers",
|
||||
"schema": {"type": "number"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is a number",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a float is a number",
|
||||
"data": 1.1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a string is not a number",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not a number",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not a number",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not a number",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not a number",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "string type matches strings",
|
||||
"schema": {"type": "string"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "1 is not a string",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not a string",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is a string",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an object is not a string",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not a string",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not a string",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not a string",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "object type matches objects",
|
||||
"schema": {"type": "object"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not an object",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not an object",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not an object",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is an object",
|
||||
"data": {},
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "an array is not an object",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not an object",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not an object",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "array type matches arrays",
|
||||
"schema": {"type": "array"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not an array",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not an array",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not an array",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not an array",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is an array",
|
||||
"data": [],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not an array",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is not an array",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "boolean type matches booleans",
|
||||
"schema": {"type": "boolean"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not a boolean",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not a boolean",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not a boolean",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not a boolean",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not a boolean",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is a boolean",
|
||||
"data": true,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "null is not a boolean",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "null type matches only the null object",
|
||||
"schema": {"type": "null"},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is not null",
|
||||
"data": 1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a float is not null",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a string is not null",
|
||||
"data": "foo",
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is not null",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is not null",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is not null",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is null",
|
||||
"data": null,
|
||||
"valid": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "multiple types can be specified in an array",
|
||||
"schema": {"type": ["integer", "string"]},
|
||||
"tests": [
|
||||
{
|
||||
"description": "an integer is valid",
|
||||
"data": 1,
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a string is valid",
|
||||
"data": "foo",
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "a float is invalid",
|
||||
"data": 1.1,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an object is invalid",
|
||||
"data": {},
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "an array is invalid",
|
||||
"data": [],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "a boolean is invalid",
|
||||
"data": true,
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "null is invalid",
|
||||
"data": null,
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
79
bin/jsonschema/tests/draft4/uniqueItems.json
Normal file
79
bin/jsonschema/tests/draft4/uniqueItems.json
Normal file
@ -0,0 +1,79 @@
|
||||
[
|
||||
{
|
||||
"description": "uniqueItems validation",
|
||||
"schema": {"uniqueItems": true},
|
||||
"tests": [
|
||||
{
|
||||
"description": "unique array of integers is valid",
|
||||
"data": [1, 2],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of integers is invalid",
|
||||
"data": [1, 1],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "numbers are unique if mathematically unequal",
|
||||
"data": [1.0, 1.00, 1],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "unique array of objects is valid",
|
||||
"data": [{"foo": "bar"}, {"foo": "baz"}],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of objects is invalid",
|
||||
"data": [{"foo": "bar"}, {"foo": "bar"}],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "unique array of nested objects is valid",
|
||||
"data": [
|
||||
{"foo": {"bar" : {"baz" : true}}},
|
||||
{"foo": {"bar" : {"baz" : false}}}
|
||||
],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of nested objects is invalid",
|
||||
"data": [
|
||||
{"foo": {"bar" : {"baz" : true}}},
|
||||
{"foo": {"bar" : {"baz" : true}}}
|
||||
],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "unique array of arrays is valid",
|
||||
"data": [["foo"], ["bar"]],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique array of arrays is invalid",
|
||||
"data": [["foo"], ["foo"]],
|
||||
"valid": false
|
||||
},
|
||||
{
|
||||
"description": "1 and true are unique",
|
||||
"data": [1, true],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "0 and false are unique",
|
||||
"data": [0, false],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "unique heterogeneous types are valid",
|
||||
"data": [{}, [1], true, null, 1],
|
||||
"valid": true
|
||||
},
|
||||
{
|
||||
"description": "non-unique heterogeneous types are invalid",
|
||||
"data": [{}, [1], true, null, {}, 1],
|
||||
"valid": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
8
bin/jsonschema/tox.ini
Normal file
8
bin/jsonschema/tox.ini
Normal file
@ -0,0 +1,8 @@
|
||||
[tox]
|
||||
minversion = 1.6
|
||||
envlist = py27
|
||||
skipsdist = True
|
||||
|
||||
[testenv]
|
||||
deps = jsonschema
|
||||
commands = {envpython} bin/jsonschema_suite check
|
502
bin/types/alotofkeys.json
Normal file
502
bin/types/alotofkeys.json
Normal file
@ -0,0 +1,502 @@
|
||||
{
|
||||
"4BABQZ5SZJSO3KFKBOG36EIXXTOF34HVFCELHA2DWOMIL44K": null,
|
||||
"RSZNOTRIJFCHRKG4IKNOW4ZEBMVXPDBYBXBGDGNWTSVLMJ2U": null,
|
||||
"AOGQPY32FQ7T7WZWQPON3X6GU74GOYI6HHVNPATDTBXRUQ4G": null,
|
||||
"3PMTZEGLZNHSOWWJ23BE6PWOXD2VZRDN7MMLUMQ4EIRERVCG": null,
|
||||
"PD2FMQGI5HTGK6MT76OYS2ER2LXFBON44WOMELDY5MRKQI6I": null,
|
||||
"6L6QMMVSE4UQLB4OGX3LVDRNGAL6MOJ6S3RBBUSQ3F5PPHYR": null,
|
||||
"LYVVXT7U7WN7PGGUHCLFXVOBJBSSR6ES2P7AY7XGBXEBLTDD": null,
|
||||
"G5RWOLHDDZOXYEFGGSVWG3C2UHYDW6UOFVBQQLQJVZNCF4TB": null,
|
||||
"3QPIK2M3ZPICZQFQTX22A7VDCAFIGAX2PXIXKDOZX7XUM32R": null,
|
||||
"JR75L2BXOA5LVLNKT4EEZO2P45OHWRPMMWMFENTFFIY7A2V3": null,
|
||||
"TESL546MN7IR7AT3C5HRSESIFHZ5NW6TNRWZXZ43OSRYOZKP": null,
|
||||
"62EJKIAFWGFGPUS6YP2X6E26AV2TZCTCAJMZNWBBNFRPCCRN": null,
|
||||
"5ZDD3KPTPGE2CAWR3MTFUSBMGQAS4ZP5WZKXJTXUNFSYABD6": null,
|
||||
"XQ7TMN5YMQLAND54B4VIVWJAHU3TNZKT2S4SVRW6WKHNJBX2": null,
|
||||
"O456GV3HBAWFDQRCECX6HY3PBTP6WNQIDSKVP2MZIPV3TCBL": null,
|
||||
"WXCN25EBQH5WWN2JBHWNFNDUTYSFDLIAOWO5AE6D5HDO7VNE": null,
|
||||
"THO3I3KDRIMTD6DKNIETIOWDY7FXQ5GJ3P2KUQJWYAEL3LXV": null,
|
||||
"7OMI7VIOKFRZATMNLGIWH7ZBDARZ6ARXIAH5S3GPG5KV52IC": null,
|
||||
"ESUPY3ELKCEGFRSYFGPGFBJOAUGXMYZ6XCWXDFOKHBJHNGVR": null,
|
||||
"TNXSJIEFJLUFUDTR2S5LV73PD6ACFYNHOCRZPUSDPXDD3B7M": null,
|
||||
"T6TISG6P4W66F37634QU4BNJY4RZ77QXXNPGTYH5LCCRDSX6": null,
|
||||
"QTVAA56JKNDYTMV7DXAIL4QVLZPW3UHGLTKDI2BED6S3MGDQ": null,
|
||||
"DTJREAQBCS6I2AJ6MOGTPIXK3ADB4BPNDIHI2YSQP6Y2BMH7": null,
|
||||
"XDGH2OYCTAJ75IEMZ32O644YLT73PRYDORFKBLYEMCHOQ7Q6": null,
|
||||
"4KDDQZRBLNS33DRHZHDMENCWGMNFEJGBZJXSGIQW7VBWOTHT": null,
|
||||
"5KSH3GKWFNXV55KI2FPUDSD57O25N52UTZAAYDFVMFUSEE6O": null,
|
||||
"7AGEUBM5FQZ2JCMUSKTEI6COA3Q5CE5WYB7TP2F5OX3ETMTK": null,
|
||||
"HFHZ5ZE5TC45W4WIF6H7ONTHXKAVWRY2LXN2GN2TXZPIP6PQ": null,
|
||||
"S3U2JJBPKZHZNOM3SWVFQ7OMS7F5M2KDJHHHZKXHZXQRNUSE": null,
|
||||
"YHJBGJ6T6A7PMK5AYXDITDV37BJJIM4TP7I2XHSVYN76724O": null,
|
||||
"TH42A7M3645OUKC54JQMDB5BTGS3URFUCYJ2VOEM6IAGZ5QQ": null,
|
||||
"OYBKULFLWL2MER745QTDL2X2HJNR77QGH2M2P6TSCHVGUJLV": null,
|
||||
"JDU37GHQUOCYA5I5LFS3WAEKKR6C55XJCCLJCCCQJEGUJEP6": null,
|
||||
"CB5HEJZNJ2SWZM426TWIWLHTWAPWPT2AVVHBILEVGFD6NPHI": null,
|
||||
"D4A5SJA2VRB4JGJFC7PHT35S7XAMHPZZ2PZC5YYVV7RLKSUQ": null,
|
||||
"BBVT6NRRU55KNRK5G745FNMZVIFHVZJICEMODF4ZBJFQ3EGL": null,
|
||||
"XBV57OEMT4GYPTTH56A6XKF2ZPMXSMHY7L3LUIS5ZZWRP2OB": null,
|
||||
"GTFJ3NP4VJR6HG2DRNTDKVIWTMIALYUQIQTBJMKVM2I3QKGE": null,
|
||||
"77BMBFMRGASXE5XXT6BRH2DRBNJMIAUDDMEXIJT3RMHTUPI4": null,
|
||||
"FWZZMG7I2JWAHX4LBYAK2G4L4TZYLHXMJWIDGT6JC5TEBCPJ": null,
|
||||
"J3324OXU2BG2NGFMSOYMVKXE6OEJNGENI7EESHDSEWSUVDVV": null,
|
||||
"C636AVNC5C5EKILXT2AQPXYLSNH7LCAJKVDHP67MVHULFSQN": null,
|
||||
"OXTDOQG2VIEVYFC23SKOBSSPGE55AVZZADK6PIHP3APVPHND": null,
|
||||
"JLQVKV4Q2BQHK355NQXZVX4WJBPFOWSD7WIJX2P433KYO4SO": null,
|
||||
"E4XHPOPWH3PRCV5MGQHR3BCTKZMOK46OH4Q6STZDPF2FG6SD": null,
|
||||
"J5IP4A3DV3BHGGU3J72JVVTWNIQOLNC6GQES22MVATK5H7BZ": null,
|
||||
"HHCCDMLNGOU2ABP57ION5TC33UF3NUHL2L3WUYCGZDWLDNTL": null,
|
||||
"54Q67RURG4THOANPT3RAVF72TGKJE425GC5GD3EOKPY6MKVW": null,
|
||||
"TG3BH3HBKFEXAUM5O67VVDTXZA6MHWSVNNLXLXIL2SE2ZEDO": null,
|
||||
"Q5KJ25G2A4CWNGPPYXBZM6QVYA466MQX3HCUMUO5Z24D5JX3": null,
|
||||
"QQZET7VFHGJROUQZSWSRDI5ADXVH26KEPDVL6PZ36ISHOKMQ": null,
|
||||
"KWNJME4V365ZIC7SA7BYCVQUAG6URC2T6MHSO3OVDBJAUPFB": null,
|
||||
"XHQYKGYVLE2PFNXQPD4OUWBASZO5OFVZISCVEFTU6K6KDKHS": null,
|
||||
"Z4SPXMJIAMYD2H4U4F23FALBDZP6NRLUBDFU4PRGZ4SXGTI2": null,
|
||||
"HSCK3PEXH3I3XMMEMIHTM7SDJD3GOKXUMCGOL6UXJXLCSCGN": null,
|
||||
"BIUYMIDY4EVGRLZ6OLJK2CE2FS5TTELIWSEA6UHKUDUYX5LM": null,
|
||||
"IJJDLN5ANXTMX54P6GW2J2EJGGWG257YEAOZMXUSWK7D76LH": null,
|
||||
"CLMTO3VSAOBAOBSA5IGOO4W7KEMLOFUOIR564IBKMJA7RWEY": null,
|
||||
"JU5DNSHLUW34DT3IQ36JBV6M7EPILLMBALURDAB2KJXF6HQB": null,
|
||||
"VXZXWLNQZFJPNQVPTOFWUPLORZD2XRAFXRVRNLUYTPBO22U5": null,
|
||||
"HNACM55ZSGJ2FGRMOTXLVVLA32BC333QGC4HFCDSZ335YA4N": null,
|
||||
"6J5GIOVKU4PKHHU35DWL3D7GTJFF75FF4FKSP2HPGJ7SQ2DP": null,
|
||||
"O3NJM537IQSKKWM3K7EOQSNQDTR6XKUA7ZR7CWYHYYLHKH63": null,
|
||||
"B4QMXK2EAR5E7KGHLODCP56DX5HW7IQVXWHFFCZ4SPSSNGJK": null,
|
||||
"A5AUZBXKF67OXO34ZSEGVXI5PAIG6W2VG3U5C2Q72SNWYNEI": null,
|
||||
"ZGDQ2AA2IFBSU3APKAFL5AO4C4DXY2YBEHXE5UPPVCTFZ36K": null,
|
||||
"N3XZ5FYZEO3ZX37OMUJX3PIWEEV7TVEXX64KKEZEJICKXMTB": null,
|
||||
"3EVOEEWTD7OABLQJIJYLOSVHBS4SB6QGX7GPDFGWI2DGAWKR": null,
|
||||
"HNAEL3D7E2S7IYLKLIK4CGI56DRGAXA5S6KG3RX75PMJ6BVI": null,
|
||||
"VGVW32CIRX3M45J2CPCUPPHNRGNG55MKAU7YF3CDNMGONW2T": null,
|
||||
"QV5MW2W6WQSHNC6OYMWJAWEQM7LHXRMGWCJ7RI5WQ3JGHARW": null,
|
||||
"IND2PUTLFWXTEUY4MMEXCFJA7JN7DODE5HVWC5CL5ED5IEUB": null,
|
||||
"W2IA75XHJRBRKXLHGB7LXD7ECYEZI4V5N5I37UFXJMFWQMYR": null,
|
||||
"AWTZO6OG6TCOUVYYJCWVP2JYEXRXZ7S7F7QKUKZS7JLPKN3H": null,
|
||||
"TCARJATK42Y66SPMGOZ2LHLT2ZPZW7MHGXL5IVTS272FJV4U": null,
|
||||
"XVHBOY5WQDOTWXVFZYQKZ6GNRWMITJDDLXSJ2T3UWF6PFOHL": null,
|
||||
"CY5FGDYLB4UFR4AJRGLGPQT3W3OERGCXC4JHYKJ4HKSFTGK6": null,
|
||||
"B3SJGD67GKIEAOZISX7HWENPDBYJHNJ47JCREGXQ6G2RXPUZ": null,
|
||||
"LWVJYH7M5KXMLPFAHTMF6FKT3PSIW2GRC37AHF65PQY7OUE4": null,
|
||||
"UUFKWC2DOV4ZQHPDPQPRCBEYNAX6OFZ7ZVJNYGW5YZCMSQIS": null,
|
||||
"K5EC26CUN365DZ3LE2NHOINGZHXQ752A3VTPN5IMSRYSTOMT": null,
|
||||
"22RV6RSSZIAFXOZIRAWJAIMMVHYWGL2TY42U3TG2SPFN3I6P": null,
|
||||
"Q7VEOUC52OLXL53CR4XQSGGR5QZ2QXZTRCBACHQFP2HKN4SZ": null,
|
||||
"OZ2ZBCTBC32VOHHBDABY2U462OHUEUS724RUS7Z6TW5K5ZFQ": null,
|
||||
"EYXYWTX2UYI6MUK5L65WSTX2FDOJASIMG6ER22NLABNGAEMI": null,
|
||||
"U4FJU7RQMXXDMHG7B5WFLXCZBNE5PMV43CE5X4RJSJUABT3U": null,
|
||||
"K3T56AL7IXTAGTVIWZHYRKVPHLLD7UVHV4UNU76F764VGY75": null,
|
||||
"U2BRKWY2RBYV5S3XVZTUZXT55CXMB45KDMNFMVY6LENW2DH5": null,
|
||||
"YKLPZ7SDAG2O6NSJFLVGFVCYMY4WZKXQGHH7OO2BKGGVLQNP": null,
|
||||
"WSC2BHA7H6Q62HJIIGQFX2OU64QX4AEU2RZQVIC7LSIO2JSJ": null,
|
||||
"QIFNFKPJJCYPITMAYDAOEXBVEDAKBBR3DV5ZB7DAVBIAWI5K": null,
|
||||
"NMBGIDIK3BMS5ZPZS6ATTID5BOAXZAH2VUED52JSC5XGI42P": null,
|
||||
"LTSG7BGZVBLLXM5U2QDW5LNNPM3B5EQZPHES7JXU2EAQG266": null,
|
||||
"5MZMVLLM7YHR4PTQCGDGWFQQLNN532WMTFGX5CFTDURBYEOH": null,
|
||||
"UOMT2ERDBVXC3LRYKCVVUNROBWPGFHFWKFCW65HAPXN2H4FD": null,
|
||||
"RFYZPAIVYHTITTR5AKOBAMYKOA3VSKRTK4P4ZOS7JFSVEY53": null,
|
||||
"QQJGQV6BSW6PL4DZGQDWWVTF7U5MEVPQABOA4IRP7NOD4V4V": null,
|
||||
"EFOSJBHVPSGTB3O374JFJW6MVW47ODOZQNKYSWHR5W6UZECP": null,
|
||||
"YTL42MLIGIUD6Q3AMVMJ6ZMWNSXSUWCKV4ZUQWSGTEOATQC4": null,
|
||||
"F5IL5OV3Y6E4QEE7JMQTKV6ULJ5AQQKQPZ23VXK72AV2P7XG": null,
|
||||
"AZEV37T65EWVWQJSISCHTYHLWRXWCR6XD4LJ4KFLJ6RAOPF5": null,
|
||||
"T5TAAFPNZLVDYHSNNHIJW4KBZWNFT5CMIPIWW3EFKPU4REYG": null,
|
||||
"W326OLSKXRLU6MEIVUTKFFHFGXEH3VM43F353L3NHQP6HE2Q": null,
|
||||
"MIIUZQ4KGTLA66VIE7WPN4T43SR6Q42YUKWEP6467AYWKU62": null,
|
||||
"AXSJHLTL4FXCMLLJTQS4HIBRGUY6ATR3GZPV4MGXLWNFHDYU": null,
|
||||
"MC2CMWSKD2HMTVIWCMSPZWHEGW73RWEZKU3IFZJM33IW3VI6": null,
|
||||
"ZGOZHC22WZN6LSY3KK4HK6RF6F73VWSB7U47KZSLTYOQZAVH": null,
|
||||
"HU26VJYM5YNEXCOCWCVEQNNZ2WAPFEVYK67JZOHMSZIOUWJN": null,
|
||||
"6ZA46O27SWCAX5MQUHZYFV5UNQUDLZG4LDA6VILK6YRQMMZ5": null,
|
||||
"LMGGW3CAN4T6DSVJZB46LOBI6KTZN7CKHNZ6BMWRBL5PVYXX": null,
|
||||
"RZKIP3F5SY2P4NWANAQZJHPH34CU3GMQ4VCN4QXMP7ZBSQ43": null,
|
||||
"CMUAX53FME5Y62VC7T7ZOUZMOPHBDFVLMVVMHYDDBZEHMOOA": null,
|
||||
"ORTA47K5MLIHEUXQTFFTQNW2RMYQSTVDJXUNIF334SAJJYMC": null,
|
||||
"XEGLAWIOOPE25FDXHN65P4FYJVB46M4NGGXFAWZ5VDWBBMU4": null,
|
||||
"WZGXOCCN6GENKYYAYCH6UQD45BIPSYMQOZYAYRU3S2JNJLU3": null,
|
||||
"MXDDSZA6VTTYU56ONDE4QZMB3L2D7A5SCRCIVBYYVIKFDFLU": null,
|
||||
"JJMW475CTRXRR4R3GEZ77STHMKHTQZYFZHFUFXEB77SV2W3H": null,
|
||||
"J3TNJVNF7QSTIJDEEZMLTQECNOES4PXQALSR5ZPYDTIVVKUB": null,
|
||||
"Q5EHPI6GHPPZBATKHYYEXNDSYMW6QVAVKKHC2XO7RU7XXKQ3": null,
|
||||
"B6WGKJEZH7XBZ4VFFRCBFYKC2Z2ZQXMY2HJQUH4LVI3EDMMU": null,
|
||||
"NZ737IT3LUIMH56R66WFETEHFDOZSNVPTHMQTW3JHVTN562C": null,
|
||||
"B52PWLRNPFN73AA63O6JFLEYSPFQEIHQ6AI6YC7KWOYFE5OW": null,
|
||||
"7UTTRFE2I5WB2XZA37L6F7RWCII6S6HLXZRTLSJYFOENAYPI": null,
|
||||
"TJJDGG7R4RNVAOXWRZRZB5K7W2Y6XB7LUYBDOY6H5IDRM3ML": null,
|
||||
"TOG35JU7ULNRY3DE2XYDZ25WZETRSO5WSFFYSZT5IIALO3ZP": null,
|
||||
"2QZKK4CMZNIKUWZZB22ASDR2BYNRAMTNS7MVLBA7Z7RDKZDV": null,
|
||||
"US4C6FXHKR4GCRU6IJQHSAJXLNQGUDCDEPEQDU5C5D76I6XX": null,
|
||||
"QOPUXM3ZKXTPVGMVVDMUZZ75KH2S7DKYXSFCQ3R5RYO5WP2J": null,
|
||||
"GZ2T37SKRE3ZX7FARFWWF3WG443LVP5X6ENDLDHO7GBWYHHM": null,
|
||||
"VSOOUSBMGIPEVAPYAGWZOLDUW5HSTRMTBRTUYLQNHKVUBLJ7": null,
|
||||
"45HJFJQ3YKDBFDZPNDO46YT7DLG754XZWMGJQ7YPJXQ4G4N4": null,
|
||||
"4KY77KV2OWWFEVIBSUZRGZF2V47BEFFHIHNMAQVK65E34ZF3": null,
|
||||
"NB334WI2DNPLWHGXBNHSU4436ZYDQ4D2S3JMLDOM35QINZTR": null,
|
||||
"7K23M4FJGIQFWUMPRDZIK32MF7HZULYYSS5Z7N7QTEJGET3D": null,
|
||||
"ZBMNFKSEG2PXKJZIXIK2MHJQ2ONRJUJVCDBOCHNERPGMN2NQ": null,
|
||||
"YMCOX2NMBDL4J6Z7JBEWHFSCWON4ZSBSBU2WONEYYOYRA75K": null,
|
||||
"GDOVKPAWZFHLAPQ5YHCFWL4NAMC5G2DDXFWUTR27XQ7LEOOQ": null,
|
||||
"CYBYK7ESXTUUHYQVPMDI7VWAZO5TVGLIB3GB7NYRYVDLMYKG": null,
|
||||
"4IYLX3IDNUJ2DWT4RM3QJ3IMVE22X67EW5KWSMZHIU4W2W5B": null,
|
||||
"EBWXJZ3PX7LE4JNB2XWJJNXL5QBVSJQSXAUJMJ34YJKR3JJU": null,
|
||||
"LEKOXMXHU57JTRZUKMCW4WDCAKEOXPHJ34ULXN5P6DIEOYLL": null,
|
||||
"BESPMR4LBE3G4MTWR22CVBYH6NW43HO4ILTSV3P543JZUBD7": null,
|
||||
"5SYIBXIHGJGE4WHL2HYUNK3X4JUGOJOUMKVJMMXSQDKJZHFJ": null,
|
||||
"XN42HP3QOV34GMJA5VINVW3O7KWW2GV7VDKAZDFBCC6SSHNQ": null,
|
||||
"326BDEDWGYW3IMEHP63I6LVGSRMS6DUUNMPY3YVWXCH3YA67": null,
|
||||
"FYNTVFBPC37FYGOXFIXJP57FNX5MYDGUWIMUYMFOJSOXRRDS": null,
|
||||
"7DRCBIQP4EXAVNEMWOZHAEZ2W2EIMKD77PH6JJWP2BDN6NFN": null,
|
||||
"7Z7LWVFB2Z26EVYZPLQAOQ7LXLADTHUA7QGKDRFLXRQ3ZJUX": null,
|
||||
"EOZ2S4T75U62LD4QUZNTOHP7SNVJUNNSE7WWGHCMC75O4XPW": null,
|
||||
"TVG4ZY3YVNQV7WPZ2CEW26QTGWUBVJV7FTRF4TE54446J5SI": null,
|
||||
"MQ62OHPXMGGASRXKOH5MEVGLYHKNWBT3DC7XSXPXFHFXFO5C": null,
|
||||
"MBRTEJLOZ6U43EOO2IS3AHNDCT7WUEK4XN5ZRMTPBKUFXUWU": null,
|
||||
"24WJGDPNT4E7SQT2IBSTHJGYBMEBKS7VPGJYBRRAT5YXNBC4": null,
|
||||
"3KD7I6FOTRB4U2JBT7CIJOPD5XHFWHESYJJQTQVUQ3IGIPVZ": null,
|
||||
"25XHQ7A3DWKVDBX2ZFNIHKOGJCXY73N4Q6PUBEWGH2I55XVP": null,
|
||||
"GE3YTUBPOT5CFJU2LQVMZVC67NFNLXVWNTV4ERN6BHVGCGYL": null,
|
||||
"VXE2WHW6UWRE4WYTAVFAQ75IBYUPNZVMHJC44DGDPIAEOVVE": null,
|
||||
"5JRWFOAEX5TNCAMYGF44C72EWF5NTXIRSVST5J3N6N5SLGFF": null,
|
||||
"TYNIMWTDY2D565BJUNMFXTJHBUMWOTD4YSAFILKXPKX6FKRO": null,
|
||||
"RDUDIY6N4RRUA6YEBBBFPBNYFZQUWRVURNYGJPEU6EHJA64H": null,
|
||||
"MMRLX63PFJLWBJUTXCSLALIGK5YOHTLAY64WFQIYQJCX4QID": null,
|
||||
"P4T7UPQNUAFMAJ3G4KBRHOQP5GCJP46XXYKPTTENUI36YQEP": null,
|
||||
"VNAKVK3A4TN7WEZAJBJVMUVIKIUWCNH7B373DP7WAM7ZXYDD": null,
|
||||
"VAPNA5BJL7OF7VRVSUEFAG6RZWENO5VOGMFVN6AB4A7H4VU3": null,
|
||||
"TLVHDKN7326OHNXMBBJIVQW5FFFGPXSUR2IVTMPLOLPPJQW2": null,
|
||||
"LD4OK3CY7MQGHUMQOMPAJY2NZUASJLSLWVSIIKIYYYAFYHIK": null,
|
||||
"DXHC3XJCJJG2SMU4O2HDPMJHO4PNNYGIMLB5KSCQPNLBAJER": null,
|
||||
"SANGKO55HOXMBC627JYHVBE3FH6KJL74ITOVF5GYODRRMEMP": null,
|
||||
"TOQW7HYYWSFH3NKL7SITPX5H4HLAH7BKL35ECCAILLJ5B4TA": null,
|
||||
"WUKAWAQHSBKAUAYEQ4UA5PKFB4676VQNQFLXUIX6UCDFZ472": null,
|
||||
"BDU5VYNLNHR6HOLMZI4XSDERPTMVJ4LBUX5XP6W2BQWH3NLR": null,
|
||||
"R6BT3RGKODHZN2AEX26XHNSLCHGPGMQ7IS2ONRTZEPJECW7A": null,
|
||||
"E7Z4FLW3UW2ALRLPSMHQWJWBK7VWS63H3AUZZL6LHCIG3Q5B": null,
|
||||
"FUZAITDO5EH4BU3ZAN55R2RQZ75LRAYI4X3MEJKJD44VHOT7": null,
|
||||
"7SZ7VZ5O2OFPJL3K5JJKH3C2ZYAJCWW5GYXSLVFHRRATZDFA": null,
|
||||
"6H7VKVPSP4MHB6P7H5KLQQN3Q6ZSS65OMK6GJ3JIUMHQINMC": null,
|
||||
"QNCN75MNVAVH2OQR3JE53SGCKLXPSB2XBTZ55J3AX37AV5HT": null,
|
||||
"JCSYRKMHDGVUVZO65VQVAV5SGQS5IRS4UGFNFKMYP6CXMHXN": null,
|
||||
"JXX5VCQU2Q73TK5ICSFX3QIGA6E4IFRTGKPZZY32UTB2RY2Z": null,
|
||||
"BMUAPYFGRJO7ZQAMMSSEADU2RC3LPAAXTORXLSIUCXCSSC2P": null,
|
||||
"3SPFCAR2V2PQA3RWOY5ZZXI2V6UEUCZWL6SNCGEAGNR2JQZV": null,
|
||||
"KUW7Z4ZHRUX6DI6Y3ME7A33SXUAQPXFAHRG4IEU32ETMGTLC": null,
|
||||
"64F67UZGQHZUXLN6HCATAAX2FUQNK2WVOEJGBQ27H5DVZFC3": null,
|
||||
"GHMJSW2TE6E3JLFDD7T6FI67HBDHNDVLGEKATAO5G33TID57": null,
|
||||
"6BZEOJR372ZLNXUMEQQUKHHDCAOE5W4YDT3VWGI3YYPYDC5R": null,
|
||||
"62JOKD5O25I7DBDFMM2BRQP4HI2VJTUHMEF3G3C7JFJF2VNL": null,
|
||||
"NEF5ANHSBNEXLOP7FFH7ZVHPDOCHQQ6EYOG64JDZNIHBT44L": null,
|
||||
"ZKLJACJIQT6M7KUY3VWTMQ4WD7RETAWN7LDUB7UQA3NZHZLC": null,
|
||||
"VBZVHDFHE464JTYWCLYNAA65RDMVURJHVZHWRL3IKTNT6AH6": null,
|
||||
"FHBYZO5SUBQ56J72DWYOUZSDKXE3SKDRWBEGLQPHWUGVSW5B": null,
|
||||
"HHWRIAY52UXIOIKQOL3PBERZFDCQXAAUIDT4RTZF2VETEY3Q": null,
|
||||
"JALKMRCQEIXX3JPLOACUZ2DKA5I2RWSSSIYDVSURW475XHR7": null,
|
||||
"IMQUFG6JBGWA7R3D3NRMJNOF5MKE2NU4H2LAI6UPIHUEY2ZD": null,
|
||||
"GWSUUFLKG23Z4BXTLB2HJHYVRWAWHKV5MA5RVOEE77Z65ILK": null,
|
||||
"ILKEEWZSHVZSQ5M5VAZH6MJPBVQVV63SCQSX73YGTOQZBFKB": null,
|
||||
"TBU3SS7AG7QISWIK2KKNE77ISJUEVH3ZV7QZJAEHLMAOUCEZ": null,
|
||||
"EPN2PRVPXZGZ6WRX5ZMG6UPIM2V2NEA4BBC7ZDAIVCEKMHR5": null,
|
||||
"Z7GJAUSWDAH2JUMVX6IZB2PRSIUHYUKXGKJDM7FXVFDJNDUU": null,
|
||||
"APOEQP3DLJGKFU7424CJJBFDTWODGF45H7HSXT3GO2UC3VCI": null,
|
||||
"LCYBWI4HYCSVGBSWWDJYDCWQZGJP2KVSXUUJBO3XFUWOS4SA": null,
|
||||
"KOTWM653HSOQ2JHNAZGZZA5FGBBJCCBYPDVDE7WDXXIHTULF": null,
|
||||
"TIPJO4GHBUJQKWKVHK5RF2NI5Z6FAIEBGFPR5L4SSCLS6IE6": null,
|
||||
"QJZMGE4B6UPJ35KTTNIAHWTFV7DFQZ2QMF6DLHB2AHZQ45CD": null,
|
||||
"SDV2RDMAXCYWHJJRPTEIZVE6SJST7KQJB57AXCWFVO54E2GX": null,
|
||||
"4NW6WJDWXCXG2TS24H4I7WF2IGROPO4UBN2HJ64M3CWBU2M7": null,
|
||||
"GJPMFWNBHZ63VB5XWIM52UO22ANEXDYLHTF24LGBC7XXI4SH": null,
|
||||
"I3TPFLVZ47TOOMM2G35JFQAYHLAIU3OXV4SXZEP67DNGYXN3": null,
|
||||
"QMPKHHYWWSV32R2LHCWFKBFDXUDUXTZ7FRZK3TCF25CSFNWD": null,
|
||||
"J3C6XZSMIXH2SQMBUEVWEI6UZVX2GJZCAYSPD74BBUUK45RS": null,
|
||||
"WHK5HZ42VH6IJ4U4EUKKVLRAID2FH2YISR7IV6FMNHQPPSH7": null,
|
||||
"C62NUQB2FUJTY5VRNI6ND26FXCUVACSUTTR6NZMNQPYK6357": null,
|
||||
"2JXXJE7WN7QWO6X3ESQCSDDBTZXOY43L5AODQUIR5P6Y4PZB": null,
|
||||
"FQVJ4Y4GES3RGRABQCJIDIYEUNTIGETQ5EOXW25SZSYNJENT": null,
|
||||
"IH2YJNGRU5Y3ODZHMWNV3TIU2MGCNLIPV75QL3JL4I7PH5ZI": null,
|
||||
"RYUBMVYE4PL6JJOSBM57NE2RFKCY2EB3EQR3QU45MJHEX5IN": null,
|
||||
"KRVCQJ6VSHM52MLDNS65PKDYHNBJAHCONQCNLXBD76LDCOFY": null,
|
||||
"W7MB2FYKYWXDXNOKVWJW7TSUANZIGE25NABNIAK7VLPLKQQH": null,
|
||||
"QUJNQSAHDXMNHKHHIRBEFONX6NRV4NA7NKFRDI72ZKVZXR32": null,
|
||||
"SRQAJHTEQYVNHCJDTYHA72VSYS4FPTHXGPFYP6CQRTEUIWVN": null,
|
||||
"GYQMORZKT4JGWGOD4KBEMUB3XZNUM7H4G5IRA6SYDZOGAPVF": null,
|
||||
"73P37OKSAJ5SWM5NJ2QWCTKPTFNLORRRGBNJWR7BTCRLKNCO": null,
|
||||
"D7YVGR63MRZ5YS3UTCUZ7REPWGB6EMGNI3LXZUDAYBSZVGHZ": null,
|
||||
"JNUZON5EE4CF5UIPXIAU5HKQSBN6O2C3OXJ5IT6HPZMUBXRK": null,
|
||||
"3UMKRHCWRV2WNUWPF4WKESLI6EOHPFC6FOXF2MGP6E7GPKF7": null,
|
||||
"ZPWCDBHEOCZRBAVIQNGRQ4WNKSE4XCXWH3PQSBJWVTMLP6AD": null,
|
||||
"RCOP6UXD6CG5XYUXFXT7HDAWQA2LRA52R2NVABFBB574N62D": null,
|
||||
"6EHQW3VGWSY5MQKBQ4PWU2YD4KKXPBUFJCBEEY6GKOGGGT4P": null,
|
||||
"V72EUDLMYSS47DCO7XIEYQO4S6KK7ME4C6VN6IWLZALPDIR2": null,
|
||||
"EX6JHHNN4R7BQVBTVXYRD54J6BLOJTRHM64QBK3DHUWW37KF": null,
|
||||
"6GGFMOEZN5PBE67AJM6XJKDL7V6X26X3TH2WVOO4X2MEQJKO": null,
|
||||
"LYM2NDKVFTJ2IJV2G5HTDDXFDAAHVHVMVTNGBAOABW4JLB7V": null,
|
||||
"5GPR3EHGCAFLKH4CTOZK3JBHCJSEEFD2Y5GS5Y3B5FPXAK6H": null,
|
||||
"3TVZ6BP47YPHI4HKRIK43AJPRVM5UO736FF7WEXI6FJMTKY7": null,
|
||||
"XDL7LZWG4CIO574WINYHCXMGRRZV5BMZQH6GPTTVPBWGV4MD": null,
|
||||
"OHDX42IVKOGGQVXFE7Q3DKX2HNXGIZRAZ5TVVKQ34BO7UKPB": null,
|
||||
"QHSOVA5SCRL5AK65IALQZWLHPSMLOOHHS6JN3LHDCN7DEHJ7": null,
|
||||
"EI2J32TUZKPKSWOYH7EPPKHISCJ5SPTUFJXENKZJFAPEFQJL": null,
|
||||
"3FFPGZBSH57RTBR326VUSL4G3DELAIPWCCHB77LFG5CBS2YU": null,
|
||||
"VOLJPHGJOQKGKQ3PQGRLYJBZCIF3T355GXCQQKV34USNOXNX": null,
|
||||
"ZASYP4G3K3DX6MMU2CK2P6GJ2PKRQFQGFVEZGTMIRAZBDMOC": null,
|
||||
"MSLOXTCY6MPU6XRGIJ7ZGFBB5J4RTGTEC2UW2LO5MIKPXFJO": null,
|
||||
"DM3ZAC4JV4IDN7ZZ2OLHAUCUEWYTMLZSQQEARJF4JVBUTE2D": null,
|
||||
"KWIXQOXXGHTUPBDCHXV6ET4YZXIDCYZEQTFIRHD7DTMSGZ3X": null,
|
||||
"SOF4BRIWEU5XLSXVFE6IHVVDYG73RK5HJACKPUNFRNEDHRWS": null,
|
||||
"4FECMJE2AGQGN54LFXTIQFZC6ZVJN3LY62YCS4E65PMW2K5J": null,
|
||||
"VDCWL2B5OEDDB2YGM7Y23WLJPJBFESITFU5AWDPUKDUMFPBO": null,
|
||||
"W6VC6MV4GBWJ7IDAX4DQHWJSBUJHJN7ADFJ53NBVND3TXUCZ": null,
|
||||
"Z3TTBMVW3FCTJPLHXITOVK4LPLUFJJY3CIYKJ4QY2DANJ53R": null,
|
||||
"O6N3PZGXI5B6NBTOFPB5WWIRJ66O4FYLSGHDIJLVPT25YPWK": null,
|
||||
"RXCNDGG7CDEMAOGCALTPXWLUL7A67D3JSKOZSZEQBLDW2F3S": null,
|
||||
"XVKBWW7HRXDBW3YXSBMO7WVEUPVQ7LRZ44RVFI27PYZO3NTS": null,
|
||||
"XUSRB4YQDOYJALL7CK2OYFPL7GKI6XOFYHP7HTW5H3PF333V": null,
|
||||
"PCCHIGPV6SWW2O4YRPMFMNF5YVW6QY5IF7JPYAULF5WPTYKB": null,
|
||||
"MHRU7JFEPHHUAULYL34RAEAGBU2ARZG63TGIIS7MHEQUKWPY": null,
|
||||
"Y6EDYRAB7V6NAP57DRIKQ3SB57XBPN7MAWD7F3DM4DKWIAMA": null,
|
||||
"JQXEFOTP5HPBTKL4VAXYCMJFZVGSAM3JVLFJPQ6KHVLCRXFI": null,
|
||||
"U53PDNGH4IKMP4PW6AJV6K5Q43PYB6VUZ3IJVEKZK32IR5WJ": null,
|
||||
"52CB2E7VQJ3JJ2SXPHQZZMER64TM2JQBSW3JMX7XITCNSWDT": null,
|
||||
"3JLBHZFBPZQTO3MLCW6S5N3RIR42N6RGDHMP4U6IO6STOOVT": null,
|
||||
"YTFVKDUY6LHHBY5JBBTT75RYI73Y2Y2DFT5PBMOLEVBJEN4Y": null,
|
||||
"TAHMINQIUDTCEBCJ4UH2PUXO5TYMIIZTH4BX26S4NRMPFD6Q": null,
|
||||
"4VJIQ6FLWV6ONBHRWDR34KXCTHL7HIXSQAF3FAKOMZ2C7QV7": null,
|
||||
"IQWFFVGP6CPSAQWMKA3SWYOXAUL2YCD3EJYRQ56S3VXWAMUF": null,
|
||||
"J2FABCRQ7HZFV4FKZKY2UOXRUO4FYXANTTWL27ANRYY6XZC2": null,
|
||||
"G3TOY5CIOYIELRC2S35CGAS2E36TDLTO5XYXHFVKZNDFQC6F": null,
|
||||
"SDKQB4B47LL6CAFDDYJWDS4X7COKTZOCQ6ELJBL2YF6RHZJC": null,
|
||||
"L76D3LKKTUAWNPDXKTWE7JCFCRFVI4UX6NKQS3CAA2OWVF4K": null,
|
||||
"QVYYK2GQF7DHSJACSOZPOQUCWWIYTRGEWMBIR5RRCV2EPQ5X": null,
|
||||
"UM3PJVMZNDU2GJ6KVY5VQ2HPGMSJKVAQBDRKZKHBPBRCU5SO": null,
|
||||
"RDIJQSPXHAUB7XSQQPOL3CNUR5AJAJEWAFYFSDO5G4QWZQCV": null,
|
||||
"3CAVVDQOCSMOPC54JWKI5ITUIHAOV6SKAIIAAPAAJLBDTXEM": null,
|
||||
"JHLSLTDSRVKDHWRGT55OZ5NC6YHGD35WHW4GPK77VZWPNVKN": null,
|
||||
"6K266T5MHDGFA2XECSFBMTQDEE2C4S45S53XBODESR4ERZQ2": null,
|
||||
"VJVWAFFKWR2KSTFIWGAKDUG5VQTO3BPTI7YFYZWZSBMMQOIN": null,
|
||||
"LBSXWCQNCHYUG5M255T3W72NBPR5MBEPO7DFBCD277HSH4DU": null,
|
||||
"WHJGXILLMK23VGXI2OY76SYJQOQHQOM6OSLT4BWU2KSD3OAD": null,
|
||||
"DVNEV7ANOMDRQDHTEMD6CXCTO7NOY2MQQOLI47U4DDOJ2A2M": null,
|
||||
"TV752NASHG7FG2JOGS5P6QLJ7E4W5NX7F3OYYRPOEFZ2NREE": null,
|
||||
"S4DHHYVQ4RQ7HBAXW5ZKISZMULMLCFTSBFICXNLI2OD7YNF6": null,
|
||||
"HSRHOS56TX6EEDHUZX7K4K6Y3R2UNHRINXWVK5WBWHDPE5HF": null,
|
||||
"I67YQZJ4PXHFWHNHMK5SKUEFIL4EEP5B4BH3TJNHZPQOUXDM": null,
|
||||
"5AJTMUDFBWW3EGM2TH2YAJYXIR6GKM7RPBYBRV6KEQPDDLM6": null,
|
||||
"6V3SAQQC44I3CSDERRKA2533GYIWWHUZVR67JAWIBPJJBDBI": null,
|
||||
"5I6EFWIWLDNJQAZNZN326TUHCUY5YOD4ITIT6NL7LWIK6RP4": null,
|
||||
"NVT5LE35FIT6LKWBI5XZO2Q7CTQBFJ3IOIAFNXI7PGVHEE5W": null,
|
||||
"E5I534XUV7GRNCMHBVFI7FMTSPYBGXKOFVXXSEQYYLVGCASL": null,
|
||||
"3XDVU325YQTEXC7HFJKKKH7CTCCNNJZMV6VRT5GVED7HFKMZ": null,
|
||||
"3UJYDR6QUVSSCRHJT6WWNEHC5OMYXOPL3EF26PU2A5HESFG5": null,
|
||||
"UPRVTQXNXYCZG4JZIR7GZCCYTXR5VTUR2OKAJXEWGATCSIOH": null,
|
||||
"2QLXXZPU57ZXMLJHEYDS6IHFLQHOKANOE5URI2TRNFNSIFUG": null,
|
||||
"JFL3SN7LZ7M4RUZXRTYFQTUMYWYHO4P3ZKBGFDC2GGWZBPEA": null,
|
||||
"SBLHOHHAOCNEVQI3UPBY5S4UKTTIH3DEJEDJHWMJ6VEWWTCL": null,
|
||||
"TIE3GNWA2BE2WGFA7Y3KEHF4IF77M5XHZB3DIQLOE3GG4VQM": null,
|
||||
"BB7XBWIYV33TZGTKHTBL4PDPH5ZQ6X7ZCMHS3KIQEJOLOXVH": null,
|
||||
"6WO2JPOCRLCUSXS7BHNKFBDGFSEXCWYUFPK5SDZJTFJAEJRV": null,
|
||||
"RCJUMHWKL3IBJ4ZVWHK4RCZ4RCVVTMG5ZO2KWZOIVZLJTSMT": null,
|
||||
"YIXCNMIMZBA7NK2A5QOCLE77QFF6QDS7NGIHKMILIUB37EMH": null,
|
||||
"ZSI25IY4L2U7CRPBLOYY5TCSAVG22XHHZFC7JZCRAVY46BWH": null,
|
||||
"HUSGTJENHNIBJ7VSWZPOWFHHKKYH7H2YSP32LLQ2N7CWKRME": null,
|
||||
"WTIJK6LZPBOCIJFBZEG26BETKTY5PJKQK5D3M5WVPWVSV7LN": null,
|
||||
"ITSWONDXALFBD4WMGSMRKQXCVTL7JRKVFEHOAOODRQEFFSWC": null,
|
||||
"IY3RQGYC2ME2TEUBYAQG5WJ7WOAJV5GTO6P3FKXWOLSJWGCD": null,
|
||||
"MDSHVZ5WHCTCYB34ZABEUJJRXHQDKO5MSC5YVTGPMNJRXQK7": null,
|
||||
"KHNSXQTOSCRSTX63S7OVO2LGMD7OVR6PZIGEKL5ZDYPCEKK6": null,
|
||||
"LECVNJKLFT6P2HWX3H7ZC5DKJSSRZ7PWZVBN735K7I45SOX4": null,
|
||||
"HFEO55KM3XH34UWCRYM5CFNQ6OFRAKM3U6TABNQDP74DT4JQ": null,
|
||||
"QZOWC3TAAU67PVSBRJOOVZCBSRIOZCMLPB3FH4GS37WOSTEZ": null,
|
||||
"TSB72AJ4HHOBEYK4CGFX3W4RW3SIECQYJMYISHTPPCGQNLFD": null,
|
||||
"6AB4YKYVMU2PXRABAUBBBF4BJ3IOFKYWBJ2IMFMRVLCBI4S4": null,
|
||||
"E3TI3V725PEP7U2CYZUUKJEBPAHOEI5SYCR3YZCMGD5EGYHF": null,
|
||||
"APKJUBCO5NHY6QBYNA2ADB5TTPLCNZMHG7HGXXOLRBOZD46Y": null,
|
||||
"QKL26OQG6L54OCKFPLMXI6M3EG2HI4EG34D7BNI5SBZG6OF7": null,
|
||||
"W4KKIH4RPYXL4JZY24JWLHOATFNENBMSEQQ3DI7WW4PQIJQ3": null,
|
||||
"4XJPWCDQXS6MSKI4EMFPENOX5FV7KMKKZ77LV6GJ6S7ZBVB2": null,
|
||||
"LWMCTL5CEAVQDT5PEXFKRK7Q264CNVV6AU657OQ3SSPCDGSQ": null,
|
||||
"CBMCT6STEYDOVXT6OW34OXGZBN2A77OGBPDRN5AZK4RXNEV5": null,
|
||||
"OUGRMVL7PTQ3GJNWQ5WP7XXNYBIMVWKSNQ2QZH5RZRDEGUND": null,
|
||||
"XKVAYVNQL7KW5EHGEWYRPSWDXNUEKP3YC3OXGEHKG7PGNZHL": null,
|
||||
"ZLO6BOTXUEEW7UOENY2NVIFLSG37YPUETQBYYCQBJM5VXNG4": null,
|
||||
"QMZJWAJYYE6WZQX3OKY34BPU7ZZN6ECDNIZOIXREE6AP3WJF": null,
|
||||
"B5FU7VNVUSA3ODDEUDVTKE7GWPU3JQXWHRWYGLT6VFKSFYAA": null,
|
||||
"HLHSAJUSHU5EY26UTR2UDJAM3BIHYYHF46MNLTQZJWDAUCDO": null,
|
||||
"N73SLU2EDTPQ54MY5NWT7KPSVTO3TOGPO3DGX4HQYPZMFYJV": null,
|
||||
"7B47MDGTJA3P2WX3KWLLESWTC7RJUSVUSBI42SATEYZVPL5K": null,
|
||||
"YYLWTHMS5POBP3WVX5Q4NXQ77STWJTAHE6QK7GYMBIJU3TSX": null,
|
||||
"JI7Q6GUWUTSJPHKUII5IVOUZ2QQ53EWNWCUM4PKECXWSVSEK": null,
|
||||
"XR4W6GZYNYIDAFU7MWMIGFGF63OLKU4FWQZ4RAN3HWNXUINB": null,
|
||||
"3KX2TVZZAQSYQHLDSWMVZVF4UAXYONTXXFWSGI6CJ56DXU6O": null,
|
||||
"UR6JGWK36D4CU63DYI722UFUKLB2S52ZI4OAVZM7CVGGY3SW": null,
|
||||
"VGQOGZH3H5IAFESOYWHOQGU5FHP4BJAUUK2B7AKDCJX3PUE5": null,
|
||||
"Y5GO3VITRDTHWTMUULEA44BVX3GHVLIWFMTNUY2APWRL3JLD": null,
|
||||
"F7U4AV4VU7YAEDK6SI64JJUNEHG2MEFLKNOI77IVDQS7BGJK": null,
|
||||
"D77762UIMSS52GNAPWFCEEFPWGYLBPKWMBN75S3HCOI2SYCL": null,
|
||||
"NNRBK2PM7FI7MVFBSUUCZVFTDOKXLNVK6I4MMUXU4AKDPTCK": null,
|
||||
"YSGZXEZQRGZ3DSMNCNH6GSWGCRWQSIRD3IOR5E3XEUH5RORJ": null,
|
||||
"P6KRZXZTESTNZHYLZFTDLZMIGIN5H74H2KYUTNRIC3JWCNJ2": null,
|
||||
"QK36OWDC6RHQIASJXU2HZVIBARNIESSCWKICTRQ4B3OFUB6D": null,
|
||||
"JQBWWRLDDMH3HACHKR7EKXFCAAR5E62DX3ALK22Y5AFA4JDZ": null,
|
||||
"WWOLYDEZIQARIEC65MFSVB5RH3236B3E2YSGNEN2QY6A2G54": null,
|
||||
"QT5UVU5QUPEY7VCTTW26JTO2FBUUBCRBYZORWGTYQZ2JZSCH": null,
|
||||
"PJQFD75BGF35X4N33WD423KSDLIAWJNAZUBXQTUGHOW4PTXJ": null,
|
||||
"A5VRG2DRN3CKKTP2DN5YNILXVCZRTKFXWILKWLZ6PNVKJTM5": null,
|
||||
"TY4YPLWS4MDSKPG2HHIRSAWK37LFVB357RGGBRFP2P332HJL": null,
|
||||
"SUC7ZGB6YKDYNAP6NTUZVEVNDL22KBCRZIGAWSOBUAL55LDE": null,
|
||||
"Z5I7WKVA6754S4G7QWWXYTRZ3SGEG4B3KG5MLHP3GJDI3H7M": null,
|
||||
"VLGCWOT665AT2R6EMOAVHNKVM2NKPSV4KI4CMNEUZ2YMI3UP": null,
|
||||
"YJMQW3C2NIIZKTJY34XRL4HQ5A7EUMLMXTJFHHRE3NR3QGZF": null,
|
||||
"TOEB56GVW7OQ7QLL25ZY3ABP4ZQS2ZZMIJRNTILE5CWA2IZB": null,
|
||||
"5RGLCKE6D2MM5YH74OJBDHTOZIM7LN3EIYBLXVF4PGNBZON4": null,
|
||||
"QMQPPFLB6NCEBYCQ5U2YWVYWRKZSFJLCDAAPYSPURDLXAU6G": null,
|
||||
"UTAFBURT6XHHZV3Y5OZJBJJQT4342SSCOLWT35GZIJUPWTTM": null,
|
||||
"XCIXTAB5SB5EMQLZW7GCBUS2N3XU44YELMLSYIFAJHHGP3VS": null,
|
||||
"LWL5AM7Q4JPEDEORTLNDWUF5X4AIUI4QC5S4CWUXKXIWP6FP": null,
|
||||
"M4RONO5HAPE25Q46SSRBVQLEXPCVQLKOKX2NYQWX2SNNGEVB": null,
|
||||
"UVSHBLSXOHEF3AGG5PDTTDFVXNQPRHCNUTXYDEXJVXI7JCPL": null,
|
||||
"C3PB24XOHCI52DU64XQL2V2OKZZYG5B4T6PUU44DZCH4DMSS": null,
|
||||
"VGACAPDUB2J7KLW5PA474JQZWZ6QCDYYB2I32ZFYGXR64M2Y": null,
|
||||
"NNDVFWEC2OE56D5PLJWEEVG25TMXCXISOUOYDOUEMUZRMZK4": null,
|
||||
"57TIZBR3DXRX74YXCSJ2RXLZRXKX3K7H6WPS7DVONX7DOJY3": null,
|
||||
"RFSCST6ITGG53EAZEBXD2VFQTJ53ATEOORQV6SQG5OSDR3FM": null,
|
||||
"YLIXTKYNMODZNBM3L2EL435GD2LRJ5XAJBDZSYCU3OPZ4N4V": null,
|
||||
"FBEPPECF3L4RB6QBQLGL44JDBCQCTQ5MOFYFCUQVNL4DCQYV": null,
|
||||
"PAJST32KEXY6I2Y57OASSUFLF2BLPQQ7NZMVN6EVR7JS5LY3": null,
|
||||
"76MHL43MEQWH6R552TULI3TLBOR22YDMJC5ZYQVWCNI4BWF2": null,
|
||||
"A6KZM4OXBKW2NJ7X545F4LIDSC7LIAFYJ4CJSWW2BWSIRWUY": null,
|
||||
"VND76C7TCKQT6R4X56OD4UYSOBZGC5BQ3LR6RXOX6LA3I5F6": null,
|
||||
"CE2NODHXCRS4ML26HTI77Q57R7ZXKZO433LHHA66I5U3Y5GP": null,
|
||||
"3DGAXWQDLZBPUYZPBGMRZG5DOBPTIHKAXFSCBLMEQHZ2A4W2": null,
|
||||
"NAOTRV3ZNB2PK6RZJZ4UEQVF5M3YISGJNFZQQWPV2S5RL7XM": null,
|
||||
"HLCSR65OBO7BJQPOA65Q6BRDVFPOL7FJII2LOANRJNUM2DDU": null,
|
||||
"YCBI6X4JLTHKGAFR7XYKELWE7JW6VHLMFJIWF2ZC7BPCQFFR": null,
|
||||
"QEF3LB5GFEMHAUDKPPNYGRKUUV6PAWU5XXYCFIHXI7PLGVGW": null,
|
||||
"ABBQK5JKJZLMX4KGFODWSEHOPDTRHGDZCBO3ULBVOGUIAAGI": null,
|
||||
"HZLWUQNBAZJSDZEB6IPXQIUMVWUPYVMVP2N72NJ4MOZFUKGT": null,
|
||||
"7SQCYMGSMYW47TXUWC2J5674L4CRDIAO34D342D7IJ6OE23F": null,
|
||||
"YAQCDYBXIOY3KZGFJCPS5VD7YQBPBFFFYEA4DPWFWJCWCJXA": null,
|
||||
"HCZ7SSO422NW6O3ARCBUGNBCMUVEAHXMVKAJSDBHAQSFXIMV": null,
|
||||
"DPX2FNJNMFQT34DLAOEIN4KMWJYLOEGV7U4VDH635AG6UA5T": null,
|
||||
"QUO6FPOFFXUUKAZXYRN7N2MMT7IOJEG6NLFIH7B5JI5V2Y44": null,
|
||||
"UJ6G5JMOINYVRLVISHWTGQDDDWA6X3QDFICKY4QQIHG3QMF4": null,
|
||||
"ZR3VRUOZMQE4EMVT2WDB45TJ7KB5AGU5UBBPNL2A2D255MOL": null,
|
||||
"2AFEUH4R6YAJZEODKJBMLDM4ANLCKRU2C33HFSVU2LLXZW5Y": null,
|
||||
"3S4PV2VOBFB6GFRPG5SB3EHMZE5M7VAAFRJ3JQYHZEFTEKFX": null,
|
||||
"6EFK4THSCBEG4LDSVE5N5FXSQJTYB5SQ7LKJRBL6IYIREWTN": null,
|
||||
"HHYCWLKLIII7MJ4MYU7CJZ4YPOOUVWOKLXHZV5NT6LU7WWGX": null,
|
||||
"XYRSXFI6XRY3YACAIVIZJAVKFTZPRH5FXD7E4P4LYUGX6I5U": null,
|
||||
"6W72FMK5AP56TNCZ3LE5OTYZ3WYPARBB5AOXDVHGCBOTWZTO": null,
|
||||
"7YNUW4DUCHUDJSSAWSYOYM2QXWTVSJWGDPIG2EAABTU4QLU5": null,
|
||||
"HNVXP5XULHDT666ND2M3X2APGXOBCB7SCQB2D7MFQKKNVOS4": null,
|
||||
"MLCMV4777C55OEVW3SFO4VHH56O7BSIDLZFYYTY3JXNN4DWG": null,
|
||||
"MSNRSOCYC3HQCUXRLCBYFYQOMJFBDOSHJ3HYYYOHEPODETEE": null,
|
||||
"BJB2U3W5ZF7WQVTL6R2F542WSS6FQDSVDMXNYWIC5PHED4HH": null,
|
||||
"E26RFAVZYOV5WZ6WQDVINCGNG6ZYU2XCV4FPEKR45IASGARQ": null,
|
||||
"4BK33GLSBFLRZHOHECAVVYT3LJHSQ5RFBSMKLMGTK4Z5RGZO": null,
|
||||
"5I3526BP3QPLNDBEIPVQL2GOAMRBAYWOMILMQK5IT7RES3EV": null,
|
||||
"IBHOZ4VNFYMLMUNOZIGK743IVASI3DXHCY2RH6SO4EKNGR4A": null,
|
||||
"CCZT4EOMTISCMIVGMB2ZRUGFIR3R6WKU3ISSJ3VZVA6SBLFC": null,
|
||||
"OGJUH7B3WKG3W2UFEBL63KLQGPSPRNIHUUKWTKQMBN5QG42E": null,
|
||||
"Y6JCIA2AYVA3RDOUQFYWI4EMF64H5FIFNAHSKZ6LXCRXCFGW": null,
|
||||
"VX3OCLLJZPGXWTLGERIMK5IS4OXKU65SMC4YS5JZND6VEPO7": null,
|
||||
"UXWF26BRES53JKXYXEG5DWJXCR6USGPBWQBDJEVEBA2PPUAI": null,
|
||||
"IB5SSNMYSFCNB4ODT5OQ2GAGPIVDWOBEI3P3EBWI7AUGC7BR": null,
|
||||
"ASIAQKC3VSFJE7ZW472ZOAXX2T7JTCLZBN5BYEOAE7E67F5Z": null,
|
||||
"BKQ3GY255BDDVZ52IIR5K3NFIEKV6GXBVTX3ROY3IN7XDAHA": null,
|
||||
"JTV5ULWFJJOSFTX32FA6DJWADX5UL3NV4RZZS3Z64IPXDZNK": null,
|
||||
"GSZ7MZXCFKAWFBXKRVYUDULPJEH3WSI2K634LAAA36M2FRF3": null,
|
||||
"HSPTZMNCONTGJGIUWP7ZR277AYWTDIKPAWO4RODOIHQGEUF3": null,
|
||||
"4ABCWRBBUAO5TVOSOZDF3KMCUCKIUCRJSBGH4WGKDHWH3LLN": null,
|
||||
"K3BK4XFUTDJLS7KY4WJBS7RTZ65HY4N5NJ6AMKNKGO3K6DXG": null,
|
||||
"S4VZEKYRNOXUITHJENCBKJN6CC6QV7Y4MIHQ6NLN24OJFMBP": null,
|
||||
"MRM4HMHS2KAISLXU2XYFQCQH7XRVVC3EXSP6JU7FIM2DJHVV": null,
|
||||
"QMNCR2JQYOST5MD3HI2I4MCTSJDFCAGUTEE6XKM2THC4WXI3": null,
|
||||
"ANIF4DT5IA4IY7M5OISD4IW4J2TDVHHFIPEONUU4CV75LOFZ": null,
|
||||
"TQHJIX3NKO5CMVRNOG4WP3YDSGPLTTCRBA3RDBPECWO6EN5U": null,
|
||||
"6KI4L4RRXZ6WL3TRMCZLAA2W7AQRXDCC43O6AGYJ75NUEQO6": null,
|
||||
"VL57QTQMHQOAX5MFQTX7GUWOECHVTLYJHIBRKMWIRF4QMN6M": null,
|
||||
"JFTGBEP2LSZGDDFGV6IV2JAS3J3HB7BDRB6WEYHSC5EIFNA3": null,
|
||||
"WLEZIN5PPCJE4W2LGEPW4N6AWQ4RLE2AOGFBTETY5HNRSZCY": null,
|
||||
"LUJRHNRDNK7YOKST7KRVQGVE2ERU3LUVPZLC5YYLCUAX2EEU": null,
|
||||
"F2OOXAP3FFVMQMJP5IVDLRVV6IP2NUTGT5MGZCJMR2IFNA55": null,
|
||||
"SVL525L4TVBTLMH22DTXVCNECAZVUTMMYDTA3UQGV7U6P3YU": null,
|
||||
"546BD77L33PUPQ7TW3GJJVVJTYKHIIKF7YOO4SSGIIIOIJ2Z": null,
|
||||
"FCZRNOURTDJI2BE7HJ3P4MMY4WYAPFFBCTVFXVTYSK4UB4JK": null,
|
||||
"S2U5XQEC7I4HOUUR6HFXUF2PR2CLNF5UEIPJHTNF2JM5BZUJ": null,
|
||||
"JTQGSOTIPVYKGYJBUQC3Y44RWE372S7MPMFDETMH6OEGUJWA": null,
|
||||
"W3DTWDN6YOEPVUJVUDNPWCLQMXXCLXQPVYU27675LZM4ONDF": null,
|
||||
"LJ7P7AJNNHJE24PNWQDK7J4VGGNZKKR3OPVRFV5A4U6LRFRW": null,
|
||||
"I4QO3SZC4455G5PQIJPUUNI4A2BPJKTH5MBA7LN3HRIW6EFZ": null,
|
||||
"NNR3EXDDDPBTOKTRBPR5SO4OFPXU376ZIEHA6YHEJK57ZRGH": null,
|
||||
"4MBIV5HD4ZMXY5NIKZQIFKFO7S642PC7CWVX7ATXAXWQWNGU": null,
|
||||
"A6S5KTN66UWYBWG5CZXJVCJ2F2EA22BCZDFQMM523DU7VFBG": null,
|
||||
"AOAPML4IEVJZSZUOONTTDYSEN465IHW7MZXHSQ55E47TJ2NW": null,
|
||||
"ZIW5DXTPGQLTTRHPRQB7SADQPCSTXQRMKHZIXA6T6YW2BMRS": null,
|
||||
"OUHF6P7JPB5Z2C2E5MEPNQ5R3NY56KNQFHG3RYGWXBYKRRI7": null,
|
||||
"M3JXOC3CTIEMVHTQW7HB2WQ7L7Q54AWFY6F2UBTSZMDXHTDI": null,
|
||||
"WQQA7JW5NTSAI73WVQMMAJ4IO6OKZR32GTQTMUWE2HLC7DRH": null,
|
||||
"WGDVRLD5YWTXFOFTGBBEFCG455EK3BZCZEE2POAX56O3EOQW": null,
|
||||
"6KAR3LTBYTJ6WRGOUQ2TEPZKWVVBPGCO4OVAN2ADNDNLTOSM": null,
|
||||
"VEWL2DORBATRWF5HJ7LG66NYWMXH37JJU6XWVGJNDVL3OSAM": null,
|
||||
"B4HXCGMG5S3VEOZR5IUYOZAEFL6WPRLXB26SLWZHRY3WL3ZU": null,
|
||||
"REKI5EIO6TNXBWJIENJDQ5CAYEYZC2GXVPAOIWGVXKN2K3OE": null,
|
||||
"RBOY2SVFDRIKJZWTWVEGSJLHGIMAZXIF5HNBZAKPVRTEFR3A": null,
|
||||
"SIOSHIHS52CHIB73RFONJOM2HJBTRLGGDFW6JAWTR6UPJBVB": null,
|
||||
"ZGHKTW43CXC3CBOLSENIMDQUIR22VNXSE6HFBT6ZUA3TPODL": null,
|
||||
"XA576OGJNZK3AXE3FJLSSGN5MGRK4FJJ2XX3UHHFI6NO7P25": null,
|
||||
"22VL7B7ZI53VMYEYHKBI7XYNKRQW634B6RLBRXRJN4CQJA6G": null,
|
||||
"YVHEMU6OLF3FI2MTMZ25QKT5F2OUO3H6CX4WRNEXVH4BO3WZ": null,
|
||||
"3VJOBPUJI5DUFHNRM456UWSAHIZYXICY7ZFYMECCUHDTG444": null,
|
||||
"BXLYOEBYW7R4MWPNTOZ2ZJPDDXBHV7JMH75NCD26VGS2VRH7": null,
|
||||
"GCZOZTTLMHTAKVUQ4TSDOOPHEGK6PH4JQ3ULKZCUIEDW2HLX": null,
|
||||
"TE6B4JOPAY2CEQ46KJV7N6MY7OAI4VA3UBBXGPOELN7KY5T7": null,
|
||||
"62BPAKDHZ7ZRJOMVZ2SX2WAKFQATUQLKDQ7YGACJPL2NP4UR": null,
|
||||
"6U3MTBST24MIPS3HSZJPTBSZJ54T63GMZGZQPGFBS7JGBUVX": null,
|
||||
"SXBYC5BKXYT4DFNVSS4OVRYLNA5JY4TXMVTIFSCRT6Q5C265": null,
|
||||
"TAMMZOCU5GDDOIRG6U53NW3UUEUGI3QWW6YY6GWNE7WIHRNE": null,
|
||||
"O37BSKPNGDUUN24XFSCR2IQHWFYUZJBPWSNC4L43MH5HV272": null,
|
||||
"AZFWV3I3DANXV3HJB66QMCFJ3UTVJGS3R3IP7VROF2D5JF6U": null,
|
||||
"W2BLY5MU4PA7HSENYW4MO6VHHPBXUFCFMSBWTCL5F3BIPBFT": null,
|
||||
"ILFL3JG2XQGZCFBJHZFQRZMLGHZWVRBX3M5Z3HXW2A4GDMNK": null,
|
||||
"O7VDC3EDG5I567RK5BKXMKA2R6XPHQQPDXQTCZP7BHKV5BK6": null,
|
||||
"5ZMIJOTL3NPRKBEPS7542ICCNHHUJ2BNOZ7LSL2ICTCUFGSC": null,
|
||||
"FCTKLPX7PYRSVVBH4KN46HEYLJEYSRTQ3PCUU5RY3BROUZKU": null,
|
||||
"7EAMJ4C7NUA3XMDDOF3YRJA7Q2BFXFCI4J24ZXSVE7REBRFU": null,
|
||||
"NOQ6OL6G7QD4ILQ3FAEMEMROBCK4OK3LX3CRMHMA6GG5YIYK": null,
|
||||
"N3XXFRDRYPWGZ3LDGLIXGLLJYKEHPW4565BUUL67OLMXP554": null,
|
||||
"GFHEEY3HHESZDI2YHTDDCBKGE3ZPWPXW2WE5AKNL2Y2TJCNJ": null,
|
||||
"JTUQIEPPBM2QC6XBY3KP2NSDM6WUCJMORCBXNU6ZPXPOHEIW": null,
|
||||
"V5VTVJ36JZDDO5FIOEZNAKYWPRQSUSTEZAKARDOHQEIFLACE": null,
|
||||
"KUTOUNOS2QL4O6HF266ANCBNYUSIT66TANXCGYALCPZXULQH": null,
|
||||
"CJILUW3VUBZCSO5DXTSE4HSVW5UJAJHHCSHGHADKCQE5OTBU": null,
|
||||
"HD72YVUCR4IY5MG3E73UM35ARFCUIHEPIMUSQXOKLVTT2V67": null,
|
||||
"ELVTZXW3ZAKR76K6IV6ZHX7WTMKPKIFRPHIU3LK67WQR6IQG": null,
|
||||
"NIZTNRLCIS4JDLMOTEAKPA6B2JOE76ZBQDEUUGXENEJBYJFV": null,
|
||||
"FE743ELPJYDYWTJ374PZVE4TNGZPDZWSNUO5PATNYUYBDTBJ": null,
|
||||
"FIT3JHSZMFJ7N2E7BL6PHEUUHSBHU55YBIH763TGSZQTIAZY": null,
|
||||
"AP7SXAQ6HW373QPCHKKA4R7NFFUCD7CFB7EERZBNXRGM2Z7R": null,
|
||||
"BAW6TALQRWXK2OWS2O2UV72BKZGBZCUPR6AXKFZ7WHZXZXWX": null,
|
||||
"SM3FE7H4NI76AS5YCH6O34LTROZKJ7FEP4IKL33JUBI7FWZJ": null,
|
||||
"BNO2EJXVMAPFDVF34NBTPSIYKI3UPFI5G2K6KGVU35TIHOQL": null,
|
||||
"INHCLRC6WPTE2U7OQRSSRGCN4B5K4BUVSGFHEKG5DWJWICOF": null,
|
||||
"OEHWM7QZ3H67QC4ZQY2USKQA62NLMESA543KWPBUKV7N65TQ": null,
|
||||
"BN3U5KDJP3QGOSBX3TH5R2DR6PZA5Z7BEGVG6MYRW5GWUCGT": null,
|
||||
"ID7S7JEGBCI7ES3ZN7PIW5NEP67WTL5H5IB6WVRYS47EEEJ2": null,
|
||||
"BG4MHZNCCLZQN563CZ2D72CPT5TASZZ6N6L4JOW2XPR7GIDQ": null,
|
||||
"IAQKAEEUCCT3ZZY5LCO4AZW6F6ZNGUAF56UCD43OPOKSMBHR": null,
|
||||
"LFCSYYMAFZ5IAB5O4QIEN5GERYIGTH4JH266LORQ36SB2A26": null,
|
||||
"J7W62H5B42N3YUEFS5F2MECESYBUVHXSIGRMZL6ZNQMCYQMQ": null,
|
||||
"J24FG5J3MUQOCDAVVCHM6BJWZW4Y7VCSC73DW32TMKIUOXPB": null,
|
||||
"DGJE6OPBSV3JW45P5WC3EGUMIETVT7MIZX4EA5SCY2F3JKFL": null,
|
||||
"KWTJYJJT2LMBHE6WH4LNJEHNMNJVOEQ7SLLXGJKWPGOFDYHQ": null,
|
||||
"7XZDDO3CCV34UECRKEM344EDKKUFD6YDUJ7EW4OAETABTYWV": null,
|
||||
"BPS2OSY2SOAFFPRY24IEXGZVBEUNVIWZYTVVZRUWT7XM727T": null,
|
||||
"6GRVGHI3FMCQ5MQ4JR7ORANBXK6GMSI4XRQVE35LPH44XROO": null,
|
||||
"MZHRR2BS6HII6JD3H32DPSYTTHCVXE4WSC7NUURU43Z5SD56": null,
|
||||
"QJBSWHFQKABG4CALELT62JWLMW2JVZP35RDYHWHQPZYTIX5M": null,
|
||||
"K2Y3YRBFB7F5PJJUFJDH5Z5NL2MYOQWGT5T5VI5SP7TVM5NW": null,
|
||||
"QLONNH4NMZX5WLEJPQEWJECL5JTLTWDSK234NU5H55GA6PFG": null,
|
||||
"NSSRUR3GI6B7NBK77ZQIIHOA4TEEA5UXVVMRWVLMRIP6SN3T": null,
|
||||
"WB2TXRE7EPSBGACXUA4YE23M4WLMG3PVRMD2OOCIHNGQVDRY": null,
|
||||
"3MDCQC5BPGFGGFDO4C4IY53NPTWZMRK5MWLJG2KX7OWVQNFO": null
|
||||
}
|
102
bin/types/booleans.json
Normal file
102
bin/types/booleans.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false
|
||||
]
|
102
bin/types/floats.json
Normal file
102
bin/types/floats.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
135.747111636,
|
||||
123.377054008,
|
||||
140.527504552,
|
||||
-72.299143906,
|
||||
-23.851678949,
|
||||
73.586193519,
|
||||
-158.299382442,
|
||||
177.477876032,
|
||||
32.268518982,
|
||||
-139.560009969,
|
||||
115.203105183,
|
||||
-106.025823607,
|
||||
167.224138231,
|
||||
103.378383732,
|
||||
-97.498486285,
|
||||
18.184723416,
|
||||
69.137075711,
|
||||
33.849002681,
|
||||
-120.185228215,
|
||||
-20.841408615,
|
||||
-172.659492727,
|
||||
-2.691464061,
|
||||
22.426164066,
|
||||
-98.416909437,
|
||||
-31.603082708,
|
||||
-85.072296561,
|
||||
108.620987395,
|
||||
-43.127078238,
|
||||
-126.473562057,
|
||||
-158.595489097,
|
||||
-57.890678254,
|
||||
-13.254016573,
|
||||
-85.024504709,
|
||||
171.663552644,
|
||||
-146.495558248,
|
||||
-10.606748276,
|
||||
-118.786969354,
|
||||
153.352057804,
|
||||
-45.215545083,
|
||||
37.038725288,
|
||||
106.344071897,
|
||||
-64.607402031,
|
||||
85.148030911,
|
||||
28.897784566,
|
||||
39.51082061,
|
||||
20.450382102,
|
||||
-113.174943618,
|
||||
71.60785784,
|
||||
-168.202648062,
|
||||
-157.338200017,
|
||||
10.879588527,
|
||||
-114.261694831,
|
||||
-5.622927072,
|
||||
-173.330830616,
|
||||
-29.47002003,
|
||||
-39.829034201,
|
||||
50.031545162,
|
||||
82.815735508,
|
||||
-119.188760828,
|
||||
-48.455928081,
|
||||
163.964263034,
|
||||
46.30378861,
|
||||
-26.248889762,
|
||||
-47.354615322,
|
||||
155.388677633,
|
||||
-166.710356904,
|
||||
42.987233558,
|
||||
144.275297374,
|
||||
37.394383186,
|
||||
-122.550388725,
|
||||
177.469945914,
|
||||
101.104677413,
|
||||
109.429869885,
|
||||
-104.919625624,
|
||||
147.522756541,
|
||||
-81.294703727,
|
||||
122.744731363,
|
||||
81.803603684,
|
||||
26.321556167,
|
||||
147.045441354,
|
||||
147.256895816,
|
||||
-174.211095908,
|
||||
52.518769316,
|
||||
-78.58250334,
|
||||
-173.356685435,
|
||||
-107.728209264,
|
||||
-69.982325771,
|
||||
-113.776095893,
|
||||
-35.785267074,
|
||||
-105.748545976,
|
||||
-30.206523864,
|
||||
-76.185311723,
|
||||
-126.400112781,
|
||||
-26.864958639,
|
||||
56.840053629,
|
||||
93.781553535,
|
||||
-116.002949803,
|
||||
-46.617140948,
|
||||
176.846840093,
|
||||
-144.24821335
|
||||
]
|
102
bin/types/guids.json
Normal file
102
bin/types/guids.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
"d35bf0d4-8d8f-4e17-a5c3-ad9bfd675266",
|
||||
"db402774-eeb6-463b-9986-c458c44d8b5a",
|
||||
"2a2e4101-b5f2-40b8-8750-e03f01661e60",
|
||||
"76787cfa-f4eb-4d62-aaad-e1d588d00ad5",
|
||||
"fd73894b-b500-4a7c-888c-06b5bd9cec65",
|
||||
"cce1862a-cf31-4ef2-9e23-f1d23b4e6163",
|
||||
"00a98bb0-2b6e-4368-8512-71c21aa87db7",
|
||||
"ab9a8d69-cec7-4550-bd35-3ed678e22782",
|
||||
"f18b48e1-5114-4fbe-9652-579e8d66950e",
|
||||
"4efe3baa-7ac5-4d6a-a839-6b9cfe825764",
|
||||
"b4aec119-5b0a-434c-b388-109816c482a5",
|
||||
"e0ef0cbb-127a-4a28-9831-5741b4295275",
|
||||
"d50286a5-cb7b-4c9e-be99-f214439bae8c",
|
||||
"a981094c-f1ac-42ed-a9fa-86404c7210ff",
|
||||
"2a34ee57-5815-4829-b77b-eeebaa8fe340",
|
||||
"a0530d44-48f8-4eff-b9ea-8810c4308351",
|
||||
"c6f91509-83e1-4ea1-9680-e667fbfd56ee",
|
||||
"cab11402-dcdd-4454-b190-6da124947395",
|
||||
"283d159c-2b18-4856-b4c7-5059252eaa15",
|
||||
"146157c6-72a8-4051-9991-cb6ea6743d81",
|
||||
"aef6f269-7306-4bd2-83f7-6d5605b5dc9a",
|
||||
"37fe6027-d638-4017-80a9-e7b0567b278e",
|
||||
"5003d731-33fb-4159-af61-d76348a44079",
|
||||
"e0e06979-5f80-4713-9fe0-8a4d60dc89f8",
|
||||
"7e85bdc3-0345-4cb6-9398-ccab06e79976",
|
||||
"f2ebf5af-6568-4ffe-a46d-403863fd4b66",
|
||||
"e0b5bb1c-b4dd-4535-9a9e-3c73f1167d46",
|
||||
"c852d20b-6bcb-4b12-bd57-308296c64c5a",
|
||||
"7ac3ae82-1818-49cd-a8a4-5ac77dfafd46",
|
||||
"138004a9-76e2-4ad7-bd42-e74dabdbb803",
|
||||
"ab25b5be-96be-45b0-b765-947b40ec36a6",
|
||||
"08404734-fd57-499e-a4cf-71e9ec782ede",
|
||||
"8dfdeb16-248b-4a21-bf89-2e22b11a4101",
|
||||
"a0e44ef0-3b09-41e8-ad5d-ed8e6a1a2a67",
|
||||
"a7981e49-188d-414a-9779-b1ad91e599d1",
|
||||
"329186c0-bf27-4208-baf7-c0a0a5a2d5b7",
|
||||
"cb5f3381-d33e-4b30-b1a9-f482623cad33",
|
||||
"15031262-ca73-4e3c-bd0a-fcf89bdf0caf",
|
||||
"6d7333d1-2e8c-4d78-bfde-5be47e70eb13",
|
||||
"acaa160c-670a-4e8f-ac45-49416e77d5f9",
|
||||
"228f87eb-cde4-4106-808b-2dbf3c7b6d2e",
|
||||
"2ff830a3-5445-4d8e-b161-bddd30666697",
|
||||
"f488bedd-ff6e-4108-b9a7-07f6da62f476",
|
||||
"2e12b846-0a34-478e-adf7-a438493803e6",
|
||||
"6686b8ef-7446-4d86-bd8c-df24119e3bfe",
|
||||
"e474a5c5-5793-4d41-b4ab-5423acc56ef1",
|
||||
"ac046573-e718-44dc-a0dc-9037eeaba6a9",
|
||||
"6b0e9099-cf53-4d5a-8a71-977528628fcf",
|
||||
"d51a3f22-0ff9-4087-ba9b-fcee2a2d8ade",
|
||||
"bdc01286-3511-4d22-bfb8-76d01203d366",
|
||||
"ca44eb84-17ff-4f27-8f1e-1bd25f4e8725",
|
||||
"4e9a8c2f-be0b-4913-92d2-c801b9a50d04",
|
||||
"7685d231-dadd-4041-9165-898397438ab7",
|
||||
"86f0bf26-d66a-44d8-99f5-d6768addae3b",
|
||||
"2ca1167c-72ba-45a0-aa42-faf033db0d0b",
|
||||
"199a1182-ea55-49ff-ba51-71c29cdd0aac",
|
||||
"be6a4dd2-c821-4aa0-8b83-d64d6644b5b2",
|
||||
"4c5f4781-7f80-4daa-9c20-76b183000514",
|
||||
"513b31bd-54fb-4d12-a427-42a7c13ff8e1",
|
||||
"8e211bcb-d76c-4012-83ad-74dd7d23b687",
|
||||
"44d5807e-0501-4f66-8779-e244d4fdca0a",
|
||||
"db8cd555-0563-4b7b-b00c-eada300a7065",
|
||||
"cb14d0c9-46cc-4797-bd3a-752b05629f07",
|
||||
"4f68b3ef-ac9b-47a0-b6d7-57f398a5c6a5",
|
||||
"77221aae-1bcf-471c-be45-7f31f733f9d6",
|
||||
"42a7cac8-9e80-4c45-8c71-511d863c98ea",
|
||||
"f9018d22-b82c-468c-bdb5-8864d5964801",
|
||||
"75f4e9b8-62a2-4f21-ad8a-e19eff0419bc",
|
||||
"9b7385c8-8653-4184-951c-b0ac1b36b42e",
|
||||
"571018aa-ffbf-4b42-a16d-07b57a7f5f0e",
|
||||
"35de4a2f-6bf1-45aa-b820-2a27ea833e44",
|
||||
"0b8edb20-3bb4-4cb4-b089-31957466dbab",
|
||||
"97da4778-9a7b-4140-a545-968148c81fb7",
|
||||
"969f326c-8f2a-47c5-b41c-d9c2f06c9b9d",
|
||||
"ae211037-8b53-4b17-bfc8-c06fc7774409",
|
||||
"12c5c3c4-0bd5-45d3-bc1d-d04a3c65d3e6",
|
||||
"ec02024f-ce43-4dd3-8169-a59f7baee043",
|
||||
"5b6afe77-ce48-47ca-90a0-25cd10ca5ffd",
|
||||
"2e3a61d4-6b8f-4d2f-ba86-878b4012efd8",
|
||||
"19a88a67-a5d3-4647-898f-1cde07bce040",
|
||||
"6db6f420-b5c8-48b9-bbb2-8864fe6fed65",
|
||||
"5a45dbde-7b53-4f6b-b864-e3b63be3708a",
|
||||
"c878321b-8a02-4239-9981-15760c2e7d15",
|
||||
"4e36687f-8bf6-4b12-b496-3a8e382d067e",
|
||||
"a59a63cd-43c0-4c6e-b208-6dbca86f8176",
|
||||
"303308c4-2e4a-45b5-8bf3-3e66e9ad05a1",
|
||||
"8b58fdf1-43a6-4c98-9547-6361b50791af",
|
||||
"a3563591-72ed-42b5-8e41-bac1d76d70cf",
|
||||
"38db8c78-3739-4f6e-8313-de4138082114",
|
||||
"86615bea-7e73-4daf-95da-ae6b9eee1bbb",
|
||||
"35d38e3e-076e-40dd-9aa8-05be2603bd59",
|
||||
"9f84c62d-b454-4ba3-8c19-a01878985cdc",
|
||||
"6721bbae-d765-4a06-8289-6fe46a1bf943",
|
||||
"0837796f-d0dd-4e50-9b7c-1983e6cc7c48",
|
||||
"021eb7d7-e869-49b9-80c3-9dd16ce2d981",
|
||||
"819c56f8-e040-475d-aad5-c6d5e98b20aa",
|
||||
"3a61ef02-735e-4229-937d-b3777a3f4e1f",
|
||||
"79dfab84-12e6-4ec8-bfc8-460ae71e4eca",
|
||||
"a106fabf-e149-476c-8053-b62388b6eb57",
|
||||
"9a3900a5-bfb4-4de0-baa5-253a8bd0b634"
|
||||
]
|
102
bin/types/integers.json
Normal file
102
bin/types/integers.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
8125686,
|
||||
8958709,
|
||||
5976222,
|
||||
1889524,
|
||||
7968493,
|
||||
1357486,
|
||||
118415,
|
||||
7081097,
|
||||
4635968,
|
||||
7555332,
|
||||
2270233,
|
||||
3428352,
|
||||
8699968,
|
||||
2087333,
|
||||
7861337,
|
||||
7554440,
|
||||
2017031,
|
||||
7981692,
|
||||
6060687,
|
||||
1877715,
|
||||
3297474,
|
||||
8373177,
|
||||
6158629,
|
||||
7853641,
|
||||
3004441,
|
||||
9650406,
|
||||
2695251,
|
||||
1180761,
|
||||
4988426,
|
||||
6043805,
|
||||
8063373,
|
||||
6103218,
|
||||
2848339,
|
||||
8188690,
|
||||
9235573,
|
||||
5949816,
|
||||
6116081,
|
||||
6471138,
|
||||
3354531,
|
||||
4787414,
|
||||
9660600,
|
||||
942529,
|
||||
7278535,
|
||||
7967399,
|
||||
554292,
|
||||
1436493,
|
||||
267319,
|
||||
2606657,
|
||||
7900601,
|
||||
4276634,
|
||||
7996757,
|
||||
8544466,
|
||||
7266469,
|
||||
3301373,
|
||||
4005350,
|
||||
6437652,
|
||||
7717672,
|
||||
7126292,
|
||||
8588394,
|
||||
2127902,
|
||||
7410190,
|
||||
1517806,
|
||||
4583602,
|
||||
3123440,
|
||||
7747613,
|
||||
5029464,
|
||||
9834390,
|
||||
3087227,
|
||||
4913822,
|
||||
7550487,
|
||||
4518144,
|
||||
5862588,
|
||||
1778599,
|
||||
9493290,
|
||||
5588455,
|
||||
3638706,
|
||||
7394293,
|
||||
4294719,
|
||||
3837830,
|
||||
6381878,
|
||||
7175866,
|
||||
8575492,
|
||||
1415229,
|
||||
1453733,
|
||||
6972404,
|
||||
9782571,
|
||||
4234063,
|
||||
7117418,
|
||||
7293130,
|
||||
8057071,
|
||||
9345285,
|
||||
7626648,
|
||||
3358911,
|
||||
4574537,
|
||||
9371826,
|
||||
7627107,
|
||||
6154093,
|
||||
5392367,
|
||||
5398105,
|
||||
6956377
|
||||
]
|
592
bin/types/mixed.json
Normal file
592
bin/types/mixed.json
Normal file
@ -0,0 +1,592 @@
|
||||
[
|
||||
{
|
||||
"favoriteFruit": "banana",
|
||||
"greeting": "Hello, Kim! You have 10 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Higgins Rodriquez",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "James Floyd",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Gay Stewart",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"pariatur",
|
||||
"ad",
|
||||
"eiusmod",
|
||||
"sit",
|
||||
"et",
|
||||
"velit",
|
||||
"culpa"
|
||||
],
|
||||
"longitude": -57.919246,
|
||||
"latitude": -36.022812,
|
||||
"registered": "Friday, March 21, 2014 9:13 PM",
|
||||
"about": "Laborum nulla aliquip ullamco proident excepteur est officia ipsum. Eiusmod exercitation minim ex do labore reprehenderit aliqua minim qui excepteur reprehenderit cupidatat. Sint enim exercitation duis id consequat nisi enim magna. Commodo aliqua id ipsum sit magna enim. Veniam officia in labore fugiat veniam ea laboris ex veniam duis.\r\n",
|
||||
"address": "323 Pulaski Street, Ronco, North Carolina, 7701",
|
||||
"phone": "+1 (919) 438-2678",
|
||||
"email": "kim.griffith@cipromox.biz",
|
||||
"company": "CIPROMOX",
|
||||
"name": {
|
||||
"last": "Griffith",
|
||||
"first": "Kim"
|
||||
},
|
||||
"eyeColor": "green",
|
||||
"age": 26,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$1,283.55",
|
||||
"isActive": false,
|
||||
"guid": "10ab0392-c5e2-48a3-9473-aa725bad892d",
|
||||
"index": 0,
|
||||
"_id": "551b91198238a0bcf9a41133"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "banana",
|
||||
"greeting": "Hello, Skinner! You have 9 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Rhonda Justice",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Audra Castaneda",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Vicky Chavez",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"dolore",
|
||||
"enim",
|
||||
"sit",
|
||||
"non",
|
||||
"exercitation",
|
||||
"fugiat",
|
||||
"adipisicing"
|
||||
],
|
||||
"longitude": -60.291407,
|
||||
"latitude": -84.619318,
|
||||
"registered": "Friday, February 7, 2014 3:17 AM",
|
||||
"about": "Consectetur eiusmod laboris dolore est ullamco nulla in velit quis esse Lorem. Amet aliqua sunt aute occaecat veniam officia in duis proident aliqua cupidatat mollit. Sint eu qui anim duis ut anim duis eu cillum. Cillum nostrud adipisicing tempor Lorem commodo sit in ad qui non et irure qui. Labore eu aliquip id duis eiusmod veniam.\r\n",
|
||||
"address": "347 Autumn Avenue, Fidelis, Puerto Rico, 543",
|
||||
"phone": "+1 (889) 457-2319",
|
||||
"email": "skinner.maddox@moltonic.co.uk",
|
||||
"company": "MOLTONIC",
|
||||
"name": {
|
||||
"last": "Maddox",
|
||||
"first": "Skinner"
|
||||
},
|
||||
"eyeColor": "green",
|
||||
"age": 22,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$3,553.10",
|
||||
"isActive": false,
|
||||
"guid": "cfbc2fb6-2641-4388-b06d-ec0212cfac1e",
|
||||
"index": 1,
|
||||
"_id": "551b91197e0abe92d6642700"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "strawberry",
|
||||
"greeting": "Hello, Reynolds! You have 5 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Brady Valdez",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Boyer Golden",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Gladys Knapp",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"commodo",
|
||||
"eiusmod",
|
||||
"cupidatat",
|
||||
"et",
|
||||
"occaecat",
|
||||
"proident",
|
||||
"Lorem"
|
||||
],
|
||||
"longitude": 140.866287,
|
||||
"latitude": 1.401032,
|
||||
"registered": "Monday, October 20, 2014 8:01 AM",
|
||||
"about": "Deserunt elit consequat ea dolor pariatur aute consectetur et nulla ipsum ad. Laboris occaecat ipsum ad duis et esse ea ut voluptate. Ex magna consequat pariatur amet. Quis excepteur non mollit dolore cillum dolor ex esse veniam esse deserunt non occaecat veniam. Sit amet proident proident amet. Nisi est id ut ut adipisicing esse fugiat non dolor aute.\r\n",
|
||||
"address": "872 Montague Terrace, Haena, Montana, 3106",
|
||||
"phone": "+1 (974) 410-2655",
|
||||
"email": "reynolds.sanford@combot.biz",
|
||||
"company": "COMBOT",
|
||||
"name": {
|
||||
"last": "Sanford",
|
||||
"first": "Reynolds"
|
||||
},
|
||||
"eyeColor": "green",
|
||||
"age": 21,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$3,664.47",
|
||||
"isActive": true,
|
||||
"guid": "f9933a9c-c41a-412f-a18d-e727c569870b",
|
||||
"index": 2,
|
||||
"_id": "551b91197f170b65413a06e3"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "banana",
|
||||
"greeting": "Hello, Neva! You have 7 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Clara Cotton",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Ray Gates",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Jacobs Reese",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"magna",
|
||||
"labore",
|
||||
"incididunt",
|
||||
"velit",
|
||||
"ea",
|
||||
"et",
|
||||
"eiusmod"
|
||||
],
|
||||
"longitude": -133.058479,
|
||||
"latitude": 87.803677,
|
||||
"registered": "Friday, May 9, 2014 5:41 PM",
|
||||
"about": "Do duis occaecat ut officia occaecat officia nostrud reprehenderit ex excepteur aute anim in reprehenderit. Cupidatat nulla eiusmod nulla non minim veniam aute nulla deserunt adipisicing consectetur veniam. Sit consequat ex laboris aliqua labore consectetur tempor proident consequat est. Fugiat quis esse culpa aliquip. Excepteur laborum aliquip sunt eu cupidatat magna eiusmod amet nisi labore aliquip. Ut consectetur esse aliquip exercitation nulla ex occaecat elit do ex eiusmod deserunt. Ex eu voluptate minim deserunt fugiat minim est occaecat ad Lorem nisi.\r\n",
|
||||
"address": "480 Eagle Street, Fostoria, Oklahoma, 2614",
|
||||
"phone": "+1 (983) 439-3000",
|
||||
"email": "neva.barker@pushcart.us",
|
||||
"company": "PUSHCART",
|
||||
"name": {
|
||||
"last": "Barker",
|
||||
"first": "Neva"
|
||||
},
|
||||
"eyeColor": "brown",
|
||||
"age": 36,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$3,182.24",
|
||||
"isActive": true,
|
||||
"guid": "52489849-78e1-4b27-8b86-e3e5ab2b7dc8",
|
||||
"index": 3,
|
||||
"_id": "551b9119a13061c083c878d5"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "banana",
|
||||
"greeting": "Hello, Rodgers! You have 6 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Marguerite Conway",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Margarita Cunningham",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Carmela Gallagher",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"ipsum",
|
||||
"magna",
|
||||
"amet",
|
||||
"elit",
|
||||
"sit",
|
||||
"occaecat",
|
||||
"elit"
|
||||
],
|
||||
"longitude": -125.436981,
|
||||
"latitude": 19.868524,
|
||||
"registered": "Tuesday, July 8, 2014 8:09 PM",
|
||||
"about": "In cillum esse tempor do magna id ad excepteur ex nostrud mollit deserunt aliqua. Minim aliqua commodo commodo consectetur exercitation nulla nisi dolore aliqua in. Incididunt deserunt mollit nostrud excepteur. Ipsum fugiat anim deserunt Lorem aliquip nisi consequat eu minim in ex duis.\r\n",
|
||||
"address": "989 Varanda Place, Duryea, Palau, 3972",
|
||||
"phone": "+1 (968) 578-2974",
|
||||
"email": "rodgers.conner@frenex.net",
|
||||
"company": "FRENEX",
|
||||
"name": {
|
||||
"last": "Conner",
|
||||
"first": "Rodgers"
|
||||
},
|
||||
"eyeColor": "blue",
|
||||
"age": 23,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$1,665.17",
|
||||
"isActive": true,
|
||||
"guid": "ed3b2374-5afe-4fca-9325-8a7bbc9f81a0",
|
||||
"index": 4,
|
||||
"_id": "551b91197bcedb1b56a241ce"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "strawberry",
|
||||
"greeting": "Hello, Mari! You have 10 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Irwin Boyd",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Dejesus Flores",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Lane Mcmahon",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"esse",
|
||||
"aliquip",
|
||||
"excepteur",
|
||||
"dolor",
|
||||
"ex",
|
||||
"commodo",
|
||||
"anim"
|
||||
],
|
||||
"longitude": -17.038176,
|
||||
"latitude": 17.154663,
|
||||
"registered": "Sunday, April 6, 2014 4:46 AM",
|
||||
"about": "Excepteur veniam occaecat sint nulla magna in in officia elit. Eiusmod qui dolor fugiat tempor in minim esse officia minim consequat. Lorem ullamco labore proident ipsum id pariatur fugiat consectetur anim cupidatat qui proident non ipsum.\r\n",
|
||||
"address": "563 Hendrickson Street, Westwood, South Dakota, 4959",
|
||||
"phone": "+1 (980) 434-3976",
|
||||
"email": "mari.fleming@beadzza.org",
|
||||
"company": "BEADZZA",
|
||||
"name": {
|
||||
"last": "Fleming",
|
||||
"first": "Mari"
|
||||
},
|
||||
"eyeColor": "blue",
|
||||
"age": 21,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$1,948.04",
|
||||
"isActive": true,
|
||||
"guid": "6bd02166-3b1f-4ed8-84c9-ed96cbf12abc",
|
||||
"index": 5,
|
||||
"_id": "551b9119b359ff6d24846f77"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "strawberry",
|
||||
"greeting": "Hello, Maxine! You have 7 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Sullivan Stark",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Underwood Mclaughlin",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Kristy Carlson",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"commodo",
|
||||
"ipsum",
|
||||
"quis",
|
||||
"non",
|
||||
"est",
|
||||
"mollit",
|
||||
"exercitation"
|
||||
],
|
||||
"longitude": -105.40635,
|
||||
"latitude": 37.197993,
|
||||
"registered": "Tuesday, January 20, 2015 12:30 AM",
|
||||
"about": "Proident ullamco Lorem est consequat consectetur non eiusmod esse nostrud pariatur eiusmod enim exercitation eiusmod. Consequat duis elit elit minim ullamco et dolor eu minim do tempor esse consequat excepteur. Mollit dolor do voluptate nostrud quis anim cillum velit tempor eiusmod adipisicing tempor do culpa. Eu magna dolor sit amet nisi do laborum dolore nisi. Deserunt ipsum et deserunt non nisi.\r\n",
|
||||
"address": "252 Boulevard Court, Brenton, Tennessee, 9444",
|
||||
"phone": "+1 (950) 466-3377",
|
||||
"email": "maxine.moreno@zentia.tv",
|
||||
"company": "ZENTIA",
|
||||
"name": {
|
||||
"last": "Moreno",
|
||||
"first": "Maxine"
|
||||
},
|
||||
"eyeColor": "brown",
|
||||
"age": 24,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$1,200.24",
|
||||
"isActive": false,
|
||||
"guid": "ce307a37-ca1f-43f5-b637-dca2605712be",
|
||||
"index": 6,
|
||||
"_id": "551b91195a6164b2e35f6dc8"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "strawberry",
|
||||
"greeting": "Hello, Helga! You have 5 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Alicia Vance",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Vinson Phelps",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Francisca Kelley",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"nostrud",
|
||||
"eiusmod",
|
||||
"dolore",
|
||||
"officia",
|
||||
"sint",
|
||||
"non",
|
||||
"qui"
|
||||
],
|
||||
"longitude": -7.275151,
|
||||
"latitude": 75.54202,
|
||||
"registered": "Wednesday, October 1, 2014 6:35 PM",
|
||||
"about": "Quis duis ullamco velit qui. Consectetur non adipisicing id magna anim. Deserunt est officia qui esse. Et do pariatur incididunt anim ad mollit non. Et eiusmod sunt fugiat elit mollit ad excepteur anim nisi laboris eiusmod aliquip aliquip.\r\n",
|
||||
"address": "981 Bush Street, Beaulieu, Vermont, 3775",
|
||||
"phone": "+1 (956) 506-3807",
|
||||
"email": "helga.burch@synkgen.name",
|
||||
"company": "SYNKGEN",
|
||||
"name": {
|
||||
"last": "Burch",
|
||||
"first": "Helga"
|
||||
},
|
||||
"eyeColor": "blue",
|
||||
"age": 22,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$3,827.89",
|
||||
"isActive": false,
|
||||
"guid": "ff5dfea0-1052-4ef2-8b66-4dc1aad0a4fb",
|
||||
"index": 7,
|
||||
"_id": "551b911946be8358ae40e90e"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "banana",
|
||||
"greeting": "Hello, Shaw! You have 5 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Christian Cardenas",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Cohen Pennington",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Mary Lindsay",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"occaecat",
|
||||
"ut",
|
||||
"occaecat",
|
||||
"magna",
|
||||
"exercitation",
|
||||
"incididunt",
|
||||
"irure"
|
||||
],
|
||||
"longitude": -89.102972,
|
||||
"latitude": 89.489596,
|
||||
"registered": "Thursday, August 21, 2014 5:00 PM",
|
||||
"about": "Amet cupidatat quis velit aute Lorem consequat pariatur mollit deserunt et sint culpa excepteur duis. Enim proident duis qui ex tempor sunt nostrud occaecat. Officia sit veniam mollit eiusmod minim do aute eiusmod fugiat qui anim adipisicing in laboris. Do tempor reprehenderit sunt laborum esse irure dolor ad consectetur aute sit id ipsum. Commodo et voluptate anim consequat do. Minim laborum ad veniam ad minim incididunt excepteur excepteur aliqua.\r\n",
|
||||
"address": "237 Pierrepont Street, Herbster, New York, 3490",
|
||||
"phone": "+1 (976) 455-2880",
|
||||
"email": "shaw.zamora@shadease.me",
|
||||
"company": "SHADEASE",
|
||||
"name": {
|
||||
"last": "Zamora",
|
||||
"first": "Shaw"
|
||||
},
|
||||
"eyeColor": "blue",
|
||||
"age": 38,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$3,440.82",
|
||||
"isActive": false,
|
||||
"guid": "ac5fdb0e-e1fb-427e-881d-da461be0d1ca",
|
||||
"index": 8,
|
||||
"_id": "551b9119af0077bc28a2de25"
|
||||
},
|
||||
{
|
||||
"favoriteFruit": "apple",
|
||||
"greeting": "Hello, Melissa! You have 5 unread messages.",
|
||||
"friends": [
|
||||
{
|
||||
"name": "Marion Villarreal",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"name": "Kate Rose",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"name": "Hines Simon",
|
||||
"id": 2
|
||||
}
|
||||
],
|
||||
"range": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"tags": [
|
||||
"amet",
|
||||
"veniam",
|
||||
"mollit",
|
||||
"ad",
|
||||
"cupidatat",
|
||||
"deserunt",
|
||||
"Lorem"
|
||||
],
|
||||
"longitude": -52.735052,
|
||||
"latitude": 16.258838,
|
||||
"registered": "Wednesday, April 16, 2014 7:56 PM",
|
||||
"about": "Aute ut culpa eiusmod tempor duis dolor tempor incididunt. Nisi non proident excepteur eiusmod incididunt nisi minim irure sit. In veniam commodo deserunt proident reprehenderit et consectetur ullamco quis nulla cupidatat.\r\n",
|
||||
"address": "642 Halsey Street, Blandburg, Kansas, 6761",
|
||||
"phone": "+1 (941) 539-3851",
|
||||
"email": "melissa.vaughn@memora.io",
|
||||
"company": "MEMORA",
|
||||
"name": {
|
||||
"last": "Vaughn",
|
||||
"first": "Melissa"
|
||||
},
|
||||
"eyeColor": "brown",
|
||||
"age": 24,
|
||||
"picture": "http://placehold.it/32x32",
|
||||
"balance": "$2,399.44",
|
||||
"isActive": true,
|
||||
"guid": "1769f022-a7f1-4a69-bf4c-f5a5ebeab2d1",
|
||||
"index": 9,
|
||||
"_id": "551b9119b607c09c7ffc3b8a"
|
||||
}
|
||||
]
|
102
bin/types/nulls.json
Normal file
102
bin/types/nulls.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
102
bin/types/paragraphs.json
Normal file
102
bin/types/paragraphs.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
"Commodo ullamco cupidatat nisi sit proident ex. Cillum pariatur occaecat in officia do commodo nisi cillum tempor minim. Ad dolor ut et aliquip fugiat eu officia cupidatat occaecat consectetur eiusmod veniam enim officia.\r\n",
|
||||
"Adipisicing cillum laborum nisi irure. Cillum dolor proident duis nulla qui mollit dolore reprehenderit mollit. Irure nulla dolor ipsum irure nulla quis laboris do.\r\n",
|
||||
"Est adipisicing consectetur incididunt in. Occaecat ea magna ex consequat irure sit laborum cillum officia magna sunt do exercitation aliquip. Laboris id aute in dolore reprehenderit voluptate non deserunt laborum.\r\n",
|
||||
"Consectetur eu aute est est occaecat adipisicing sint enim dolor eu. Tempor amet id non mollit eu consectetur cillum duis. Eu labore velit nulla ipsum commodo consequat aliquip. Cupidatat commodo dolore mollit enim sit excepteur nisi duis laboris deserunt esse.\r\n",
|
||||
"Incididunt ullamco est fugiat enim fugiat. Do sit mollit anim ad excepteur eu laboris exercitation officia labore nulla ut. Voluptate non voluptate cillum sit et voluptate anim duis velit consequat aliquip dolor. Elit et et esse laboris consectetur officia eiusmod aliquip nisi est. Qui labore dolore ad dolor.\r\n",
|
||||
"Anim adipisicing est irure proident sit officia ullamco voluptate sunt consectetur duis mollit excepteur veniam. Nostrud ut duis aute exercitation officia et quis elit commodo elit tempor aute aliquip enim. Est officia non cillum consequat voluptate ipsum sit voluptate nulla id.\r\n",
|
||||
"Ipsum enim consectetur aliquip nulla commodo ut ex aliqua elit duis do. Officia et sunt aliqua dolor minim voluptate veniam esse elit enim. Adipisicing reprehenderit duis ex magna non in fugiat sunt ipsum nostrud fugiat aliquip. Labore voluptate id officia voluptate eu. Magna do nostrud excepteur sunt aliqua adipisicing qui.\r\n",
|
||||
"Est occaecat non non cupidatat laborum qui. Veniam sit est voluptate labore sit irure consectetur fugiat. Anim enim enim fugiat exercitation anim ad proident esse in aliqua. Laboris ut aute culpa ullamco.\r\n",
|
||||
"Sit et aliquip cupidatat deserunt eiusmod sint aliquip occaecat nostrud aliqua elit commodo ut magna. Amet sit est deserunt id duis in officia pariatur cupidatat ex. Mollit duis est consequat nulla aute velit ipsum sit consectetur pariatur ut non ex ipsum. Tempor esse velit pariatur reprehenderit et nostrud commodo laborum mollit labore.\r\n",
|
||||
"Aliquip irure quis esse aliquip. Ex non deserunt culpa aliqua ad anim occaecat ad. Lorem consectetur mollit eu consectetur est non nisi non ipsum. Qui veniam ullamco officia est ut excepteur. Nulla elit dolore cupidatat aliqua enim Lorem elit consequat eiusmod non aliqua eu in. Pariatur in culpa labore sint ipsum consectetur occaecat ad ex ipsum laboris aliquip officia. Non officia eiusmod nisi officia id id laboris deserunt sunt enim magna mollit sit.\r\n",
|
||||
"Mollit velit laboris laborum nulla aliquip consequat Lorem non incididunt irure. Eu voluptate sint do consectetur tempor sit Lorem in. Laborum eiusmod nisi Lorem ipsum dolore do aute laborum occaecat aute sunt. Sit laborum in ea do ipsum officia irure cillum irure nisi laboris. Ad anim deserunt excepteur ea veniam eiusmod culpa velit veniam. Commodo incididunt ea Lorem eu enim esse nisi incididunt mollit.\r\n",
|
||||
"Velit proident sunt aute dolore reprehenderit culpa. Pariatur reprehenderit commodo ad ea voluptate anim nulla ipsum eu irure fugiat aliqua et. Adipisicing incididunt anim excepteur voluptate minim qui culpa. Sunt veniam enim reprehenderit magna magna. Sit ad amet deserunt ut aute dolore ad minim.\r\n",
|
||||
"Esse ullamco sunt mollit mollit. Eu enim dolore laboris cupidatat. Cupidatat adipisicing non aute exercitation fugiat. Non ut cillum labore fugiat aliquip ex duis quis consectetur ut nisi Lorem amet qui. Proident veniam amet qui reprehenderit duis qui. Nisi culpa sit occaecat ullamco occaecat laborum fugiat ut. Non duis deserunt culpa duis.\r\n",
|
||||
"Id ipsum eiusmod laboris non est ipsum deserunt labore duis reprehenderit deserunt. Sint tempor fugiat eiusmod nostrud in ut laborum esse in nostrud sit deserunt nostrud reprehenderit. Cupidatat aliqua qui anim consequat eu quis consequat consequat elit ipsum pariatur. Cupidatat in dolore velit quis. Exercitation cillum ullamco ex consectetur commodo tempor incididunt exercitation labore ad dolore. Minim incididunt consequat adipisicing esse eu eu voluptate.\r\n",
|
||||
"Anim sint eiusmod nisi anim do deserunt voluptate ut cillum eiusmod esse ex reprehenderit laborum. Dolore nulla excepteur duis excepteur. Magna nisi nostrud duis non commodo velit esse ipsum Lorem incididunt. Nulla enim consequat ad aliqua. Incididunt irure culpa nostrud ea aute ex sit non ad esse.\r\n",
|
||||
"Ullamco nostrud cupidatat adipisicing anim fugiat mollit eu. Et ut eu in nulla consequat. Sunt do pariatur culpa non est.\r\n",
|
||||
"Pariatur incididunt reprehenderit non qui excepteur cillum exercitation nisi occaecat ad. Lorem aliquip laborum commodo reprehenderit sint. Laboris qui ut veniam magna quis et et ullamco voluptate. Tempor reprehenderit deserunt consequat nisi. Esse duis sint in tempor. Amet aute cupidatat in sint et.\r\n",
|
||||
"Est officia nisi dolore consequat irure et excepteur. Sit qui elit tempor magna qui cillum anim amet proident exercitation proident. Eu cupidatat laborum consectetur duis ullamco irure nulla. Adipisicing culpa non reprehenderit anim aute.\r\n",
|
||||
"Eu est laborum culpa velit dolore non sunt. Tempor magna veniam ea sit non qui Lorem qui exercitation aliqua aliqua et excepteur eiusmod. Culpa aute anim proident culpa adipisicing duis tempor elit aliquip elit nulla laboris esse dolore. Sit adipisicing non dolor eiusmod occaecat cupidatat.\r\n",
|
||||
"Culpa velit eu esse sunt. Laborum irure aliqua reprehenderit velit ipsum fugiat officia dolor ut aute officia deserunt. Ipsum sit quis fugiat nostrud aliqua cupidatat ex pariatur et. Cillum proident est irure nisi dolor aliqua deserunt esse occaecat velit dolor.\r\n",
|
||||
"Exercitation nulla officia sit eiusmod cillum eu incididunt officia exercitation qui Lorem deserunt. Voluptate Lorem minim commodo laborum esse in duis excepteur do duis aliquip nisi voluptate consectetur. Amet tempor officia enim ex esse minim reprehenderit.\r\n",
|
||||
"Laboris sint deserunt ad aute incididunt. Anim officia sunt elit qui laborum labore commodo irure non. Mollit adipisicing ullamco do aute nulla eu laborum et quis sint aute adipisicing amet. Aliqua officia irure nostrud duis ex.\r\n",
|
||||
"Eiusmod ipsum aliqua reprehenderit esse est non aute id veniam eiusmod. Elit consequat ad sit tempor elit eu incididunt quis irure ad. Eu incididunt veniam consequat Lorem nostrud cillum officia ea consequat ad cillum. Non nisi irure cupidatat incididunt pariatur incididunt. Duis velit officia ad cillum qui. Aliquip consequat sint aute nisi cillum. Officia commodo nisi incididunt laborum nisi voluptate aliquip Lorem cupidatat anim consequat sit laboris.\r\n",
|
||||
"Veniam cupidatat et incididunt mollit do ex voluptate veniam nostrud labore esse. Eiusmod irure sint fugiat esse. Aute irure consectetur ut mollit nulla sint esse. Lorem ut quis ex proident nostrud mollit nostrud ea duis duis in magna anim consectetur.\r\n",
|
||||
"Irure culpa esse qui do dolor fugiat veniam ad. Elit commodo aute elit magna incididunt tempor pariatur velit irure pariatur cillum et ea ad. Ad consequat ea et ad minim ut sunt qui commodo voluptate. Laboris est aliquip anim reprehenderit eu officia et exercitation. Occaecat laboris cupidatat Lorem ullamco in nostrud commodo ipsum in quis esse ex.\r\n",
|
||||
"Incididunt officia quis voluptate eiusmod esse nisi ipsum quis commodo. Eiusmod dolore tempor occaecat sit exercitation aliqua minim consequat minim mollit qui ad nisi. Aute quis irure adipisicing veniam nisi nisi velit deserunt incididunt anim nostrud.\r\n",
|
||||
"Voluptate exercitation exercitation id minim excepteur excepteur mollit. Fugiat aute proident nulla ullamco ea. Nisi ea culpa duis dolore veniam anim tempor officia in dolore exercitation exercitation. Dolore quis cillum adipisicing sunt do nulla esse proident ad sint.\r\n",
|
||||
"Laborum ut mollit sint commodo nulla laborum deserunt Lorem magna commodo mollit tempor deserunt ut. Qui aliquip commodo ea id. Consectetur dolor fugiat dolor excepteur eiusmod. Eu excepteur ex aute ex ex elit ex esse officia cillum exercitation. Duis ut labore ea nostrud excepteur. Reprehenderit labore aute sunt nisi quis Lorem officia. Ad aliquip cupidatat voluptate exercitation voluptate ad irure magna quis.\r\n",
|
||||
"Tempor velit veniam sit labore elit minim do elit cillum eiusmod sunt excepteur nisi. Aliquip est deserunt excepteur duis fugiat incididunt veniam fugiat. Pariatur sit irure labore et minim non. Cillum quis aute anim sint laboris laboris ullamco exercitation nostrud. Nulla pariatur id laborum minim nisi est adipisicing irure.\r\n",
|
||||
"Irure exercitation laboris nostrud in do consectetur ad. Magna aliqua Lorem culpa exercitation sint do culpa incididunt mollit eu exercitation. Elit tempor Lorem dolore enim deserunt. Anim et ullamco sint ullamco mollit cillum officia et. Proident incididunt laboris aliquip laborum sint veniam deserunt eu consequat deserunt voluptate laboris. Anim Lorem non laborum exercitation voluptate. Cupidatat reprehenderit culpa Lorem fugiat enim minim consectetur tempor quis ad reprehenderit laboris irure.\r\n",
|
||||
"Deserunt elit mollit nostrud occaecat labore reprehenderit laboris ex. Esse reprehenderit adipisicing cillum minim in esse aliquip excepteur ex et nisi cillum quis. Cillum labore ut ex sunt. Occaecat proident et mollit magna consequat irure esse. Dolor do enim esse nisi ad.\r\n",
|
||||
"Pariatur est anim cillum minim elit magna adipisicing quis tempor proident nisi laboris incididunt cupidatat. Nulla est adipisicing sit adipisicing id nostrud amet qui consequat eiusmod tempor voluptate ad. Adipisicing non magna sit occaecat magna mollit ad ex nulla velit ea pariatur. Irure labore ad ea exercitation ex cillum.\r\n",
|
||||
"Lorem fugiat eu eu cillum nulla tempor sint. Lorem id officia nulla velit labore ut duis ad tempor non. Excepteur quis aute adipisicing nisi nisi consectetur aliquip enim Lorem id ullamco cillum sint voluptate. Qui aliquip incididunt tempor aliqua voluptate labore reprehenderit. Veniam eiusmod elit occaecat voluptate tempor culpa consectetur ea ut exercitation eiusmod exercitation qui.\r\n",
|
||||
"Aliqua esse pariatur nulla veniam velit ea. Aliquip consectetur tempor ex magna sit aliquip exercitation veniam. Dolor ullamco minim commodo pariatur. Et amet reprehenderit dolore proident elit tempor eiusmod eu incididunt enim ullamco. Adipisicing id officia incididunt esse dolor sunt cupidatat do deserunt mollit do non. Magna ut officia fugiat adipisicing quis ea cillum laborum dolore ad nostrud magna minim est. Dolor voluptate officia proident enim ea deserunt eu voluptate dolore proident laborum officia ea.\r\n",
|
||||
"Culpa aute consequat esse fugiat cupidatat minim voluptate voluptate eiusmod irure anim elit. Do eiusmod culpa laboris consequat incididunt minim nostrud eiusmod commodo velit ea ullamco proident. Culpa pariatur magna ut mollit nisi. Ea officia do magna deserunt minim nisi tempor ea deserunt veniam cillum exercitation esse.\r\n",
|
||||
"Anim ullamco nostrud commodo Lorem. Do sunt laborum exercitation proident proident magna. Lorem officia laborum laborum dolor sunt duis commodo Lorem. Officia aute adipisicing ea cupidatat ea dolore. Aliquip adipisicing pariatur consectetur aliqua sit amet officia reprehenderit laborum culpa. Occaecat Lorem eu nisi do Lorem occaecat enim eiusmod laboris id quis. Ad mollit adipisicing sunt adipisicing esse.\r\n",
|
||||
"Laborum quis sit adipisicing cupidatat. Veniam Lorem eiusmod esse esse sint nisi labore elit et. Deserunt aliqua mollit ut commodo aliqua non incididunt ipsum reprehenderit consectetur. Eiusmod nulla minim laboris Lorem ea Lorem aute tempor pariatur in sit. Incididunt culpa ut do irure amet irure cupidatat est anim anim culpa occaecat. Est velit consectetur eiusmod veniam reprehenderit officia sunt occaecat eiusmod ut sunt occaecat amet.\r\n",
|
||||
"Elit minim aute fugiat nulla ex quis. Labore fugiat sint nostrud amet quis culpa excepteur in. Consectetur exercitation cupidatat laborum sit. Aute nisi eu aliqua est deserunt eiusmod commodo dolor id. Mollit laborum esse sint ipsum voluptate reprehenderit velit et. Veniam aliquip enim in veniam Lorem voluptate quis deserunt consequat qui commodo ut excepteur aute.\r\n",
|
||||
"Dolore deserunt veniam aute nisi labore sunt et voluptate irure nisi anim ea. Magna nisi quis anim mollit nisi est dolor do ex aliquip elit aliquip ipsum minim. Dolore est officia nostrud eiusmod ex laborum ea amet est. Officia culpa non est et tempor consectetur exercitation tempor eiusmod enim. Ea tempor laboris qui amet ex nisi culpa dolore consectetur incididunt sunt sunt. Lorem aliquip incididunt magna do et ullamco ex elit aliqua eiusmod qui. Commodo amet dolor sint incididunt ex veniam non Lorem fugiat.\r\n",
|
||||
"Officia culpa enim voluptate dolore commodo. Minim commodo aliqua minim ex sint excepteur cupidatat adipisicing eu irure. Anim magna deserunt anim Lorem non.\r\n",
|
||||
"Cupidatat aliquip nulla excepteur sunt cupidatat cupidatat laborum cupidatat exercitation. Laboris minim ex cupidatat culpa elit. Amet enim reprehenderit aliqua laborum est tempor exercitation cupidatat ex dolore do. Do incididunt labore fugiat commodo consectetur nisi incididunt irure sit culpa sit. Elit aute occaecat qui excepteur velit proident cillum qui aliqua ex do ex. Dolore irure ex excepteur veniam id proident mollit Lorem.\r\n",
|
||||
"Ad commodo cillum duis deserunt elit officia consectetur veniam eiusmod. Reprehenderit et veniam ad commodo reprehenderit magna elit laboris sunt non quis. Adipisicing dolor aute proident ea magna sunt et proident in consectetur.\r\n",
|
||||
"Veniam exercitation esse esse veniam est nisi. Minim velit incididunt sint aute dolor anim. Fugiat cupidatat id ad nisi in voluptate dolor culpa eiusmod magna eiusmod amet id. Duis aliquip labore et ex amet amet aliquip laborum eiusmod ipsum. Quis qui ut duis duis. Minim in voluptate reprehenderit aliqua.\r\n",
|
||||
"Elit ut pariatur dolor veniam ipsum consequat. Voluptate Lorem mollit et esse dolore mollit Lorem ad. Elit nostrud eu Lorem labore mollit minim cupidatat officia quis minim dolore incididunt. In cillum aute cillum ut.\r\n",
|
||||
"Commodo laborum deserunt ut cupidatat pariatur ullamco in esse anim exercitation cillum duis. Consectetur incididunt sit esse Lorem in aute. Eiusmod mollit Lorem consequat minim reprehenderit laborum enim excepteur irure nisi elit. Laborum esse proident aute aute proident adipisicing laborum. Pariatur tempor duis incididunt qui velit pariatur ut officia ea mollit labore dolore. Cillum pariatur minim ullamco sunt incididunt culpa id ullamco exercitation consectetur. Ea exercitation consequat reprehenderit ut ullamco velit eu ad velit magna excepteur eiusmod.\r\n",
|
||||
"Eu deserunt magna laboris laborum laborum in consequat dolore. Officia proident consectetur proident do occaecat minim pariatur officia ipsum sit non velit officia cillum. Laborum excepteur labore eu minim eiusmod. Sit anim dolore cillum ad do minim culpa sit est ad.\r\n",
|
||||
"Cupidatat dolor nostrud Lorem sint consequat quis. Quis labore sint incididunt officia tempor. Fugiat nostrud in elit reprehenderit dolor. Nisi sit enim officia minim est adipisicing nulla aute labore nulla nostrud cupidatat est. Deserunt dolore qui irure Lorem esse voluptate velit qui nostrud.\r\n",
|
||||
"Fugiat Lorem amet nulla nisi qui amet laboris enim cillum. Dolore occaecat exercitation id labore velit do commodo ut cupidatat laborum velit fugiat mollit. Ut et aliqua pariatur occaecat. Lorem occaecat dolore quis esse enim cupidatat exercitation ut tempor sit laboris fugiat adipisicing. Est tempor ex irure consectetur ipsum magna labore. Lorem non quis qui minim nisi magna amet aliquip ex cillum fugiat tempor.\r\n",
|
||||
"Aliquip eiusmod laborum ipsum deserunt velit esse do magna excepteur consectetur exercitation sit. Minim ullamco reprehenderit commodo nostrud exercitation id irure ex qui ullamco sit esse laboris. Nulla cillum non minim qui cillum nisi aute proident. Dolor anim culpa elit quis excepteur aliqua eiusmod. Elit ea est excepteur consectetur sunt eiusmod enim id commodo irure amet et pariatur laboris. Voluptate magna ad magna dolore cillum cillum irure laboris ipsum officia id Lorem veniam.\r\n",
|
||||
"Esse sunt elit est aliquip cupidatat commodo deserunt. Deserunt pariatur ipsum qui ad esse esse magna qui cillum laborum. Exercitation veniam pariatur elit amet enim.\r\n",
|
||||
"Esse quis in id elit nulla occaecat incididunt. Et amet Lorem mollit in veniam do. Velit mollit Lorem consequat commodo Lorem aliquip cupidatat. Minim consequat nostrud nulla in nostrud.\r\n",
|
||||
"Cillum nulla et eu est nostrud quis elit cupidatat dolor enim excepteur exercitation nisi voluptate. Nulla dolore non ex velit et qui tempor proident id deserunt nisi eu. Tempor ad Lorem ipsum reprehenderit in anim. Anim dolore ullamco enim deserunt quis ex id exercitation velit. Magna exercitation fugiat mollit pariatur ipsum ex consectetur nostrud. Id dolore officia nostrud excepteur laborum. Magna incididunt elit ipsum pariatur adipisicing enim duis est qui commodo velit aute.\r\n",
|
||||
"Quis esse ex qui nisi dolor. Ullamco laborum dolor esse laboris eiusmod ea magna laboris ea esse ut. Dolore ipsum pariatur veniam sint mollit. Lorem ea proident fugiat ullamco ut nisi culpa eu exercitation exercitation aliquip veniam laborum consectetur.\r\n",
|
||||
"Pariatur veniam laboris sit aliquip pariatur tempor aute sunt id et ut. Laboris excepteur eiusmod nisi qui quis elit enim ut cupidatat. Et et laborum in fugiat veniam consectetur ipsum laboris duis excepteur ullamco aliqua dolor Lorem. Aliqua ex amet sint anim cupidatat nisi ipsum anim et sunt deserunt. Occaecat culpa ut tempor cillum pariatur ex tempor.\r\n",
|
||||
"Dolor deserunt eiusmod magna do officia voluptate excepteur est cupidatat. Veniam qui cupidatat amet anim est qui consectetur sit commodo commodo ea ad. Enim ad adipisicing qui nostrud. Non nulla esse ullamco nulla et ex.\r\n",
|
||||
"Id ullamco ea consectetur est incididunt deserunt et esse. Elit nostrud voluptate eiusmod ut. Excepteur adipisicing qui cupidatat consequat labore id. Qui dolor aliqua do dolore do cupidatat labore ex consectetur ea sit cillum. Sint veniam eiusmod in consectetur consequat fugiat et mollit ut fugiat esse dolor adipisicing.\r\n",
|
||||
"Ea magna proident labore duis pariatur. Esse cillum aliquip dolor duis fugiat ea ex officia ea irure. Sint elit nisi pariatur sunt nostrud exercitation ullamco culpa magna do.\r\n",
|
||||
"Minim aliqua voluptate dolor consequat sint tempor deserunt amet magna excepteur. Irure do voluptate magna velit. Nostrud in reprehenderit magna officia nostrud. Cupidatat nulla irure laboris non fugiat ex ex est cupidatat excepteur officia aute velit duis. Sit voluptate id ea exercitation deserunt culpa voluptate nostrud est adipisicing incididunt. Amet proident laborum commodo magna ipsum quis.\r\n",
|
||||
"Ipsum consectetur consectetur excepteur tempor eiusmod ea fugiat aute velit magna in officia sunt. Sit ut sunt dolore cupidatat dolor adipisicing. Veniam nisi adipisicing esse reprehenderit amet aliqua voluptate ex commodo occaecat est voluptate mollit sunt. Pariatur aliqua qui qui in dolor. Fugiat reprehenderit sit nostrud do sint esse. Tempor sit irure adipisicing ea pariatur duis est sit est incididunt laboris quis do. Et voluptate anim minim aliquip excepteur consequat nisi anim pariatur aliquip ut ipsum dolor magna.\r\n",
|
||||
"Cillum sit labore excepteur magna id aliqua exercitation consequat laborum Lorem id pariatur nostrud. Lorem qui est labore sint cupidatat sint excepteur nulla in eu aliqua et. Adipisicing velit do enim occaecat laboris quis excepteur ipsum dolor occaecat Lorem dolore id exercitation.\r\n",
|
||||
"Incididunt in laborum reprehenderit eiusmod irure ex. Elit duis consequat minim magna. Esse consectetur aliquip cillum excepteur excepteur fugiat. Sint tempor consequat minim reprehenderit consectetur adipisicing dolor id Lorem elit non. Occaecat esse quis mollit ea et sint aute fugiat qui tempor. Adipisicing tempor duis non dolore irure elit deserunt qui do.\r\n",
|
||||
"Labore fugiat eiusmod sint laborum sit duis occaecat. Magna in laborum non cillum excepteur nostrud sit proident pariatur voluptate voluptate adipisicing exercitation occaecat. Ad non dolor aute ex sint do do minim exercitation veniam laborum irure magna ea. Magna do non quis sit consequat Lorem aliquip.\r\n",
|
||||
"Velit anim do laborum laboris laborum Lorem. Sunt do Lorem amet ipsum est sint velit sit do voluptate mollit veniam enim. Commodo do deserunt in pariatur ut elit sint elit deserunt ea. Ad dolor anim consequat aliquip ut mollit nostrud tempor sunt mollit elit. Reprehenderit laboris labore excepteur occaecat veniam adipisicing cupidatat esse. Ad enim aliquip ea minim excepteur magna. Sint velit veniam pariatur qui dolor est adipisicing ex laboris.\r\n",
|
||||
"Ea cupidatat ex nulla in sunt est sit dolor enim ad. Eu tempor consequat cupidatat consequat ex incididunt sint culpa. Est Lorem Lorem non cupidatat sunt ut aliqua non nostrud do ullamco. Reprehenderit ad ad nulla nostrud do nulla in. Ipsum adipisicing commodo mollit ipsum exercitation. Aliqua ea anim anim est elit. Ea incididunt consequat minim ad sunt eu cillum.\r\n",
|
||||
"Tempor quis excepteur eiusmod cupidatat ipsum occaecat id et occaecat. Eiusmod magna aliquip excepteur id amet elit. Ullamco dolore amet anim dolor enim ea magna magna elit. Occaecat magna pariatur in deserunt consectetur officia aliquip ullamco ex aute anim. Minim laborum eu sit elit officia esse do irure pariatur tempor et reprehenderit ullamco labore.\r\n",
|
||||
"Sit tempor eu minim dolore velit pariatur magna duis reprehenderit ea nulla in. Amet est do consectetur commodo do adipisicing adipisicing in amet. Cillum id ut commodo do pariatur duis aliqua nisi sint ad irure officia reprehenderit. Mollit labore id enim fugiat ullamco irure mollit cupidatat. Quis nisi amet labore eu dolor occaecat commodo aliqua laboris deserunt excepteur deserunt officia. Aliqua non ut sit ad. Laborum veniam ad velit minim dolore ea id magna dolor qui in.\r\n",
|
||||
"Dolore nostrud ipsum aliqua pariatur id reprehenderit enim ad eiusmod qui. Deserunt anim commodo pariatur excepteur velit eu irure nulla ex labore ipsum aliqua minim aute. Id consequat amet tempor aliquip ex elit adipisicing est do. Eu enim Lorem consectetur minim id irure nulla culpa. Consectetur do consequat aute tempor anim. Qui ad non elit dolor est adipisicing nisi amet cillum sunt quis anim laboris incididunt. Incididunt proident adipisicing labore Lorem.\r\n",
|
||||
"Et reprehenderit ea officia veniam. Aliquip ullamco consequat elit nisi magna mollit id elit. Amet amet sint velit labore ad nisi. Consectetur tempor id dolor aliqua esse deserunt amet. Qui laborum enim proident voluptate aute eu aute aute sit sit incididunt eu. Sunt ullamco nisi nostrud labore commodo non consectetur quis do duis minim irure. Tempor sint dolor sint aliquip dolore nostrud fugiat.\r\n",
|
||||
"Aute ullamco quis nisi ut excepteur nostrud duis elit. Veniam ex ad incididunt veniam voluptate. Commodo dolore ullamco sit sint adipisicing proident amet aute duis deserunt.\r\n",
|
||||
"Labore velit eu cillum nisi. Laboris do cupidatat et non duis cillum. Ullamco dolor tempor cupidatat voluptate laborum ullamco ea duis.\r\n",
|
||||
"Deserunt consequat aliqua duis aliquip nostrud nostrud dolore nisi. Culpa do sint laborum consectetur ipsum quis laborum laborum pariatur eiusmod. Consectetur laboris ad ad ut quis. Ullamco laboris qui velit id laborum voluptate qui aute nostrud aliquip ea.\r\n",
|
||||
"Ad cillum anim ex est consectetur mollit id in. Non enim aliquip consequat qui deserunt commodo cillum ad laborum fugiat. Dolor deserunt amet laborum tempor adipisicing voluptate dolor pariatur dolor cillum. Eu mollit ex sunt officia veniam qui est sunt proident. Non aliqua qui elit eu cupidatat ex enim ex proident. Lorem sit minim ullamco officia cupidatat duis minim. Exercitation laborum deserunt voluptate culpa tempor quis nulla id pariatur.\r\n",
|
||||
"Nostrud quis consectetur ut aliqua excepteur elit consectetur occaecat. Occaecat voluptate Lorem pariatur consequat ullamco fugiat minim. Anim voluptate eu eu cillum tempor dolore aliquip aliqua. Fugiat incididunt ut tempor amet minim. Voluptate nostrud minim pariatur non excepteur ullamco.\r\n",
|
||||
"Dolore nulla velit officia exercitation irure laboris incididunt anim in laborum in fugiat ut proident. Fugiat aute id consequat fugiat officia ut. Labore sint amet proident amet sint nisi laboris amet id ullamco culpa quis consequat proident. Magna do fugiat veniam dolore elit irure minim. Esse ullamco excepteur labore tempor labore fugiat dolore nisi cupidatat irure dolor pariatur. Magna excepteur laboris nisi eiusmod sit pariatur mollit.\r\n",
|
||||
"In enim aliquip officia ea ad exercitation cillum culpa occaecat dolore Lorem. Irure cillum commodo adipisicing sunt pariatur ea duis fugiat exercitation laboris culpa ullamco aute. Ut voluptate exercitation qui dolor. Irure et duis elit consequat deserunt proident.\r\n",
|
||||
"Officia ea Lorem sunt culpa id et tempor excepteur enim deserunt proident. Dolore aliquip dolor laboris cillum proident velit. Et culpa occaecat exercitation cupidatat irure sint adipisicing excepteur pariatur incididunt ad occaecat. Qui proident ipsum cillum minim. Quis ut culpa irure aliqua minim fugiat. In voluptate cupidatat fugiat est laborum dolor esse in pariatur voluptate.\r\n",
|
||||
"Voluptate enim ipsum officia aute ea adipisicing nisi ut ex do aliquip amet. Reprehenderit enim voluptate tempor ex adipisicing culpa. Culpa occaecat voluptate dolor mollit ipsum exercitation labore et tempor sit ea consectetur aliqua. Elit elit sit minim ea ea commodo do tempor cupidatat irure dolore. Occaecat esse adipisicing anim eiusmod commodo fugiat mollit amet. Incididunt tempor tempor qui occaecat cupidatat in.\r\n",
|
||||
"Ut qui anim velit enim aliquip do ut nulla labore. Mollit ut commodo ut eiusmod consectetur laboris aliqua qui voluptate culpa fugiat incididunt elit. Lorem ullamco esse elit elit. Labore amet incididunt ea nulla aliquip eiusmod. Sit nulla est voluptate officia ipsum aute aute cillum tempor deserunt. Laboris commodo eiusmod labore sunt aute excepteur ea consectetur reprehenderit veniam nisi. Culpa nisi sint sunt sint tempor laboris dolore cupidatat.\r\n",
|
||||
"Duis cillum qui nisi duis amet velit ad cillum ut elit aute sint ad. Amet laboris pariatur excepteur ipsum Lorem aliqua veniam Lorem quis mollit cupidatat aliqua exercitation. Pariatur ex ullamco sit commodo cillum eiusmod ut proident elit cillum. Commodo ut ipsum excepteur occaecat sint elit consequat ex dolor adipisicing consectetur id ut ad. Velit sit eiusmod est esse tempor incididunt consectetur eiusmod duis commodo veniam.\r\n",
|
||||
"Ut sunt qui officia anim laboris exercitation Lorem quis laborum do eiusmod officia. Enim consectetur occaecat fugiat cillum cillum. Dolore dolore nostrud in commodo fugiat mollit consequat occaecat non et et elit ullamco. Sit voluptate minim ut est culpa velit nulla fugiat reprehenderit eu aliquip adipisicing labore. Sit minim minim do dolor dolor. Lorem Lorem labore exercitation magna veniam eiusmod do.\r\n",
|
||||
"Fugiat dolor adipisicing quis aliquip aute dolore. Qui proident anim elit veniam ex aliquip eiusmod ipsum sunt pariatur est. Non fugiat duis do est officia adipisicing.\r\n",
|
||||
"Nulla deserunt do laboris cupidatat veniam do consectetur ipsum elit veniam in mollit eu. Ea in consequat cupidatat laboris sint fugiat irure. In commodo esse reprehenderit deserunt minim velit ullamco enim eu cupidatat tempor ex. Ullamco in non id culpa amet occaecat culpa nostrud id. Non occaecat culpa magna incididunt.\r\n",
|
||||
"Enim laboris ex mollit reprehenderit eiusmod exercitation magna. Exercitation Lorem ex mollit non non culpa labore enim. Adipisicing labore dolore incididunt do amet aliquip excepteur ad et nostrud officia aute veniam voluptate. Fugiat enim eiusmod Lorem esse. Minim ullamco commodo consequat ex commodo aliqua eu nulla eu. Veniam non enim nulla ut Lorem nostrud minim sint duis.\r\n",
|
||||
"Enim duis consectetur in ullamco cillum veniam nulla amet. Exercitation nisi sunt sunt duis in culpa nisi magna ex id ipsum laboris reprehenderit qui. Officia pariatur qui ex fugiat veniam et sunt sit nostrud. Veniam ullamco tempor fugiat minim Lorem proident velit in eiusmod elit. Enim minim excepteur aute aliquip ex magna commodo dolore qui et labore. Proident eu aliquip cillum dolor. Nostrud ipsum ut irure consequat fugiat nulla proident occaecat laborum.\r\n",
|
||||
"Amet duis eiusmod sunt adipisicing esse ex nostrud consectetur voluptate cillum. Ipsum occaecat sit et anim velit irure ea incididunt cupidatat ullamco in nisi quis. Esse officia ipsum commodo qui quis qui do. Commodo aliquip amet aute sit sit ut cupidatat elit nostrud.\r\n",
|
||||
"Laboris laboris sit mollit cillum nulla deserunt commodo culpa est commodo anim id anim sit. Officia id consectetur velit incididunt est dolor sunt ipsum magna aliqua consectetur. Eiusmod pariatur minim deserunt cupidatat veniam Lorem aliquip sunt proident eu Lorem sit dolor fugiat. Proident qui ut ex in incididunt nulla nulla dolor ex laboris ea ad.\r\n",
|
||||
"Ex incididunt enim labore nulla cupidatat elit. Quis ut incididunt incididunt non irure commodo do mollit cillum anim excepteur. Qui consequat laborum dolore elit tempor aute ut nulla pariatur eu ullamco veniam. Nisi non velit labore in commodo excepteur culpa nulla tempor cillum. Ipsum qui sit sint reprehenderit ut labore incididunt dolor aliquip sunt. Reprehenderit occaecat tempor nisi laborum.\r\n",
|
||||
"Lorem officia ullamco eu occaecat in magna eiusmod consectetur nisi aliqua mollit esse. Ullamco ex aute nostrud pariatur do enim cillum sint do fugiat nostrud culpa tempor. Do aliquip excepteur nostrud culpa eu pariatur eiusmod cillum excepteur do. Est sunt non quis cillum voluptate ex.\r\n",
|
||||
"Deserunt consectetur tempor irure mollit qui tempor et. Labore enim eu irure laboris in. Nisi in tempor ex occaecat amet cupidatat laboris occaecat amet minim ut magna incididunt id. Consequat cillum laborum commodo mollit. Et magna culpa sunt dolore consequat laboris et sit. Deserunt qui voluptate excepteur dolor. Eu qui amet est proident.\r\n",
|
||||
"Eu elit minim eiusmod occaecat eu nostrud dolor qui ut elit. Sunt dolore proident ea eu do eiusmod fugiat incididunt pariatur duis amet Lorem nisi ut. Adipisicing quis veniam cupidatat Lorem sint culpa sunt veniam sint. Excepteur eu exercitation est magna pariatur veniam dolore qui fugiat labore proident eiusmod cillum. Commodo reprehenderit elit proident duis sint magna.\r\n",
|
||||
"Ut aliquip pariatur deserunt nostrud commodo ad proident est exercitation. Sit minim do ea enim sint officia nisi incididunt laborum. Ex amet duis commodo fugiat. Ut aute tempor deserunt irure occaecat aliquip voluptate cillum aute elit qui nostrud.\r\n",
|
||||
"Irure et quis consectetur sit est do sunt aliquip eu. Cupidatat pariatur consequat dolore consectetur. Adipisicing magna velit mollit occaecat do id. Nisi pariatur cupidatat cillum incididunt excepteur consectetur excepteur do laborum deserunt irure pariatur cillum.\r\n",
|
||||
"Adipisicing esse incididunt cillum est irure consequat irure ad aute voluptate. Incididunt do occaecat nostrud do ipsum pariatur Lorem qui laboris et pariatur. Est exercitation dolor culpa ad velit ut et.\r\n",
|
||||
"Sit eiusmod id enim ad ex dolor pariatur do. Ullamco occaecat quis dolor minim non elit labore amet est. Commodo velit eu nulla eiusmod ullamco. Incididunt anim pariatur aute eiusmod veniam tempor enim officia elit id. Elit Lorem est commodo dolore nostrud. Labore et consectetur do exercitation veniam laboris incididunt aliqua proident dolore ea officia cupidatat. Velit laboris aliquip deserunt labore commodo.\r\n",
|
||||
"Proident nostrud labore eu nostrud. Excepteur ut in velit labore ea proident labore ea sint cillum. Incididunt ipsum consectetur officia irure sit pariatur veniam id velit officia mollit. Adipisicing magna voluptate velit excepteur enim consectetur incididunt voluptate tempor occaecat fugiat velit excepteur labore. Do do incididunt qui nisi voluptate enim. Laboris aute sit voluptate cillum pariatur minim excepteur ullamco mollit deserunt.\r\n",
|
||||
"Excepteur laborum adipisicing nisi elit fugiat tempor. Elit laboris qui enim labore duis. Proident tempor in consectetur proident excepteur do ex laboris sit.\r\n",
|
||||
"Dolore do ea incididunt do duis dolore eu labore nisi cupidatat voluptate amet incididunt minim. Nulla pariatur mollit cupidatat adipisicing nulla et. Dolor aliquip in ex magna excepteur. Nulla consequat minim consequat ullamco dolor laboris ullamco eu reprehenderit duis nostrud pariatur.\r\n",
|
||||
"Id nisi labore duis qui. Incididunt laboris tempor aute do sit. Occaecat excepteur est mollit ea in mollit ullamco est amet reprehenderit.\r\n",
|
||||
"Aute labore ipsum velit non voluptate eiusmod et reprehenderit cupidatat occaecat. Lorem tempor tempor consectetur exercitation qui nostrud sunt cillum quis ut non dolore. Reprehenderit consequat reprehenderit laborum qui pariatur anim et officia est cupidatat enim velit velit.\r\n",
|
||||
"Commodo ex et fugiat cupidatat non adipisicing commodo. Minim ad dolore fugiat mollit cupidatat aliqua sunt dolor sit. Labore esse labore velit aute enim. Nulla duis incididunt est aliquip consectetur elit qui incididunt minim minim labore amet sit cillum.\r\n"
|
||||
]
|
1
bin/types/readme.txt
Normal file
1
bin/types/readme.txt
Normal file
@ -0,0 +1 @@
|
||||
Test data obtained from https://github.com/xpol/lua-rapidjson/tree/master/performance
|
138
bin/unittestschema/address.json
Normal file
138
bin/unittestschema/address.json
Normal file
@ -0,0 +1,138 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"version": {
|
||||
"$ref": "#/definitions/decimal_type"
|
||||
},
|
||||
"address": {
|
||||
"$ref": "#/definitions/address_type"
|
||||
},
|
||||
"phones": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 2,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"$ref": "#/definitions/phone_type"
|
||||
}
|
||||
},
|
||||
"names": {
|
||||
"type": "array",
|
||||
"items": [
|
||||
{ "type": "string" },
|
||||
{ "type": "string" }
|
||||
],
|
||||
"additionalItems": false
|
||||
},
|
||||
"extra": {
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^S_": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"gender": {
|
||||
"type": "string",
|
||||
"enum": ["M", "F"]
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"dependencies": {
|
||||
"address": [ "version" ],
|
||||
"names": {
|
||||
"properties": {
|
||||
"version": { "$ref": "#/definitions/decimal_type" }
|
||||
},
|
||||
"required": ["version"]
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"address_type": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"number": {
|
||||
"$ref": "#/definitions/positiveInt_type"
|
||||
},
|
||||
"street1": {
|
||||
"type": "string"
|
||||
},
|
||||
"street2": {
|
||||
"type": ["string", "null"]
|
||||
},
|
||||
"street3": {
|
||||
"not": { "type": ["boolean", "number", ",integer", "object", "null"] }
|
||||
},
|
||||
"city": {
|
||||
"type": "string",
|
||||
"maxLength": 10,
|
||||
"minLength": 4
|
||||
},
|
||||
"area": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/county_type" },
|
||||
{ "$ref": "#/definitions/province_type" }
|
||||
]
|
||||
},
|
||||
"country": {
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/country_type" }
|
||||
]
|
||||
},
|
||||
"postcode": {
|
||||
"anyOf": [
|
||||
{ "type": "string", "pattern": "^[A-Z]{2}[0-9]{1,2} [0-9][A-Z]{2}$" },
|
||||
{ "type": "string", "pattern": "^[0-9]{5}$" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"minProperties": 7,
|
||||
"required": [
|
||||
"number",
|
||||
"street1",
|
||||
"city"
|
||||
]
|
||||
},
|
||||
"country_type": {
|
||||
"type": "string",
|
||||
"enum": ["UK", "Canada"]
|
||||
},
|
||||
"county_type": {
|
||||
"type": "string",
|
||||
"enum": ["Sussex", "Surrey", "Kent", "Narnia"]
|
||||
},
|
||||
"province_type": {
|
||||
"type": "string",
|
||||
"enum": ["Quebec", "Narnia", "BC", "Alberta"]
|
||||
},
|
||||
"date_type": {
|
||||
"pattern": "^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?$",
|
||||
"type": "string"
|
||||
},
|
||||
"positiveInt_type": {
|
||||
"minimum": 0,
|
||||
"exclusiveMinimum": true,
|
||||
"maximum": 100,
|
||||
"exclusiveMaximum": true,
|
||||
"type": "integer"
|
||||
},
|
||||
"decimal_type": {
|
||||
"multipleOf": 1.0,
|
||||
"type": "number"
|
||||
},
|
||||
"time_type": {
|
||||
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?$",
|
||||
"type": "string"
|
||||
},
|
||||
"unsignedInt_type": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 99999
|
||||
},
|
||||
"phone_type": {
|
||||
"pattern": "^[0-9]*-[0-9]*",
|
||||
"type": "string"
|
||||
},
|
||||
"url_type": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
7
bin/unittestschema/allOf_address.json
Normal file
7
bin/unittestschema/allOf_address.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "http://localhost:1234/address.json#"
|
||||
}
|
||||
]
|
||||
}
|
7
bin/unittestschema/anyOf_address.json
Normal file
7
bin/unittestschema/anyOf_address.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "http://localhost:1234/address.json#"
|
||||
}
|
||||
]
|
||||
}
|
69
bin/unittestschema/idandref.json
Normal file
69
bin/unittestschema/idandref.json
Normal file
@ -0,0 +1,69 @@
|
||||
{
|
||||
"id": "http://example.com/root.json",
|
||||
"definitions": {
|
||||
"A": {
|
||||
"id": "#foo",
|
||||
"type": "integer"
|
||||
},
|
||||
"B": {
|
||||
"id": "other.json",
|
||||
"definitions": {
|
||||
"X": {
|
||||
"id": "#bar",
|
||||
"type": "boolean"
|
||||
},
|
||||
"Y": {
|
||||
"$ref": "#/definitions/X"
|
||||
},
|
||||
"W": {
|
||||
"$ref": "#/definitions/Y"
|
||||
},
|
||||
"Z": {
|
||||
"$ref": "#bar"
|
||||
},
|
||||
"N": {
|
||||
"properties": {
|
||||
"NX": {
|
||||
"$ref": "#/definitions/X"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"PA1": {
|
||||
"$ref": "http://example.com/root.json#/definitions/A"
|
||||
},
|
||||
"PA2": {
|
||||
"$ref": "#/definitions/A"
|
||||
},
|
||||
"PA3": {
|
||||
"$ref": "#foo"
|
||||
},
|
||||
"PX1": {
|
||||
"$ref": "#/definitions/B/definitions/X"
|
||||
},
|
||||
"PX2Y": {
|
||||
"$ref": "#/definitions/B/definitions/Y"
|
||||
},
|
||||
"PX3Z": {
|
||||
"$ref": "#/definitions/B/definitions/Z"
|
||||
},
|
||||
"PX4": {
|
||||
"$ref": "http://example.com/other.json#/definitions/X"
|
||||
},
|
||||
"PX5": {
|
||||
"$ref": "other.json#/definitions/X"
|
||||
},
|
||||
"PX6": {
|
||||
"$ref": "other.json#bar"
|
||||
},
|
||||
"PX7W": {
|
||||
"$ref": "#/definitions/B/definitions/W"
|
||||
},
|
||||
"PX8N": {
|
||||
"$ref": "#/definitions/B/definitions/N"
|
||||
}
|
||||
}
|
||||
}
|
7
bin/unittestschema/oneOf_address.json
Normal file
7
bin/unittestschema/oneOf_address.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "http://localhost:1234/address.json#"
|
||||
}
|
||||
]
|
||||
}
|
45
contrib/natvis/LICENSE
Normal file
45
contrib/natvis/LICENSE
Normal file
@ -0,0 +1,45 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Bart Muzzin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
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 Software.
|
||||
|
||||
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 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
Derived from:
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 mojmir svoboda
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
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 Software.
|
||||
|
||||
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 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
7
contrib/natvis/README.md
Normal file
7
contrib/natvis/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# rapidjson.natvis
|
||||
|
||||
This file can be used as a [Visual Studio Visualizer](https://docs.microsoft.com/en-gb/visualstudio/debugger/create-custom-views-of-native-objects) to aid in visualizing rapidjson structures within the Visual Studio debugger. Natvis visualizers are supported in Visual Studio 2012 and later. To install, copy the file into this directory:
|
||||
|
||||
`%USERPROFILE%\Documents\Visual Studio 2012\Visualizers`
|
||||
|
||||
Each version of Visual Studio has a similar directory, it must be copied into each directory to be used with that particular version. In Visual Studio 2015 and later, this can be done without restarting Visual Studio (a new debugging session must be started).
|
38
contrib/natvis/rapidjson.natvis
Normal file
38
contrib/natvis/rapidjson.natvis
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
<!-- rapidjson::GenericValue - basic support -->
|
||||
<Type Name="rapidjson::GenericValue<*,*>">
|
||||
<DisplayString Condition="(data_.f.flags & kTypeMask) == rapidjson::kNullType">null</DisplayString>
|
||||
<DisplayString Condition="data_.f.flags == kTrueFlag">true</DisplayString>
|
||||
<DisplayString Condition="data_.f.flags == kFalseFlag">false</DisplayString>
|
||||
<DisplayString Condition="data_.f.flags == kShortStringFlag">{(const Ch*)data_.ss.str,na}</DisplayString>
|
||||
<DisplayString Condition="(data_.f.flags & kTypeMask) == rapidjson::kStringType">{(const Ch*)((size_t)data_.s.str & 0x0000FFFFFFFFFFFF),[data_.s.length]na}</DisplayString>
|
||||
<DisplayString Condition="(data_.f.flags & kNumberIntFlag) == kNumberIntFlag">{data_.n.i.i}</DisplayString>
|
||||
<DisplayString Condition="(data_.f.flags & kNumberUintFlag) == kNumberUintFlag">{data_.n.u.u}</DisplayString>
|
||||
<DisplayString Condition="(data_.f.flags & kNumberInt64Flag) == kNumberInt64Flag">{data_.n.i64}</DisplayString>
|
||||
<DisplayString Condition="(data_.f.flags & kNumberUint64Flag) == kNumberUint64Flag">{data_.n.u64}</DisplayString>
|
||||
<DisplayString Condition="(data_.f.flags & kNumberDoubleFlag) == kNumberDoubleFlag">{data_.n.d}</DisplayString>
|
||||
<DisplayString Condition="data_.f.flags == rapidjson::kObjectType">Object members={data_.o.size}</DisplayString>
|
||||
<DisplayString Condition="data_.f.flags == rapidjson::kArrayType">Array members={data_.a.size}</DisplayString>
|
||||
<Expand>
|
||||
<Item Condition="data_.f.flags == rapidjson::kObjectType" Name="[size]">data_.o.size</Item>
|
||||
<Item Condition="data_.f.flags == rapidjson::kObjectType" Name="[capacity]">data_.o.capacity</Item>
|
||||
<ArrayItems Condition="data_.f.flags == rapidjson::kObjectType">
|
||||
<Size>data_.o.size</Size>
|
||||
<!-- NOTE: Rapidjson stores some extra data in the high bits of pointers, which is why the mask -->
|
||||
<ValuePointer>(rapidjson::GenericMember<$T1,$T2>*)(((size_t)data_.o.members) & 0x0000FFFFFFFFFFFF)</ValuePointer>
|
||||
</ArrayItems>
|
||||
|
||||
<Item Condition="data_.f.flags == rapidjson::kArrayType" Name="[size]">data_.a.size</Item>
|
||||
<Item Condition="data_.f.flags == rapidjson::kArrayType" Name="[capacity]">data_.a.capacity</Item>
|
||||
<ArrayItems Condition="data_.f.flags == rapidjson::kArrayType">
|
||||
<Size>data_.a.size</Size>
|
||||
<!-- NOTE: Rapidjson stores some extra data in the high bits of pointers, which is why the mask -->
|
||||
<ValuePointer>(rapidjson::GenericValue<$T1,$T2>*)(((size_t)data_.a.elements) & 0x0000FFFFFFFFFFFF)</ValuePointer>
|
||||
</ArrayItems>
|
||||
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
</AutoVisualizer>
|
||||
|
@ -3,19 +3,21 @@ find_package(Doxygen)
|
||||
IF(NOT DOXYGEN_FOUND)
|
||||
MESSAGE(STATUS "No Doxygen found. Documentation won't be built")
|
||||
ELSE()
|
||||
file(GLOB SOURCES ${CMAKE_SOURCE_DIR}/include/*)
|
||||
file(GLOB MARKDOWN_DOC ${CMAKE_SOURCE_DIR}/doc/*.md)
|
||||
list(APPEND MARKDOWN_DOC ${CMAKE_SOURCE_DIR}/readme.md)
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_LIST_DIR}/../include/*)
|
||||
file(GLOB MARKDOWN_DOC ${CMAKE_CURRENT_LIST_DIR}/../doc/*.md)
|
||||
list(APPEND MARKDOWN_DOC ${CMAKE_CURRENT_LIST_DIR}/../readme.md)
|
||||
|
||||
CONFIGURE_FILE(Doxyfile.in Doxyfile @ONLY)
|
||||
CONFIGURE_FILE(Doxyfile.zh-cn.in Doxyfile.zh-cn @ONLY)
|
||||
|
||||
file(GLOB DOXYFILES ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile*)
|
||||
|
||||
add_custom_command(OUTPUT html
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.zh-cn
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/html
|
||||
DEPENDS ${MARKDOWN_DOC} ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile*
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
DEPENDS ${MARKDOWN_DOC} ${SOURCES} ${DOXYFILES}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../
|
||||
)
|
||||
|
||||
add_custom_target(doc ALL DEPENDS html)
|
||||
|
@ -765,14 +765,17 @@ WARN_LOGFILE =
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = readme.md \
|
||||
CHANGELOG.md \
|
||||
include/rapidjson/rapidjson.h \
|
||||
include/ \
|
||||
doc/features.md \
|
||||
doc/tutorial.md \
|
||||
doc/pointer.md \
|
||||
doc/stream.md \
|
||||
doc/encoding.md \
|
||||
doc/dom.md \
|
||||
doc/sax.md \
|
||||
doc/schema.md \
|
||||
doc/performance.md \
|
||||
doc/internals.md \
|
||||
doc/faq.md
|
||||
@ -1123,7 +1126,7 @@ HTML_STYLESHEET =
|
||||
# defined cascading style sheet that is included after the standard style sheets
|
||||
# created by doxygen. Using this option one can overrule certain style aspects.
|
||||
# This is preferred over using HTML_STYLESHEET since it does not replace the
|
||||
# standard style sheet and is therefor more robust against future updates.
|
||||
# standard style sheet and is therefore more robust against future updates.
|
||||
# Doxygen will copy the style sheet file to the output directory. For an example
|
||||
# see the documentation.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
@ -764,18 +764,21 @@ WARN_LOGFILE =
|
||||
# spaces.
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = ./readme.zh-cn.md \
|
||||
./include/rapidjson/rapidjson.h \
|
||||
./include/ \
|
||||
./doc/features.zh-cn.md \
|
||||
./doc/tutorial.zh-cn.md \
|
||||
./doc/stream.zh-cn.md \
|
||||
./doc/encoding.zh-cn.md \
|
||||
./doc/dom.zh-cn.md \
|
||||
./doc/sax.zh-cn.md \
|
||||
./doc/performance.zh-cn.md \
|
||||
./doc/internals.md \
|
||||
./doc/faq.zh-cn.md
|
||||
INPUT = readme.zh-cn.md \
|
||||
CHANGELOG.md \
|
||||
include/rapidjson/rapidjson.h \
|
||||
include/ \
|
||||
doc/features.zh-cn.md \
|
||||
doc/tutorial.zh-cn.md \
|
||||
doc/pointer.zh-cn.md \
|
||||
doc/stream.zh-cn.md \
|
||||
doc/encoding.zh-cn.md \
|
||||
doc/dom.zh-cn.md \
|
||||
doc/sax.zh-cn.md \
|
||||
doc/schema.zh-cn.md \
|
||||
doc/performance.zh-cn.md \
|
||||
doc/internals.zh-cn.md \
|
||||
doc/faq.zh-cn.md
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
@ -1123,7 +1126,7 @@ HTML_STYLESHEET =
|
||||
# defined cascading style sheet that is included after the standard style sheets
|
||||
# created by doxygen. Using this option one can overrule certain style aspects.
|
||||
# This is preferred over using HTML_STYLESHEET since it does not replace the
|
||||
# standard style sheet and is therefor more robust against future updates.
|
||||
# standard style sheet and is therefore more robust against future updates.
|
||||
# Doxygen will copy the style sheet file to the output directory. For an example
|
||||
# see the documentation.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 16 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user