String Studio bass — Karoryfer pack v3
Browse files- .gitattributes +6 -0
- README.md +15 -24
- manifest.json +37 -123
- samples/37_v100_rr1.wav +3 -0
- samples/37_v48_rr1.wav +3 -0
- samples/40_v100_rr1.wav +3 -0
- samples/40_v48_rr1.wav +3 -0
- samples/45_v100_rr1.wav +1 -1
- samples/45_v48_rr1.wav +1 -1
- samples/51_v100_rr1.wav +3 -0
- samples/51_v48_rr1.wav +3 -0
.gitattributes
CHANGED
|
@@ -49,3 +49,9 @@ samples/52_v100_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
|
| 49 |
samples/52_v100_rr2.wav filter=lfs diff=lfs merge=lfs -text
|
| 50 |
samples/52_v48_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
| 51 |
samples/52_v48_rr2.wav filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
samples/52_v100_rr2.wav filter=lfs diff=lfs merge=lfs -text
|
| 50 |
samples/52_v48_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
| 51 |
samples/52_v48_rr2.wav filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
samples/37_v100_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
samples/37_v48_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
samples/40_v100_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
samples/40_v48_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
samples/51_v100_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
samples/51_v48_rr1.wav filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -1,28 +1,19 @@
|
|
| 1 |
-
# String Studio — Bass sample pack
|
| 2 |
|
| 3 |
-
|
| 4 |
-
|
|
|
|
| 5 |
|
| 6 |
-
**
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
-
|
|
|
|
|
|
|
| 9 |
|
| 10 |
-
|
| 11 |
-
-
|
| 12 |
-
|
| 13 |
-
- Algorithm: extended Karplus-Strong (raw string voice — body resonance
|
| 14 |
-
is intentionally NOT baked in; the runtime `BodyResonator` provides
|
| 15 |
-
body coloration for both sampled and physical-model voices uniformly).
|
| 16 |
-
Includes fractional-delay Lagrange interpolation, first-order dispersion
|
| 17 |
-
all-pass, one-pole loop damping, pluck-position comb shaping, and
|
| 18 |
-
per-pluck pitch jitter.
|
| 19 |
-
|
| 20 |
-
**Manifest schema**
|
| 21 |
-
|
| 22 |
-
See `manifest.json`. Loader contract is documented in
|
| 23 |
-
`src/audio/stringstudio/samples/SampleManifest.ts` in the MAESTRO repo.
|
| 24 |
-
|
| 25 |
-
**Mirror policy**
|
| 26 |
-
|
| 27 |
-
Re-renders are reproducible (deterministic per-zone seeds) — re-running the
|
| 28 |
-
script produces byte-identical samples.
|
|
|
|
| 1 |
+
# String Studio — Bass sample pack (v3)
|
| 2 |
|
| 3 |
+
Real-instrument multisamples derived from **Growlybass** by
|
| 4 |
+
Karoryfer Samples. Licensed CC0-1.0 — the source library is public
|
| 5 |
+
domain, and so is this repackage.
|
| 6 |
|
| 7 |
+
**Pack version**: 3 (Karoryfer real-recording pack)
|
| 8 |
+
**Source URL**: https://github.com/sfzinstruments/karoryfer.growlybass/releases/download/v1.002/Karoryfer.Growlybass.v1.002.zip
|
| 9 |
+
**Sample rate**: 48000 Hz, mono, 24-bit PCM WAV
|
| 10 |
+
**Render duration**: 2.5 s per zone (trimmed from source,
|
| 11 |
+
peak-normalized to −3 dBFS, 50 ms tail fade)
|
| 12 |
|
| 13 |
+
Each zone is one (rootPitch, velocity layer) selected from Karoryfer's
|
| 14 |
+
much larger multisample set. The runtime SampleLoader picks the closest
|
| 15 |
+
zone to an incoming MIDI note and pitch-shifts via `playbackRate`.
|
| 16 |
|
| 17 |
+
For the full multisample sets (more pitches, more velocity layers, more
|
| 18 |
+
round-robins, articulations, fingering noises, release samples), download
|
| 19 |
+
the source library directly from Karoryfer Samples.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
manifest.json
CHANGED
|
@@ -1,187 +1,101 @@
|
|
| 1 |
{
|
| 2 |
"instrument": "bass",
|
| 3 |
-
"version":
|
| 4 |
"license": "CC0-1.0",
|
| 5 |
-
"attribution": "
|
|
|
|
|
|
|
| 6 |
"sampleRate": 48000,
|
| 7 |
-
"totalSizeMB":
|
| 8 |
"source": "hf",
|
| 9 |
"zones": [
|
| 10 |
{
|
| 11 |
-
"file": "samples/
|
| 12 |
-
"rootPitch":
|
| 13 |
-
"lowPitch":
|
| 14 |
-
"highPitch":
|
| 15 |
"lowVelocity": 0,
|
| 16 |
"highVelocity": 63,
|
| 17 |
"roundRobin": 1,
|
| 18 |
"sizeBytes": 360044,
|
| 19 |
-
"sha256": "
|
| 20 |
},
|
| 21 |
{
|
| 22 |
-
"file": "samples/
|
| 23 |
-
"rootPitch":
|
| 24 |
-
"lowPitch":
|
| 25 |
-
"highPitch":
|
| 26 |
-
"lowVelocity": 0,
|
| 27 |
-
"highVelocity": 63,
|
| 28 |
-
"roundRobin": 2,
|
| 29 |
-
"sizeBytes": 360044,
|
| 30 |
-
"sha256": "4c3383a9622cda74903401bb9c46b8836a78b160eff7a4373377b328bff77c81"
|
| 31 |
-
},
|
| 32 |
-
{
|
| 33 |
-
"file": "samples/31_v100_rr1.wav",
|
| 34 |
-
"rootPitch": 31,
|
| 35 |
-
"lowPitch": 27,
|
| 36 |
-
"highPitch": 33,
|
| 37 |
"lowVelocity": 64,
|
| 38 |
"highVelocity": 127,
|
| 39 |
"roundRobin": 1,
|
| 40 |
"sizeBytes": 360044,
|
| 41 |
-
"sha256": "
|
| 42 |
-
},
|
| 43 |
-
{
|
| 44 |
-
"file": "samples/31_v100_rr2.wav",
|
| 45 |
-
"rootPitch": 31,
|
| 46 |
-
"lowPitch": 27,
|
| 47 |
-
"highPitch": 33,
|
| 48 |
-
"lowVelocity": 64,
|
| 49 |
-
"highVelocity": 127,
|
| 50 |
-
"roundRobin": 2,
|
| 51 |
-
"sizeBytes": 360044,
|
| 52 |
-
"sha256": "364c93d4fc36c55ea9c90ff8a685a8dcf86bc932a958cebfb36693c4b5ff2f66"
|
| 53 |
},
|
| 54 |
{
|
| 55 |
-
"file": "samples/
|
| 56 |
-
"rootPitch":
|
| 57 |
-
"lowPitch":
|
| 58 |
-
"highPitch":
|
| 59 |
"lowVelocity": 0,
|
| 60 |
"highVelocity": 63,
|
| 61 |
"roundRobin": 1,
|
| 62 |
"sizeBytes": 360044,
|
| 63 |
-
"sha256": "
|
| 64 |
},
|
| 65 |
{
|
| 66 |
-
"file": "samples/
|
| 67 |
-
"rootPitch":
|
| 68 |
-
"lowPitch":
|
| 69 |
-
"highPitch":
|
| 70 |
-
"lowVelocity": 0,
|
| 71 |
-
"highVelocity": 63,
|
| 72 |
-
"roundRobin": 2,
|
| 73 |
-
"sizeBytes": 360044,
|
| 74 |
-
"sha256": "d48afbb71785f5d1b0fe6ae6807354705e6c4cea1f64d71fb9acd92ab285268a"
|
| 75 |
-
},
|
| 76 |
-
{
|
| 77 |
-
"file": "samples/38_v100_rr1.wav",
|
| 78 |
-
"rootPitch": 38,
|
| 79 |
-
"lowPitch": 34,
|
| 80 |
-
"highPitch": 40,
|
| 81 |
"lowVelocity": 64,
|
| 82 |
"highVelocity": 127,
|
| 83 |
"roundRobin": 1,
|
| 84 |
"sizeBytes": 360044,
|
| 85 |
-
"sha256": "
|
| 86 |
-
},
|
| 87 |
-
{
|
| 88 |
-
"file": "samples/38_v100_rr2.wav",
|
| 89 |
-
"rootPitch": 38,
|
| 90 |
-
"lowPitch": 34,
|
| 91 |
-
"highPitch": 40,
|
| 92 |
-
"lowVelocity": 64,
|
| 93 |
-
"highVelocity": 127,
|
| 94 |
-
"roundRobin": 2,
|
| 95 |
-
"sizeBytes": 360044,
|
| 96 |
-
"sha256": "b60df03c802023ce080c7e478ee2582450fe3e7dbe242b939e03e49aca5159fb"
|
| 97 |
},
|
| 98 |
{
|
| 99 |
"file": "samples/45_v48_rr1.wav",
|
| 100 |
"rootPitch": 45,
|
| 101 |
-
"lowPitch":
|
| 102 |
"highPitch": 47,
|
| 103 |
"lowVelocity": 0,
|
| 104 |
"highVelocity": 63,
|
| 105 |
"roundRobin": 1,
|
| 106 |
"sizeBytes": 360044,
|
| 107 |
-
"sha256": "
|
| 108 |
-
},
|
| 109 |
-
{
|
| 110 |
-
"file": "samples/45_v48_rr2.wav",
|
| 111 |
-
"rootPitch": 45,
|
| 112 |
-
"lowPitch": 41,
|
| 113 |
-
"highPitch": 47,
|
| 114 |
-
"lowVelocity": 0,
|
| 115 |
-
"highVelocity": 63,
|
| 116 |
-
"roundRobin": 2,
|
| 117 |
-
"sizeBytes": 360044,
|
| 118 |
-
"sha256": "f717dcb7bd0cf7478ff3933588f24a6df57763066a72cfbd2b3c9fc350e1a646"
|
| 119 |
},
|
| 120 |
{
|
| 121 |
"file": "samples/45_v100_rr1.wav",
|
| 122 |
"rootPitch": 45,
|
| 123 |
-
"lowPitch":
|
| 124 |
"highPitch": 47,
|
| 125 |
"lowVelocity": 64,
|
| 126 |
"highVelocity": 127,
|
| 127 |
"roundRobin": 1,
|
| 128 |
"sizeBytes": 360044,
|
| 129 |
-
"sha256": "
|
| 130 |
-
},
|
| 131 |
-
{
|
| 132 |
-
"file": "samples/45_v100_rr2.wav",
|
| 133 |
-
"rootPitch": 45,
|
| 134 |
-
"lowPitch": 41,
|
| 135 |
-
"highPitch": 47,
|
| 136 |
-
"lowVelocity": 64,
|
| 137 |
-
"highVelocity": 127,
|
| 138 |
-
"roundRobin": 2,
|
| 139 |
-
"sizeBytes": 360044,
|
| 140 |
-
"sha256": "cf1687c136511ddc6d92a308a1e572a84accdb870fe8eef8eefb66107d3d0d64"
|
| 141 |
},
|
| 142 |
{
|
| 143 |
-
"file": "samples/
|
| 144 |
-
"rootPitch":
|
| 145 |
"lowPitch": 48,
|
| 146 |
-
"highPitch":
|
| 147 |
"lowVelocity": 0,
|
| 148 |
"highVelocity": 63,
|
| 149 |
"roundRobin": 1,
|
| 150 |
"sizeBytes": 360044,
|
| 151 |
-
"sha256": "
|
| 152 |
},
|
| 153 |
{
|
| 154 |
-
"file": "samples/
|
| 155 |
-
"rootPitch":
|
| 156 |
"lowPitch": 48,
|
| 157 |
-
"highPitch":
|
| 158 |
-
"lowVelocity": 0,
|
| 159 |
-
"highVelocity": 63,
|
| 160 |
-
"roundRobin": 2,
|
| 161 |
-
"sizeBytes": 360044,
|
| 162 |
-
"sha256": "8c847402a057d88df37fc4bbc09ffefd0bc95c561638adfc54360c501fd8c044"
|
| 163 |
-
},
|
| 164 |
-
{
|
| 165 |
-
"file": "samples/52_v100_rr1.wav",
|
| 166 |
-
"rootPitch": 52,
|
| 167 |
-
"lowPitch": 48,
|
| 168 |
-
"highPitch": 54,
|
| 169 |
"lowVelocity": 64,
|
| 170 |
"highVelocity": 127,
|
| 171 |
"roundRobin": 1,
|
| 172 |
"sizeBytes": 360044,
|
| 173 |
-
"sha256": "
|
| 174 |
-
},
|
| 175 |
-
{
|
| 176 |
-
"file": "samples/52_v100_rr2.wav",
|
| 177 |
-
"rootPitch": 52,
|
| 178 |
-
"lowPitch": 48,
|
| 179 |
-
"highPitch": 54,
|
| 180 |
-
"lowVelocity": 64,
|
| 181 |
-
"highVelocity": 127,
|
| 182 |
-
"roundRobin": 2,
|
| 183 |
-
"sizeBytes": 360044,
|
| 184 |
-
"sha256": "c936382e1fef7a0dfe546dcf4ef285f5228befc564dfdcd36228d6660a47e485"
|
| 185 |
}
|
| 186 |
]
|
| 187 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"instrument": "bass",
|
| 3 |
+
"version": 3,
|
| 4 |
"license": "CC0-1.0",
|
| 5 |
+
"attribution": "Karoryfer Samples \u2014 Growlybass (CC0). Repackaged for MAESTRO String Studio.",
|
| 6 |
+
"sourceLibrary": "Growlybass",
|
| 7 |
+
"sourceUrl": "https://github.com/sfzinstruments/karoryfer.growlybass/releases/download/v1.002/Karoryfer.Growlybass.v1.002.zip",
|
| 8 |
"sampleRate": 48000,
|
| 9 |
+
"totalSizeMB": 2.747,
|
| 10 |
"source": "hf",
|
| 11 |
"zones": [
|
| 12 |
{
|
| 13 |
+
"file": "samples/37_v48_rr1.wav",
|
| 14 |
+
"rootPitch": 37,
|
| 15 |
+
"lowPitch": 33,
|
| 16 |
+
"highPitch": 37,
|
| 17 |
"lowVelocity": 0,
|
| 18 |
"highVelocity": 63,
|
| 19 |
"roundRobin": 1,
|
| 20 |
"sizeBytes": 360044,
|
| 21 |
+
"sha256": "a2e3b6fad6210dec31cdc33547b22372a2b22cd31a7e3b9e6549a18f77a5f33d"
|
| 22 |
},
|
| 23 |
{
|
| 24 |
+
"file": "samples/37_v100_rr1.wav",
|
| 25 |
+
"rootPitch": 37,
|
| 26 |
+
"lowPitch": 33,
|
| 27 |
+
"highPitch": 37,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
"lowVelocity": 64,
|
| 29 |
"highVelocity": 127,
|
| 30 |
"roundRobin": 1,
|
| 31 |
"sizeBytes": 360044,
|
| 32 |
+
"sha256": "7d1738ee7dc1848f5bba54c8e6fa47c11903cb96a892f15bdf7bc66841345761"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
},
|
| 34 |
{
|
| 35 |
+
"file": "samples/40_v48_rr1.wav",
|
| 36 |
+
"rootPitch": 40,
|
| 37 |
+
"lowPitch": 38,
|
| 38 |
+
"highPitch": 41,
|
| 39 |
"lowVelocity": 0,
|
| 40 |
"highVelocity": 63,
|
| 41 |
"roundRobin": 1,
|
| 42 |
"sizeBytes": 360044,
|
| 43 |
+
"sha256": "b7df4d5c1ca108311f0b400c7cbdeee90c897583caddc866f5400f70b7ebf266"
|
| 44 |
},
|
| 45 |
{
|
| 46 |
+
"file": "samples/40_v100_rr1.wav",
|
| 47 |
+
"rootPitch": 40,
|
| 48 |
+
"lowPitch": 38,
|
| 49 |
+
"highPitch": 41,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
"lowVelocity": 64,
|
| 51 |
"highVelocity": 127,
|
| 52 |
"roundRobin": 1,
|
| 53 |
"sizeBytes": 360044,
|
| 54 |
+
"sha256": "bcf3229c83b4072f6f585b53387b41f42f46f959f4e1874562dbc8a2de99475c"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
},
|
| 56 |
{
|
| 57 |
"file": "samples/45_v48_rr1.wav",
|
| 58 |
"rootPitch": 45,
|
| 59 |
+
"lowPitch": 42,
|
| 60 |
"highPitch": 47,
|
| 61 |
"lowVelocity": 0,
|
| 62 |
"highVelocity": 63,
|
| 63 |
"roundRobin": 1,
|
| 64 |
"sizeBytes": 360044,
|
| 65 |
+
"sha256": "a9855b98e45f4ca6ae1e2eafbe068329d15dda90686fddf7ff8cfae9b128e42a"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
},
|
| 67 |
{
|
| 68 |
"file": "samples/45_v100_rr1.wav",
|
| 69 |
"rootPitch": 45,
|
| 70 |
+
"lowPitch": 42,
|
| 71 |
"highPitch": 47,
|
| 72 |
"lowVelocity": 64,
|
| 73 |
"highVelocity": 127,
|
| 74 |
"roundRobin": 1,
|
| 75 |
"sizeBytes": 360044,
|
| 76 |
+
"sha256": "2e03d693c3a134f67ebcc8818bc290f085bbc234b2ee5978e2bfd06d5692239f"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
},
|
| 78 |
{
|
| 79 |
+
"file": "samples/51_v48_rr1.wav",
|
| 80 |
+
"rootPitch": 51,
|
| 81 |
"lowPitch": 48,
|
| 82 |
+
"highPitch": 55,
|
| 83 |
"lowVelocity": 0,
|
| 84 |
"highVelocity": 63,
|
| 85 |
"roundRobin": 1,
|
| 86 |
"sizeBytes": 360044,
|
| 87 |
+
"sha256": "ef42c1d73ab7c2c0c33179145e630491f119fbf3b62b913f4e7761da8464519d"
|
| 88 |
},
|
| 89 |
{
|
| 90 |
+
"file": "samples/51_v100_rr1.wav",
|
| 91 |
+
"rootPitch": 51,
|
| 92 |
"lowPitch": 48,
|
| 93 |
+
"highPitch": 55,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
"lowVelocity": 64,
|
| 95 |
"highVelocity": 127,
|
| 96 |
"roundRobin": 1,
|
| 97 |
"sizeBytes": 360044,
|
| 98 |
+
"sha256": "9b9cf10b4e97af6f750d6ed255290b8f0a897fafd48cd12323f6770da8cae610"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 99 |
}
|
| 100 |
]
|
| 101 |
}
|
samples/37_v100_rr1.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7d1738ee7dc1848f5bba54c8e6fa47c11903cb96a892f15bdf7bc66841345761
|
| 3 |
+
size 360044
|
samples/37_v48_rr1.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a2e3b6fad6210dec31cdc33547b22372a2b22cd31a7e3b9e6549a18f77a5f33d
|
| 3 |
+
size 360044
|
samples/40_v100_rr1.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bcf3229c83b4072f6f585b53387b41f42f46f959f4e1874562dbc8a2de99475c
|
| 3 |
+
size 360044
|
samples/40_v48_rr1.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b7df4d5c1ca108311f0b400c7cbdeee90c897583caddc866f5400f70b7ebf266
|
| 3 |
+
size 360044
|
samples/45_v100_rr1.wav
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 360044
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2e03d693c3a134f67ebcc8818bc290f085bbc234b2ee5978e2bfd06d5692239f
|
| 3 |
size 360044
|
samples/45_v48_rr1.wav
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 360044
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a9855b98e45f4ca6ae1e2eafbe068329d15dda90686fddf7ff8cfae9b128e42a
|
| 3 |
size 360044
|
samples/51_v100_rr1.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9b9cf10b4e97af6f750d6ed255290b8f0a897fafd48cd12323f6770da8cae610
|
| 3 |
+
size 360044
|
samples/51_v48_rr1.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ef42c1d73ab7c2c0c33179145e630491f119fbf3b62b913f4e7761da8464519d
|
| 3 |
+
size 360044
|