rbx.cp 0.6.0__py3-none-any.whl → 0.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rbx/box/cd.py +43 -5
- rbx/box/checkers.py +9 -1
- rbx/box/cli.py +49 -45
- rbx/box/code.py +9 -7
- rbx/box/contest/contest_package.py +4 -7
- rbx/box/contest/main.py +32 -58
- rbx/box/creation.py +6 -36
- rbx/box/environment.py +21 -9
- rbx/box/linting.py +95 -0
- rbx/box/package.py +3 -34
- rbx/box/presets/__init__.py +361 -280
- rbx/box/presets/lock_schema.py +1 -2
- rbx/box/presets/schema.py +13 -5
- rbx/box/retries.py +8 -0
- rbx/box/schema.py +15 -2
- rbx/box/solutions.py +71 -14
- rbx/box/stats.py +92 -0
- rbx/box/tasks.py +6 -3
- rbx/box/ui/utils/run_ui.py +1 -1
- rbx/grading/judge/sandbox.py +22 -10
- rbx/grading/steps.py +1 -0
- rbx/resources/presets/default/contest/contest.rbx.yml +4 -3
- rbx/resources/presets/default/preset.rbx.yml +8 -6
- rbx/resources/presets/default/problem/problem.rbx.yml +20 -10
- rbx/resources/presets/default/problem/random.txt +3 -1
- rbx/resources/presets/default/problem/rbx.h +92 -0
- rbx/resources/presets/default/problem/statement/statement.rbx.tex +4 -7
- rbx/resources/presets/default/problem/validator.cpp +8 -8
- {rbx_cp-0.6.0.dist-info → rbx_cp-0.7.0.dist-info}/METADATA +23 -6
- {rbx_cp-0.6.0.dist-info → rbx_cp-0.7.0.dist-info}/RECORD +33 -31
- {rbx_cp-0.6.0.dist-info → rbx_cp-0.7.0.dist-info}/WHEEL +1 -1
- rbx/resources/presets/default/problem/statement/projecao.png +0 -0
- {rbx_cp-0.6.0.dist-info → rbx_cp-0.7.0.dist-info}/LICENSE +0 -0
- {rbx_cp-0.6.0.dist-info → rbx_cp-0.7.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,92 @@
|
|
1
|
+
#ifndef _RBX_H
|
2
|
+
#define _RBX_H
|
3
|
+
#include <optional>
|
4
|
+
#include <stdexcept>
|
5
|
+
#include <string>
|
6
|
+
|
7
|
+
std::optional<std::string> getStringVar(std::string name) {
|
8
|
+
|
9
|
+
return std::nullopt;
|
10
|
+
}
|
11
|
+
|
12
|
+
std::optional<int> getIntVar(std::string name) {
|
13
|
+
if (name == "MAX_N") {
|
14
|
+
return 1000000000;
|
15
|
+
}
|
16
|
+
|
17
|
+
return std::nullopt;
|
18
|
+
}
|
19
|
+
|
20
|
+
std::optional<float> getFloatVar(std::string name) {
|
21
|
+
|
22
|
+
return std::nullopt;
|
23
|
+
}
|
24
|
+
|
25
|
+
std::optional<bool> getBoolVar(std::string name) {
|
26
|
+
|
27
|
+
return std::nullopt;
|
28
|
+
}
|
29
|
+
|
30
|
+
template <typename T> T getVar(std::string name);
|
31
|
+
|
32
|
+
template <> int getVar<int>(std::string name) {
|
33
|
+
auto opt = getIntVar(name);
|
34
|
+
if (!opt.has_value()) {
|
35
|
+
throw std::runtime_error("Variable " + name +
|
36
|
+
" is not an integer or could not be found");
|
37
|
+
}
|
38
|
+
return opt.value();
|
39
|
+
}
|
40
|
+
|
41
|
+
template <> float getVar<float>(std::string name) {
|
42
|
+
auto opt = getFloatVar(name);
|
43
|
+
if (!opt.has_value()) {
|
44
|
+
auto intOpt = getIntVar(name);
|
45
|
+
if (intOpt.has_value()) {
|
46
|
+
opt = (float)intOpt.value();
|
47
|
+
}
|
48
|
+
}
|
49
|
+
if (!opt.has_value()) {
|
50
|
+
throw std::runtime_error("Variable " + name +
|
51
|
+
" is not a float or could not be found");
|
52
|
+
}
|
53
|
+
return opt.value();
|
54
|
+
}
|
55
|
+
|
56
|
+
template <> double getVar<double>(std::string name) {
|
57
|
+
return getVar<float>(name);
|
58
|
+
}
|
59
|
+
|
60
|
+
template <> std::string getVar<std::string>(std::string name) {
|
61
|
+
auto opt = getStringVar(name);
|
62
|
+
if (!opt.has_value()) {
|
63
|
+
auto intOpt = getIntVar(name);
|
64
|
+
if (intOpt.has_value()) {
|
65
|
+
opt = std::to_string(intOpt.value());
|
66
|
+
}
|
67
|
+
}
|
68
|
+
if (!opt.has_value()) {
|
69
|
+
auto floatOpt = getFloatVar(name);
|
70
|
+
if (floatOpt.has_value()) {
|
71
|
+
opt = std::to_string(floatOpt.value());
|
72
|
+
}
|
73
|
+
}
|
74
|
+
if (!opt.has_value()) {
|
75
|
+
throw std::runtime_error("Variable " + name +
|
76
|
+
" is not a string or could not be found");
|
77
|
+
}
|
78
|
+
return opt.value();
|
79
|
+
}
|
80
|
+
|
81
|
+
template <> bool getVar<bool>(std::string name) {
|
82
|
+
auto opt = getBoolVar(name);
|
83
|
+
if (!opt.has_value()) {
|
84
|
+
opt = getIntVar(name) != 0;
|
85
|
+
}
|
86
|
+
if (!opt.has_value()) {
|
87
|
+
throw std::runtime_error("Variable " + name +
|
88
|
+
" is not a boolean or could not be found");
|
89
|
+
}
|
90
|
+
return opt.value();
|
91
|
+
}
|
92
|
+
#endif
|
@@ -1,18 +1,15 @@
|
|
1
1
|
%- block legend
|
2
|
-
|
3
|
-
|
4
|
-
\includegraphics[width=6cm]{projecao.png}
|
2
|
+
Given two integers $A$ and $B$, determine the value of $A + B$.
|
5
3
|
%- endblock
|
6
4
|
|
7
5
|
%- block input
|
8
|
-
A
|
9
|
-
inteiros $A$ e $B$ ($1 \leq A, B \leq \VAR{vars.MAX_N | sci}$).
|
6
|
+
The input is a single line containing two integers $A$ and $B$ ($1 \leq A, B \leq \VAR{vars.MAX_N | sci}$).
|
10
7
|
%- endblock
|
11
8
|
|
12
9
|
%- block output
|
13
|
-
|
10
|
+
The output must contain only one integer, the sum of $A$ and $B$.
|
14
11
|
%- endblock
|
15
12
|
|
16
13
|
%- block notes
|
17
|
-
|
14
|
+
No notes.
|
18
15
|
%- endblock
|
@@ -3,14 +3,14 @@
|
|
3
3
|
using namespace std;
|
4
4
|
|
5
5
|
int main(int argc, char *argv[]) {
|
6
|
-
|
7
|
-
|
6
|
+
registerValidation(argc, argv);
|
7
|
+
prepareOpts(argc, argv);
|
8
8
|
|
9
|
-
|
9
|
+
int MAX_N = opt<int>("MAX_N"); // Read from package vars.
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
inf.readInt(1, MAX_N, "A");
|
12
|
+
inf.readSpace();
|
13
|
+
inf.readInt(1, MAX_N, "B");
|
14
|
+
inf.readEoln();
|
15
|
+
inf.readEof();
|
16
16
|
}
|
@@ -1,11 +1,10 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: rbx.cp
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.7.0
|
4
4
|
Summary:
|
5
5
|
Author: Roberto Sales
|
6
|
-
Requires-Python: >=3.9,<4.0
|
6
|
+
Requires-Python: >=3.9.1,<4.0.0
|
7
7
|
Classifier: Programming Language :: Python :: 3
|
8
|
-
Classifier: Programming Language :: Python :: 3.9
|
9
8
|
Classifier: Programming Language :: Python :: 3.10
|
10
9
|
Classifier: Programming Language :: Python :: 3.11
|
11
10
|
Classifier: Programming Language :: Python :: 3.12
|
@@ -35,15 +34,21 @@ Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
35
34
|
Requires-Dist: questionary (>=2.1.0,<3.0.0)
|
36
35
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
37
36
|
Requires-Dist: rich (>=13.9.4,<14.0.0)
|
37
|
+
Requires-Dist: ruamel-yaml (>=0.18.14,<0.19.0)
|
38
38
|
Requires-Dist: ruyaml (>=0.91.0,<0.92.0)
|
39
39
|
Requires-Dist: syncer (>=2.0.3,<3.0.0)
|
40
40
|
Requires-Dist: textual (>=3.1.1,<4.0.0)
|
41
41
|
Requires-Dist: textual-serve (>=1.1.2,<2.0.0)
|
42
42
|
Requires-Dist: typer (>=0.15.1,<0.16.0)
|
43
|
+
Requires-Dist: yamlfix (>=1.17.0,<2.0.0)
|
43
44
|
Description-Content-Type: text/markdown
|
44
45
|
|
45
46
|
<p align="center">
|
46
|
-
|
47
|
+
<img src="docs/rbx_white.png" alt="rbx" width="200">
|
48
|
+
</p>
|
49
|
+
|
50
|
+
<p align="center">
|
51
|
+
<em>The go-to CLI tool for programming competitions setters.</em>
|
47
52
|
</p>
|
48
53
|
<p align="center">
|
49
54
|
<!-- loscal repository, no metadata badges. -->
|
@@ -60,6 +65,7 @@ Description-Content-Type: text/markdown
|
|
60
65
|
<summary>Table of Contents</summary><br>
|
61
66
|
|
62
67
|
- [Overview](#overview)
|
68
|
+
- [Features](#features)
|
63
69
|
- [Documentation](#documentation)
|
64
70
|
- [License](#license)
|
65
71
|
</details>
|
@@ -73,9 +79,20 @@ Description-Content-Type: text/markdown
|
|
73
79
|
[](https://pypi.python.org/pypi/rbx/)
|
74
80
|
[](https://pypi.python.org/pypi/rbx/)
|
75
81
|
|
76
|
-
rbx is a CLI tool
|
82
|
+
**rbx** is a CLI tool that empowers setters from the competitive programming community.
|
83
|
+
|
84
|
+
A flexible setting tool, as powerful as [Polygon](https://polygon.codeforces.com/), right on your terminal.
|
85
|
+
|
86
|
+
---
|
87
|
+
|
88
|
+
## Features
|
77
89
|
|
78
|
-
|
90
|
+
- 🧱 Structure: describe your problem or contest structure with the use of YAML configuration files.
|
91
|
+
- 🤖 Generation: provides a simple way to describe your whole testset, including both manually added and generated testcases.
|
92
|
+
- 🔨 Testing: provides commands for automatically running correct and incorrect solutions against the testcases of your problem, automatically judging whether the verdict was as expected or not.
|
93
|
+
- ✅ Verify: checks if your testcases and solutions are strictly conformant with the use of validators and unit tests.
|
94
|
+
- 📝 Statements: provides tooling for writing and building statements, also ensuring they're easily synchronized with your testset.
|
95
|
+
- 📤 Package: provides a single command for packaging your problems for use in your preferred judge system.
|
79
96
|
|
80
97
|
---
|
81
98
|
|
@@ -3,24 +3,24 @@ rbx/annotations.py,sha256=qcJGL_INONSirH7LTrEma5RsweAIbO6QlRHVvRvb9ao,3521
|
|
3
3
|
rbx/autoenum.py,sha256=cusv8ClXRlDVvhZ8eDrtYcL_2peXlHugAey_ht8roXk,12025
|
4
4
|
rbx/box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
rbx/box/builder.py,sha256=MDm2qqmhedAbhn3rWP6cDwbBsGhV6sz_2sg1zLkPDw0,3613
|
6
|
-
rbx/box/cd.py,sha256=
|
7
|
-
rbx/box/checkers.py,sha256=
|
8
|
-
rbx/box/cli.py,sha256=
|
9
|
-
rbx/box/code.py,sha256=
|
6
|
+
rbx/box/cd.py,sha256=bPiSLMDNFtfOSYaQ9TBGm-Cl8SKajqDZMr98uXMvKA8,2699
|
7
|
+
rbx/box/checkers.py,sha256=2eLfMOzJajoca26M4rOBxUxve3-BpxcMu_q2upI1Pcg,13017
|
8
|
+
rbx/box/cli.py,sha256=d6N_CvipfTGDyjLANkwpbvJRk9WmQTA9nnbT9GrWTPo,27724
|
9
|
+
rbx/box/code.py,sha256=9Eba-LlvmMkfyiNAFOk2V2rRXKQvQYWyC_d0q195pZw,24445
|
10
10
|
rbx/box/compile.py,sha256=Kzn5mEQu4vb91W9vjyt0DS6cfPJzFLTUoowFj7uHLUo,2539
|
11
11
|
rbx/box/conftest.py,sha256=sEmciXSeDC-wmrZ1JSxbsUenKNP_VWW32mrCun2pY3I,1070
|
12
12
|
rbx/box/contest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
rbx/box/contest/build_contest_statements.py,sha256=643LJY1XEgevitbnzc05Cgo8wcLp7w91Z1K4D5XKcqA,12016
|
14
|
-
rbx/box/contest/contest_package.py,sha256=
|
14
|
+
rbx/box/contest/contest_package.py,sha256=EqtmEw36Hpr7-AYf4hGV0tYDu5esj7k14w7ZEIYU36o,2980
|
15
15
|
rbx/box/contest/contest_utils.py,sha256=fsWHG1e65wq9zvRY3tdf32VF0nU1yzGTOBX5yjXiNk4,1102
|
16
|
-
rbx/box/contest/main.py,sha256=
|
16
|
+
rbx/box/contest/main.py,sha256=qjBGZpSzeCHA3IfjVsO1yywNek9K-h6Fqtp1-ulHoVo,7399
|
17
17
|
rbx/box/contest/schema.py,sha256=eb7xtyq078YYWYHueximNhyHFINzwgLMFm1j9U3LxBQ,7461
|
18
18
|
rbx/box/contest/statements.py,sha256=wTLmCO3VlGUcN-CzBf-uKUSOAbLUnDeZhdMcsIuF63A,3803
|
19
|
-
rbx/box/creation.py,sha256=
|
19
|
+
rbx/box/creation.py,sha256=I3sclB5WTK_pcXDnYU6LEbvGVSHwRS_30L3GVAz-QqM,1369
|
20
20
|
rbx/box/deferred.py,sha256=II3X9e87JCOZtmspnHh-n4PFqh-FsH_oc0XJHZ9ZYVQ,691
|
21
21
|
rbx/box/download.py,sha256=tLW5gLVeLk0gHMEMwScSoHIXQPkXuPsqXzItsrsnUZY,3070
|
22
22
|
rbx/box/dump_schemas.py,sha256=3j5t47_vJmXj0BCczxDX6ByOcsfolGEDNCBXlPpk86w,593
|
23
|
-
rbx/box/environment.py,sha256=
|
23
|
+
rbx/box/environment.py,sha256=6HeFBEgxM-ug41M_7O6lwc7JI9HoifTu7F-W5GjGmL8,12189
|
24
24
|
rbx/box/extensions.py,sha256=Von8kIeXvNFTkGlMRMTvL2HIHPwlkuiMswr-ydbGV1w,519
|
25
25
|
rbx/box/fields.py,sha256=lc1OHpo_AC8RxzNasipULGkRmToAiXBGzWDeb14L_ss,1092
|
26
26
|
rbx/box/formatting.py,sha256=drxGLRS-uh_5j0GTmk8kAq0NlWpM5WoSBJoDHh9KXNI,1222
|
@@ -31,9 +31,10 @@ rbx/box/header.py,sha256=ifErXcIxG5lM5AyRiHDr7JE401vR4ORNXCNpHXxN_ls,2001
|
|
31
31
|
rbx/box/lang.py,sha256=GaWvf4rgukflIZ9ti4MUKSJcz9wm2mIVuFcrO-pA8L8,669
|
32
32
|
rbx/box/lazy_importing_main.py,sha256=6Z8As7qVFFT619xHH9Xt8VCH57NjC4aDxfAgkWiUwT8,116
|
33
33
|
rbx/box/lazy_importing_test.py,sha256=B0-b3y_DkxEmtVfu4NfmVsgVdFl6kRCsEL6GLMHJISo,628
|
34
|
+
rbx/box/linting.py,sha256=XdIgn8uRmPt06mLaP9ROnn6P1aSRdery6FkiLazLDM8,3181
|
34
35
|
rbx/box/main.py,sha256=a8CYi77kOywPFly4-ucEIJLXQW-1NFp91kK2fA42YTE,86
|
35
36
|
rbx/box/naming.py,sha256=pOG37X_wQM9CCSYwJIUf-b-ZHEs_nchO7wQEdP_quJg,1367
|
36
|
-
rbx/box/package.py,sha256=
|
37
|
+
rbx/box/package.py,sha256=ZywWmXjQo-A14fMOhOCzAO5IjFX9x-TBs8PusAv8iWE,13771
|
37
38
|
rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK683lE0,890
|
38
39
|
rbx/box/packaging/boca/packager.py,sha256=MEVXTGtMWxcXetvXZ4td-AtOUTM68WeRqy5yt-7Lg28,13675
|
39
40
|
rbx/box/packaging/contest_main.py,sha256=7YQWmzl1rOdO7cWFc_D6zhywIE12lKJY1O6hnrxkOLs,3168
|
@@ -46,16 +47,16 @@ rbx/box/packaging/polygon/polygon_api.py,sha256=mPKEqiwANJ1nr-JhOgzGMaDhnbljsAgz
|
|
46
47
|
rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
|
47
48
|
rbx/box/packaging/polygon/upload.py,sha256=6dIbjwygKtirLBkbh40UgtHU1NHGxSMoFAtg2BcC2II,12902
|
48
49
|
rbx/box/packaging/polygon/xml_schema.py,sha256=ZgcLyvxggMUccbTNdzflue5G-FTN2_ZmOGGF7FD0Y5A,2851
|
49
|
-
rbx/box/presets/__init__.py,sha256=
|
50
|
+
rbx/box/presets/__init__.py,sha256=9BLun8zOwbn6T9eyNtIMONL3Ty5j77UUPzenB2-JOpY,22709
|
50
51
|
rbx/box/presets/fetch.py,sha256=900aq9S8e12TlgSenG0iHgtF4OWgqavZsptgI_a1YKM,2508
|
51
|
-
rbx/box/presets/lock_schema.py,sha256=
|
52
|
-
rbx/box/presets/schema.py,sha256=
|
52
|
+
rbx/box/presets/lock_schema.py,sha256=Ohxs5J_B5_Dr8ZajptGqKzRzIjQS2ehDHbCOSy07PyY,309
|
53
|
+
rbx/box/presets/schema.py,sha256=KhAZjA5VU7dBEvGc22jBWO8JHKkQ-sbPz6EcJK8Rgfg,2299
|
53
54
|
rbx/box/remote.py,sha256=2xN0XSWoRyDY0-FNKejK0x8iKhRuVsluIMKKb-gD7bI,4572
|
54
|
-
rbx/box/retries.py,sha256=
|
55
|
+
rbx/box/retries.py,sha256=2K2AiFdtTaVsbzSgupbP4xr4QQ7LFeGBOcyXLinVf0I,4950
|
55
56
|
rbx/box/sanitizers/warning_stack.py,sha256=RI97_GJgdjTKIXY_r0EKp5h0qQQSDSdNDh5K7zINrqs,2861
|
56
|
-
rbx/box/schema.py,sha256=
|
57
|
+
rbx/box/schema.py,sha256=424VcpZzY2qUz8rlETwIqrzzwmnoARILEO7Wf2P61BY,18855
|
57
58
|
rbx/box/setter_config.py,sha256=9iObg6BwxQhFAhIOk31Jc0BDDpRYVGf3SyLIOsWIltM,4393
|
58
|
-
rbx/box/solutions.py,sha256=
|
59
|
+
rbx/box/solutions.py,sha256=g2jgDtSCqvlG-WiiJpTibLDljil2tRCKNelGS8qTrXQ,53357
|
59
60
|
rbx/box/solutions_test.py,sha256=PX1TQoRzNd9mi1SGsG7WFrpqFgNrNX5Kwt0mkwFdoOA,1749
|
60
61
|
rbx/box/state.py,sha256=MMf3DvfQji0jKEliCHct2Tpp_0epL1tvP8HbHNArQIc,166
|
61
62
|
rbx/box/statements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -66,11 +67,12 @@ rbx/box/statements/joiners.py,sha256=jItNXkAbTjFQpPMgfDMW86n3vMTbaE8sgo9I8Yf4Txg
|
|
66
67
|
rbx/box/statements/latex.py,sha256=LkcHwXjMFxbw--Gj9T1VkFKQFsXhY9dN7xZHpZycNW8,1346
|
67
68
|
rbx/box/statements/latex_jinja.py,sha256=6whLCIHzPjq7oeDwzUgdvirpLA4Y3G-w319DhzPwPUI,8960
|
68
69
|
rbx/box/statements/schema.py,sha256=QIUkQhrLb3rqAdvzDSwL3r4uAvDv-mKsWRtfCEH2L7Y,4685
|
70
|
+
rbx/box/stats.py,sha256=hXp4xF0_dI5TuU7unxAM5q0cVE9e1phmFbBS0PRQUbA,2999
|
69
71
|
rbx/box/stresses.py,sha256=SOfYhJxge3ykuLlBMALM0IAmpZuOZFS9EP8Jmn6yHiw,12923
|
70
72
|
rbx/box/stressing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
73
|
rbx/box/stressing/finder_parser.py,sha256=jXpYNa4FyugzmHi3r96Uv4rU1krRQJc5Ihr9jf1cvNo,11918
|
72
74
|
rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
|
73
|
-
rbx/box/tasks.py,sha256=
|
75
|
+
rbx/box/tasks.py,sha256=JygSpQzHxH71JwBJCl_JEbAfVMVz34lKjj5bhqQFqaM,10649
|
74
76
|
rbx/box/testcase_extractors.py,sha256=J43eG7vpxc5nP_2yhrXJODkd4EYlV4WiYVbM6hzipY4,11944
|
75
77
|
rbx/box/testcase_utils.py,sha256=epal6TFd2PK3dbEvTTr9tCebfmbF-rQD0d3xW8umriA,6860
|
76
78
|
rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -97,7 +99,7 @@ rbx/box/ui/screens/run_test_explorer.py,sha256=D6sXTEbqzXI7uPu3EXZoFyIBxlGFbkdey
|
|
97
99
|
rbx/box/ui/screens/selector.py,sha256=s9JR74anCt8NAlkk7GeNvqyqz2YEhCWTebOUNQ7HrXg,856
|
98
100
|
rbx/box/ui/screens/test_explorer.py,sha256=Iv6yDqELr4-Ouo9PSD5Wr3bTdbmx8VfrK9zj5ULhPlg,4078
|
99
101
|
rbx/box/ui/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
100
|
-
rbx/box/ui/utils/run_ui.py,sha256=
|
102
|
+
rbx/box/ui/utils/run_ui.py,sha256=0dr18mfRSPIu7JmR9OGIh87OvNmwqDL_zhhdpKtnD_g,3772
|
101
103
|
rbx/box/ui/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
102
104
|
rbx/box/ui/widgets/diff_box.py,sha256=4OxgwOvdm9nSVUKeKLzOQBlBweFu8LiTfp6g4ZkS5nM,1125
|
103
105
|
rbx/box/ui/widgets/file_log.py,sha256=3wlrmkWR-EMibwlwXOJ5sGpTFwFEkRaGYo5fdmf8L3w,1704
|
@@ -121,7 +123,7 @@ rbx/grading/conftest.py,sha256=iN9LUG1IQqhK5JjkctcP68v6675oYsiD2sQSgyLMTqw,960
|
|
121
123
|
rbx/grading/judge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
122
124
|
rbx/grading/judge/cacher.py,sha256=TDgYDhehnJIv64EFiXxPAtVADD8q9WcJa_BE9TsE-JM,17669
|
123
125
|
rbx/grading/judge/digester.py,sha256=gtOIe_iL4PEWA7OKelW1gjSI-nBvbOpDPJGV8VQyjSg,912
|
124
|
-
rbx/grading/judge/sandbox.py,sha256=
|
126
|
+
rbx/grading/judge/sandbox.py,sha256=EuBPWPuaRq6ikPd4G2V8fMJLJFkx7mdnNRSuql8loNE,26172
|
125
127
|
rbx/grading/judge/sandboxes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
126
128
|
rbx/grading/judge/sandboxes/isolate.py,sha256=L-h2_GZfFGYQEsGjd-lyzqzpsl6_ytJZ5myVyQCxerk,25961
|
127
129
|
rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=PSPQUBSSsP2OfEBbcLjx4m2rUlSxLZ-hKyMYP8zJWhI,11310
|
@@ -131,7 +133,7 @@ rbx/grading/judge/test.py,sha256=ll0Iw7zyOpGdKPD_PGH7dvUkb4stQLu-ikbQnqJvuAc,944
|
|
131
133
|
rbx/grading/judge/testiso.py,sha256=v14DtkWiZFJ9AKMzrb0_vZKPWDt8jz8iIw1Z2O-Advk,1397
|
132
134
|
rbx/grading/limits.py,sha256=ev312UTOo8S4-3AAVibQdXZclWCxS96CdbZxqW4y1kE,770
|
133
135
|
rbx/grading/processing_context.py,sha256=Jg9kNnkH3hi2hiE6Gh23QwS89r9Zj230NMl1CUEHSfo,1866
|
134
|
-
rbx/grading/steps.py,sha256=
|
136
|
+
rbx/grading/steps.py,sha256=pL1eoUYOR09jn5MHUsHFU2xTnwrTBo_2K4UPkcy60Oo,29021
|
135
137
|
rbx/grading/steps_with_caching.py,sha256=nez2YwgauGXKRjhk6tQxTDGQ-HEk7KfZOeAPhsxi5iw,3150
|
136
138
|
rbx/grading/steps_with_caching_run_test.py,sha256=mh4DRInrOGhnQFWD1SlcjDm_HvcSDFTDMSpAlG-Q5SI,15570
|
137
139
|
rbx/grading_utils.py,sha256=lL2KtSkOsMElqrRoApQTbFcqVOeHVWUDTMCa3IsLpC4,4484
|
@@ -194,26 +196,26 @@ rbx/resources/packagers/moj/scripts/py2/run.sh,sha256=qshf-K3mKP4c7b45S3D82Wj0Ai
|
|
194
196
|
rbx/resources/packagers/moj/scripts/py3/compile.sh,sha256=XPn8qDR_gPAAZD9h5lVEMdBkrSogRZvpT4MAaNNp9nk,96
|
195
197
|
rbx/resources/packagers/moj/scripts/py3/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
|
196
198
|
rbx/resources/packagers/moj/scripts/py3/run.sh,sha256=LrMi7Tap9no8gh64QNGUXbWauP6ZpSl-wEwXZ2qhPo0,197
|
197
|
-
rbx/resources/presets/default/contest/contest.rbx.yml,sha256=
|
199
|
+
rbx/resources/presets/default/contest/contest.rbx.yml,sha256=nN6FTb9xTISR2Lxv6AoCegEStgmwsfPo5KaFiBlJgWU,535
|
198
200
|
rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=3YDQo5c-SGbwXcd4uytyY_Mc7UriAditgdJnbN8UdHg,3062
|
199
201
|
rbx/resources/presets/default/contest/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
|
200
202
|
rbx/resources/presets/default/contest/statement/template.rbx.tex,sha256=XSGtd8JJKfOmU7yTWcC02x6NND9GUlj9uXOEJC168Lg,834
|
201
|
-
rbx/resources/presets/default/preset.rbx.yml,sha256=
|
203
|
+
rbx/resources/presets/default/preset.rbx.yml,sha256=zepC-H2d7c3EZ3pP_agafpinxgCQ53U_JF7X3-WuGak,411
|
202
204
|
rbx/resources/presets/default/problem/.gitignore,sha256=zc-lnGQQZsLBaXpSshesA_QfxhiZdNCSJDEuKqlPtjw,29
|
203
205
|
rbx/resources/presets/default/problem/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
|
204
|
-
rbx/resources/presets/default/problem/problem.rbx.yml,sha256
|
206
|
+
rbx/resources/presets/default/problem/problem.rbx.yml,sha256=-tmGCLQD1TLtezoUjbRxJQzz5CtfRtvJEjEG2EYKEls,1689
|
205
207
|
rbx/resources/presets/default/problem/random.py,sha256=-iPorU24QHfp39EYRJX9jMKcTIxxz5ejKoAzPLIuu1g,98
|
206
|
-
rbx/resources/presets/default/problem/random.txt,sha256=
|
208
|
+
rbx/resources/presets/default/problem/random.txt,sha256=2BA_AM8IAKEcrUTJhnzWnNJN8whDN82E2137NhFkt2U,137
|
209
|
+
rbx/resources/presets/default/problem/rbx.h,sha256=LBkbC3gbDPW2Fdm1p99hNhF7oKpZLLSY7dE4zpepp5w,2161
|
207
210
|
rbx/resources/presets/default/problem/sols/main.cpp,sha256=AW-j65DiFYUN18rddTKCWc_VyYCMgCbjZ0jAJ-0JLuA,124
|
208
211
|
rbx/resources/presets/default/problem/sols/slow.cpp,sha256=at9iXQjROaxG5f6OWH__phENb2SOK3crRfU7AwYT6hM,229
|
209
212
|
rbx/resources/presets/default/problem/sols/wa.cpp,sha256=Bj7tejPIlXG_JqUHWY1zi9TDbHdRZzgT_JDbCLRdhbQ,136
|
210
213
|
rbx/resources/presets/default/problem/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
|
211
|
-
rbx/resources/presets/default/problem/statement/
|
212
|
-
rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=tYcxTKLEvUgOQpB9f1foNFctshlxyVceGFc0k-WvAxI,459
|
214
|
+
rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=JHdiMN3NQQsysDA1w3RfOGmDFobCc68YCB6SURy2hHo,360
|
213
215
|
rbx/resources/presets/default/problem/statement/template.rbx.tex,sha256=BNvHDWGY1BU4tHUHtuIYBhdoOqp3fXO5qNr84ekOsgY,1693
|
214
216
|
rbx/resources/presets/default/problem/tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
|
215
217
|
rbx/resources/presets/default/problem/tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
|
216
|
-
rbx/resources/presets/default/problem/validator.cpp,sha256=
|
218
|
+
rbx/resources/presets/default/problem/validator.cpp,sha256=w4gl1u30Dx1N9oRTVtIg_rPlIyL6QdN_Bi5FDpp4gyw,317
|
217
219
|
rbx/resources/presets/default/problem/wcmp.cpp,sha256=gbjJe3Vf9-YzHCEqBUq30aI3jMZXhqBDn3jjecYOn-w,902
|
218
220
|
rbx/resources/templates/rbx.h,sha256=Iwtmr2gdDYmZ2VlIurmleBb_uEpriWd4EX0dJta8xUA,2179
|
219
221
|
rbx/resources/templates/template.cpp,sha256=xXWpWo7fa7HfmPNqkmHcmv3i46Wm0ZL-gPmkRfGvLn4,317
|
@@ -228,8 +230,8 @@ rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
|
|
228
230
|
rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
|
229
231
|
rbx/testing_utils.py,sha256=x_PqD8Zd2PkN91NxVHUnSTs044-1WK5KKtttKQBXpFs,2083
|
230
232
|
rbx/utils.py,sha256=SfR844_i0ebRDMkmS_w1YdZiWPc6h2RGADygewlWRbA,4845
|
231
|
-
rbx_cp-0.
|
232
|
-
rbx_cp-0.
|
233
|
-
rbx_cp-0.
|
234
|
-
rbx_cp-0.
|
235
|
-
rbx_cp-0.
|
233
|
+
rbx_cp-0.7.0.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
234
|
+
rbx_cp-0.7.0.dist-info/METADATA,sha256=cJPXcUWJPFAQ-Bo1Ijc8YJqpvo-aJcBsodttyutj-2g,4456
|
235
|
+
rbx_cp-0.7.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
236
|
+
rbx_cp-0.7.0.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
|
237
|
+
rbx_cp-0.7.0.dist-info/RECORD,,
|
Binary file
|
File without changes
|
File without changes
|