pione 0.2.1 → 0.2.2
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.
- data/.gitignore +16 -13
- data/.travis.yml +1 -1
- data/History.txt +11 -0
- data/Rakefile +13 -0
- data/bin/pione-package +5 -0
- data/example/AbstractRule/package.yml +6 -0
- data/example/AbstractRule/scenario/a/output/message.txt +1 -0
- data/example/AbstractRule/scenario/a/scenario.yml +4 -0
- data/example/AbstractRule/scenario/b/output/message.txt +1 -0
- data/example/AbstractRule/scenario/b/scenario.yml +4 -0
- data/example/AbstractRule/scenario/c/output/message.txt +1 -0
- data/example/AbstractRule/scenario/c/scenario.yml +4 -0
- data/example/HelloWorld/package.yml +5 -1
- data/example/HelloWorld/scenario/scenario.yml +2 -1
- data/example/LoopByTouch/package.yml +4 -1
- data/example/MakePair/package.yml +6 -0
- data/example/MakePair/scenario/{input → case1/input}/1.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/2.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/3.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/4.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/5.i +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-2-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-2-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-2-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-3-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-3-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-4-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-1-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-2-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-3-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-4-5.pair +0 -0
- data/example/MakePair/scenario/case1/scenario.yml +42 -0
- data/example/MakePair/scenario/case2/input/10.i +0 -0
- data/example/MakePair/scenario/case2/input/11.i +0 -0
- data/example/MakePair/scenario/case2/input/9.i +0 -0
- data/example/MakePair/scenario/case2/output/comb-10-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/comb-9-10.pair +0 -0
- data/example/MakePair/scenario/case2/output/comb-9-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-10-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-10-9.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-11-10.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-11-9.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-9-10.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-9-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/succ-10-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/succ-9-10.pair +0 -0
- data/example/MakePair/scenario/case2/scenario.yml +17 -0
- data/example/MakePair/scenario/case3/input/1.i +0 -0
- data/example/MakePair/scenario/case3/input/3.i +0 -0
- data/example/MakePair/scenario/case3/input/5.i +0 -0
- data/example/MakePair/scenario/case3/input/7.i +0 -0
- data/example/MakePair/scenario/case3/input/9.i +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-3-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-3-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-3-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-5-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-5-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-7-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-7.pair +0 -0
- data/example/MakePair/scenario/case3/scenario.yml +39 -0
- data/example/PegasusWMS/Merge/Merge.pione +21 -0
- data/example/PegasusWMS/Merge/package.yml +2 -0
- data/example/PegasusWMS/Pipeline/Pipeline.pione +20 -0
- data/example/PegasusWMS/Pipeline/package.yml +2 -0
- data/example/PegasusWMS/Split/Split.pione +27 -0
- data/example/PegasusWMS/Split/package.yml +2 -0
- data/example/ScoreAggregation/package.yml +4 -0
- data/example/ScoreAggregation/scenario/case1/scenario.yml +27 -1
- data/example/SerialProcessing/package.yml +5 -1
- data/example/SerialProcessing/scenario/scenario.yml +10 -0
- data/lib/pione.rb +20 -71
- data/lib/pione/agent.rb +17 -0
- data/lib/pione/agent/basic-agent.rb +2 -4
- data/lib/pione/command.rb +1 -0
- data/lib/pione/command/option.rb +4 -1
- data/lib/pione/command/pione-package.rb +97 -0
- data/lib/pione/command/pione-task-worker.rb +11 -7
- data/lib/pione/component.rb +5 -0
- data/lib/pione/component/document.rb +22 -5
- data/lib/pione/component/package-archiver.rb +92 -0
- data/lib/pione/component/package-expander.rb +37 -0
- data/lib/pione/component/package-filename.rb +38 -0
- data/lib/pione/component/package-reader.rb +276 -0
- data/lib/pione/component/package.rb +50 -162
- data/lib/pione/front.rb +14 -0
- data/lib/pione/location.rb +5 -0
- data/lib/pione/location/basic-location.rb +47 -274
- data/lib/pione/location/data-location.rb +328 -0
- data/lib/pione/location/dropbox-location.rb +30 -7
- data/lib/pione/location/exception.rb +38 -0
- data/lib/pione/location/ftp-location.rb +24 -13
- data/lib/pione/location/git-repository-location.rb +153 -0
- data/lib/pione/location/http-location.rb +65 -0
- data/lib/pione/location/https-location.rb +37 -0
- data/lib/pione/location/local-location.rb +24 -5
- data/lib/pione/parser.rb +14 -0
- data/lib/pione/patch.rb +10 -0
- data/lib/pione/patch/drb-patch.rb +2 -2
- data/lib/pione/relay.rb +11 -0
- data/lib/pione/system/file-cache.rb +1 -1
- data/lib/pione/system/global.rb +15 -0
- data/lib/pione/tuple-space.rb +11 -0
- data/lib/pione/tuple-space/tuple-space-server.rb +1 -1
- data/lib/pione/util.rb +1 -0
- data/lib/pione/util/error-report.rb +7 -0
- data/lib/pione/util/misc.rb +2 -2
- data/lib/pione/util/zip.rb +60 -0
- data/lib/pione/version.rb +1 -1
- data/pione.gemspec +5 -1
- data/test/agent/spec_rule-provider.rb +2 -2
- data/test/command/spec_pione-package.rb +15 -0
- data/test/component/spec_document.rb +2 -2
- data/test/component/spec_package-archiver.rb +27 -0
- data/test/component/spec_package-expander.rb +11 -0
- data/test/component/spec_package-filename.rb +79 -0
- data/test/component/spec_package-reader.rb +100 -0
- data/test/component/spec_package.rb +50 -33
- data/test/location/http-behavior.rb +59 -0
- data/test/location/location-behavior.rb +8 -0
- data/test/location/spec_basic-location.rb +5 -1
- data/test/location/spec_git-repository-location.rb +143 -0
- data/test/location/spec_http-location.rb +28 -0
- data/test/location/spec_http-location/a.txt +1 -0
- data/test/location/spec_http-location/b.txt +1 -0
- data/test/location/spec_http-location/c.txt +1 -0
- data/test/location/spec_http-location/dir/d.txt +1 -0
- data/test/location/spec_https-location.rb +37 -0
- data/test/rule-handler/spec_flow-handler.rb +1 -1
- data/test/rule-handler/spec_update-criteria.rb +1 -1
- data/test/test-data/package/HelloWorld+v0.1.0.ppg +0 -0
- data/test/test-data/package/HelloWorld-gitrepos.zip +0 -0
- data/test/test-data/package/HelloWorld/HelloWorld.pione +5 -0
- data/test/test-data/package/HelloWorld/package.yml +6 -0
- data/test/test-data/package/HelloWorld/scenario/output/message.txt +1 -0
- data/test/test-data/package/HelloWorld/scenario/scenario.yml +3 -0
- data/test/test-data/package/TestPackage1+v0.1.0.ppg +0 -0
- data/test/{component/spec_package/TestPackage → test-data/package/TestPackage1}/Test.pione +3 -1
- data/test/test-data/package/TestPackage1/bin/count +11 -0
- data/test/test-data/package/TestPackage1/package.yml +9 -0
- data/test/{component/spec_package/TestPackage → test-data/package/TestPackage1}/scenario/case1/input/1.txt +0 -0
- data/test/test-data/package/TestPackage1/scenario/case1/output/1.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case1/scenario.yml +6 -0
- data/test/test-data/package/TestPackage1/scenario/case2/input/1.txt +2 -0
- data/test/test-data/package/TestPackage1/scenario/case2/input/2.txt +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/input/3.txt +3 -0
- data/test/test-data/package/TestPackage1/scenario/case2/output/1.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/output/2.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/output/3.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/scenario.yml +10 -0
- data/test/test-data/package/TestPackage1/scenario/case3/input/a.txt +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/input/b.txt +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/output/a.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/output/b.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/scenario.yml +8 -0
- data/test/test-util.rb +10 -146
- data/test/test-util/command.rb +53 -0
- data/test/test-util/package.rb +9 -0
- data/test/test-util/parser.rb +45 -0
- data/test/test-util/transformer.rb +50 -0
- data/test/test-util/webserver.rb +43 -0
- data/test/util/spec_error-report.rb +12 -3
- data/test/util/spec_zip.rb +36 -0
- metadata +282 -54
- data/example/MakePair/scenario/scenario.yml +0 -1
- data/test/component/spec_package/TestPackage/bin/count +0 -3
- data/test/component/spec_package/TestPackage/package.yml +0 -7
- data/test/component/spec_package/TestPackage/scenario/case1/scenario.yml +0 -1
data/.gitignore
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
*~
|
|
2
|
-
/input
|
|
3
|
-
/output
|
|
4
|
-
result
|
|
5
|
-
html
|
|
6
|
-
log.txt
|
|
7
|
-
doc
|
|
8
|
-
.yardoc
|
|
9
|
-
vendor
|
|
10
|
-
.bundle
|
|
11
|
-
pkg
|
|
12
2
|
\#*
|
|
13
|
-
|
|
3
|
+
|
|
4
|
+
.bundle
|
|
5
|
+
.EosLog
|
|
6
|
+
.yardoc
|
|
14
7
|
Gemfile.lock
|
|
15
8
|
gems
|
|
16
|
-
|
|
17
|
-
.
|
|
9
|
+
log.txt
|
|
10
|
+
nohup.out
|
|
11
|
+
|
|
12
|
+
/input
|
|
13
|
+
/output
|
|
14
|
+
/result
|
|
15
|
+
/html
|
|
16
|
+
/doc
|
|
17
|
+
/vendor
|
|
18
|
+
/coverage
|
|
19
|
+
/pkg
|
|
20
|
+
/*.ppg
|
data/.travis.yml
CHANGED
data/History.txt
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# History
|
|
2
2
|
|
|
3
|
+
## 0.2.2(2013/07/02)
|
|
4
|
+
|
|
5
|
+
* Enabled to load remote package.
|
|
6
|
+
* Added pione-package command.
|
|
7
|
+
* Added PIONE archive(".ppg" file).
|
|
8
|
+
* Added git package.
|
|
9
|
+
* Fixed the problem about pione-client termination.
|
|
10
|
+
* Refactored location system.
|
|
11
|
+
* Added HTTPS location.
|
|
12
|
+
* Added examples.
|
|
13
|
+
|
|
3
14
|
## 0.2.1(2013/06/15)
|
|
4
15
|
|
|
5
16
|
* Added basic/advaneced parameter.
|
data/Rakefile
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require "bundler/gem_tasks"
|
|
2
|
+
require "pione"
|
|
2
3
|
|
|
3
4
|
$stand_alone = "bin/pione-client --stand-aline"
|
|
4
5
|
|
|
@@ -120,6 +121,18 @@ task 'test:other' do
|
|
|
120
121
|
sh "bundle exec bacon -I lib test/spec_*.rb"
|
|
121
122
|
end
|
|
122
123
|
|
|
124
|
+
desc "create test git package"
|
|
125
|
+
task "test:build-test-git-package" do
|
|
126
|
+
path = Temppath.mkdir
|
|
127
|
+
cd path do
|
|
128
|
+
sh "git clone https://github.com/pione/HelloWorld.git"
|
|
129
|
+
# sh "zip HelloWorld.zip -r HelloWorld"
|
|
130
|
+
Util::Zip.compress(Location["HelloWorld"], Location["HelloWorld.zip"])
|
|
131
|
+
end
|
|
132
|
+
sh "mkdir -p test/test-data/git-repository/"
|
|
133
|
+
sh "mv %s %s" % [File.join(path, "HelloWorld.zip"), "test/test-data/git-repository/"]
|
|
134
|
+
end
|
|
135
|
+
|
|
123
136
|
desc 'clean'
|
|
124
137
|
task 'clean' do
|
|
125
138
|
sh "rm -rf input/*"
|
data/bin/pione-package
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This is rule A.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This is rule B.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This is rule C.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
ScenarioName: from 1 to 5
|
|
2
|
+
Inputs:
|
|
3
|
+
- "1.i"
|
|
4
|
+
- "2.i"
|
|
5
|
+
- "3.i"
|
|
6
|
+
- "4.i"
|
|
7
|
+
- "5.i"
|
|
8
|
+
Outputs:
|
|
9
|
+
- "comb-1-2.pair"
|
|
10
|
+
- "comb-1-3.pair"
|
|
11
|
+
- "comb-1-4.pair"
|
|
12
|
+
- "comb-1-5.pair"
|
|
13
|
+
- "comb-2-3.pair"
|
|
14
|
+
- "comb-2-4.pair"
|
|
15
|
+
- "comb-2-5.pair"
|
|
16
|
+
- "comb-3-4.pair"
|
|
17
|
+
- "comb-3-5.pair"
|
|
18
|
+
- "comb-4-5.pair"
|
|
19
|
+
- "perm-1-2.pair"
|
|
20
|
+
- "perm-1-3.pair"
|
|
21
|
+
- "perm-1-4.pair"
|
|
22
|
+
- "perm-1-5.pair"
|
|
23
|
+
- "perm-2-1.pair"
|
|
24
|
+
- "perm-2-3.pair"
|
|
25
|
+
- "perm-2-4.pair"
|
|
26
|
+
- "perm-2-5.pair"
|
|
27
|
+
- "perm-3-1.pair"
|
|
28
|
+
- "perm-3-2.pair"
|
|
29
|
+
- "perm-3-4.pair"
|
|
30
|
+
- "perm-3-5.pair"
|
|
31
|
+
- "perm-4-1.pair"
|
|
32
|
+
- "perm-4-2.pair"
|
|
33
|
+
- "perm-4-3.pair"
|
|
34
|
+
- "perm-4-5.pair"
|
|
35
|
+
- "perm-5-1.pair"
|
|
36
|
+
- "perm-5-2.pair"
|
|
37
|
+
- "perm-5-3.pair"
|
|
38
|
+
- "perm-5-4.pair"
|
|
39
|
+
- "succ-1-2.pair"
|
|
40
|
+
- "succ-2-3.pair"
|
|
41
|
+
- "succ-3-4.pair"
|
|
42
|
+
- "succ-4-5.pair"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
ScenarioName: from 9 to 11
|
|
2
|
+
Inputs:
|
|
3
|
+
- "9.i"
|
|
4
|
+
- "10.i"
|
|
5
|
+
- "11.i"
|
|
6
|
+
Outputs:
|
|
7
|
+
- "comb-9-10.pair"
|
|
8
|
+
- "comb-9-11.pair"
|
|
9
|
+
- "comb-10-11.pair"
|
|
10
|
+
- "perm-9-10.pair"
|
|
11
|
+
- "perm-9-11.pair"
|
|
12
|
+
- "perm-10-9.pair"
|
|
13
|
+
- "perm-10-11.pair"
|
|
14
|
+
- "perm-11-9.pair"
|
|
15
|
+
- "perm-11-10.pair"
|
|
16
|
+
- "succ-9-10.pair"
|
|
17
|
+
- "succ-10-11.pair"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
ScenarioName: Odd Pairs
|
|
2
|
+
Inputs:
|
|
3
|
+
- "1.i"
|
|
4
|
+
- "3.i"
|
|
5
|
+
- "5.i"
|
|
6
|
+
- "7.i"
|
|
7
|
+
- "9.i"
|
|
8
|
+
Outputs:
|
|
9
|
+
- "comb-1-3.pair"
|
|
10
|
+
- "comb-1-5.pair"
|
|
11
|
+
- "comb-1-7.pair"
|
|
12
|
+
- "comb-1-9.pair"
|
|
13
|
+
- "comb-3-5.pair"
|
|
14
|
+
- "comb-3-7.pair"
|
|
15
|
+
- "comb-3-9.pair"
|
|
16
|
+
- "comb-5-7.pair"
|
|
17
|
+
- "comb-5-9.pair"
|
|
18
|
+
- "comb-7-9.pair"
|
|
19
|
+
- "perm-1-3.pair"
|
|
20
|
+
- "perm-1-5.pair"
|
|
21
|
+
- "perm-1-7.pair"
|
|
22
|
+
- "perm-1-9.pair"
|
|
23
|
+
- "perm-3-1.pair"
|
|
24
|
+
- "perm-3-5.pair"
|
|
25
|
+
- "perm-3-7.pair"
|
|
26
|
+
- "perm-3-9.pair"
|
|
27
|
+
- "perm-5-1.pair"
|
|
28
|
+
- "perm-5-3.pair"
|
|
29
|
+
- "perm-5-7.pair"
|
|
30
|
+
- "perm-5-9.pair"
|
|
31
|
+
- "perm-7-1.pair"
|
|
32
|
+
- "perm-7-3.pair"
|
|
33
|
+
- "perm-7-5.pair"
|
|
34
|
+
- "perm-7-9.pair"
|
|
35
|
+
- "perm-9-1.pair"
|
|
36
|
+
- "perm-9-3.pair"
|
|
37
|
+
- "perm-9-5.pair"
|
|
38
|
+
- "perm-9-7.pair"
|
|
39
|
+
|