Training in progress, step 32000, checkpoint
Browse files- checkpoint-32000/config.json +39 -0
- checkpoint-32000/generation_config.json +6 -0
- checkpoint-32000/model.safetensors +3 -0
- checkpoint-32000/optimizer.pt +3 -0
- checkpoint-32000/rng_state.pth +3 -0
- checkpoint-32000/scheduler.pt +3 -0
- checkpoint-32000/special_tokens_map.json +17 -0
- checkpoint-32000/tokenizer.json +0 -0
- checkpoint-32000/tokenizer_config.json +58 -0
- checkpoint-32000/trainer_state.json +282 -0
- checkpoint-32000/training_args.bin +3 -0
checkpoint-32000/config.json
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_name_or_path": "gpt2",
|
3 |
+
"activation_function": "gelu_new",
|
4 |
+
"architectures": [
|
5 |
+
"GPT2LMHeadModel"
|
6 |
+
],
|
7 |
+
"attn_pdrop": 0.1,
|
8 |
+
"bos_token_id": 5,
|
9 |
+
"embd_pdrop": 0.1,
|
10 |
+
"eos_token_id": 4,
|
11 |
+
"initializer_range": 0.02,
|
12 |
+
"layer_norm_epsilon": 1e-05,
|
13 |
+
"model_type": "gpt2",
|
14 |
+
"n_ctx": 128,
|
15 |
+
"n_embd": 128,
|
16 |
+
"n_head": 8,
|
17 |
+
"n_inner": null,
|
18 |
+
"n_layer": 8,
|
19 |
+
"n_positions": 128,
|
20 |
+
"reorder_and_upcast_attn": false,
|
21 |
+
"resid_pdrop": 0.1,
|
22 |
+
"scale_attn_by_inverse_layer_idx": false,
|
23 |
+
"scale_attn_weights": true,
|
24 |
+
"summary_activation": null,
|
25 |
+
"summary_first_dropout": 0.1,
|
26 |
+
"summary_proj_to_labels": true,
|
27 |
+
"summary_type": "cls_index",
|
28 |
+
"summary_use_proj": true,
|
29 |
+
"task_specific_params": {
|
30 |
+
"text-generation": {
|
31 |
+
"do_sample": true,
|
32 |
+
"max_length": 50
|
33 |
+
}
|
34 |
+
},
|
35 |
+
"torch_dtype": "float32",
|
36 |
+
"transformers_version": "4.45.2",
|
37 |
+
"use_cache": true,
|
38 |
+
"vocab_size": 16384
|
39 |
+
}
|
checkpoint-32000/generation_config.json
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_from_model_config": true,
|
3 |
+
"bos_token_id": 5,
|
4 |
+
"eos_token_id": 4,
|
5 |
+
"transformers_version": "4.45.2"
|
6 |
+
}
|
checkpoint-32000/model.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4194b324ea026afa1a62fde3f7d71ef1c86a740104f74d94745861639e3940e8
|
3 |
+
size 14809584
|
checkpoint-32000/optimizer.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:745c678ccf788851ad3ad87505d1b3d95d5975468529efa4236a0edf8f4ccddb
|
3 |
+
size 29680378
|
checkpoint-32000/rng_state.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4985f7362bd4bd22959ff1a6005f8640f99b5a34d77d9c5d34805973aff15c5e
|
3 |
+
size 13990
|
checkpoint-32000/scheduler.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1444ea66cbbad7365e9a9bfc0a747283eaf112fe494318ef8d362428d5c2c86a
|
3 |
+
size 1192
|
checkpoint-32000/special_tokens_map.json
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bos_token": {
|
3 |
+
"content": "[BOS]",
|
4 |
+
"lstrip": false,
|
5 |
+
"normalized": false,
|
6 |
+
"rstrip": false,
|
7 |
+
"single_word": false
|
8 |
+
},
|
9 |
+
"eos_token": {
|
10 |
+
"content": "[EOS]",
|
11 |
+
"lstrip": false,
|
12 |
+
"normalized": false,
|
13 |
+
"rstrip": false,
|
14 |
+
"single_word": false
|
15 |
+
},
|
16 |
+
"pad_token": "[EOS]"
|
17 |
+
}
|
checkpoint-32000/tokenizer.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
checkpoint-32000/tokenizer_config.json
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"added_tokens_decoder": {
|
3 |
+
"0": {
|
4 |
+
"content": "[UNK]",
|
5 |
+
"lstrip": false,
|
6 |
+
"normalized": false,
|
7 |
+
"rstrip": false,
|
8 |
+
"single_word": false,
|
9 |
+
"special": true
|
10 |
+
},
|
11 |
+
"1": {
|
12 |
+
"content": "[CLS]",
|
13 |
+
"lstrip": false,
|
14 |
+
"normalized": false,
|
15 |
+
"rstrip": false,
|
16 |
+
"single_word": false,
|
17 |
+
"special": true
|
18 |
+
},
|
19 |
+
"2": {
|
20 |
+
"content": "[SEP]",
|
21 |
+
"lstrip": false,
|
22 |
+
"normalized": false,
|
23 |
+
"rstrip": false,
|
24 |
+
"single_word": false,
|
25 |
+
"special": true
|
26 |
+
},
|
27 |
+
"3": {
|
28 |
+
"content": "[PAD]",
|
29 |
+
"lstrip": false,
|
30 |
+
"normalized": false,
|
31 |
+
"rstrip": false,
|
32 |
+
"single_word": false,
|
33 |
+
"special": true
|
34 |
+
},
|
35 |
+
"4": {
|
36 |
+
"content": "[EOS]",
|
37 |
+
"lstrip": false,
|
38 |
+
"normalized": false,
|
39 |
+
"rstrip": false,
|
40 |
+
"single_word": false,
|
41 |
+
"special": true
|
42 |
+
},
|
43 |
+
"5": {
|
44 |
+
"content": "[BOS]",
|
45 |
+
"lstrip": false,
|
46 |
+
"normalized": false,
|
47 |
+
"rstrip": false,
|
48 |
+
"single_word": false,
|
49 |
+
"special": true
|
50 |
+
}
|
51 |
+
},
|
52 |
+
"bos_token": "[BOS]",
|
53 |
+
"clean_up_tokenization_spaces": false,
|
54 |
+
"eos_token": "[EOS]",
|
55 |
+
"model_max_length": 1000000000000000019884624838656,
|
56 |
+
"pad_token": "[EOS]",
|
57 |
+
"tokenizer_class": "PreTrainedTokenizerFast"
|
58 |
+
}
|
checkpoint-32000/trainer_state.json
ADDED
@@ -0,0 +1,282 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"best_metric": 3.487799882888794,
|
3 |
+
"best_model_checkpoint": "/Users/frapadovani/Desktop/babyLM_controlled/models_trained/convergence_french/random_sentence_french/checkpoint-32000",
|
4 |
+
"epoch": 0.9475024427797353,
|
5 |
+
"eval_steps": 2000,
|
6 |
+
"global_step": 32000,
|
7 |
+
"is_hyper_param_search": false,
|
8 |
+
"is_local_process_zero": true,
|
9 |
+
"is_world_process_zero": true,
|
10 |
+
"log_history": [
|
11 |
+
{
|
12 |
+
"epoch": 0.059218902673733455,
|
13 |
+
"grad_norm": 1.0812722444534302,
|
14 |
+
"learning_rate": 0.0001,
|
15 |
+
"loss": 4.7523,
|
16 |
+
"step": 2000
|
17 |
+
},
|
18 |
+
{
|
19 |
+
"epoch": 0.059218902673733455,
|
20 |
+
"eval_loss": 4.0236735343933105,
|
21 |
+
"eval_runtime": 5.173,
|
22 |
+
"eval_samples_per_second": 425.477,
|
23 |
+
"eval_steps_per_second": 26.677,
|
24 |
+
"step": 2000
|
25 |
+
},
|
26 |
+
{
|
27 |
+
"epoch": 0.11843780534746691,
|
28 |
+
"grad_norm": 1.2557106018066406,
|
29 |
+
"learning_rate": 0.0001,
|
30 |
+
"loss": 3.8958,
|
31 |
+
"step": 4000
|
32 |
+
},
|
33 |
+
{
|
34 |
+
"epoch": 0.11843780534746691,
|
35 |
+
"eval_loss": 3.8087611198425293,
|
36 |
+
"eval_runtime": 5.2666,
|
37 |
+
"eval_samples_per_second": 417.913,
|
38 |
+
"eval_steps_per_second": 26.203,
|
39 |
+
"step": 4000
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"epoch": 0.17765670802120037,
|
43 |
+
"grad_norm": 1.3326870203018188,
|
44 |
+
"learning_rate": 0.0001,
|
45 |
+
"loss": 3.7344,
|
46 |
+
"step": 6000
|
47 |
+
},
|
48 |
+
{
|
49 |
+
"epoch": 0.17765670802120037,
|
50 |
+
"eval_loss": 3.704986333847046,
|
51 |
+
"eval_runtime": 5.2277,
|
52 |
+
"eval_samples_per_second": 421.023,
|
53 |
+
"eval_steps_per_second": 26.398,
|
54 |
+
"step": 6000
|
55 |
+
},
|
56 |
+
{
|
57 |
+
"epoch": 0.23687561069493382,
|
58 |
+
"grad_norm": 1.38993239402771,
|
59 |
+
"learning_rate": 0.0001,
|
60 |
+
"loss": 3.6379,
|
61 |
+
"step": 8000
|
62 |
+
},
|
63 |
+
{
|
64 |
+
"epoch": 0.23687561069493382,
|
65 |
+
"eval_loss": 3.6455252170562744,
|
66 |
+
"eval_runtime": 5.1485,
|
67 |
+
"eval_samples_per_second": 427.5,
|
68 |
+
"eval_steps_per_second": 26.804,
|
69 |
+
"step": 8000
|
70 |
+
},
|
71 |
+
{
|
72 |
+
"epoch": 0.29609451336866727,
|
73 |
+
"grad_norm": 1.3884963989257812,
|
74 |
+
"learning_rate": 0.0001,
|
75 |
+
"loss": 3.5687,
|
76 |
+
"step": 10000
|
77 |
+
},
|
78 |
+
{
|
79 |
+
"epoch": 0.29609451336866727,
|
80 |
+
"eval_loss": 3.6062421798706055,
|
81 |
+
"eval_runtime": 5.1466,
|
82 |
+
"eval_samples_per_second": 427.661,
|
83 |
+
"eval_steps_per_second": 26.814,
|
84 |
+
"step": 10000
|
85 |
+
},
|
86 |
+
{
|
87 |
+
"epoch": 0.35531341604240074,
|
88 |
+
"grad_norm": 1.435062289237976,
|
89 |
+
"learning_rate": 0.0001,
|
90 |
+
"loss": 3.5165,
|
91 |
+
"step": 12000
|
92 |
+
},
|
93 |
+
{
|
94 |
+
"epoch": 0.35531341604240074,
|
95 |
+
"eval_loss": 3.5764389038085938,
|
96 |
+
"eval_runtime": 5.132,
|
97 |
+
"eval_samples_per_second": 428.881,
|
98 |
+
"eval_steps_per_second": 26.89,
|
99 |
+
"step": 12000
|
100 |
+
},
|
101 |
+
{
|
102 |
+
"epoch": 0.41453231871613416,
|
103 |
+
"grad_norm": 1.3539327383041382,
|
104 |
+
"learning_rate": 0.0001,
|
105 |
+
"loss": 3.4738,
|
106 |
+
"step": 14000
|
107 |
+
},
|
108 |
+
{
|
109 |
+
"epoch": 0.41453231871613416,
|
110 |
+
"eval_loss": 3.555619239807129,
|
111 |
+
"eval_runtime": 5.1586,
|
112 |
+
"eval_samples_per_second": 426.667,
|
113 |
+
"eval_steps_per_second": 26.752,
|
114 |
+
"step": 14000
|
115 |
+
},
|
116 |
+
{
|
117 |
+
"epoch": 0.47375122138986764,
|
118 |
+
"grad_norm": 1.3827875852584839,
|
119 |
+
"learning_rate": 0.0001,
|
120 |
+
"loss": 3.4389,
|
121 |
+
"step": 16000
|
122 |
+
},
|
123 |
+
{
|
124 |
+
"epoch": 0.47375122138986764,
|
125 |
+
"eval_loss": 3.5388290882110596,
|
126 |
+
"eval_runtime": 5.8029,
|
127 |
+
"eval_samples_per_second": 379.292,
|
128 |
+
"eval_steps_per_second": 23.781,
|
129 |
+
"step": 16000
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"epoch": 0.5329701240636011,
|
133 |
+
"grad_norm": 1.316589593887329,
|
134 |
+
"learning_rate": 0.0001,
|
135 |
+
"loss": 3.4067,
|
136 |
+
"step": 18000
|
137 |
+
},
|
138 |
+
{
|
139 |
+
"epoch": 0.5329701240636011,
|
140 |
+
"eval_loss": 3.5234413146972656,
|
141 |
+
"eval_runtime": 5.1383,
|
142 |
+
"eval_samples_per_second": 428.353,
|
143 |
+
"eval_steps_per_second": 26.857,
|
144 |
+
"step": 18000
|
145 |
+
},
|
146 |
+
{
|
147 |
+
"epoch": 0.5921890267373345,
|
148 |
+
"grad_norm": 1.3910475969314575,
|
149 |
+
"learning_rate": 0.0001,
|
150 |
+
"loss": 3.3778,
|
151 |
+
"step": 20000
|
152 |
+
},
|
153 |
+
{
|
154 |
+
"epoch": 0.5921890267373345,
|
155 |
+
"eval_loss": 3.5121970176696777,
|
156 |
+
"eval_runtime": 7.6572,
|
157 |
+
"eval_samples_per_second": 287.442,
|
158 |
+
"eval_steps_per_second": 18.022,
|
159 |
+
"step": 20000
|
160 |
+
},
|
161 |
+
{
|
162 |
+
"epoch": 0.6514079294110681,
|
163 |
+
"grad_norm": 1.510622262954712,
|
164 |
+
"learning_rate": 0.0001,
|
165 |
+
"loss": 3.3511,
|
166 |
+
"step": 22000
|
167 |
+
},
|
168 |
+
{
|
169 |
+
"epoch": 0.6514079294110681,
|
170 |
+
"eval_loss": 3.5116806030273438,
|
171 |
+
"eval_runtime": 5.6879,
|
172 |
+
"eval_samples_per_second": 386.964,
|
173 |
+
"eval_steps_per_second": 24.262,
|
174 |
+
"step": 22000
|
175 |
+
},
|
176 |
+
{
|
177 |
+
"epoch": 0.7106268320848015,
|
178 |
+
"grad_norm": 1.4063044786453247,
|
179 |
+
"learning_rate": 0.0001,
|
180 |
+
"loss": 3.3309,
|
181 |
+
"step": 24000
|
182 |
+
},
|
183 |
+
{
|
184 |
+
"epoch": 0.7106268320848015,
|
185 |
+
"eval_loss": 3.5099916458129883,
|
186 |
+
"eval_runtime": 5.2486,
|
187 |
+
"eval_samples_per_second": 419.351,
|
188 |
+
"eval_steps_per_second": 26.293,
|
189 |
+
"step": 24000
|
190 |
+
},
|
191 |
+
{
|
192 |
+
"epoch": 0.7698457347585349,
|
193 |
+
"grad_norm": 1.459807276725769,
|
194 |
+
"learning_rate": 0.0001,
|
195 |
+
"loss": 3.309,
|
196 |
+
"step": 26000
|
197 |
+
},
|
198 |
+
{
|
199 |
+
"epoch": 0.7698457347585349,
|
200 |
+
"eval_loss": 3.498032808303833,
|
201 |
+
"eval_runtime": 5.3512,
|
202 |
+
"eval_samples_per_second": 411.307,
|
203 |
+
"eval_steps_per_second": 25.788,
|
204 |
+
"step": 26000
|
205 |
+
},
|
206 |
+
{
|
207 |
+
"epoch": 0.8290646374322683,
|
208 |
+
"grad_norm": 1.4196616411209106,
|
209 |
+
"learning_rate": 0.0001,
|
210 |
+
"loss": 3.2905,
|
211 |
+
"step": 28000
|
212 |
+
},
|
213 |
+
{
|
214 |
+
"epoch": 0.8290646374322683,
|
215 |
+
"eval_loss": 3.4919426441192627,
|
216 |
+
"eval_runtime": 5.2649,
|
217 |
+
"eval_samples_per_second": 418.049,
|
218 |
+
"eval_steps_per_second": 26.211,
|
219 |
+
"step": 28000
|
220 |
+
},
|
221 |
+
{
|
222 |
+
"epoch": 0.8882835401060019,
|
223 |
+
"grad_norm": 1.431018352508545,
|
224 |
+
"learning_rate": 0.0001,
|
225 |
+
"loss": 3.2685,
|
226 |
+
"step": 30000
|
227 |
+
},
|
228 |
+
{
|
229 |
+
"epoch": 0.8882835401060019,
|
230 |
+
"eval_loss": 3.492326021194458,
|
231 |
+
"eval_runtime": 5.1879,
|
232 |
+
"eval_samples_per_second": 424.254,
|
233 |
+
"eval_steps_per_second": 26.6,
|
234 |
+
"step": 30000
|
235 |
+
},
|
236 |
+
{
|
237 |
+
"epoch": 0.9475024427797353,
|
238 |
+
"grad_norm": 1.4345752000808716,
|
239 |
+
"learning_rate": 0.0001,
|
240 |
+
"loss": 3.2518,
|
241 |
+
"step": 32000
|
242 |
+
},
|
243 |
+
{
|
244 |
+
"epoch": 0.9475024427797353,
|
245 |
+
"eval_loss": 3.487799882888794,
|
246 |
+
"eval_runtime": 5.3438,
|
247 |
+
"eval_samples_per_second": 411.877,
|
248 |
+
"eval_steps_per_second": 25.824,
|
249 |
+
"step": 32000
|
250 |
+
}
|
251 |
+
],
|
252 |
+
"logging_steps": 2000,
|
253 |
+
"max_steps": 33773,
|
254 |
+
"num_input_tokens_seen": 0,
|
255 |
+
"num_train_epochs": 1,
|
256 |
+
"save_steps": 2000,
|
257 |
+
"stateful_callbacks": {
|
258 |
+
"EarlyStoppingCallback": {
|
259 |
+
"args": {
|
260 |
+
"early_stopping_patience": 3,
|
261 |
+
"early_stopping_threshold": 0.001
|
262 |
+
},
|
263 |
+
"attributes": {
|
264 |
+
"early_stopping_patience_counter": 0
|
265 |
+
}
|
266 |
+
},
|
267 |
+
"TrainerControl": {
|
268 |
+
"args": {
|
269 |
+
"should_epoch_stop": false,
|
270 |
+
"should_evaluate": false,
|
271 |
+
"should_log": false,
|
272 |
+
"should_save": true,
|
273 |
+
"should_training_stop": false
|
274 |
+
},
|
275 |
+
"attributes": {}
|
276 |
+
}
|
277 |
+
},
|
278 |
+
"total_flos": 623810445312000.0,
|
279 |
+
"train_batch_size": 16,
|
280 |
+
"trial_name": null,
|
281 |
+
"trial_params": null
|
282 |
+
}
|
checkpoint-32000/training_args.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:fce3a8508ad2aa1c0ae1cc54c6fe1747e2312953499cad9c035bc201c305894e
|
3 |
+
size 5496
|