cpee 2.1.112 → 2.1.113
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.
- checksums.yaml +4 -4
- data/cockpit/js/wfadaptor.js +13 -3
- data/cockpit/only_llm.html +2 -2
- data/cockpit/themes/control/rngs/loop.rng +8 -0
- data/cockpit/themes/control/rngs/terminate.rng +3 -0
- data/cockpit/themes/dataflow/rngs/loop.rng +8 -0
- data/cockpit/themes/dataflow/rngs/terminate.rng +3 -0
- data/cockpit/themes/default/rngs/loop.rng +8 -0
- data/cockpit/themes/default/rngs/terminate.rng +3 -0
- data/cockpit/themes/extended/rngs/loop.rng +8 -0
- data/cockpit/themes/extended/rngs/terminate.rng +3 -0
- data/cockpit/themes/felix/rngs/call.rng +5 -19
- data/cockpit/themes/packed/rngs/loop.rng +8 -0
- data/cockpit/themes/packed/rngs/terminate.rng +3 -0
- data/cockpit/themes/preset/rngs/loop.rng +8 -0
- data/cockpit/themes/preset/rngs/terminate.rng +3 -0
- data/cockpit/themes/presetaltid/rngs/loop.rng +8 -0
- data/cockpit/themes/presetaltid/rngs/terminate.rng +3 -0
- data/cockpit/themes/presetid/rngs/loop.rng +8 -0
- data/cockpit/themes/presetid/rngs/terminate.rng +3 -0
- data/cockpit/themes/reduced/rngs/loop.rng +8 -0
- data/cockpit/themes/reduced/rngs/terminate.rng +3 -0
- data/cpee.gemspec +2 -2
- data/server/executionhandlers/ruby/dsl_to_dslx.xsl +2 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3859cfffb2b5b418a0c0fdd564f305cbc7d1784292186a836e7df668f6725c49
|
|
4
|
+
data.tar.gz: e280aad1800114b180814cd041ece98c25874d3212643bd32dff908e02851113
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e13bcfff5e5f761ef221a3b65696d349a64eb4d350367b852b180c11521006fd17b4e111c912cea377da6a2ba6f334405394bdbd5c623d222a9642770e38a07a
|
|
7
|
+
data.tar.gz: 31ca360fae18519aa006cca38f81213a69e50ecb31b0aee2c2a11f3793ce006704b8fc0301f0c8df8ef6514aaf2a62d0a8b15efe520ee76cf05a5a87b436e316
|
data/cockpit/js/wfadaptor.js
CHANGED
|
@@ -14,8 +14,6 @@
|
|
|
14
14
|
<http://www.gnu.org/licenses/>.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
var high;
|
|
18
|
-
|
|
19
17
|
// TODO: changes in svg-script:
|
|
20
18
|
// 1) drawing functions
|
|
21
19
|
// 2) creation of svg-container (Bug: arrows on lines)
|
|
@@ -195,6 +193,13 @@ function WfAdaptor(theme_base,doit) { // Controller {{{
|
|
|
195
193
|
|
|
196
194
|
this.update = function(doit){ doit(self); };
|
|
197
195
|
|
|
196
|
+
this.draw_element = function(type,id,label) {
|
|
197
|
+
let pos = {'row': 1,'col': 0};
|
|
198
|
+
let block = { 'max': {'row': pos.row, 'col': pos.col}, 'endnodes': [], 'svg': $X('<g class="group" xmlns="http://www.w3.org/2000/svg"/>') };
|
|
199
|
+
illustrator.draw.draw_symbol(type, id, label, pos.row, pos.row, pos.row, pos.col, block.svg, false, {}, {})
|
|
200
|
+
self.illustrator.set_svg(block);
|
|
201
|
+
}
|
|
202
|
+
|
|
198
203
|
this.redraw = function(){
|
|
199
204
|
description.redraw();
|
|
200
205
|
}
|
|
@@ -282,8 +287,13 @@ function WfIllustrator(wf_adaptor) { // View {{{
|
|
|
282
287
|
this.set_svg = function(graph) { // {{{
|
|
283
288
|
self.svg.container.append(graph.svg);
|
|
284
289
|
let bb = graph.svg[0].getBBox();
|
|
290
|
+
|
|
291
|
+
let w = self.dim.get_x_plus(0,graph.max.row,graph.max.col);
|
|
292
|
+
if (w == 0) { w = bb.x + bb.width + self.width_shift; }
|
|
293
|
+
// the alternative is bb.x + bb.width + self.width_shift, but this is bad when clipped elements
|
|
294
|
+
|
|
285
295
|
self.svg.container.attr('height', bb.y + bb.height + self.height_shift); // small border on the bottom
|
|
286
|
-
self.svg.container.attr('width',
|
|
296
|
+
self.svg.container.attr('width', w); // small border on the right
|
|
287
297
|
self.svg.container.attr('data-pos-matrix', JSON.stringify(self.dim.symbols));
|
|
288
298
|
self.svg.container.attr('data-con-list', JSON.stringify(self.dim.connections));
|
|
289
299
|
} // }}}
|
data/cockpit/only_llm.html
CHANGED
|
@@ -221,8 +221,8 @@
|
|
|
221
221
|
<div id='llm_params' class="multi">
|
|
222
222
|
<label id="llmlabel" for="llms">Choose LLM:</label>
|
|
223
223
|
<select name="llms" id="llms">
|
|
224
|
-
|
|
225
|
-
<option value="gemini-2.5-flash-lite">gemini 2.5 Flash Lite</option>
|
|
224
|
+
<!--<option value="gemini-2.0-flash" selected>gemini 2 Flash</option>-->
|
|
225
|
+
<option value="gemini-2.5-flash-lite" selected>gemini 2.5 Flash Lite</option>
|
|
226
226
|
<option value="gemini-2.5-flash">gemini 2.5 Flash</option>
|
|
227
227
|
<option value="gemini-2.5-pro">gemini 2.5 Pro</option>
|
|
228
228
|
<option value="gpt-4">gpt 4</option>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -186,6 +186,11 @@
|
|
|
186
186
|
<text rngui:wrap="true" rngui:label="Notes"/>
|
|
187
187
|
</element>
|
|
188
188
|
</element>
|
|
189
|
+
<element name="_resources" rngui:header="Resources" rngui:fold="closed">
|
|
190
|
+
<element name="_notes_general" rngui:label="General">
|
|
191
|
+
<text rngui:wrap="true" rngui:label="Notes"/>
|
|
192
|
+
</element>
|
|
193
|
+
</element>
|
|
189
194
|
</element>
|
|
190
195
|
|
|
191
196
|
<element name="documentation" rngui:header="Documentation">
|
|
@@ -215,23 +220,4 @@
|
|
|
215
220
|
</element>
|
|
216
221
|
</element>
|
|
217
222
|
</element>
|
|
218
|
-
<element name="resources" rngui:header="Resources">
|
|
219
|
-
<zeroOrMore rngui:label="Create Resources">
|
|
220
|
-
<element name='resource' rngui:label="Resource" rngui:labeltype="xml">
|
|
221
|
-
<data type="string" rngui:label="Name"/>
|
|
222
|
-
</element>
|
|
223
|
-
</zeroOrMore>
|
|
224
|
-
<attribute name="allocated_to" rngui:label="allocated_to" rngui:default="not_allocated">
|
|
225
|
-
<data type="string" rngui:readonly="true"/>
|
|
226
|
-
</attribute>
|
|
227
|
-
</element>
|
|
228
|
-
<element name="expectedready" rngui:label="Expected Ready">
|
|
229
|
-
<data name="expectedready" type="decimal" rngui:readonly="true"/>
|
|
230
|
-
</element>
|
|
231
|
-
<element name="plannedstart" rngui:label="Planned Start Time">
|
|
232
|
-
<data name="plannedstart" type="decimal" rngui:readonly="true"/>
|
|
233
|
-
</element>
|
|
234
|
-
<element name="plannedend" rngui:label="Planned End Time">
|
|
235
|
-
<data name="plannedend" type="decimal" rngui:readonly="true"/>
|
|
236
|
-
</element>
|
|
237
223
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
</element>
|
|
24
24
|
</element>
|
|
25
25
|
<element name="_annotations" rngui:header="Annotations">
|
|
26
|
+
<element name="_generic" rngui:header="Generic" rngui:fold="closed">
|
|
27
|
+
<zeroOrMore rngui:label="Create Annotation Pair">
|
|
28
|
+
<element rngui:label="Name" rngui:labeltype="xml">
|
|
29
|
+
<anyName/>
|
|
30
|
+
<data type="string" rngui:label="Value"/>
|
|
31
|
+
</element>
|
|
32
|
+
</zeroOrMore>
|
|
33
|
+
</element>
|
|
26
34
|
<element name="_logging_behavior" rngui:header="Logging Behavior" rngui:fold="closed">
|
|
27
35
|
<element name="_iteration" rngui:label="Log per iteration">
|
|
28
36
|
<data type="boolean" rngui:label="Log per iteration"/>
|
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
3
|
<data type="string" rngui:readonly="true"/>
|
|
4
4
|
</attribute>
|
|
5
|
+
<attribute name="abandon" rngui:label="Abandon instance">
|
|
6
|
+
<data type="boolean" rngui:label="Abandon instance instead of finishing it"/>
|
|
7
|
+
</attribute>
|
|
5
8
|
</element>
|
data/cpee.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "cpee"
|
|
3
|
-
s.version = "2.1.
|
|
3
|
+
s.version = "2.1.113"
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
5
|
s.license = "LGPL-3.0-or-later"
|
|
6
6
|
s.summary = "The cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
|
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
|
22
22
|
s.homepage = 'http://cpee.org/'
|
|
23
23
|
|
|
24
24
|
s.add_runtime_dependency 'riddl', '~> 1.0'
|
|
25
|
-
s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.
|
|
25
|
+
s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.149'
|
|
26
26
|
s.add_runtime_dependency 'highline', '~> 2.0'
|
|
27
27
|
s.add_runtime_dependency 'redis', '~> 5.4'
|
|
28
28
|
s.add_runtime_dependency 'net-ssh', '~> 7.3'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cpee
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.113
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -34,7 +34,7 @@ dependencies:
|
|
|
34
34
|
version: '1.99'
|
|
35
35
|
- - ">="
|
|
36
36
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: 1.99.
|
|
37
|
+
version: 1.99.149
|
|
38
38
|
type: :runtime
|
|
39
39
|
prerelease: false
|
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -44,7 +44,7 @@ dependencies:
|
|
|
44
44
|
version: '1.99'
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.99.
|
|
47
|
+
version: 1.99.149
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
49
|
name: highline
|
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|